Update to FreeType 2.1.5

svn path=/trunk/; revision=7814
This commit is contained in:
Gé van Geldorp 2004-01-21 19:23:49 +00:00
parent e47bd48591
commit 561fa3d093
265 changed files with 21469 additions and 12080 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,206 +0,0 @@
# Doxyfile 1.3.5
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "ReactOS Freetype"
PROJECT_NUMBER =
OUTPUT_DIRECTORY = doxy-doc
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = YES
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = ../..
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = YES
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = NO
INHERIT_DOCS = NO
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 8
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = YES
OPTIMIZE_OUTPUT_JAVA = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = YES
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = NO
EXTRACT_LOCAL_CLASSES = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = YES
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
HAVE_DOT = YES
WARN_IF_UNDOCUMENTED = NO
WARN_IF_DOC_ERROR = YES
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = .
FILE_PATTERNS = *.c \
*.h
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = YES
IMAGE_PATH =
INPUT_FILTER =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = YES
INLINE_SOURCES = YES
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
VERBATIM_HEADERS = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = YES
TREEVIEW_WIDTH = 200
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = YES
RTF_HYPERLINKS = YES
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = NO
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH = ../../include
INCLUDE_FILE_PATTERNS = *.h
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
UML_LOOK = NO
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = YES
GRAPHICAL_HIERARCHY = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 0
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = YES

View file

@ -1,21 +1,22 @@
# FreeType 2 top Jamfile (c) 2001-2002 David Turner
# FreeType 2 top Jamfile (c) 2001, 2002, 2003 David Turner
#
# The HDRMACRO is already defined in FTJam and is used to add
# the content of certain macros to the list of included header
# files.
#
# we can compile FreeType 2 with classic Jam however thanks to
# We can compile FreeType 2 with classic Jam however thanks to
# the following code
#
if ! $(JAM_TOOLSET)
{
rule HDRMACRO
{
# nothing !!
# nothing
}
}
# We need to invoke a SubDir rule if the FT2 source directory top is not the
# current directory. This allows us to build FreeType 2 as part of a larger
# project easily.
@ -25,71 +26,83 @@ if $(FT2_TOP) != $(DOT)
SubDir FT2_TOP ;
}
#
# The following macros define the include directory, the source directory
# and the final library name (without library extensions). They can be
# The following macros define the include directory, the source directory,
# and the final library name (without library extensions). They can be
# replaced by other definitions when the library is compiled as part of
# a larger project.
#
# name of FreeType include directory during compilation.
# relative to FT2_TOP
# Name of FreeType include directory during compilation.
# This is relative to FT2_TOP.
#
FT2_INCLUDE_DIR ?= include ;
# name of FreeType source directory during compilation.
# relative to FT2_TOP
# Name of FreeType source directory during compilation.
# This is relative to FT2_TOP.
#
FT2_SRC_DIR ?= src ;
# name of final library, without extension
# Name of final library, without extension.
#
FT2_LIB ?= $(LIBPREFIX)freetype ;
# define FT2_BUILD_INCLUDE to point to your build-specific directory
# this is prepended to FT2_INCLUDE_DIR. This can be used to specify
# Define FT2_BUILD_INCLUDE to point to your build-specific directory.
# This is prepended to FT2_INCLUDE_DIR. It can be used to specify
# the location of a custom <ft2build.h> which will point to custom
# versions of "ftmodule.h" and "ftoption.h", for example
# versions of "ftmodule.h" and "ftoption.h", for example.
#
FT2_BUILD_INCLUDE ?= ;
# the list of modules to compile on any given build of the library
# by default, this will contain _all_ modules defined in FT2_SRC_DIR
# The list of modules to compile on any given build of the library.
# By default, this will contain _all_ modules defined in FT2_SRC_DIR.
#
# IMPORTANT: You'll need to change the content of "ftmodule.h" as well
# if you modify this list or provide your own.
#
FT2_COMPONENTS ?= gzip # support for gzip-compressed files.
FT2_COMPONENTS ?= gzip # support for gzip-compressed files
autohint # auto-hinter
base # base component (public APIs)
bdf # BDF font driver
cache # cache sub-system
cff # CFF/CEF font driver
cid # Postscript CID-keyed font driver
cid # PostScript CID-keyed font driver
pcf # PCF font driver
pfr # PFR/TrueDoc font driver
psaux # Common Postscript routines module
pshinter # Postscript hinter module
psnames # Postscript names handling
raster # Monochrome rasterizer
smooth # Anti-aliased rasterizer
psaux # common PostScript routines module
pshinter # PostScript hinter module
psnames # PostScript names handling
raster # monochrome rasterizer
smooth # anti-aliased rasterizer
sfnt # SFNT-based format support routines
truetype # TrueType font driver
type1 # Postscript Type 1 font driver
type42 # Postscript Type 42 (embedded TrueType) driver
type1 # PostScript Type 1 font driver
type42 # PostScript Type 42 (embedded TrueType) driver
winfonts # Windows FON/FNT font driver
;
# don't touch
# Don't touch.
#
FT2_INCLUDE = $(FT2_BUILD_INCLUDE)
[ FT2_SubDir $(FT2_INCLUDE_DIR) ] ;
FT2_SRC = [ FT2_SubDir $(FT2_SRC_DIR) ] ;
# only used by FreeType developers
# Location of API Reference Documentation
#
if $(DOC_DIR)
{
DOC_DIR = $(DOCDIR:T) ;
}
else
{
DOC_DIR = docs/reference ;
}
# Only used by FreeType developers.
#
if $(DEBUG_HINTER)
{
@ -104,11 +117,12 @@ HDRS += $(FT2_INCLUDE) ;
# Uncomment the following line if you want to build individual source files
# for each FreeType 2 module. this is only useful during development, and
# is better defined as an environment variable anyway !
# for each FreeType 2 module. This is only useful during development, and
# is better defined as an environment variable anyway!
#
# FT2_MULTI = true ;
# The file <freetype/config/ftheader.h> is used to define macros that are
# later used in #include statements. It needs to be parsed in order to
# record these definitions.
@ -116,17 +130,26 @@ HDRS += $(FT2_INCLUDE) ;
HDRMACRO [ FT2_SubDir include freetype config ftheader.h ] ;
HDRMACRO [ FT2_SubDir include freetype internal internal.h ] ;
# Now include the Jamfile in "freetype2/src", used to drive the compilation
# of each FreeType 2 component and/or module.
#
SubInclude FT2_TOP $(FT2_SRC_DIR) ;
# tests files (hinter debugging). only used by FreeType developers
# Test files (hinter debugging). Only used by FreeType developers.
#
if $(DEBUG_HINTER)
{
SubInclude FT2_TOP tests ;
}
actions RefDoc
{
python $(FT2_SRC)/tools/docmaker/docmaker.py --prefix=ft2 --title=FreeType-2.1.5 --output=$(DOC_DIR) $(FT2_INCLUDE)/freetype/*.h $(FT2_INCLUDE)/freetype/config/*.h $(FT2_INCLUDE)/freetype/cache/*.h
}
RefDoc refdoc ;
# end of top Jamfile

View file

@ -1,21 +1,22 @@
# FreeType 2 top Jamfile (c) 2001-2002 David Turner
# FreeType 2 top Jamfile (c) 2001, 2002, 2003 David Turner
#
# The HDRMACRO is already defined in FTJam and is used to add
# the content of certain macros to the list of included header
# files.
#
# we can compile FreeType 2 with classic Jam however thanks to
# We can compile FreeType 2 with classic Jam however thanks to
# the following code
#
if ! $(JAM_TOOLSET)
{
rule HDRMACRO
{
# nothing !!
# nothing
}
}
# We need to invoke a SubDir rule if the FT2 source directory top is not the
# current directory. This allows us to build FreeType 2 as part of a larger
# project easily.
@ -25,71 +26,71 @@ if $(FT2_TOP) != $(DOT)
SubDir FT2_TOP ;
}
#
# The following macros define the include directory, the source directory
# and the final library name (without library extensions). They can be
# The following macros define the include directory, the source directory,
# and the final library name (without library extensions). They can be
# replaced by other definitions when the library is compiled as part of
# a larger project.
#
# name of FreeType include directory during compilation.
# relative to FT2_TOP
# Name of FreeType include directory during compilation.
# This is relative to FT2_TOP.
#
FT2_INCLUDE_DIR ?= include ;
# name of FreeType source directory during compilation.
# relative to FT2_TOP
# Name of FreeType source directory during compilation.
# This is relative to FT2_TOP.
#
FT2_SRC_DIR ?= src ;
# name of final library, without extension
# Name of final library, without extension.
#
FT2_LIB ?= $(LIBPREFIX)freetype ;
# define FT2_BUILD_INCLUDE to point to your build-specific directory
# this is prepended to FT2_INCLUDE_DIR. This can be used to specify
# Define FT2_BUILD_INCLUDE to point to your build-specific directory.
# This is prepended to FT2_INCLUDE_DIR. It can be used to specify
# the location of a custom <ft2build.h> which will point to custom
# versions of "ftmodule.h" and "ftoption.h", for example
# versions of "ftmodule.h" and "ftoption.h", for example.
#
FT2_BUILD_INCLUDE ?= ;
# the list of modules to compile on any given build of the library
# by default, this will contain _all_ modules defined in FT2_SRC_DIR
# The list of modules to compile on any given build of the library.
# By default, this will contain _all_ modules defined in FT2_SRC_DIR.
#
# IMPORTANT: You'll need to change the content of "ftmodule.h" as well
# if you modify this list or provide your own.
#
FT2_COMPONENTS ?= gzip # support for gzip-compressed files.
FT2_COMPONENTS ?= gzip # support for gzip-compressed files
autohint # auto-hinter
base # base component (public APIs)
bdf # BDF font driver
cache # cache sub-system
cff # CFF/CEF font driver
cid # Postscript CID-keyed font driver
cid # PostScript CID-keyed font driver
pcf # PCF font driver
pfr # PFR/TrueDoc font driver
psaux # Common Postscript routines module
pshinter # Postscript hinter module
psnames # Postscript names handling
raster # Monochrome rasterizer
smooth # Anti-aliased rasterizer
psaux # common PostScript routines module
pshinter # PostScript hinter module
psnames # PostScript names handling
raster # monochrome rasterizer
smooth # anti-aliased rasterizer
sfnt # SFNT-based format support routines
truetype # TrueType font driver
type1 # Postscript Type 1 font driver
type42 # Postscript Type 42 (embedded TrueType) driver
type1 # PostScript Type 1 font driver
type42 # PostScript Type 42 (embedded TrueType) driver
winfonts # Windows FON/FNT font driver
;
# don't touch
# Don't touch.
#
FT2_INCLUDE = $(FT2_BUILD_INCLUDE)
[ FT2_SubDir $(FT2_INCLUDE_DIR) ] ;
FT2_SRC = [ FT2_SubDir $(FT2_SRC_DIR) ] ;
# only used by FreeType developers
# Only used by FreeType developers.
#
if $(DEBUG_HINTER)
{
@ -103,13 +104,13 @@ if $(DEBUG_HINTER)
HDRS += $(FT2_INCLUDE) ;
#SubDirHdr += $(FT2_INCLUDE) ;
# Uncomment the following line if you want to build individual source files
# for each FreeType 2 module.
# for each FreeType 2 module. This is only useful during development, and
# is better defined as an environment variable anyway!
#
# FT2_MULTI = true ;
# The file <freetype/config/ftheader.h> is used to define macros that are
# later used in #include statements. It needs to be parsed in order to
# record these definitions.
@ -117,13 +118,14 @@ HDRS += $(FT2_INCLUDE) ;
HDRMACRO [ FT2_SubDir include freetype config ftheader.h ] ;
HDRMACRO [ FT2_SubDir include freetype internal internal.h ] ;
# Now include the Jamfile in "freetype2/src", used to drive the compilation
# of each FreeType 2 component and/or module.
#
SubInclude FT2_TOP $(FT2_SRC_DIR) ;
# tests files (hinter debugging). only used by FreeType developers
# Test files (hinter debugging). Only used by FreeType developers.
#
if $(DEBUG_HINTER)
{

View file

@ -1,4 +1,4 @@
# FreeType 2 JamRules (c) 2001 David Turner
# FreeType 2 JamRules (c) 2001, 2002, 2003 David Turner
#
# This file contains the Jam rules needed to build the FreeType 2 library.
# It is shared by all Jamfiles and is included only once in the build
@ -6,7 +6,7 @@
#
# call SubDirHdrs on a list of directories
# Call SubDirHdrs on a list of directories.
#
rule AddSubDirHdrs
{

View file

@ -1,39 +1,36 @@
Special notes to Unix users
===========================
Please read the file "docs/UPGRADE.UNX", it contains important
information regarding the installation of FreeType on Unix systems,
Please read the file "docs/UPGRADE.UNX". It contains important
information regarding the installation of FreeType on Unix systems,
especially GNU based operating systems like GNU/Linux.
FreeType 2's library is called `libfreetype', FreeType 1's library
FreeType 2's library is called `libfreetype', FreeType 1's library
is called `libttf'. They are *not* compatible!
FreeType 2.1.4
FreeType 2.1.5
==============
Please read the docs/CHANGES file, it contains IMPORTANT
INFORMATION.
Please read the docs/CHANGES file, it contains IMPORTANT INFORMATION.
Read the files "docs/INSTALL" for installation instructions.
Read the files "docs/INSTALL" for installation instructions.
Note that the FreeType 2 documentation is now available as a
Note that the FreeType 2 documentation is now available as a
separate package from our sites. See:
ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.1.4.tar.bz2
ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.1.4.tar.gz
ftp://ftp.freetype.org/pub/freetype2/ftdoc214.zip
ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.1.5.tar.bz2
ftp://ftp.freetype.org/pub/freetype2/ftdocs-2.1.5.tar.gz
ftp://ftp.freetype.org/pub/freetype2/ftdoc215.zip
Reports
=======
Please report bugs by e-mail to `devel@freetype.org'. Don't
forget to send a detailed explanation of the problem -- there is
nothing worse than receiving a terse message that only says "it
doesn't work".
Bugs
====
Please report bugs by e-mail to `devel@freetype.org'. Don't forget
to send a detailed explanation of the problem -- there is nothing
worse than receiving a terse message that only says "it doesn't
work".
Enjoy!

View file

@ -1,7 +1,7 @@
CREDITS
The code in this tree is based (it is actually an exact copy with some
ReactOS specific extra files) on the FreeType library, version 2.1.3.
ReactOS specific extra files) on the FreeType library, version 2.1.5.
It was written and is being maintained by the FreeType team. The projects
website is http://www.freetype.org.
@ -47,6 +47,7 @@ copy lib\freetype.old\rosglue.c lib\freetype
copy lib\freetype.old\i386\setjmplongjmp.s lib\freetype\i386
copy lib\freetype.old\Makefile lib\freetype
copy lib\freetype.old\README.ROS lib\freetype
copy lib\freetype.old\Doxyfile lib\freetype
copy lib\freetype.old\.cvsignore lib\freetype
copy lib\freetype.old\objs\.cvsignore lib\freetype\objs
copy lib\freetype.old\i386\.cvsignore lib\freetype\i386
@ -65,4 +66,4 @@ file, so it is obvious to everyone which FreeType version we're using.
After testing, you can commit the new/changed files to CVS. ALthough files
config.mk and freetype.def are generated, they should be included in CVS.
$Id: README.ROS,v 1.3 2003/04/18 10:48:12 gvg Exp $
$Id: README.ROS,v 1.4 2004/01/21 19:23:45 gvg Exp $

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -17,11 +17,10 @@ ifndef TOP_DIR
TOP_DIR := .
endif
DELETE := rm -f
SEP := /
HOSTSEP := $(SEP)
BUILD := $(TOP_DIR)/builds/ansi
PLATFORM := ansi
DELETE := rm -f
SEP := /
BUILD_DIR := $(TOP_DIR)/builds/ansi
PLATFORM := ansi
# The directory where all object files are placed.
@ -34,7 +33,7 @@ PLATFORM := ansi
# make -f $TOP_DIR/Makefile
#
ifndef OBJ_DIR
OBJ_DIR := $(TOP_DIR)$(SEP)objs
OBJ_DIR := $(TOP_DIR)/objs
endif

View file

@ -17,4 +17,5 @@ include $(TOP_DIR)/builds/ansi/ansi-def.mk
include $(TOP_DIR)/builds/compiler/ansi-cc.mk
include $(TOP_DIR)/builds/link_std.mk
# EOF

View file

@ -5,7 +5,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -19,11 +19,10 @@ ifndef TOP_DIR
TOP_DIR := .
endif
DELETE := rm -f
SEP := /
HOSTSEP := $(SEP)
BUILD := $(TOP_DIR)/builds/neos
PLATFORM := beos
DELETE := rm -f
SEP := /
BUILD_DIR := $(TOP_DIR)/builds/beos
PLATFORM := beos
# The directory where all object files are placed.
@ -36,7 +35,7 @@ PLATFORM := beos
# make -f $TOP_DIR/Makefile
#
ifndef OBJ_DIR
OBJ_DIR := $(TOP_DIR)$(SEP)objs
OBJ_DIR := $(TOP_DIR)/objs
endif

View file

@ -15,5 +15,5 @@ include $(TOP_DIR)/builds/compiler/ansi-cc.mk
include $(TOP_DIR)/builds/beos/beos-def.mk
include $(TOP_DIR)/builds/link_std.mk
# EOF
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -27,15 +27,14 @@ endif
ifeq ($(PLATFORM),beos)
DELETE := rm -f
SEP := /
HOSTSEP := $(SEP)
BUILD := $(TOP_DIR)/builds/beos
DELETE := rm -f
SEP := /
BUILD_DIR := $(TOP_DIR)/builds/beos
CONFIG_FILE := beos.mk
setup: std_setup
endif # test PLATFORM beos
# EOF
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -15,7 +15,9 @@
# Compiler command line name
#
CC := cc
CC := cc
COMPILER_SEP := $(SEP)
# The object file extension (for standard and static libraries). This can be
# .o, .tco, .obj, etc., depending on the platform.
@ -74,8 +76,9 @@ ANSIFLAGS :=
# Library linking
#
ifndef CLEAN_LIBRARY
CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
endif
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
LINK_LIBRARY = $(AR) -r $@ $(subst /,$(COMPILER_SEP),$(OBJECTS_LIST))
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -15,7 +15,9 @@
# Compiler command line name
#
CC := bcc32
CC := bcc32
COMPILER_SEP := $(SEP)
# The object file extension (for standard and static libraries). This can be
# .o, .tco, .obj, etc., depending on the platform.
@ -72,9 +74,9 @@ ANSIFLAGS := -A
# Library linking
#
ifndef CLEAN_LIBRARY
CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
endif
TARGET_OBJECTS = $(subst $(SEP),\\,$(OBJECTS_LIST))
LINK_LIBRARY = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%)
LINK_LIBRARY = tlib /u $(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST:%=+%))
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -15,7 +15,9 @@
# Compiler command line name
#
CC := bcc32
CC := bcc32
COMPILER_SEP := $(SEP)
# The object file extension (for standard and static libraries). This can be
# .o, .tco, .obj, etc., depending on the platform.
@ -72,9 +74,9 @@ ANSIFLAGS := -A
# Library linking
#
ifndef CLEAN_LIBRARY
CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
endif
TARGET_OBJECTS = $(subst $(SEP),\\,$(OBJECTS_LIST))
LINK_LIBRARY = tlib /u $(subst $(SEP),\\,$@) $(TARGET_OBJECTS:%=+%)
LINK_LIBRARY = tlib /u $(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST:%=+%))
# EOF

View file

@ -0,0 +1,81 @@
#
# FreeType 2 emx-specific definitions
#
# Copyright 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
# and distributed under the terms of the FreeType project license,
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
# indicate that you have read the license and understand and accept it
# fully.
# Compiler command line name
#
CC := set GCCOPT="-ansi -pedantic"; gcc
COMPILER_SEP := /
# The object file extension (for standard and static libraries). This can be
# .o, .tco, .obj, etc., depending on the platform.
#
O := o
SO := o
# The library file extension (for standard and static libraries). This can
# be .a, .lib, etc., depending on the platform.
#
A := a
SA := a
# Path inclusion flag. Some compilers use a different flag than `-I' to
# specify an additional include path. Examples are `/i=' or `-J'.
#
I := -I
# C flag used to define a macro before the compilation of a given source
# object. Usually it is `-D' like in `-DDEBUG'.
#
D := -D
# The link flag used to specify a given library file on link. Note that
# this is only used to compile the demo programs, not the library itself.
#
L := -l
# Target flag.
#
T := -o$(space)
# C flags
#
# These should concern: debug output, optimization & warnings.
#
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
# ANSI compliance.
#
ifndef CFLAGS
CFLAGS := -c -g -O6 -Wall
endif
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
#
ANSIFLAGS :=
# Library linking
#
ifndef CLEAN_LIBRARY
CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
endif
LINK_LIBRARY = $(foreach m,$(OBJECTS_LIST),$(AR) -r $@ $(m);) echo > nul
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -15,7 +15,9 @@
# Compiler command line name
#
CC := gcc
CC := gcc
COMPILER_SEP := /
# The object file extension (for standard and static libraries). This can be
# .o, .tco, .obj, etc., depending on the platform.
@ -62,6 +64,7 @@ T := -o$(space)
#
ifndef CFLAGS
CFLAGS := -c -g -O0 \
-fno-strict-aliasing \
-Wall \
-W \
-Wundef \
@ -82,8 +85,9 @@ ANSIFLAGS := -ansi -pedantic
# Library linking
#
ifndef CLEAN_LIBRARY
CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
endif
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -15,7 +15,9 @@
# Compiler command line name
#
CC := gcc
CC := gcc
COMPILER_SEP := /
# The object file extension (for standard and static libraries). This can be
# .o, .tco, .obj, etc., depending on the platform.
@ -60,7 +62,7 @@ T := -o$(space)
# ANSI compliance.
#
ifndef CFLAGS
CFLAGS := -c -g -O6 -Wall
CFLAGS := -c -g -O6 -Wall -fno-strict-aliasing
endif
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
@ -71,8 +73,9 @@ ANSIFLAGS := -ansi -pedantic
# Library linking
#
ifndef CLEAN_LIBRARY
CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
endif
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -15,7 +15,8 @@
# compiler command line name
#
CC := icl
CC := icl
COMPILER_SEP := $(SEP)
# The object file extension (for standard and static libraries). This can be
@ -79,6 +80,7 @@ ANSIFLAGS := /Qansi /Za
# Library linking
#
#CLEAN_LIBRARY =
LINK_LIBRARY = lib /nologo /out:$@ $(OBJECTS_LIST)
LINK_LIBRARY = lib /nologo /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST))
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -15,7 +15,8 @@
# Command line name
#
CC := lcc
CC := lcc
COMPILER_SEP := $(SEP)
# The object file extension (for standard and static libraries). This can be
@ -78,8 +79,9 @@ ANSIFLAGS := -A
# library linking
#
ifndef CLEAN_LIBRARY
CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
CLEAN_LIBRARY = $(DELETE) $(PROJECT_LIBRARY)
endif
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -15,7 +15,8 @@
# command line compiler name
#
CC := icc
CC := icc
COMPILER_SEP := $(SEP)
# The object file extension (for standard and static libraries). This can be
@ -71,6 +72,7 @@ ANSI_FLAGS := /Sa
# Library linking
#
#CLEAN_LIBRARY :=
LINK_LIBRARY = lib /nologo /out:$@ $(OBJECTS_LIST)
LINK_LIBRARY = lib /nologo /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST))
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -15,7 +15,8 @@
# compiler command line name
#
CC := cl
CC := cl
COMPILER_SEP := $(SEP)
# The object file extension (for standard and static libraries). This can be
@ -74,6 +75,7 @@ ANSIFLAGS := /Za
# Library linking
#
#CLEAN_LIBRARY =
LINK_LIBRARY = lib /nologo /out:$@ $(OBJECTS_LIST)
LINK_LIBRARY = lib /nologo /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST))
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -15,7 +15,8 @@
# Compiler command line name
#
CC := wcc386
CC := wcc386
COMPILER_SEP := $(SEP)
# The object file extension (for standard and static libraries). This can be
@ -74,8 +75,11 @@ ANSIFLAGS := -za
# Library linking
#
ifndef CLEAN_LIBRARY
CLEAN_LIBRARY = $(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY))
CLEAN_LIBRARY = $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
endif
LINK_LIBRARY = wlib -q -o = $@ $(OBJECTS_LIST)
LINK_LIBRARY = $(subst /,$(COMPILER_SEP), \
wlib -q -n $@; \
$(foreach m, $(OBJECTS_LIST), wlib -q $@ +$(m);) \
echo > nul)
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -15,7 +15,8 @@
# Command line name
#
CC := lcc
CC := lcc
COMPILER_SEP := $(SEP)
# The object file extension (for standard and static libraries). This can be
@ -76,6 +77,7 @@ ANSIFLAGS :=
# library linking
#
#CLEAN_LIBRARY :=
LINK_LIBRARY = lcclib /out:$(subst $(SEP),\\,$@) $(subst $(SEP),\\,$(OBJECTS_LIST))
LINK_LIBRARY = lcclib /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST))
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2001, 2002, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -16,7 +16,7 @@
# This sub-Makefile is in charge of detecting the current platform. It sets
# the following variables:
#
# BUILD The configuration and system-specific directory. Usually
# BUILD_DIR The configuration and system-specific directory. Usually
# `freetype/builds/$(PLATFORM)' but can be different for
# custom builds of the library.
#
@ -30,6 +30,7 @@
# DELETE The shell command used to remove a given file.
# COPY The shell command used to copy one file.
# SEP The platform-specific directory separator.
# COMPILER_SEP The separator used in arguments of the compilation tools.
# CC The compiler to use.
#
# You need to set the following variable(s) before calling it:
@ -44,17 +45,17 @@ ifndef TOP_DIR
endif
# Set auto-detection default to `ansi' resp. UNIX-like operating systems.
# Note that we delay evaluation of $(BUILD_CONFIG_), $(BUILD), and
# $(CONFIG_RULES).
#
PLATFORM := ansi
DELETE := $(RM)
COPY := cp
SEP := /
PLATFORM := ansi
DELETE := $(RM)
COPY := cp
SEP := /
BUILD_CONFIG_ = $(TOP_DIR)$(SEP)builds$(SEP)
BUILD = $(BUILD_CONFIG_)$(PLATFORM)
CONFIG_RULES = $(BUILD)$(SEP)$(CONFIG_FILE)
BUILD_CONFIG := $(TOP_DIR)/builds
# These two assignments must be delayed.
BUILD_DIR = $(BUILD_CONFIG)/$(PLATFORM)
CONFIG_RULES = $(BUILD_DIR)/$(CONFIG_FILE)
# We define the BACKSLASH variable to hold a single back-slash character.
# This is needed because a line like
@ -72,12 +73,12 @@ BACKSLASH := $(strip \ )
# Find all auto-detectable platforms.
#
PLATFORMS_ := $(notdir $(subst /detect.mk,,$(wildcard $(BUILD_CONFIG_)*/detect.mk)))
.PHONY: $(PLATFORMS_) ansi
PLATFORMS := $(notdir $(subst /detect.mk,,$(wildcard $(BUILD_CONFIG)/*/detect.mk)))
.PHONY: $(PLATFORMS) ansi
# Filter out platform specified as setup target.
#
PLATFORM := $(firstword $(filter $(MAKECMDGOALS),$(PLATFORMS_)))
PLATFORM := $(firstword $(filter $(MAKECMDGOALS),$(PLATFORMS)))
# If no setup target platform was specified, enable auto-detection/
# default platform.
@ -94,7 +95,7 @@ ifeq ($(findstring ansi,$(MAKECMDGOALS)),)
# directories. Note that the calling order of the various `detect.mk'
# files isn't predictable.
#
include $(wildcard $(BUILD_CONFIG_)*/detect.mk)
include $(wildcard $(BUILD_CONFIG)/*/detect.mk)
endif
# In case no detection rule file was successful, use the default.
@ -121,13 +122,14 @@ std_setup:
@echo ""
@echo " platform $(PLATFORM)"
@echo " compiler $(CC)"
@echo " configuration directory $(BUILD)"
@echo " configuration directory $(BUILD_DIR)"
@echo " configuration rules $(CONFIG_RULES)"
@echo ""
@echo "If this does not correspond to your system or settings please remove the file"
@echo "\`$(CONFIG_MK)' from this directory then read the INSTALL file for help."
@echo ""
@echo "Otherwise, simply type \`$(MAKE)' again to build the library."
@echo "Otherwise, simply type \`$(MAKE)' again to build the library,"
@echo "or \`$(MAKE) refdoc' to build the API reference (the latter needs python)."
@echo ""
@$(COPY) $(CONFIG_RULES) $(CONFIG_MK)
@ -140,4 +142,18 @@ dos_setup:
@type builds\newline
@echo The following settings are used:
@type builds\newline
@echo platform
@echo platformÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$(PLATFORM)
@echo compilerÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ$(CC)
@echo configuration directoryÿÿÿÿÿÿ$(subst /,\,$(BUILD_DIR))
@echo configuration rulesÿÿÿÿÿÿÿÿÿÿ$(subst /,\,$(CONFIG_RULES))
@type builds\newline
@echo If this does not correspond to your system or settings please remove the file
@echo '$(CONFIG_MK)' from this directory then read the INSTALL file for help.
@type builds\newline
@echo Otherwise, simply type 'make' again to build the library.
@echo or 'make refdoc' to build the API reference (the latter needs python).
@type builds\newline
@$(COPY) $(subst /,\,$(CONFIG_RULES) $(CONFIG_MK)) > nul
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -23,7 +23,8 @@ ifeq ($(PLATFORM),ansi)
# `make' utility is run).
#
# We test for the COMSPEC environment variable, then run the `ver'
# command-line program to see if its output contains the word `Dos'.
# command-line program to see if its output contains the word `Dos' or
# `DOS'.
#
# If this is true, we are running a Dos-ish platform (or an emulation).
#
@ -31,7 +32,7 @@ ifeq ($(PLATFORM),ansi)
PLATFORM := dos
else
ifdef COMSPEC
is_dos := $(findstring Dos,$(shell ver))
is_dos := $(findstring DOS,$(subst Dos,DOS,$(shell ver)))
# We try to recognize a Dos session under OS/2. The `ver' command
# returns `Operating System/2 ...' there, so `is_dos' should be empty.
@ -57,16 +58,21 @@ ifeq ($(PLATFORM),dos)
# Use DJGPP (i.e. gcc) by default.
#
CONFIG_FILE := dos-gcc.mk
SEP := /
ifndef CC
CC := gcc
endif
# additionally, we provide hooks for various other compilers
#
ifneq ($(findstring emx,$(MAKECMDGOALS)),) # EMX gcc
CONFIG_FILE := dos-emx.mk
CC := gcc
emx: setup
.PHONY: emx
endif
ifneq ($(findstring turboc,$(MAKECMDGOALS)),) # Turbo C
CONFIG_FILE := dos-tcc.mk
SEP := $(BACKSLASH)
CC := tcc
turboc: setup
.PHONY: turboc
@ -74,7 +80,6 @@ ifeq ($(PLATFORM),dos)
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
CONFIG_FILE := dos-wat.mk
SEP := $(BACKSLASH)
CC := wcc386
watcom: setup
.PHONY: watcom
@ -82,7 +87,6 @@ ifeq ($(PLATFORM),dos)
ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C/C++ 32-bit
CONFIG_FILE := dos-bcc.mk
SEP := $(BACKSLASH)
CC := bcc32
borlandc: setup
.PHONY: borlandc
@ -90,17 +94,18 @@ ifeq ($(PLATFORM),dos)
ifneq ($(findstring borlandc16,$(MAKECMDGOALS)),) # Borland C/C++ 16-bit
CONFIG_FILE := dos-bcc.mk
SEP := $(BACKSLASH)
CC := bcc
borlandc16: setup
.PHONY: borlandc16
endif
ifneq ($(findstring bash,$(SHELL)),) # check for bash
SEP := /
DELETE := rm
COPY := cp
setup: std_setup
else
SEP := $(BACKSLASH)
DELETE := del
COPY := copy
setup: dos_setup
@ -108,4 +113,5 @@ ifeq ($(PLATFORM),dos)
endif # test PLATFORM dos
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -13,15 +13,10 @@
# fully.
DELETE := del
HOSTSEP := $(strip \ )
BUILD := $(TOP_DIR)$(SEP)builds$(SEP)dos
PLATFORM := dos
# except for DJGPP/GCC on Dos
ifndef SEP
SEP := $(HOSTSEP)
endif
DELETE := del
SEP := $(strip \ )
BUILD_DIR := $(TOP_DIR)/builds/dos
PLATFORM := dos
# The directory where all object files are placed.
@ -34,7 +29,7 @@ endif
# make -f %TOP_DIR%/Makefile
#
ifndef OBJ_DIR
OBJ_DIR := $(TOP_DIR)$(SEP)objs
OBJ_DIR := $(TOP_DIR)/objs
endif

View file

@ -1,9 +1,9 @@
#
# FreeType 2 Type1 driver compilation rules for VMS
# FreeType 2 configuration rules for the EMX gcc compiler
#
# Copyright 1996-2000, 2002 by
# Copyright 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -13,11 +13,9 @@
# fully.
CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.include],[--.src.type1])
include $(TOP_DIR)/builds/dos/dos-def.mk
include $(TOP_DIR)/builds/compiler/emx.mk
include $(TOP_DIR)/builds/link_dos.mk
OBJS=type1.obj
all : $(OBJS)
library [--.lib]freetype.olb $(OBJS)
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -13,10 +13,9 @@
# fully.
SEP := /
include $(TOP_DIR)/builds/dos/dos-def.mk
include $(TOP_DIR)/builds/compiler/gcc.mk
include $(TOP_DIR)/builds/link_dos.mk
# EOF

View file

@ -1,25 +1,17 @@
#
# FreeType 2 system rules for VMS
# FreeType 2 configuration rules for the Watcom C/C++ compiler
#
# Copyright 2001 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
# and distributed under the terms of the FreeType project license,
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
# indicate that you have read the license and understand and accept it
# fully.
include $(TOP_DIR)/builds/dos/dos-def.mk
include $(TOP_DIR)/builds/compiler/watcom.mk
include $(TOP_DIR)/builds/link_dos.mk
CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([],[--.include],[--.src.base])
OBJS=ftsystem.obj
all : $(OBJS)
library/create [--.lib]freetype.olb $(OBJS)
ftsystem.obj : ftsystem.c ftconfig.h
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000, 2002 by
# Copyright 1996-2000, 2001, 2002, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -20,13 +20,15 @@
# The following variables (set by other Makefile components, in the
# environment, or on the command line) are used:
#
# BUILD The architecture dependent directory,
# BUILD_DIR The architecture dependent directory,
# e.g. `$(TOP_DIR)/builds/unix'.
#
# OBJ_DIR The directory in which object files are created.
#
# LIB_DIR The directory in which the library is created.
#
# DOC_DIR The directory in which the API reference is created.
#
# INCLUDES A list of directories to be included additionally.
# Usually empty.
#
@ -63,6 +65,7 @@
# `distclean' target.
#
# TOP_DIR, SEP,
# COMPILER_SEP,
# LIBRARY, CC,
# A, I, O, T Check `config.mk' for details.
@ -70,7 +73,7 @@
# The targets `objects' and `library' are defined at the end of this
# Makefile after all other rules have been included.
#
.PHONY: single multi objects library
.PHONY: single multi objects library refdoc
# default target -- build single objects and library
#
@ -83,43 +86,29 @@ multi: objects library
# The FreeType source directory, usually `./src'.
#
SRC := $(TOP_DIR)$(SEP)src
SRC_DIR := $(TOP_DIR)/src
# The directory where the base layer components are placed, usually
# `./src/base'.
#
BASE_DIR := $(SRC)$(SEP)base
BASE_DIR := $(SRC_DIR)/base
# The build header file used to define all public header file names
# as macro.
# Other derived directories.
#
ifndef FT_BUILD_H
FT_BUILD_H := $(TOP_DIR)$(SEP)include$(SEP)ft2build.h
FTBUILD_CMD :=
else
FTBUILD_CMD = $(D)FT_BUILD_H=$(FT_BUILD_H)
PUBLIC_DIR := $(TOP_DIR)/include/freetype
INTERNAL_DIR := $(PUBLIC_DIR)/internal
CONFIG_DIR := $(PUBLIC_DIR)/config
CACHE_DIR := $(PUBLIC_DIR)/cache
# The documentation directory.
#
ifndef DOC_DIR
DOC_DIR := $(TOP_DIR)/docs/reference
endif
# A few short-cuts in order to avoid typing $(SEP) all the time for the
# directory separator.
#
# For example: $(SRC_) equals to `./src/' where `.' is $(TOP_DIR).
#
#
SRC_ := $(SRC)$(SEP)
BASE_ := $(BASE_DIR)$(SEP)
OBJ_ := $(OBJ_DIR)$(SEP)
LIB_ := $(LIB_DIR)$(SEP)
PUBLIC_ := $(TOP_DIR)$(SEP)include$(SEP)freetype$(SEP)
INTERNAL_ := $(PUBLIC_)internal$(SEP)
CONFIG_ := $(PUBLIC_)config$(SEP)
CACHE_ := $(PUBLIC_)cache$(SEP)
# The final name of the library file.
#
PROJECT_LIBRARY := $(LIB_)$(LIBRARY).$A
PROJECT_LIBRARY := $(LIB_DIR)/$(LIBRARY).$A
# include paths
@ -130,7 +119,8 @@ PROJECT_LIBRARY := $(LIB_)$(LIBRARY).$A
# in the `freetype/builds/<system>' directory, as these
# files will override the default sources.
#
INCLUDES := $(OBJ_DIR) $(BUILD) $(TOP_DIR)$(SEP)include
INCLUDES := $(subst /,$(COMPILER_SEP),$(OBJ_DIR) $(BUILD_DIR) \
$(TOP_DIR)/include)
INCLUDE_FLAGS = $(INCLUDES:%=$I%)
@ -164,46 +154,47 @@ OBJECTS_LIST :=
# This is used to simplify the dependency rules -- if one of these files
# changes, the whole library is recompiled.
#
PUBLIC_H := $(wildcard $(PUBLIC_)*.h)
BASE_H := $(wildcard $(INTERNAL_)*.h)
CONFIG_H := $(wildcard $(CONFIG_)*.h) \
$(wildcard $(BUILD)$(SEP)freetype$(SEP)config$(SEP)*.h)
CACHE_H := $(wildcard $(CACHE_)*.h)
PUBLIC_H := $(wildcard $(PUBLIC_DIR)/*.h)
BASE_H := $(wildcard $(INTERNAL_DIR)/*.h)
CONFIG_H := $(wildcard $(CONFIG_DIR)/*.h) \
$(wildcard $(BUILD_DIR)/freetype/config/*.h)
CACHE_H := $(wildcard $(CACHE_DIR)/*.h)
DEVEL_H := $(wildcard $(TOP_DIR)/devel/*.h)
FREETYPE_H := $(PUBLIC_H) $(BASE_H) $(CONFIG_H) $(CACHE_H)
FREETYPE_H := $(PUBLIC_H) $(BASE_H) $(CONFIG_H) $(CACHE_H) $(DEVEL_H)
# ftsystem component
#
ifndef FTSYS_SRC
FTSYS_SRC = $(BASE_)ftsystem.c
FTSYS_SRC = $(BASE_DIR)/ftsystem.c
endif
FTSYS_OBJ = $(OBJ_)ftsystem.$O
FTSYS_OBJ = $(OBJ_DIR)/ftsystem.$O
OBJECTS_LIST += $(FTSYS_OBJ)
$(FTSYS_OBJ): $(FTSYS_SRC) $(FREETYPE_H)
$(FT_COMPILE) $T$@ $<
$(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
# ftdebug component
#
ifndef FTDEBUG_SRC
FTDEBUG_SRC = $(BASE_)ftdebug.c
FTDEBUG_SRC = $(BASE_DIR)/ftdebug.c
endif
FTDEBUG_OBJ = $(OBJ_)ftdebug.$O
FTDEBUG_OBJ = $(OBJ_DIR)/ftdebug.$O
OBJECTS_LIST += $(FTDEBUG_OBJ)
$(FTDEBUG_OBJ): $(FTDEBUG_SRC) $(FREETYPE_H)
$(FT_COMPILE) $T$@ $<
$(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
# Include all rule files from FreeType components.
#
include $(wildcard $(SRC)/*/rules.mk)
include $(wildcard $(SRC_DIR)/*/rules.mk)
# ftinit component
@ -217,13 +208,13 @@ include $(wildcard $(SRC)/*/rules.mk)
# which contain additional include paths and macros used to compile the
# single `ftinit.c' source.
#
FTINIT_SRC := $(BASE_)ftinit.c
FTINIT_OBJ := $(OBJ_)ftinit.$O
FTINIT_SRC := $(BASE_DIR)/ftinit.c
FTINIT_OBJ := $(OBJ_DIR)/ftinit.$O
OBJECTS_LIST += $(FTINIT_OBJ)
$(FTINIT_OBJ): $(FTINIT_SRC) $(FREETYPE_H) $(FT_MODULE_LIST)
$(FT_COMPILE) $T$@ $<
$(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
# All FreeType library objects
@ -255,7 +246,17 @@ objects: $(OBJECTS_LIST)
library: $(PROJECT_LIBRARY)
.c.$O:
$(FT_COMPILE) $T$@ $<
$(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
refdoc:
python $(SRC_DIR)/tools/docmaker/docmaker.py \
--prefix=ft2 \
--title=FreeType-2.1.5 \
--output=$(DOC_DIR) \
$(PUBLIC_DIR)/*.h \
$(PUBLIC_DIR)/config/*.h \
$(PUBLIC_DIR)/cache/*.h
.PHONY: clean_project_std distclean_project_std
@ -280,10 +281,10 @@ distclean_project_std: clean_project_std
# working correctly on Win9x.
#
clean_project_dos:
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(OBJ_))*.$O $(CLEAN) $(NO_OUTPUT)
-$(DELETE) $(subst /,\,$(OBJ)/*.$O $(CLEAN) $(NO_OUTPUT))
distclean_project_dos: clean_project_dos
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(PROJECT_LIBRARY)) $(DISTCLEAN) $(NO_OUTPUT)
-$(DELETE) $(subst /,\,$(PROJECT_LIBRARY) $(DISTCLEAN) $(NO_OUTPUT))
.PHONY: remove_config_mk
@ -291,7 +292,7 @@ distclean_project_dos: clean_project_dos
# Remove configuration file (used for distclean).
#
remove_config_mk:
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(CONFIG_MK)) $(NO_OUTPUT)
-$(DELETE) $(subst /,$(SEP),$(CONFIG_MK) $(NO_OUTPUT))
.PHONY: clean distclean
@ -303,5 +304,7 @@ remove_config_mk:
#
clean: clean_project
distclean: distclean_project remove_config_mk
-$(DELETE) $(subst /,$(SEP),$(DOC_DIR)/*.html $(NO_OUTPUT))
# EOF

View file

@ -38,4 +38,5 @@ ifdef BUILD_PROJECT
endif
# EOF

View file

@ -38,4 +38,5 @@ ifdef BUILD_PROJECT
endif
# EOF

View file

@ -1,3 +1,109 @@
# Makefile for Apple MPW build environment (currently PPC only)
MAKEFILE = Makefile
ÿMondoBuildÿ = #{MAKEFILE} # Make blank to avoid rebuilds when makefile is modified
SymÿPPC = #-sym on
ObjDirÿPPC = :obj:
CFLAGS = -i :include -i :src -includes unix {SymÿPPC}
OBJS = ÿ
"{ObjDirÿPPC}ftsystem.c.x" ÿ
"{ObjDirÿPPC}ftdebug.c.x" ÿ
"{ObjDirÿPPC}ftinit.c.x" ÿ
"{ObjDirÿPPC}ftbase.c.x" ÿ
"{ObjDirÿPPC}ftglyph.c.x" ÿ
"{ObjDirÿPPC}ftmm.c.x" ÿ
"{ObjDirÿPPC}ftbbox.c.x" ÿ
"{ObjDirÿPPC}autohint.c.x" ÿ
"{ObjDirÿPPC}ftcache.c.x" ÿ
"{ObjDirÿPPC}cff.c.x" ÿ
"{ObjDirÿPPC}type1cid.c.x" ÿ
"{ObjDirÿPPC}pcf.c.x" ÿ
"{ObjDirÿPPC}psaux.c.x" ÿ
"{ObjDirÿPPC}psmodule.c.x" ÿ
"{ObjDirÿPPC}raster.c.x" ÿ
"{ObjDirÿPPC}sfnt.c.x" ÿ
"{ObjDirÿPPC}smooth.c.x" ÿ
"{ObjDirÿPPC}truetype.c.x" ÿ
"{ObjDirÿPPC}type1.c.x" ÿ
"{ObjDirÿPPC}winfnt.c.x" ÿ
"{ObjDirÿPPC}ftmac.c.x" ÿ
# Main target - build a library
freetype ÿÿ {ÿMondoBuildÿ} directories freetype.o
# This is used to build the library
freetype.o ÿÿ {ÿMondoBuildÿ} {OBJS}
PPCLink ÿ
-o :lib:{Targ} {SymÿPPC} ÿ
{OBJS} -c '????' -xm l
# This is used to create the directories needed for build
directories ÿ
if !`Exists obj` ; NewFolder obj ; end
if !`Exists lib` ; NewFolder lib ; end
"{ObjDirÿPPC}ftsystem.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftsystem.c"
{PPCC} ":src:base:ftsystem.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}ftdebug.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftdebug.c"
{PPCC} ":src:base:ftdebug.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}ftinit.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftinit.c"
{PPCC} ":src:base:ftinit.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}ftbase.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftbase.c"
{PPCC} ":src:base:ftbase.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}ftglyph.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftglyph.c"
{PPCC} ":src:base:ftglyph.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}ftmm.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftmm.c"
{PPCC} ":src:base:ftmm.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}ftbbox.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftbbox.c"
{PPCC} ":src:base:ftbbox.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}autohint.c.x" ÿ {ÿMondoBuildÿ} ":src:autohint:autohint.c"
{PPCC} ":src:autohint:autohint.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}ftcache.c.x" ÿ {ÿMondoBuildÿ} ":src:cache:ftcache.c"
{PPCC} ":src:cache:ftcache.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}cff.c.x" ÿ {ÿMondoBuildÿ} ":src:cff:cff.c"
{PPCC} ":src:cff:cff.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}type1cid.c.x" ÿ {ÿMondoBuildÿ} ":src:cid:type1cid.c"
{PPCC} ":src:cid:type1cid.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}pcf.c.x" ÿ {ÿMondoBuildÿ} ":src:pcf:pcf.c"
{PPCC} ":src:pcf:pcf.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}psaux.c.x" ÿ {ÿMondoBuildÿ} ":src:psaux:psaux.c"
{PPCC} ":src:psaux:psaux.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}psmodule.c.x" ÿ {ÿMondoBuildÿ} ":src:psnames:psmodule.c"
{PPCC} ":src:psnames:psmodule.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}raster.c.x" ÿ {ÿMondoBuildÿ} ":src:raster:raster.c"
{PPCC} ":src:raster:raster.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}sfnt.c.x" ÿ {ÿMondoBuildÿ} ":src:sfnt:sfnt.c"
{PPCC} ":src:sfnt:sfnt.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}smooth.c.x" ÿ {ÿMondoBuildÿ} ":src:smooth:smooth.c"
{PPCC} ":src:smooth:smooth.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}truetype.c.x" ÿ {ÿMondoBuildÿ} ":src:truetype:truetype.c"
{PPCC} ":src:truetype:truetype.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}type1.c.x" ÿ {ÿMondoBuildÿ} ":src:type1:type1.c"
{PPCC} ":src:type1:type1.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}winfnt.c.x" ÿ {ÿMondoBuildÿ} ":src:winfonts:winfnt.c"
{PPCC} ":src:winfonts:winfnt.c" -o {Targ} {CFLAGS}
"{ObjDirÿPPC}ftmac.c.x" ÿ {ÿMondoBuildÿ} ":src:base:ftmac.c"
{PPCC} ":src:base:ftmac.c" -o {Targ} {CFLAGS}

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -26,7 +26,7 @@
# resides. For now, it is in `include/freetype/config/ftmodule.h'.
#
ifndef MODULE_LIST
MODULE_LIST := $(TOP_DIR)$(SEP)include$(SEP)$(PROJECT)$(SEP)config$(SEP)ftmodule.h
MODULE_LIST := $(TOP_DIR)/include/$(PROJECT)/config/ftmodule.h
endif
# To build the modules list, we invoke the `make_module_list' target.
@ -39,8 +39,8 @@ endif
ifneq ($(findstring $(PLATFORM),dos win32 win16 os2),)
OPEN_MODULE := @echo$(space)
CLOSE_MODULE := >> $(subst $(SEP),$(HOSTSEP),$(MODULE_LIST))
REMOVE_MODULE := @-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(MODULE_LIST))
CLOSE_MODULE := >> $(subst /,\,$(MODULE_LIST))
REMOVE_MODULE := @-$(DELETE) $(subst /,\,$(MODULE_LIST))
else
OPEN_MODULE := @echo "
CLOSE_MODULE := " >> $(MODULE_LIST)
@ -53,7 +53,7 @@ endif
#
clean_module_list:
$(REMOVE_MODULE)
@-echo Regenerating the modules list in $(MODULE_LIST)...
@-echo Regenerating modules list in $(MODULE_LIST)...
make_module_list: clean_module_list
@echo done.
@ -73,4 +73,5 @@ ECHO_DRIVER_DONE := )"
#
include $(wildcard $(TOP_DIR)/src/*/module.mk)
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -27,18 +27,17 @@ endif
ifeq ($(PLATFORM),os2)
COPY := copy
DELETE := del
COPY := copy
DELETE := del
SEP := $(BACKSLASH)
# gcc-emx by default
CONFIG_FILE := os2-gcc.mk
SEP := /
# additionally, we provide hooks for various other compilers
#
ifneq ($(findstring visualage,$(MAKECMDGOALS)),) # Visual Age C++
CONFIG_FILE := os2-icc.mk
SEP := $(BACKSLASH)
CC := icc
visualage: setup
.PHONY: visualage
@ -46,7 +45,6 @@ ifeq ($(PLATFORM),os2)
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
CONFIG_FILE := os2-wat.mk
SEP := $(BACKSLASH)
CC := wcc386
watcom: setup
.PHONY: watcom
@ -54,7 +52,6 @@ ifeq ($(PLATFORM),os2)
ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C++ 32-bit
CONFIG_FILE := os2-bcc.mk
SEP := $(BACKSLASH)
CC := bcc32
borlandc: setup
.PHONY: borlandc
@ -63,7 +60,6 @@ ifeq ($(PLATFORM),os2)
ifneq ($(findstring devel,$(MAKECMDGOALS)),) # development target
CONFIG_FILE := os2-dev.mk
CC := gcc
SEP := /
devel: setup
.PHONY: devel
endif
@ -72,4 +68,5 @@ ifeq ($(PLATFORM),os2)
endif # test PLATFORM os2
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -13,15 +13,10 @@
# fully.
DELETE := del
HOSTSEP := $(strip \ )
BUILD := $(TOP_DIR)$(SEP)builds$(SEP)os2
PLATFORM := os2
# except for GCC+emx on OS/2
ifndef SEP
SEP := $(HOSTSEP)
endif
DELETE := del
SEP := $(strip \ )
BUILD_DIR := $(TOP_DIR)/builds/os2
PLATFORM := os2
# The directory where all object files are placed.
@ -34,7 +29,7 @@ endif
# make -f %TOP_DIR%/Makefile
#
ifndef OBJ_DIR
OBJ_DIR := $(TOP_DIR)$(SEP)objs
OBJ_DIR := $(TOP_DIR)/objs
endif
@ -55,4 +50,5 @@ LIBRARY := $(PROJECT)
#
NO_OUTPUT = 2> nul
# EOF

View file

@ -5,7 +5,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -19,10 +19,8 @@ ifndef TOP_DIR
TOP_DIR := .
endif
SEP := /
include $(TOP_DIR)/builds/os2/os2-def.mk
BUILD := $(TOP_DIR)/builds/devel
BUILD_DIR := $(TOP_DIR)/devel
include $(TOP_DIR)/builds/compiler/gcc-dev.mk

View file

@ -13,8 +13,6 @@
# fully.
SEP := /
# include OS/2-specific definitions
include $(TOP_DIR)/builds/os2/os2-def.mk
@ -24,4 +22,5 @@ include $(TOP_DIR)/builds/compiler/gcc.mk
# include linking instructions
include $(TOP_DIR)/builds/link_dos.mk
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2001, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -99,7 +99,9 @@ ifdef check_platform
#
# note: This test is duplicated in "builds/toplevel.mk".
#
is_unix := $(strip $(wildcard /sbin/init) $(wildcard /usr/sbin/init) $(wildcard /hurd/auth))
is_unix := $(strip $(wildcard /sbin/init) \
$(wildcard /usr/sbin/init) \
$(wildcard /hurd/auth))
ifneq ($(is_unix),)
distclean:
@ -132,4 +134,5 @@ else
endif # test check_platform
# EOF

View file

@ -1574,7 +1574,7 @@ else
allow_undefined_flag='-undefined suppress'
;;
*) # Darwin 1.3 on
allow_undefined_flag='-flat_namespace -undefined suppress'
# allow_undefined_flag='-undefined suppress'
;;
esac
# FIXME: Relying on posixy $() will cause problems for

View file

@ -1009,6 +1009,7 @@ Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--without-zlib use internal zlib instead of system-wide
--with-old-mac-fonts allow Mac resource-based fonts to be used
--with-gnu-ld assume the C compiler uses GNU ld default=no
--with-pic try to use only PIC/non-PIC objects default=use both
@ -1402,7 +1403,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_config_headers="$ac_config_headers ftconfig.h:ftconfig.in"
version_info='9:3:3'
version_info='9:4:3'
ft_version=`echo $version_info | tr : .`
@ -4125,9 +4126,9 @@ fi
rm -f conftest.mmap
if test "$ac_cv_func_mmap_fixed_mapped" != yes; then
FTSYS_SRC='$(BASE_)ftsystem.c'
FTSYS_SRC='$(BASE_DIR)/ftsystem.c'
else
FTSYS_SRC='$(BUILD)/ftsystem.c'
FTSYS_SRC='$(BUILD_DIR)/ftsystem.c'
echo "$as_me:$LINENO: checking whether munmap must be declared" >&5
echo $ECHO_N "checking whether munmap must be declared... $ECHO_C" >&6
@ -4299,7 +4300,6 @@ done
# Check whether --with-zlib or --without-zlib was given.
if test "${with_zlib+set}" = set; then
withval="$with_zlib"
@ -4472,6 +4472,19 @@ if test x$with_zlib != xno && test -n "$LIBZ"; then
fi
# Check whether --with-old-mac-fonts or --without-old-mac-fonts was given.
if test "${with_old_mac_fonts+set}" = set; then
withval="$with_old_mac_fonts"
fi;
if test x$with_old_mac_fonts = xyes; then
CFLAGS="$CFLAGS -DTARGET_API_MAC_CARBON"
LDFLAGS="$LDFLAGS -Xlinker -framework -Xlinker CoreServices \
-Xlinker -framework -Xlinker ApplicationServices"
else
CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"
fi
@ -5625,7 +5638,7 @@ test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
case $host in
*-*-irix6*)
# Find out which ABI we are using.
echo '#line 5628 "configure"' > conftest.$ac_ext
echo '#line 5641 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@ -6139,7 +6152,7 @@ chmod -w .
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
compiler_c_o=no
if { (eval echo configure:6142: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
if { (eval echo configure:6155: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings
if test -s out/conftest.err; then
@ -6701,7 +6714,7 @@ else
allow_undefined_flag='-undefined suppress'
;;
*) # Darwin 1.3 on
allow_undefined_flag='-flat_namespace -undefined suppress'
# allow_undefined_flag='-undefined suppress'
;;
esac
# FIXME: Relying on posixy $() will cause problems for
@ -7913,7 +7926,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
#line 7916 "configure"
#line 7929 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -8011,7 +8024,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<EOF
#line 8014 "configure"
#line 8027 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -8739,7 +8752,7 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
ac_config_files="$ac_config_files unix-cc.mk:unix-cc.in unix-def.mk:unix-def.in freetype-config"
ac_config_files="$ac_config_files unix-cc.mk:unix-cc.in unix-def.mk:unix-def.in freetype-config freetype2.pc:freetype2.in"
@ -9250,6 +9263,7 @@ do
"unix-cc.mk" ) CONFIG_FILES="$CONFIG_FILES unix-cc.mk:unix-cc.in" ;;
"unix-def.mk" ) CONFIG_FILES="$CONFIG_FILES unix-def.mk:unix-def.in" ;;
"freetype-config" ) CONFIG_FILES="$CONFIG_FILES freetype-config" ;;
"freetype2.pc" ) CONFIG_FILES="$CONFIG_FILES freetype2.pc:freetype2.in" ;;
"ftconfig.h" ) CONFIG_HEADERS="$CONFIG_HEADERS ftconfig.h:ftconfig.in" ;;
*) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}

View file

@ -10,7 +10,7 @@ dnl configuration file -- stay in 8.3 limit
AC_CONFIG_HEADER(ftconfig.h:ftconfig.in)
dnl Don't forget to update VERSION.DLL!
version_info='9:3:3'
version_info='9:4:3'
AC_SUBST(version_info)
ft_version=`echo $version_info | tr : .`
AC_SUBST(ft_version)
@ -70,9 +70,9 @@ dnl checks for library functions
dnl Here we check whether we can use our mmap file component.
AC_FUNC_MMAP
if test "$ac_cv_func_mmap_fixed_mapped" != yes; then
FTSYS_SRC='$(BASE_)ftsystem.c'
FTSYS_SRC='$(BASE_DIR)/ftsystem.c'
else
FTSYS_SRC='$(BUILD)/ftsystem.c'
FTSYS_SRC='$(BUILD_DIR)/ftsystem.c'
FT_MUNMAP_DECL
FT_MUNMAP_PARAM
@ -81,7 +81,6 @@ AC_SUBST(FTSYS_SRC)
AC_CHECK_FUNCS(memcpy memmove)
dnl Check for system zlib
AC_ARG_WITH(zlib,
[ --without-zlib use internal zlib instead of system-wide])
@ -93,19 +92,32 @@ if test x$with_zlib != xno && test -n "$LIBZ"; then
LDFLAGS="$LDFLAGS $LIBZ"
SYSTEM_ZLIB=yes
fi
dnl Whether to use Mac OS resource-based fonts or not
AC_ARG_WITH(old-mac-fonts,
[ --with-old-mac-fonts allow Mac resource-based fonts to be used])
if test x$with_old_mac_fonts = xyes; then
CFLAGS="$CFLAGS -DTARGET_API_MAC_CARBON"
LDFLAGS="$LDFLAGS -Xlinker -framework -Xlinker CoreServices \
-Xlinker -framework -Xlinker ApplicationServices"
else
CFLAGS="$CFLAGS -DDARWIN_NO_CARBON"
fi
AC_SUBST(LIBZ)
AC_SUBST(CFLAGS)
AC_SUBST(LDFLAGS)
AC_SUBST(SYSTEM_ZLIB)
AC_PROG_LIBTOOL
dnl create the Unix-specific sub-Makefiles `builds/unix/unix-def.mk'
dnl and 'builds/unix/unix-cc.mk' that will be used by the build system
dnl
AC_CONFIG_FILES([unix-cc.mk:unix-cc.in unix-def.mk:unix-def.in freetype-config])
AC_CONFIG_FILES([unix-cc.mk:unix-cc.in
unix-def.mk:unix-def.in
freetype-config
freetype2.pc:freetype2.in])
dnl re-generate the Jamfile to use libtool now
dnl

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000, 2002 by
# Copyright 1996-2000, 2002, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -18,7 +18,9 @@ ifeq ($(PLATFORM),ansi)
# Note: this test is duplicated in "builds/toplevel.mk".
#
is_unix := $(strip $(wildcard /sbin/init) $(wildcard /usr/sbin/init) $(wildcard /hurd/auth))
is_unix := $(strip $(wildcard /sbin/init) \
$(wildcard /usr/sbin/init) \
$(wildcard /hurd/auth))
ifneq ($(is_unix),)
PLATFORM := unix
@ -27,8 +29,8 @@ ifeq ($(PLATFORM),ansi)
endif # test PLATFORM ansi
ifeq ($(PLATFORM),unix)
COPY := cp
DELETE := rm -f
COPY := cp
DELETE := rm -f
# If `devel' is the requested target, we use a special configuration
# file named `unix-dev.mk'. It disables optimization and libtool.
@ -84,4 +86,5 @@ ifeq ($(PLATFORM),unix)
endif # test PLATFORM unix
# EOF

View file

@ -81,7 +81,7 @@ fi
if test "$echo_cflags" = "yes" ; then
cflags="-I@includedir@/freetype2"
if test "@includedir@" != "/usr/include" ; then
echo -I@includedir@ $cflags
echo $cflags -I@includedir@
else
echo $cflags
fi

View file

@ -0,0 +1,11 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: FreeType 2
Description: A free, high-quality, and portable font engine.
Version: @ft_version@
Requires:
Libs: -L${libdir} -lfreetype @LIBZ@
Cflags: -I${includedir}/freetype2

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000, 2002 by
# Copyright 1996-2000, 2002, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -25,6 +25,7 @@
# Unix installation and deinstallation targets.
install: $(PROJECT_LIBRARY)
$(MKINSTALLDIRS) $(DESTDIR)$(libdir) \
$(DESTDIR)$(libdir)/pkgconfig \
$(DESTDIR)$(includedir)/freetype2/freetype/config \
$(DESTDIR)$(includedir)/freetype2/freetype/internal \
$(DESTDIR)$(includedir)/freetype2/freetype/cache \
@ -48,11 +49,14 @@ install: $(PROJECT_LIBRARY)
$(INSTALL_DATA) \
$$P $(DESTDIR)$(includedir)/freetype2/freetype/cache ; \
done
$(INSTALL_DATA) $(BUILD)/ft2unix.h $(DESTDIR)$(includedir)/ft2build.h
$(INSTALL_DATA) $(BUILD_DIR)/ft2unix.h \
$(DESTDIR)$(includedir)/ft2build.h
$(INSTALL_SCRIPT) -m 755 $(OBJ_BUILD)/freetype-config \
$(DESTDIR)$(bindir)/freetype-config
$(INSTALL_SCRIPT) -m 644 $(BUILD)/freetype2.m4 \
$(INSTALL_SCRIPT) -m 644 $(BUILD_DIR)/freetype2.m4 \
$(DESTDIR)$(datadir)/aclocal/freetype2.m4
$(INSTALL_SCRIPT) -m 644 $(OBJ_BUILD)/freetype2.pc \
$(DESTDIR)$(libdir)/pkgconfig/freetype2.pc
uninstall:
@ -69,6 +73,7 @@ uninstall:
-$(DELETE) $(DESTDIR)$(includedir)/ft2build.h
-$(DELETE) $(DESTDIR)$(bindir)/freetype-config
-$(DELETE) $(DESTDIR)$(datadir)/aclocal/freetype2.m4
-$(DELETE) $(DESTDIR)$(libdir)/pkgconfig/freetype2.pc
check:

View file

@ -2275,15 +2275,28 @@ compiler."
case $version_type in
none) ;;
darwin)
# Like Linux, but with the current version available in
# verstring for coding it into the library header
major=.`expr $current - $age`
versuffix="$major.$age.$revision"
# Darwin ld doesn't like 0 for these options...
minor_current=`expr $current + 1`
verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
;;
darwin* | rhapsody*)
case "$host_os" in
darwin1.[012])
# Like Linux, but with the current version available in
# verstring for coding it into the library header
major=.`expr $current - $age`
versuffix="$major.$age.$revision"
# Darwin ld doesn't like 0 for these options...
minor_current=`expr $current + 1`
verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
;;
*)
# Like Linux, but with the current version available in
# verstring for coding it into the library header
major=`expr $current - $age`
versuffix="$major.$age.$revision"
compatage=`expr $age - 1`
compatver="$major.$compatage.0"
verstring="-compatibility_version $compatver -current_version $versuffix"
;;
esac
;;
freebsd-aout)
major=".$current"

View file

@ -1,10 +1,22 @@
# template for Unix-specific compiler definitions
#
# FreeType 2 template for Unix-specific compiler definitions
#
CC := @CC@
# Copyright 1996-2000, 2002, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
# and distributed under the terms of the FreeType project license,
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
# indicate that you have read the license and understand and accept it
# fully.
CC := @CC@
COMPILER_SEP := $(SEP)
ifndef LIBTOOL
LIBTOOL := $(BUILD)/libtool
LIBTOOL := $(BUILD_DIR)/libtool
endif
@ -48,7 +60,7 @@ L := -l
# Target flag.
#
T := -o # Don't remove this comment line! We need the space after `-o'.
T := -o$(space)
# C flags
@ -58,7 +70,7 @@ T := -o # Don't remove this comment line! We need the space after `-o'.
# Use the ANSIFLAGS variable to define the compiler flags used to enfore
# ANSI compliance.
#
CFLAGS := -c @XX_CFLAGS@ @CFLAGS@
CFLAGS := -c @XX_CFLAGS@ @CPPFLAGS@ @CFLAGS@
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
#
@ -81,4 +93,5 @@ LINK_LIBRARY = $(LIBTOOL) --mode=link $(CCraw) -o $@ $(OBJECTS_LIST) \
-rpath $(libdir) -version-info $(version_info) \
$(LDFLAGS)
# EOF

View file

@ -18,16 +18,15 @@ ifndef TOP_DIR
endif
TOP_DIR := $(shell cd $(TOP_DIR); pwd)
DELETE := @RMF@
DELDIR := @RMDIR@
SEP := /
HOSTSEP := $(SEP)
BUILD := $(TOP_DIR)/builds/unix
PLATFORM := unix
DELETE := @RMF@
DELDIR := @RMDIR@
SEP := /
BUILD_DIR := $(TOP_DIR)/builds/unix
PLATFORM := unix
# this is used for `make distclean' and `make install'
ifndef OBJ_BUILD
OBJ_BUILD := $(BUILD)
OBJ_BUILD := $(BUILD_DIR)
endif
# don't use `:=' here since the path stuff will be included after this file
@ -38,7 +37,7 @@ INSTALL := @INSTALL@
INSTALL_DATA := @INSTALL_DATA@
INSTALL_PROGRAM := @INSTALL_PROGRAM@
INSTALL_SCRIPT := @INSTALL_SCRIPT@
MKINSTALLDIRS := $(BUILD)/mkinstalldirs
MKINSTALLDIRS := $(BUILD_DIR)/mkinstalldirs
DISTCLEAN += $(OBJ_BUILD)/config.cache \
$(OBJ_BUILD)/config.log \
@ -47,6 +46,7 @@ DISTCLEAN += $(OBJ_BUILD)/config.cache \
$(OBJ_BUILD)/unix-cc.mk \
$(OBJ_BUILD)/ftconfig.h \
$(OBJ_BUILD)/freetype-config \
$(OBJ_BUILD)/freetype2.pc \
$(LIBTOOL) \
$(OBJ_BUILD)/Makefile
@ -96,4 +96,5 @@ SYSTEM_ZLIB := @SYSTEM_ZLIB@
#
NO_OUTPUT := 2> /dev/null
# EOF

View file

@ -6,7 +6,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -17,9 +17,10 @@
include $(TOP_DIR)/builds/unix/unixddef.mk
BUILD := $(TOP_DIR)/builds/devel
BUILD_DIR := $(TOP_DIR)/devel
include $(TOP_DIR)/builds/compiler/gcc-dev.mk
include $(TOP_DIR)/builds/link_std.mk
# EOF

View file

@ -20,4 +20,5 @@ include $(TOP_DIR)/builds/unix/unixddef.mk
include $(TOP_DIR)/builds/compiler/unix-lcc.mk
include $(TOP_DIR)/builds/link_std.mk
# EOF

View file

@ -4,7 +4,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -19,12 +19,11 @@ ifndef TOP_DIR
endif
TOP_DIR := $(shell cd $(TOP_DIR); pwd)
DELETE := rm -f
SEP := /
HOSTSEP := $(SEP)
DELETE := rm -f
SEP := /
# we use a special devel ftoption.h
BUILD := $(TOP_DIR)/builds/devel
BUILD_DIR := $(TOP_DIR)/devel
# do not set the platform to `unix', or libtool will trick you
PLATFORM := unixdev
@ -50,7 +49,7 @@ LIBRARY := lib$(PROJECT)
LIB_DIR := $(OBJ_DIR)
#
NO_OUTPUT := 2> /dev/null
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -46,16 +46,102 @@ endif # test PLATFORM ansi
ifeq ($(PLATFORM),win32)
DELETE := del
COPY := copy
DELETE := del
COPY := copy
SEP := $(BACKSLASH)
# gcc Makefile by default
CONFIG_FILE := w32-gcc.mk
SEP := /
ifeq ($(firstword $(CC)),cc)
CC := gcc
endif
ifneq ($(findstring list,$(MAKECMDGOALS)),) # test for the "list" target
dump_target_list:
@echo
@echo ÿ
@echo $(PROJECT_TITLE) build system -- supported compilers
@echo ÿ
@echo Several command-line compilers are supported on Win32:
@echo ÿ
@echo ÿÿmake setupÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿgcc (with Mingw)
@echo ÿÿmake setup visualcÿÿÿÿÿÿÿÿÿÿÿÿÿMicrosoft Visual C++
@echo ÿÿmake setup bcc32ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿBorland C/C++
@echo ÿÿmake setup lccÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿWin32-LCC
@echo ÿÿmake setup intelcÿÿÿÿÿÿÿÿÿÿÿÿÿÿIntel C/C++
@echo ÿ
setup: dump_target_list
.PHONY: dump_target_list list
else
setup: dos_setup
endif
# additionally, we provide hooks for various other compilers
#
ifneq ($(findstring visualc,$(MAKECMDGOALS)),) # Visual C/C++
CONFIG_FILE := w32-vcc.mk
CC := cl
visualc: setup
.PHONY: visualc
endif
ifneq ($(findstring intelc,$(MAKECMDGOALS)),) # Intel C/C++
CONFIG_FILE := w32-intl.mk
CC := cl
visualc: setup
.PHONY: intelc
endif
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
CONFIG_FILE := w32-wat.mk
CC := wcc386
watcom: setup
.PHONY: watcom
endif
ifneq ($(findstring visualage,$(MAKECMDGOALS)),) # Visual Age C++
CONFIG_FILE := w32-icc.mk
CC := icc
visualage: setup
.PHONY: visualage
endif
ifneq ($(findstring lcc,$(MAKECMDGOALS)),) # LCC-Win32
CONFIG_FILE := w32-lcc.mk
CC := lcc
lcc: setup
.PHONY: lcc
endif
ifneq ($(findstring mingw32,$(MAKECMDGOALS)),) # mingw32
CONFIG_FILE := w32-mingw32.mk
CC := gcc
mingw32: setup
.PHONY: mingw32
endif
ifneq ($(findstring bcc32,$(MAKECMDGOALS)),) # Borland C++
CONFIG_FILE := w32-bcc.mk
CC := bcc32
bcc32: setup
.PHONY: bcc32
endif
ifneq ($(findstring devel-bcc,$(MAKECMDGOALS)),) # development target
CONFIG_FILE := w32-bccd.mk
CC := bcc32
devel-bcc: setup
.PHONY: devel-bcc
endif
ifneq ($(findstring devel-gcc,$(MAKECMDGOALS)),) # development target
CONFIG_FILE := w32-dev.mk
CC := gcc
devel-gcc: setup
.PHONY: devel-gcc
endif
endif # test PLATFORM win32
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -13,11 +13,11 @@
# fully.
SEP := /
include $(TOP_DIR)/builds/win32/win32-def.mk
include $(TOP_DIR)/builds/compiler/bcc.mk
# include linking instructions
include $(TOP_DIR)/builds/link_dos.mk
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -13,14 +13,13 @@
# fully.
SEP := /
include $(TOP_DIR)/builds/win32/win32-def.mk
BUILD := $(TOP_DIR)/builds/devel
BUILD_DIR := $(TOP_DIR)/devel
include $(TOP_DIR)/builds/compiler/bcc-dev.mk
# include linking instructions
include $(TOP_DIR)/builds/link_dos.mk
# EOF

View file

@ -5,7 +5,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -23,10 +23,8 @@ ifndef TOP_DIR
TOP_DIR := .
endif
SEP := /
include $(TOP_DIR)/builds/win32/win32-def.mk
BUILD := $(TOP_DIR)/builds/devel
BUILD_DIR := $(TOP_DIR)/devel
include $(TOP_DIR)/builds/compiler/gcc-dev.mk
@ -34,5 +32,4 @@ include $(TOP_DIR)/builds/compiler/gcc-dev.mk
include $(TOP_DIR)/builds/link_dos.mk
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -13,10 +13,6 @@
# fully.
# the separator must be set before including win32-def
# as it defaults to "\" on Win32
SEP := /
# include Win32-specific definitions
include $(TOP_DIR)/builds/win32/win32-def.mk
@ -26,4 +22,5 @@ include $(TOP_DIR)/builds/compiler/gcc.mk
# include linking instructions
include $(TOP_DIR)/builds/link_dos.mk
# EOF

View file

@ -19,4 +19,5 @@ include $(TOP_DIR)/builds/compiler/visualage.mk
# include linking instructions
include $(TOP_DIR)/builds/link_dos.mk
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -13,11 +13,11 @@
# fully.
SEP := /
include $(TOP_DIR)/builds/win32/win32-def.mk
include $(TOP_DIR)/builds/compiler/intelc.mk
# include linking instructions
include $(TOP_DIR)/builds/link_dos.mk
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -13,10 +13,6 @@
# fully.
# the separator must be set before including win32-def
# as it defaults to "\" on Win32
SEP := /
# include Win32-specific definitions
include $(TOP_DIR)/builds/win32/win32-def.mk
@ -28,4 +24,5 @@ include $(TOP_DIR)/builds/compiler/gcc.mk
# include linking instructions
include $(TOP_DIR)/builds/link_dos.mk
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -13,11 +13,11 @@
# fully.
SEP := /
include $(TOP_DIR)/builds/win32/win32-def.mk
include $(TOP_DIR)/builds/compiler/visualc.mk
# include linking instructions
include $(TOP_DIR)/builds/link_dos.mk
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -13,14 +13,11 @@
# fully.
SEP := /
ISEP := $(strip \ )
include $(TOP_DIR)/builds/win32/win32-def.mk
include $(TOP_DIR)/builds/compiler/watcom.mk
# include linking instructions
include $(TOP_DIR)/builds/link_dos.mk
# EOF
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -13,17 +13,10 @@
# fully.
DELETE := del
HOSTSEP := $(strip \ )
BUILD := $(TOP_DIR)$(SEP)builds$(SEP)win32
PLATFORM := win32
# by default, we use "\" as a separator on Win32
# but certain compilers accept "/" as well
#
ifndef SEP
SEP := $(HOSTSEP)
endif
DELETE := del
SEP := $(strip \ )
BUILD_DIR := $(TOP_DIR)/builds/win32
PLATFORM := win32
# The directory where all object files are placed.
@ -36,7 +29,7 @@ endif
# make -f %TOP_DIR%/Makefile
#
ifndef OBJ_DIR
OBJ_DIR := $(TOP_DIR)$(SEP)objs
OBJ_DIR := $(TOP_DIR)/objs
endif
@ -58,4 +51,5 @@ LIBRARY := $(PROJECT)
#
NO_OUTPUT = 2> nul
# EOF

View file

@ -3,7 +3,7 @@
#
# Copyright 1996-2000 by
# Copyright 1996-2000, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@ -13,10 +13,6 @@
# fully.
# the separator must be set before including win32-def
# as it defaults to "\" on Win32
SEP := /
# include Win32-specific definitions
include $(TOP_DIR)/builds/win32/win32-def.mk
@ -28,4 +24,5 @@ include $(TOP_DIR)/builds/compiler/gcc.mk
# include linking instructions
include $(TOP_DIR)/builds/link_dos.mk
# EOF

View file

@ -46,11 +46,13 @@ abs_ft2_dir=`cd "$ft2_dir" && pwd`
# build a dummy Makefile if we are not building in the source tree
if test "$abs_curr_dir" != "$abs_ft2_dir"; then
echo "OBJ_DIR=$abs_curr_dir" > Makefile
echo "TOP_DIR=$abs_ft2_dir" >> Makefile
echo "OBJ_BUILD=$abs_curr_dir" >> Makefile
echo "LIBTOOL=$abs_curr_dir/libtool" >> Makefile
echo "include $abs_ft2_dir/Makefile" >> Makefile
mkdir reference
echo "TOP_DIR=$abs_ft2_dir" > Makefile
echo "OBJ_DIR=$abs_curr_dir" >> Makefile
echo "OBJ_BUILD=$abs_curr_dir" >> Makefile
echo "DOC_DIR=$abs_curr_dir/reference" >> Makefile
echo "LIBTOOL=$abs_curr_dir/libtool" >> Makefile
echo "include $abs_ft2_dir/Makefile" >> Makefile
fi
# call make

View file

@ -1,73 +0,0 @@
#
# FreeType 2 build system -- top-level Makefile for OpenVMS
#
# Copyright 2001 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
# and distributed under the terms of the FreeType project license,
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
# indicate that you have read the license and understand and accept it
# fully.
all :
define freetype [--.include.freetype]
define psaux [-.psaux]
define autohint [-.autohint]
define base [-.base]
define cache [-.cache]
define cff [-.cff]
define cid [-.cid]
define pcf [-.pcf]
define psnames [-.psnames]
define raster [-.raster]
define sfnt [-.sfnt]
define smooth [-.smooth]
define truetype [-.truetype]
define type1 [-.type1]
define winfonts [-.winfonts]
if f$search("lib.dir") .eqs. "" then create/directory [.lib]
set default [.builds.vms]
$(MMS)$(MMSQUALIFIERS)
set default [--.src.autohint]
$(MMS)$(MMSQUALIFIERS)
set default [-.base]
$(MMS)$(MMSQUALIFIERS)
set default [-.bdf]
$(MMS)$(MMSQUALIFIERS)
set default [-.cache]
$(MMS)$(MMSQUALIFIERS)
set default [-.cff]
$(MMS)$(MMSQUALIFIERS)
set default [-.cid]
$(MMS)$(MMSQUALIFIERS)
set default [-.pcf]
$(MMS)$(MMSQUALIFIERS)
set default [-.pfr]
$(MMS)$(MMSQUALIFIERS)
set default [-.psaux]
$(MMS)$(MMSQUALIFIERS)
set default [-.pshinter]
$(MMS)$(MMSQUALIFIERS)
set default [-.psnames]
$(MMS)$(MMSQUALIFIERS)
set default [-.raster]
$(MMS)$(MMSQUALIFIERS)
set default [-.sfnt]
$(MMS)$(MMSQUALIFIERS)
set default [-.smooth]
$(MMS)$(MMSQUALIFIERS)
set default [-.truetype]
$(MMS)$(MMSQUALIFIERS)
set default [-.type1]
$(MMS)$(MMSQUALIFIERS)
set default [-.type42]
$(MMS)$(MMSQUALIFIERS)
set default [-.winfonts]
$(MMS)$(MMSQUALIFIERS)
set default [--]
# EOF

View file

@ -5,7 +5,7 @@
/* FreeType 2 build and setup macros. */
/* (Generic version) */
/* */
/* Copyright 1996-2001 by */
/* Copyright 1996-2001, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -18,14 +18,14 @@
/*
* this is a development version of <ft2build.h> that is used
* to build the library in debug mode. Its only difference with
* the reference is that is forces the use of the local "ftoption.h"
* which contains different settings for all configuration macros
* This is a development version of <ft2build.h> that is used
* to build the library in debug mode. Its only difference with
* the reference is that it forces the use of the local "ftoption.h"
* which contains different settings for all configuration macros.
*
* to use it, you must define the environment variable FT2_BUILD_INCLUDE
* To use it, you must define the environment variable FT2_BUILD_INCLUDE
* to point to the directory containing these two files ("ft2build.h" and
* "ftoption.h"), then invoke Jam as usual
* "ftoption.h"), then invoke Jam as usual.
*/
#ifndef __FT2_BUILD_GENERIC_H__

View file

@ -4,7 +4,7 @@
/* */
/* User-selectable configuration macros (specification only). */
/* */
/* Copyright 1996-2001, 2002 by */
/* Copyright 1996-2001, 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -22,11 +22,6 @@
#include <ft2build.h>
/*
* this is a special developer version of "ftoption.h", it is used
* to define all debugging options, as well as the TrueType bytecode
* interpreter
*/
FT_BEGIN_HEADER
@ -86,16 +81,16 @@ FT_BEGIN_HEADER
/* by FreeType to speed up some computations. However, this will create */
/* some problems when compiling the library in strict ANSI mode. */
/* */
/* For this reason, the use of 64-bit ints is normally disabled when */
/* For this reason, the use of 64-bit integers is normally disabled when */
/* the __STDC__ macro is defined. You can however disable this by */
/* defining here the macro FT_CONFIG_OPTION_FORCE_INT64. */
/* defining the macro FT_CONFIG_OPTION_FORCE_INT64 here. */
/* */
/* For most compilers, this will only create compilation warnings */
/* when building the library. */
/* For most compilers, this will only create compilation warnings when */
/* building the library. */
/* */
/* ObNote: The compiler-specific 64-bit integers are detected in the */
/* file "ftconfig.h" either statically, or through Autoconf */
/* on platforms that support it. */
/* file "ftconfig.h" either statically or through the */
/* `configure' script on supported platforms. */
/* */
#undef FT_CONFIG_OPTION_FORCE_INT64
@ -105,11 +100,11 @@ FT_BEGIN_HEADER
/* Gzip-compressed file support. */
/* */
/* FreeType now handles font files that have been compressed with the */
/* 'gzip' program. This is mostly used to parse many of the PCF files */
/* that come with XFree86. The implementation uses 'zlib' to */
/* 'gzip' program. This is mostly used to parse many of the PCF files */
/* that come with XFree86. The implementation uses `zlib' to */
/* partially uncompress the file on the fly (see src/base/ftgzip.c). */
/* */
/* Define this macro if you want to enable this "feature". Note that */
/* Define this macro if you want to enable this "feature". Note that */
/* this will however force you to link the zlib to any program that */
/* also uses FreeType. */
/* */
@ -122,17 +117,17 @@ FT_BEGIN_HEADER
/* */
/* This macro is only used when FT_CONFIG_OPTION_USE_ZLIB is defined. */
/* It allows FreeType's "ftgzip" component to link to the system's */
/* installation of the ZLib library. This is useful on systems like */
/* installation of the ZLib library. This is useful on systems like */
/* Unix or VMS where it generally is already available. */
/* */
/* If you let it undefined, the component will use its own copy */
/* of the zlib sources instead. These have been modified to be */
/* of the zlib sources instead. These have been modified to be */
/* included directly within the component and *not* export external */
/* function names. This allows you to link any program with FreeType */
/* function names. This allows you to link any program with FreeType */
/* _and_ ZLib without linking conflicts. */
/* */
/* do not #undef this macro here, since the build system might */
/* define for certain configurations */
/* Do not #undef this macro here since the build system might define */
/* it for certain configurations only. */
/* */
/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */
@ -172,6 +167,9 @@ FT_BEGIN_HEADER
/* will be later automatically defined as `extern return_type' to */
/* allow normal compilation. */
/* */
/* Do not #undef these macros here since the build system might define */
/* them for certain configurations only. */
/* */
/* #define FT_EXPORT(x) extern x */
/* #define FT_EXPORT_DEF(x) x */
@ -219,6 +217,19 @@ FT_BEGIN_HEADER
#define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
/*************************************************************************/
/* */
/* Support for Mac fonts */
/* */
/* Define this macro if you want support for outline fonts in Mac */
/* format (mac dfont, mac resource, macbinary containing a mac */
/* resource) on non-Mac platforms. */
/* */
/* Note that the `FOND' resource isn't checked. */
/* */
#define FT_CONFIG_OPTION_MAC_FONTS
/*************************************************************************/
/* */
/* Allow the use of FT_Incremental_Interface to load typefaces that */
@ -226,7 +237,7 @@ FT_BEGIN_HEADER
/* This allows FreeType to be used with the PostScript language, using */
/* the GhostScript interpreter. */
/* */
/* #define FT_CONFIG_OPTION_INCREMENTAL */
/* #define FT_CONFIG_OPTION_INCREMENTAL */
/*************************************************************************/
@ -234,7 +245,7 @@ FT_BEGIN_HEADER
/* The size in bytes of the render pool used by the scan-line converter */
/* to do all of its work. */
/* */
/* This must be greater than 4kByte. */
/* This must be greater than 4KByte. */
/* */
#define FT_RENDER_POOL_SIZE 16384L
@ -263,8 +274,11 @@ FT_BEGIN_HEADER
/* */
/* Don't define any of these macros to compile in `release' mode! */
/* */
#define FT_DEBUG_LEVEL_ERROR
#define FT_DEBUG_LEVEL_TRACE
/* Do not #undef these macros here since the build system might define */
/* them for certain configurations only. */
/* */
#define FT_DEBUG_LEVEL_ERROR
#define FT_DEBUG_LEVEL_TRACE
/*************************************************************************/
@ -277,10 +291,12 @@ FT_BEGIN_HEADER
/* should define FT_DEBUG_MEMORY here. */
/* */
/* Note that the memory debugger is only activated at runtime when */
/* when the _environment_ variable "FT_DEBUG_MEMORY" is also defined! */
/* when the _environment_ variable "FT2_DEBUG_MEMORY" is defined also! */
/* */
#define FT_DEBUG_MEMORY
/* Do not #undef this macro here since the build system might define */
/* it for certain configurations only. */
/* */
/* #define FT_DEBUG_MEMORY */
/*************************************************************************/
@ -380,10 +396,22 @@ FT_BEGIN_HEADER
/* By undefining this, you will only compile the code necessary to load */
/* TrueType glyphs without hinting. */
/* */
/* do not #undef this macro here, since the build system might */
/* define for certain configurations */
/* Do not #undef this macro here, since the build system might */
/* define it for certain configurations only. */
/* */
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
/*************************************************************************/
/* */
/* Define TT_CONFIG_OPTION_UNPATENTED_HINTING (in addition to */
/* TT_CONFIG_OPTION_BYTECODE_INTERPRETER) to compile the unpatented */
/* work-around hinting system. Note that for the moment, the algorithm */
/* is only used when selected at runtime through the parameter tag */
/* FT_PARAM_TAG_UNPATENTED_HINTING; or when the debug hook */
/* FT_DEBUG_HOOK_UNPATENTED_HINTING is globally actived */
/* */
#define TT_CONFIG_OPTION_UNPATENTED_HINTING
/*************************************************************************/
@ -475,21 +503,21 @@ FT_BEGIN_HEADER
/* */
/*
* the FT_CONFIG_OPTION_CHESTER_XXXX macros are used to toggle some recent
* improvements to the auto-hinter contributed by David Chester. They will
* most likely disappear completely in the next release. For now, you should
* always keep them defined
* The FT_CONFIG_OPTION_CHESTER_XXXX macros are used to toggle some recent
* improvements to the auto-hinter contributed by David Chester. They will
* most likely disappear completely in the next release. For now, you
* should always keep them defined.
*
*/
#define FT_CONFIG_OPTION_CHESTER_HINTS
#ifdef FT_CONFIG_OPTION_CHESTER_HINTS
# define FT_CONFIG_CHESTER_SMALL_F
# define FT_CONFIG_CHESTER_ASCENDER
# define FT_CONFIG_CHESTER_SERIF
# define FT_CONFIG_CHESTER_STEM
# define FT_CONFIG_CHESTER_BLUE_SCALE
#define FT_CONFIG_CHESTER_SMALL_F
#define FT_CONFIG_CHESTER_ASCENDER
#define FT_CONFIG_CHESTER_SERIF
#define FT_CONFIG_CHESTER_STEM
#define FT_CONFIG_CHESTER_BLUE_SCALE
#endif /* FT_CONFIG_OPTION_CHESTER_HINTS */

View file

@ -1,86 +1,196 @@
LATEST CHANGES BETWEEN 2.1.5 and 2.1.4
I. IMPORTANT BUG FIXES
- Parsing the /CIDFontName field now removes the leading slash to
be in sync with other font drivers.
- gzip support was buggy. Some fonts could not be read.
- Fonts which have nested subglyphs more than one level deep no
longer cause a segfault.
- Creation of synthetic cmaps for fonts in CFF format was broken
partially.
- Numeric font dictionary entries for synthetic fonts are no longer
overwritten.
- The font matrix wasn't applied to the advance width for Type1, CID,
and CFF fonts. This caused problem when loading certain synthetic
Type 1 fonts like "Helvetica Narrow"
- The test for the charset registry in BDF and PCF fonts is now
case-insensitive.
- FT_Vector_Rotate rotating sometimes returned strange values due to
rounding errors.
- The PCF driver now returns the correct number of glyphs (including
an artificial `notdef' glyph at index 0).
- FreeType now supports buggy CMaps which are contained in many CJK
fonts from Dynalab.
- Opening an invalid font on a Mac caused a segfault due to
double-freeing memory.
- BDF fonts with more than 32768 glyphs weren't supported properly.
II. IMPORTANT CHANGES
- Accessing bitmap font formats has been synchronized. To do that
the FT_Bitmap_Size structure has been extended to contain new
fields `size', `x_ppem', and `y_ppem'.
- The FNT driver now returns multiple faces, not multiple strikes.
- The `psnames' module has been updated to the Adobe Glyph List
version 2.0.
- The `psnames' module now understands `uXXXX[X[X]]' glyph names.
- The algorithm for guessing the font style has been improved.
- For fonts in sfnt format, root->height is no longer increased if
the line gap is zero. There exist fonts (containing e.g. form
drawing characters) which intentionally have a zero line gap value.
- ft_glyph_bbox_xxx flags are now deprecated in favour of
FT_GLYPH_BBOX_XXX.
- ft_module_xxx flags are now deprecated in favour of FT_MODULE_XXX.
- FT_ENCODING_MS_{SJIS,GB2312,BIG5,WANSUNG,JOHAB} are now deprecated
in favour of FT_ENCODING_{SJIS,GB2312,GIB5,WANSONG,JOHAB} -- those
encodings are not specific to Microsoft.
III. MISCELLANEOUS
- The autohinter has been further improved; for example, `m' glyphs
now retain its vertical symmetry.
- Partial support of Mac fonts on non-Mac platforms.
- `make refdoc' (after first `make') builds the HTML documentation.
You need Python for this.
- The make build system should now work more reliably on DOS-like
platforms.
- Support for EMX gcc and Watson C/C++ compilers on MS-DOS has been
added.
- Better VMS build support.
- Support for the pkg-config package by providing a `freetype.pc'
file.
- New configure option --with-old-mac-fonts for Darwin.
- Some source files have been renamed (mainly to fit into the 8.3
naming scheme).
==============================================================================
LATEST CHANGES BETWEEN 2.1.4 and 2.1.3
I. IMPORTANT BUG FIXES
- updated to newest libtool version, fixes build problems on various
- Updated to newest libtool version, fixing build problems on various
platforms.
- a fix in the Gzip stream reader, it couldn't read certain .gz files
properly due to a small typo. In certain cases, FreeType could also
- A fix in the Gzip stream reader: It couldn't read certain .gz files
properly due to a small typo. In certain cases, FreeType could also
loop endlessly when trying to load tiny gzipped files.
- the configure script now tries to use the system-wide zlib when
it finds one (instead of the copy found in src/gzip). And
- The configure script now tries to use the system-wide zlib when
it finds one (instead of the copy found in src/gzip). And
"freetype-config" has been updated to return relevant flags in this
case when invoked with "--libs" (e.g. "-lzlib")
case when invoked with "--libs" (e.g. "-lzlib").
- certain fonts couldn't be loaded by 2.1.3 because they lacked a
Unicode charmap (e.g. SYMBOL.TTF). FreeType erroneously rejected
- Certain fonts couldn't be loaded by 2.1.3 because they lacked a
Unicode charmap (e.g. SYMBOL.TTF). FreeType erroneously rejected
them.
- the CFF loader was modified to accept fonts which only
contain a subset of their reference charset. This prevented the
correct use of PDF-embedded fonts.
- The CFF loader was modified to accept fonts which only contain a
subset of their reference charset. This prevented the correct use
of PDF-embedded fonts.
- the logic to detect Unicode charmaps has been modified. this is required
to support fonts which include both 16-bit and 32-bit charmaps (like
very recent asian ones) using the new 10 and 12 SFNT formats.
- The logic to detect Unicode charmaps has been modified. This is
required to support fonts which include both 16-bit and 32-bit
charmaps (like very recent asian ones) using the new 10 and 12 SFNT
formats.
- the TrueType loader now limits the depth of composite glyphs. This is
- The TrueType loader now limits the depth of composite glyphs. This is
necessary to prevent broken fonts to break the engine by blowing the
stack with recursive glyph definitions.
- the CMap cache is now capable of managing UCS-4 character codes that
are mapped through extended charmaps in recent TrueType/OpenType fonts
- The CMap cache is now capable of managing UCS-4 character codes that
are mapped through extended charmaps in recent TrueType/OpenType
fonts.
- the cache sub-system now properly manages out-of-memory conditions,
instead of blindly reporting them to the caller. This means that it
- The cache sub-system now properly manages out-of-memory conditions
instead of blindly reporting them to the caller. This means that it
will try to empty the cache before restarting its allocations to see
if that can help.
- the PFR driver didn't return the list of available embedded bitmaps
- The PFR driver didn't return the list of available embedded bitmaps
properly.
- There was a nasty memory leak when using embedded bitmaps in certain
font formats.
II. IMPORTANT CHANGES
- David Chester contributed some enhancements to the auto-hinter that
significantly increase the quality of its output. The Postscript hinter
was also improved in several ways..
significantly increase the quality of its output. The Postscript
hinter was also improved in several ways.
- the FT_RENDER_MODE_LIGHT render mode was implemented
- The FT_RENDER_MODE_LIGHT render mode was implemented.
- a new API, called FT_Get_BDF_Property has been added to FT_BDF_H to
retrieve BDF properties from BDF _and_ PCF font files. THIS IS STILL
EXPERIMENTAL, since it hasn't been properly tested yet.
- A new API function called `FT_Get_BDF_Property' has been added to
FT_BDF_H to retrieve BDF properties from BDF _and_ PCF font files.
THIS IS STILL EXPERIMENTAL, since it hasn't been properly tested yet.
- a Windows FNT specific API has been added, mostly to access font
headers. This is used by Wine
- A Windows FNT specific API has been added, mostly to access font
headers. This is used by Wine.
- TrueType tables without a "hmtx" table are now tolerated when an
incremental interface is used. This happens for certain Type42 fonts
- TrueType tables without an "hmtx" table are now tolerated when an
incremental interface is used. This happens for certain Type42 fonts
passed from Ghostscript to FreeType.
- the PFR font driver is now capable of returning the font family and
style names when they're available (instead of the sole "FontID"). This
is performed by parsing an *undocumented* portion of the font file !!
- The PFR font driver is now capable of returning the font family and
style names when they are available (instead of the sole "FontID").
This is performed by parsing an *undocumented* portion of the font
file!
III. MISCELLANEOUS
- the path stroker in FT_STROKER_H has entered beta stage. It now works
very well, but it's interface might change a bit in the future. More
on this in later releases
- The path stroker in FT_STROKER_H has entered beta stage. It now works
very well, but its interface might change a bit in the future. More
on this in later releases.
- the documentation for FT_Size_Metrics didn't appear properly in the
API reference
- The documentation for FT_Size_Metrics didn't appear properly in the
API reference.
- the file docs/VERSION.DLL has been updated to explain versioning
with FreeType (i.e. comparing release/libtool/so numbers, and how
to use them in Autoconf scripts)
- The file docs/VERSION.DLL has been updated to explain versioning
with FreeType (i.e., comparing release/libtool/so numbers, and how to
use them in autoconf scripts).
- The installation documentation has been seriously revamped.
Everything is now in the "docs" directory.
- the installation documentation has been seriously revamped. Everything
is now in the "docs" directory.
==============================================================================
LATEST CHANGES BETWEEN 2.1.3 and 2.1.2
I. IMPORTANT BUG FIXES
@ -111,17 +221,19 @@ LATEST CHANGES BETWEEN 2.1.3 and 2.1.2
precisely, when trying to apply hints to an empty glyph outline).
- The TrueType glyph loader now supports composites in "Apple format"
(they differ slightly from Microsoft/OpenType ones in the way transform
offsets are computed).
(they differ slightly from Microsoft/OpenType ones in the way
transformation offsets are computed).
- FreeType was very slow at opening certain asian CID/CFF fonts, due
to fixed increment in dynamic array re-allocations. This has been
changed to exponential behaviour to get acceptable performance
to fixed increment in dynamic array re-allocations. This has been
changed to exponential behaviour to get acceptable performance.
II. IMPORTANT CHANGES
- the PCF driver now supports gzip-compressed font files natively. This
means that you'll be able to use all these bitmap fonts that come
- The PCF driver now supports gzip-compressed font files natively. This
means that you will be able to use all these bitmap fonts that come
with XFree86 with FreeType (and libXft/libXft2, by extension).
- The automatic and postscript hinters have both been updated. This
@ -160,10 +272,10 @@ LATEST CHANGES BETWEEN 2.1.3 and 2.1.2
Note that the 'ftview' demo program available in the 'ft2demos' package
has been updated to support LCD-optimized display on non-paletted
displays (under Win32 and X11)
displays (under Win32 and X11).
- The PFR driver now supports embedded bitmaps (all formats supported),
and returns correct kerning metrics for all glyphs
and returns correct kerning metrics for all glyphs.
- The TrueType charmap loader now supports certain "broken" fonts that
load under Windows without problems.
@ -184,9 +296,10 @@ LATEST CHANGES BETWEEN 2.1.3 and 2.1.2
- Added support for the DESTDIR variable during "make install". This
simplifies packaging of FreeType.
- included modified copies of the ZLib sources in 'src/gzip' in order
to support gzip-compressed PCF fonts. We do not use the system-provided
zlib for now, though this is a probable enhancement for future releases
- Included modified copies of the ZLib sources in 'src/gzip' in order to
support gzip-compressed PCF fonts. We do not use the system-provided
zlib for now, though this is a probable enhancement for future
releases.
- The DocMaker tool used to generate the on-line API reference has been
completely rewritten. It is now located in

View file

@ -1,79 +1,85 @@
How to customize the compilation of the library:
================================================
FreeType is highly customizable to fit various needs, and this document
details how it is possible to select options and components at compilation
time.
FreeType is highly customizable to fit various needs, and this
document describes how it is possible to select options and components
at compilation time.
I. Configuration macros:
I. Configuration macros
the file found in "include/freetype/config/ftoption.h" contains a list
The file found in "include/freetype/config/ftoption.h" contains a list
of commented configuration macros that can be toggled by developers to
indicate which features to activate in their build of the library.
indicate which features should be active while building the library.
these options range from debug level to availability of certain
These options range from debug level to availability of certain
features, like native TrueType hinting through a bytecode interpreter.
we invite you to read this file for more information. You can change
the file's content to suit your needs, or override it with one of the
techniques described below..
We invite you to read this file for more information. You can change
the file's content to suit your needs, or override it with one of the
techniques described below.
II. Modules list:
II. Modules list
the file found in "include/freetype/config/ftmodule.h" contains a list
of names corresponding to the modules / font drivers to be statically
compiled in the FreeType library during the build.
The file found in "include/freetype/config/ftmodule.h" contains a list
of names corresponding to the modules and font drivers to be
statically compiled in the FreeType library during the build.
you can change it to suit your own preferences. Be aware that certain
modules depend on others, as described by the file "modules.txt" in
You can change it to suit your own preferences. Be aware that certain
modules depend on others, as described by the file "modules.txt" in
this directory.
you can modify the file's content to suit your needs, or override it
at compile time with one of the methods described below
You can modify the file's content to suit your needs, or override it
at compile time with one of the methods described below.
III. System interface:
III. System interface
FreeType's default interface to the system (i.e. the parts that deal with
memory management and i/o streams) is located in "src/base/ftsystem.c".
FreeType's default interface to the system (i.e., the parts that deal
with memory management and i/o streams) is located in
"src/base/ftsystem.c".
the current implementation uses standard C library calls to manage
memory and read font files. It is however possible to write custom
The current implementation uses standard C library calls to manage
memory and to read font files. It is however possible to write custom
implementations to suit specific systems.
to tell the GNU Make-based build system to use a custom system interface,
you'll need to define the environment variable FTSYS_SRC to point to
the relevant implementation, like in:
To tell the GNU Make-based build system to use a custom system
interface, you have to define the environment variable FTSYS_SRC to
point to the relevant implementation:
on Unix:
./configure <youroptions>
export FTSYS_SRC=foo/my_ftsystem.c
make
make install
on Unix:
./configure <your options>
export FTSYS_SRC=foo/my_ftsystem.c
make
make install
on Windows:
make setup <compiler>
set FTSYS_SRC=foo/my_ftsystem.c
make
on Windows:
make setup <compiler>
set FTSYS_SRC=foo/my_ftsystem.c
make
IV. Overriding default configuration and module headers:
IV. Overriding default configuration and module headers
it is possible to over-ride the default configuration and module headers
without changing the original files. There are two ways to do that:
It is possible to override the default configuration and module
headers without changing the original files. There are two ways to do
that:
1. Using the C include path:
1. Using the C include path
use the C include path to ensure that your own versions of the
files are used at compile time when the lines:
Use the C include path to ensure that your own versions of the files
are used at compile time when the lines
#include FT_CONFIG_OPTIONS_H
#include FT_CONFIG_MODULES_H
are compiled. Their default values being <freetype/config/ftoption.h>
and <freetype/config/ftmodule.h>, you can do something like:
are compiled. Their default values being
<freetype/config/ftoption.h> and <freetype/config/ftmodule.h>, you
can do something like:
custom/
freetype/
@ -82,36 +88,38 @@ IV. Overriding default configuration and module headers:
ftmodule.h => custom modules list
include/ => normal FreeType 2 include
freetype/
...
freetype/
...
then change the C include path to always give the path to "custom"
before the FreeType 2 "include"
then change the C include path to always give the path to "custom"
before the FreeType 2 "include".
2. Re-defining FT_CONFIG_OPTIONS_H and FT_CONFIG_MODULES_H
another way to do the same thing is to re-define the macros used
to name the configuration headers. To do so, you'll need a custom
"ft2build.h", whose content can be as simple as:
Another way to do the same thing is to redefine the macros used to
name the configuration headers. To do so, you need a custom
"ft2build.h" whose content can be as simple as:
#ifndef __FT2_BUILD_GENERIC_H__
#define __FT2_BUILD_GENERIC_H__
#ifndef __FT2_BUILD_GENERIC_H__
#define __FT2_BUILD_GENERIC_H__
#define FT_CONFIG_OPTIONS_H <custom/my-ftoption.h>
#define FT_CONFIG_MACROS_H <custom/my-ftmodule.h>
#define FT_CONFIG_OPTIONS_H <custom/my-ftoption.h>
#define FT_CONFIG_MACROS_H <custom/my-ftmodule.h>
#include <freetype/config/ftheader.h>
#include <freetype/config/ftheader.h>
#endif /* __FT2_BUILD_GENERIC_H__ */
#endif /* __FT2_BUILD_GENERIC_H__ */
place them in:
Place those files in a separate directory, e.g.:
custom/
ft2build.h => custom version described above
my-ftoption.h => custom options header
my-ftmodule.h => custom modules list header
custom/
ft2build.h => custom version described above
my-ftoption.h => custom options header
my-ftmodule.h => custom modules list header
and change the C include path to ensure that "custom" is always placed
before the FT2 "include" during compilation.
and change the C include path to ensure that "custom" is always
placed before the FT2 "include" during compilation.
--- end of CUSTOMIZE ---

View file

@ -1,5 +1,5 @@
Debugging within the FreeType sources:
======================================
Debugging within the FreeType sources
=====================================
I. Configuration macros
-----------------------
@ -12,15 +12,15 @@ located in the file "ftoptions.h". The macros are:
FT_DEBUG_LEVEL_ERROR
#define this macro if you want to compile the FT_ERROR macro calls
used to print error messages during program execution. This will
not stop the program, but is very useful to spot invalid fonts
during development and code workarounds for them.
to print error messages during program execution. This will not
stop the program. Very useful to spot invalid fonts during
development and to code workarounds for them.
FT_DEBUG_LEVEL_TRACE
#define this macro if you want to compile both the FT_ERROR macro
and the FT_TRACE one. This also includes the variants FT_TRACE0,
FT_TRACE1, FT_TRACE2, ..., FT_TRACE6.
#define this macro if you want to compile both macros FT_ERROR and
FT_TRACE. This also includes the variants FT_TRACE0, FT_TRACE1,
FT_TRACE2, ..., FT_TRACE6.
The trace macros are used to send debugging messages when an
appropriate "debug level" is configured at runtime through the
@ -28,21 +28,21 @@ located in the file "ftoptions.h". The macros are:
FT_DEBUG_MEMORY
If this macro is #defined, the FreeType engines is linked with a
If this macro is #defined, the FreeType engine is linked with a
small but effective debugging memory manager that tracks all
allocations and frees that are performed within the font engine.
When the FT2_DEBUG_MEMORY environment variable is defined at
runtime, a call to FT_Done_FreeType will dump memory statistics,
including the list of leaked memory blocks with the source locations
where these were allocated. It's always a very good idea to define
where these were allocated. It is always a very good idea to define
this in development builds. This works with _any_ program linked to
FreeType, but requires a big deal of memory (the debugging memory
manager never frees the blocks to the heap in order to detect double
frees).
When FT2_DEBUG_MEMORY isn't defined at runtime, the debugging memory
manager is ignored, and performance is un-affected.
manager is ignored, and performance is unaffected.
II. Debugging macros
@ -59,7 +59,7 @@ its code:
either FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined in
"ftoption.h".
Note that you must use with a printf-like signature, but with double
Note that you have to use a printf-like signature, but with double
parentheses, like in:
FT_ERROR(( "your %s is not %s\n", "foo", "bar" ));
@ -93,9 +93,9 @@ its code:
trace_XXXX where XXXX is one of the component names defined in the
internal file <freetype/internal/fttrace.h>.
Each such component is assigned a "debug level", ranging from 0 to 6
when a program linked with FreeType starts, through the use of the
FT2_DEBUG environment variable, described later.
Each such component is assigned a "debug level", ranging from 0
to 6, through the use of the FT2_DEBUG environment variable
(described below) when a program linked with FreeType starts.
When FT_TRACE is called, its level is compared to the one of the
corresponding component. Messages with trace levels *higher* than
@ -106,7 +106,7 @@ its code:
least* 2.
The second parameter to FT_TRACE must contain parentheses and
correspond to a print-like call, as in:
correspond to a printf-like call, as in:
FT_TRACE( 2, ( "your %s is not %s\n", "foo", "bar" ) )
@ -123,7 +123,6 @@ III. Environment variables
The following environment variables control debugging output and
behaviour of FreeType at runtime:
FT2_DEBUG
This variable is only used when FreeType is built with
@ -133,51 +132,52 @@ behaviour of FreeType at runtime:
component1:level1 component2:level2 component3:level3 ...
where "componentX" is the name of a tracing component, as defined in
"fttrace.h", but without the "trace_" prefix, and "levelX" is the
"fttrace.h", but without the "trace_" prefix. "levelX" is the
corresponding level to use at runtime.
"any" is a special component name that will be interpreted as
"any/all components". For example, the following definitions
set FT2_DEBUG=any:2 memory:5 io:4 (on Windows)
export FT2_DEBUG="any:2 memory:5 io:4" (on Linux)
export FT2_DEBUG="any:2 memory:5 io:4" (on Linux with bash)
both stipulate that all components should have level 2, except for
the memory and io components which will be set to trace levels 5 and
4 respectively.
the memory and io components which will be set to trace levels 5
and 4, respectively.
FT2_DEBUG_MEMORY
This environment variable, when defined, tells FreeType to use a
debugging memory manager that will track leaked memory blocks as
debugging memory manager that will track leaking memory blocks as
well as other common errors like double frees. It is also capable
of reporting _where_ the leaked blocks were allocated, which
of reporting _where_ the leaking blocks were allocated, which
considerably saves time when debugging new additions to the library.
This code is only compiled when FreeType is built with the
FT_DEBUG_MEMORY macro #defined in "ftoption.h" though, it will be
ignored in other builds.
FT2_ALLOC_TOTAL_MAX
this variable is ignored if FT2_DEBUG_MEMORY is not defined. It allows
you to specify a maximum heap size for all memory allocations performed
by FreeType. This is very useful to test the robustness of the font
engine and programs that use it in tight memory conditions.
This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
allows you to specify a maximum heap size for all memory allocations
performed by FreeType. This is very useful to test the robustness
of the font engine and programs that use it in tight memory
conditions.
If it is undefined, or if its value is not strictly positive, then no
allocation bounds are checked at runtime.
If it is undefined, or if its value is not strictly positive, then
no allocation bounds are checked at runtime.
FT2_ALLOC_COUNT_MAX
this variable is ignored if FT2_DEBUG_MEMORY is not defined. It allows
you to sepcify a maximum number of memory allocations performed by
FreeType before returning the error FT_Err_Out_Of_Memory. This is
useful for debugging and testing the engine's robustness.
This variable is ignored if FT2_DEBUG_MEMORY is not defined. It
allows you to specify a maximum number of memory allocations
performed by FreeType before returning the error
FT_Err_Out_Of_Memory. This is useful for debugging and testing the
engine's robustness.
If it is undefined, or if its value is not strictly positive, then no
allocation bounsd are checked at runtime.
If it is undefined, or if its value is not strictly positive, then
no allocation bounsd are checked at runtime.
End of file
--- end of DEBUG ---

View file

@ -1,65 +1,66 @@
Welcome
There are several ways to build the FreeType library, depending on your
system and the level of customization you need. Here's a short overview
of the documentation available:
There are several ways to build the FreeType library, depending on your
system and the level of customization you need. Here is a short
overview of the documentation available:
I. Normal installation and upgrades:
1. Native TrueType Hinting:
Native TrueType hinting is disabled by default[1]. If you really need it,
read the file "TRUETYPE" for information.
I. Normal installation and upgrades
===================================
2. Unix Systems (as well as Cygwin or MSys on Windows):
1. Native TrueType Hinting
Native TrueType hinting is disabled by default[1]. If you really
need it, read the file "TRUETYPE" for information.
2. Unix Systems (as well as Cygwin or MSys on Windows)
Please read *both* UPGRADE.UNX and INSTALL.UNX to install or upgrade
FreeType 2 on a Unix system. Note that you *will* need GNU Make, since
other make tools won't work (this includes BSD Make !!)
FreeType 2 on a Unix system. Note that you *will* need GNU Make,
since other make tools won't work (this includes BSD Make).
3. On VMS with the "mms" build tool:
3. On VMS with the "mms" build tool
see INSTALL.VMS for installation instructions on this platform
See INSTALL.VMS for installation instructions on this platform.
4. Other systems using GNU Make:
4. Other systems using GNU Make
on non-Unix platforms, it's possible to build the library using
GNU Make utility. Note that *NO OTHER MAKE TOOL WILL WORK* !!
This methods supports several compilers on Windows, OS/2 and BeOS,
On non-Unix platforms, it is possible to build the library using GNU
Make utility. Note that *NO OTHER MAKE TOOL WILL WORK*[2]! This
methods supports several compilers on Windows, OS/2, and BeOS,
including Mingw, Visual C++, Borland C++, and more.
instructions are provided in the file "INSTALL.GNU"
Instructions are provided in the file "INSTALL.GNU".
5. With an IDE Project File (e.g. for Visual Studio or CodeWarrior):
5. With an IDE Project File (e.g. for Visual Studio or CodeWarrior)
we provide a small number of "project files" for various IDEs to
automatically build the library as well. Note that these files are
not supported and sporadically maintained by FreeType developers,
so don't expect them to work in each release.
We provide a small number of "project files" for various IDEs to
automatically build the library as well. Note that these files are
not supported and sporadically maintained by FreeType developers, so
don't expect them to work in each release.
to find them, have a look at the content of the "builds/<system>"
To find them, have a look at the content of the "builds/<system>"
directory, where <system> stands for your OS or environment.
6. From you own IDE, or own Makefiles:
6. From you own IDE, or own Makefiles
If you want to create your own project file, follow the instructions
given in the "INSTALL.ANY" document of this directory.
II. Custom builds of the library:
II. Custom builds of the library
================================
Customizing the compilation of FreeType is easy, and allows you to select
only the components of the font engine that you really need. For more details
read the file "CUSTOMIZE"
Customizing the compilation of FreeType is easy, and allows you to
select only the components of the font engine that you really need.
For more details read the file "CUSTOMIZE".
--------------------------------------------------------------------
------------------------------------------------------------------------
[1] More details on: http://www.freetype.org/patents.html
End of file
[2] make++, a make tool written in Perl, has sufficient support of GNU
make extensions to build FreeType. See
http://makepp.sourceforge.net for more information.
--- end of INSTALL ---

View file

@ -1,96 +1,99 @@
Instructions on how to build FreeType with your own build tool:
Instructions on how to build FreeType with your own build tool
==============================================================
see the file "CUSTOMIZE" to learn how to customize FreeType to
specific environments.
See the file "CUSTOMIZE" to learn how to customize FreeType to specific
environments.
follow these simple steps:
I. Normal way:
--------------
I. Standard procedure
---------------------
* DISABLE PRE-COMPILED HEADERS ! This is very important for Visual
* DISABLE PRE-COMPILED HEADERS! This is very important for Visual
C++, because FreeType uses lines like:
#include FT_FREETYPE_H
#include FT_FREETYPE_H
which are not correctly supported by this compiler, while being
ISO C compliant !!
which are not correctly supported by this compiler while being ISO C
compliant!
* You need to add the directories "freetype2/include" to your include
path when compiling the library.
* FreeType 2 is made of several components; each one of them is
located in a subdirectory of "freetype2/src". For example,
* FreeType 2 is made of several components; each of them is located in
a subdirectory of "freetype2/src". For example,
'freetype2/src/truetype/' contains the TrueType font driver.
* DO NOT COMPILE ALL C FILES! Rather, compile the following ones:
-- base components (required)
-- base components (required)
src/base/ftsystem.c
src/base/ftinit.c
src/base/ftdebug.c
src/base/ftbase.c
src/base/ftglyph.c
src/base/ftbbox.c
src/base/ftmm.c
src/base/ftpfr.c -- optional, see <freetype/ftpfr.h>
src/base/ftbdf.c -- optional, see <freetype/ftbdf.h>
src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h>
src/base/ftsystem.c
src/base/ftinit.c
src/base/ftdebug.c
src/base/ftbase.c
src/base/ftglyph.c
src/base/ftbbox.c
src/base/ftmm.c
src/base/ftpfr.c -- optional, see <freetype/ftpfr.h>
src/base/ftbdf.c -- optional, see <freetype/ftbdf.h>
src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h>
src/base/ftmac.c -- only on the Macintosh
src/base/ftmac.c -- only on the Macintosh
-- other components are optional
-- other components (optional)
src/autohint/autohint.c -- auto hinting module
src/cache/ftcache.c -- cache sub-system (in beta)
src/sfnt/sfnt.c -- SFNT files support
(TrueType & OpenType)
src/cff/cff.c -- CFF/OpenType font driver
src/pfr/pfr.c -- PFR/TrueDoc font driver
src/bdf/bdf.c -- BDF font driver
src/pcf/pcf.c -- PCF font driver
src/psnames/psnames.c -- Postscript glyph names support
src/psaux/psaux.c -- Postscript Type 1 parsing
src/truetype/truetype.c -- TrueType font driver
src/type1/type1.c -- Type 1 font driver
src/cid/type1cid.c -- Type 1 CID-keyed font driver
src/winfonts/winfonts.c -- Windows FONT / FNT font driver
src/raster1/raster1.c -- monochrome rasterizer
src/smooth/smooth.c -- anti-aliasing rasterizer
src/autohint/autohint.c -- auto hinting module
src/cache/ftcache.c -- cache sub-system (in beta)
src/sfnt/sfnt.c -- SFNT files support
(TrueType & OpenType)
src/cff/cff.c -- CFF/OpenType font driver
src/pfr/pfr.c -- PFR/TrueDoc font driver
src/bdf/bdf.c -- BDF font driver
src/pcf/pcf.c -- PCF font driver
src/psnames/psnames.c -- PostScript glyph names support
src/psaux/psaux.c -- PostScript Type 1 parsing
src/truetype/truetype.c -- TrueType font driver
src/type1/type1.c -- Type 1 font driver
src/cid/type1cid.c -- Type 1 CID-keyed font driver
src/winfonts/winfonts.c -- Windows FONT / FNT font driver
src/raster1/raster1.c -- monochrome rasterizer
src/smooth/smooth.c -- anti-aliasing rasterizer
Note:
Notes:
`truetype.c' needs `sfnt.c' and `psnames.c'
`type1.c' needs `psaux.c' and `psnames.c'
`type1cid.c' needs `psaux.c' and `psnames.c'
`cff.c' needs `sfnt.c', `psaux.c', and `psnames.c'
that should be it ! in case of problems, see the archives of
the FreeType development mailing list.
You are done. In case of problems, see the archives of the FreeType
development mailing list.
II. Support for flat-directory compilation
------------------------------------------
It is possible to put all FreeType 2 source files into a single
It is possible to put all FreeType 2 source files into a single
directory, with the *exception* of the `include' hierarchy.
1. Copy all files in current directory:
1. Copy all files in current directory
cp freetype2/src/base/*.[hc] .
cp freetype2/src/raster1/*.[hc] .
cp freetype2/src/smooth/*.[hc] .
etc.
cp freetype2/src/base/*.[hc] .
cp freetype2/src/raster1/*.[hc] .
cp freetype2/src/smooth/*.[hc] .
etc.
2. Compile sources:
2. Compile sources
cc -c -Ifreetype2/include ftsystem.c
cc -c -Ifreetype2/include ftinit.c
cc -c -Ifreetype2/include ftdebug.c
cc -c -Ifreetype2/include ftbase.c
etc.
cc -c -Ifreetype2/include ftsystem.c
cc -c -Ifreetype2/include ftinit.c
cc -c -Ifreetype2/include ftdebug.c
cc -c -Ifreetype2/include ftbase.c
etc.
You don't need to define the FT_FLAT_COMPILATION macro (as this was
required in previous releases of FreeType 2).
You don't need to define the FT_FLAT_COMPILATION macro (as this was
required in previous releases of FreeType 2).
--- end of INSTALL.ANY ---

View file

@ -1,128 +1,139 @@
This document contains instructions on how to build the FreeType library
on non-Unix systems with the help of GNU Make. Note that if you're running
Cygwin or MSys in Windows, you should follow the instructions of INSTALL.UNX
instead.
This document contains instructions how to build the FreeType library on
non-Unix systems with the help of GNU Make. Note that if you are
running Cygwin or MSys in Windows, you should follow the instructions in
the file INSTALL.UNX instead.
FreeType 2 includes a powerful and flexible build system that allows
you to easily compile it on a great variety of platforms from the
FreeType 2 includes a powerful and flexible build system that allows
you to easily compile it on a great variety of platforms from the
command line. To do so, just follow these simple instructions:
a. Install GNU Make
1. Install GNU Make
-------------------
Because GNU Make is the only Make tool supported to compile
Because GNU Make is the only Make tool supported to compile
FreeType 2, you should install it on your machine.
The FreeType 2 build system relies on many features special to GNU
Make -- trying to build the library with any other Make tool will
The FreeType 2 build system relies on many features special to GNU
Make -- trying to build the library with any other Make tool will
*fail*.
NEARLY ALL OTHER MAKE TOOLS WILL FAIL, INCLUDING "BSD MAKE", SO
NEARLY ALL OTHER MAKE TOOLS WILL FAIL, INCLUDING "BSD MAKE", SO
REALLY INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM!
Make sure that you are invoking GNU Make from the command line, by
Note that make++, a make tool written in Perl, supports enough
features of GNU make to compile FreeType. See
http://makepp.sourceforge.net for more information.
Make sure that you are invoking GNU Make from the command line, by
typing something like:
make -v
make -v
to display its version number.
VERSION 3.78.1 OR NEWER IS NEEDED!
2. Invoke 'make'
----------------
b. Invoke 'make'
Go to the root directory of FreeType 2, then simply invoke GNU
Make from the command line. This will launch the FreeType 2 host
platform detection routines. A summary will be displayed, for
Go to the root directory of FreeType 2, then simply invoke GNU Make
from the command line. This will launch the FreeType 2 host
platform detection routines. A summary will be displayed, for
example, on Win32:
==============================================================
FreeType build system -- automatic system detection
==============================================================
FreeType build system -- automatic system detection
The following settings are used:
The following settings are used:
platform win32
compiler gcc
configuration directory ./builds/win32
configuration rules ./builds/win32/w32-gcc.mk
platform win32
compiler gcc
configuration directory ./builds/win32
configuration rules ./builds/win32/w32-gcc.mk
If this does not correspond to your system or settings please
remove the file 'config.mk' from this directory then read the
INSTALL file for help.
If this does not correspond to your system or settings please
remove the file 'config.mk' from this directory then read the
INSTALL file for help.
Otherwise, simply type 'make' again to build the library.
=============================================================
Otherwise, simply type 'make' again to build the library.
=============================================================
If the detected settings correspond to your platform and compiler,
skip to step e. Note that if your platform is completely alien to
If the detected settings correspond to your platform and compiler,
skip to step 5. Note that if your platform is completely alien to
the build system, the detected platform will be 'ansi'.
c. Configure the build system for a different compiler
3. Configure the build system for a different compiler
------------------------------------------------------
If the build system correctly detected your platform, but you want
to use a different compiler than the one specified in the summary
(for most platforms, gcc is the defaut compiler), invoke GNU Make
If the build system correctly detected your platform, but you want
to use a different compiler than the one specified in the summary
(for most platforms, gcc is the defaut compiler), invoke GNU Make
with
make setup <compiler>
make setup <compiler>
For example:
Examples:
to use Visual C++ on Win32, type: "make setup visualc"
to use Borland C++ on Win32, type "make setup bcc32"
to use Watcom C++ on Win32, type "make setup watcom"
to use Intel C++ on Win32, type "make setup intelc"
to use LCC-Win32 on Win32, type: "make setup lcc"
to use Watcom C++ on OS/2, type "make setup watcom"
to use VisualAge C++ on OS/2, type "make setup visualage"
to use Visual C++ on Win32, type: "make setup visualc"
to use Borland C++ on Win32, type "make setup bcc32"
to use Watcom C++ on Win32, type "make setup watcom"
to use Intel C++ on Win32, type "make setup intelc"
to use LCC-Win32 on Win32, type: "make setup lcc"
to use Watcom C++ on OS/2, type "make setup watcom"
to use VisualAge C++ on OS/2, type "make setup visualage"
The <compiler> name to use is platform-dependent. The list of
available compilers for your system is available in the file
The <compiler> name to use is platform-dependent. The list of
available compilers for your system is available in the file
`builds/<system>/detect.mk'
If you are satisfied by the new configuration summary, skip to
step e.
If you are satisfied by the new configuration summary, skip to
step 5.
d. Configure the build system for an unknown platform/compiler
The auto-detection/setup phase of the build system copies a file
to the current directory under the name `config.mk'.
4. Configure the build system for an unknown platform/compiler
--------------------------------------------------------------
For example, on OS/2+gcc, it would simply copy
The auto-detection/setup phase of the build system copies a file to
the current directory under the name `config.mk'.
For example, on OS/2+gcc, it would simply copy
`builds/os2/os2-gcc.mk' to `./config.mk'.
If for some reason your platform isn't correctly detected, copy
manually the configuration sub-makefile to `./config.mk' and go to
step e.
If for some reason your platform isn't correctly detected, copy
manually the configuration sub-makefile to `./config.mk' and go to
step 5.
Note that this file is a sub-Makefile used to specify Make
variables for compiler and linker invocation during the build.
You can easily create your own version from one of the existing
configuration files, then copy it to the current directory under
the name `./config.mk'.
Note that this file is a sub-Makefile used to specify Make variables
for compiler and linker invocation during the build. You can easily
create your own version from one of the existing configuration
files, then copy it to the current directory under the name
`./config.mk'.
e. Build the library
The auto-detection/setup phase should have copied a file in the
current directory, called `./config.mk'. This file contains
definitions of various Make variables used to invoke the compiler
5. Build the library
--------------------
The auto-detection/setup phase should have copied a file in the
current directory, called `./config.mk'. This file contains
definitions of various Make variables used to invoke the compiler
and linker during the build.
To launch the build, simply invoke GNU Make again: The top
Makefile will detect the configuration file and run the build with
it.
To launch the build, simply invoke GNU Make again: The top Makefile
will detect the configuration file and run the build with it.
Final note:
Final note
the build system builds a statically linked library of the font engine
in the "objs" directory. It does _not_ support the build of DLLs on
Windows and OS/2, if you need these, you'll have to either use
a IDE-specific project file, or follow the instructions in
The build system builds a statically linked library of the font
engine in the "objs" directory. It does _not_ support the build of
DLLs on Windows and OS/2. If you need these, you have to either use
a IDE-specific project file, or follow the instructions in
"INSTALL.ANY" to create your own Makefiles.
--- end of INSTALL.GNU ---

View file

@ -1,181 +1,64 @@
This document contains instructions on how to build the FreeType library
on Unix systems. This also works for emulations like Cygwin or MSys on
on Unix systems. This also works for emulations like Cygwin or MSys on
Win32:
I. Ensure that you are using GNU Make
1. Ensure that you are using GNU Make
-------------------------------------
The FreeType build system _exclusively_ works with GNU Make. You
will not be able to compile the library with the instructions
below using any other alternative (including BSD Make).
The FreeType build system _exclusively_ works with GNU Make. You
will not be able to compile the library with the instructions below
using any other alternative (including BSD Make).
Trying to compile the library with a different Make tool will
print a message like:
[Well, this is not really correct. Recently, a perl implementation
of make called `makepp' has appeared which can also build FreeType 2
successfully on Unix platforms. See http://makepp.sourceforge.net
for more details.]
Trying to compile the library with a different Make tool will print
a message like:
Sorry, GNU make is required to build FreeType2.
and the build process will be aborted. If this happens, install
GNU Make on your system, and use the GNUMAKE environment variable
to name it.
and the build process will be aborted. If this happens, install GNU
Make on your system, and use the GNUMAKE environment variable to
name it.
2. Build and install the library
--------------------------------
IV. Build and install the library
---------------------------------
The following should work on all Unix systems where the 'make'
The following should work on all Unix systems where the `make'
command invokes GNU Make:
./configure --prefix=<yourprefix>
./configure [options]
make
make install (as root)
where "<yourprefix>" must be replaced by the prefix returned by
the "freetype-config" command.
The default installation path is "/usr/local". It can be changed
with the `--prefix=<path>' option. Example:
When using a different command to invoke GNU Make, use the GNUMAKE
variable. For example, if `gmake' is the command to use on your
./configure --prefix=/usr
When using a different command to invoke GNU Make, use the GNUMAKE
variable. For example, if `gmake' is the command to use on your
system, do something like:
GNUMAKE=gmake ./configure --prefix=<yourprefix>
GNUMAKE=gmake ./configure [options]
gmake
gmake install (as root)
If this still doesn't work, something's rotten on your system(
(e.g. you're using a very old version of GNU Make)
If this still doesn't work, something's rotten on your system
(e.g. you are using a very old version of GNU Make).
It is possible to compile FreeType in a different directory.
Assuming the FreeType source files in directory `/src/freetype' a
compilation in directory `foo' works as follows:
cd foo
/src/freetype/configure [options]
make
make install
I. Unix systems
---------------
If you have GNU Make installed, simply type
./configure
make
make install
on the command line to configure, build and install FreeType on your
system. Note that the default installation path is "/usr/local".
Please read the file README.UNX, it contains _critical_ information
regarding the installation of FreeType on many Unix systems.
II. From the command line
-------------------------
If you are not using Unix, there are two ways to quickly build
FreeType 2 from the command line.
The first, and favorite one, is to use the "Jam" build tool. Jam is
a highly portable replacement for Make whose control files do not
depend on the current platform or compiler toolset.
For more information, please see:
http://www.freetype.org/jam/index.html
The second one is to use "GNU Make" (and NO OTHER MAKE TOOL).
1. Building FT2 with "Jam"
--------------------------
Once you've got *our version* of the Jam tool installed on your
system, simply go to the top-level FT2 directory, then type
"jam"
on the command line. This will build the library and place it in
the "objs" directory.
By default, a static library is built. On Unix systems, it is
possible to build a shared library through the "libtool" script.
You need to have libtool installed on your system, then re-define
a few environment variables before invoking Jam, as in
export CC="libtool --mode=compile cc"
export LINK="libtool --mode=link cc"
jam
In later releases of FT2, building shared libraries with Jam
should become automatic on Unix systems.
2. Building FT2 with "GNU Make"
-------------------------------
You need to have GNU Make (version 3.78.1 or newer) installed on
your system to compile the library from the command line. This will
_NOT_ work with other make tools (including BSD make)!
[Well, this is not really correct. Recently, a perl implementation
of make called `makepp' has appeared which can also build FreeType 2
successfully on Unix platforms. See http://makepp.sourceforge.net
for more details.]
- Go to the `freetype2' directory.
- Unix (any C compiler should work):
- make setup (don't worry, this will invoke a configure script)
- make
- make install
Alternatively, you can pass parameters to the configure script
within the CFG variable, as in:
- make setup CFG="--prefix=/usr"
- make
- make install
If the configure script isn't run, try to add `unix' as a target
on the command line, e.g.:
- make setup unix CFG="--prefix=/opt/experimental"
- Windows:
We provide a version of GNU Make for Win32 on the FreeType site.
See http://www.freetype.org/download.html for details.
- gcc (Mingw, _not_ CygWin):
- make setup
- make
- Visual C++:
- make setup visualc
- make
- other compilers:
- make setup bcc32 -> Borland C++ 32 bits
- make setup intelc -> Intel C++
- make setup watcom -> Watcom C++
- make setup lcc -> Win32-LCC
If you want to build FreeType 2 in another directory, you must set
two environment variables, `OJB_DIR' and `TOP_DIR'. The former
gives the directory where the object files and the library should be
created (this directory must exist), the latter the top directory of
the FreeType 2 source tree. Example:
OBJ_DIR=~/freetype2.compiled TOP_DIR=~/freetype2 \
make -f$TOP_DIR/Makefile setup ansi
OBJ_DIR=~/freetype2.compiled TOP_DIR=~/freetype2 \
make -f$TOP_DIR/Makefile
On Unix boxes, calling `configure' from the build directory is
sufficient; it will build a small Makefile which calls the
FreeType 2 Makefile with the necessary parameters.
--- end of INSTALL --
--- end of INSTALL.UNX --

View file

@ -1,8 +1,8 @@
How to build the freetype2 library on VMS
-----------------------------------------
Just type one of the following depending on the type of external entries you
want:
Just type one of the following depending on the type of external entries
you want:
mms
@ -14,22 +14,23 @@ The library is avalaible in the directory
[.LIB]
To compile applications using freetype2 you'll need to define the logical
To compile applications using FreeType 2 you have to define the logical
FREETYPE pointing to the directory
[.INCLUDE.FREETYPE]
(i.e., if the directory in which this README.VMS file is located is
i.e., if the directory in which this INSTALL.VMS file is located is
$disk:[freetype] then define the logical with
define freetype $disk:[freetype.include.freetype]
This version has been tested with Compaq C V6.2-006 on OpenVMS Alpha V7.2-1.
This version has been tested with Compaq C V6.2-006 on OpenVMS Alpha
V7.2-1.
Any problems can be reported to
joukj@hrem.stm.tudelft.nl
Jouk Jansen <joukj@hrem.stm.tudelft.nl>
Jouk Jansen
--- end of INSTALL.VMS ---

View file

@ -1,13 +1,23 @@
Note that the list of known bugs for FreeType 2 is now located in the
document "docs/BUGS".
Here is a list of items that need to be addressed in FreeType 2; they are
not exactly bugs, but should be considered though:
* Implement stem3/counter hints properly in the Postscript hinter.
* FInalize the cache sub-system. If has been in beta for too long :-)
* Finalize the cache sub-system. It has been in beta far too long :-)
* The automatic and Postscript hinters have been improved to increase
the quality of AA text, but Monochrome and LCD hinting still suck. we
need to do something about that..
the quality of AA text, but Monochrome and LCD hinting still suck. We
need to do something about that.
* Add CIDCMap support to the CID driver.
* Add track kerning support to the Type1 and PFR driver and the API
(The degree of kerning, e.g. light, normal or tight, and
the glyph size has to be passed as parameter).
* Add kerning (AFM file) support to the CID driver.
* Possibly add support for reading PFM files.
--- end of TODO ---

View file

@ -1,14 +1,14 @@
How to enable the TrueType native hinter if you need it
--------------------------------------------------------
The TrueType bytecode interpreter is disabled in all public
releases of the FreeType packages for patents reasons (see
The TrueType bytecode interpreter is disabled in all public releases
of the FreeType packages for patents reasons (see
http://www.freetype.org/patents.html for more details).
However, many Linux distributions do enable the interpreter in the
FreeType packages (DEB/RPM/etc.) they produce for their platforms.
If you are using TrueType fonts on your system, you most probably
want to enable it manually by doing the following:
However, many Linux distributions do enable the interpreter in the
FreeType packages (DEB/RPM/etc.) they produce for their platforms. If
you are using TrueType fonts on your system, you most probably want to
enable it manually by doing the following:
- open the file "include/freetype/config/ftoption.h"
@ -20,4 +20,7 @@ How to enable the TrueType native hinter if you need it
#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
of course, this must be done _before_ compiling the library
These steps must be done _before_ compiling the library.
--- end of TRUETYPE ---

View file

@ -2,87 +2,88 @@
SPECIAL NOTE FOR UNIX USERS
===========================
If you are installing this release of FreeType on a system that
already uses release 2.0.5 (or even an older version), you have to
If you are installing this release of FreeType on a system that
already uses release 2.0.5 (or even an older version), you have to
perform a few special steps to ensure that everything goes well.
I. Enable the TrueType bytecode hinter if you need it
1. Enable the TrueType bytecode hinter if you need it
-----------------------------------------------------
See the instructions in the file "TRUETYPE" of this directory.
Note that FreeType supports TrueType fonts without the bytecode
interpreter through its auto-hinter, which now generate relatively good
results with most fonts.
Note that FreeType supports TrueType fonts without the bytecode
interpreter through its auto-hinter, which now generates relatively
good results with most fonts.
II. Determine the correct installation path
--------------------------------------------
2. Determine the correct installation path
------------------------------------------
By default, the source package will install the library in
"/usr/local". However, many Unix distributions now install the
library in "/usr", since FreeType is becoming a critical system
By default, the configure script will install the library in
"/usr/local". However, many Unix distributions now install the
library in "/usr", since FreeType is becoming a critical system
component.
If FreeType is already installed on your system, type
freetype-config --prefix
on the command line. This should return the installation path to
use below (e.g. "/usr" or "/usr/local"). Otherwise, simply use
"/usr" (or what you think is adequate for your installation).
on the command line. This should return the installation path
(e.g., "/usr" or "/usr/local"). To avoid problems of parallel
FreeType versions, use this path for the --prefix option of the
configure script.
Otherwise, simply use "/usr" (or whatever you think is adequate for
your installation).
3. Ensure that you are using GNU Make
-------------------------------------
III. Ensure that you are using GNU Make
---------------------------------------
The FreeType build system _exclusively_ works with GNU Make (as an
exception you can use make++ which emulates GNU Make sufficiently;
see http://makepp.sourceforge.net). You will not be able to compile
the library with the instructions below using any other alternative
(including BSD Make).
The FreeType build system _exclusively_ works with GNU Make. You
will not be able to compile the library with the instructions
below using any other alternative (including BSD Make).
Trying to compile the library with a different Make tool will
print a message like:
Trying to compile the library with a different Make tool will print
a message like:
Sorry, GNU make is required to build FreeType2.
and the build process will be aborted. If this happens, install
GNU Make on your system, and use the GNUMAKE environment variable
to name it.
and the build process will be aborted. If this happens, install GNU
Make on your system, and use the GNUMAKE environment variable to
name it.
4. Build and install the library
--------------------------------
IV. Build and install the library
---------------------------------
The following should work on all Unix systems where the `make'
The following should work on all Unix systems where the `make'
command invokes GNU Make:
./configure --prefix=<yourprefix>
make
make install (as root)
where "<yourprefix>" must be replaced by the prefix returned by
the "freetype-config" command.
where "<yourprefix>" must be replaced by the prefix returned by the
"freetype-config" command.
When using a different command to invoke GNU Make, use the GNUMAKE
variable. For example, if `gmake' is the command to use on your
When using a different command to invoke GNU Make, use the GNUMAKE
variable. For example, if `gmake' is the command to use on your
system, do something like:
GNUMAKE=gmake ./configure --prefix=<yourprefix>
gmake
gmake install (as root)
If this still doesn't work, read the detailed compilation
procedure available in the file "docs/BUILD" for troubleshooting.
V. Take care of XFree86 version 4
5. Take care of XFree86 version 4
---------------------------------
Certain recent Linux distributions will install _several_ versions
of FreeType on your system. For example, on a fresh Mandrake 8.1
Certain recent Linux distributions will install _several_ versions
of FreeType on your system. For example, on a fresh Mandrake 8.1
system, you can find the following files:
/usr/lib/libfreetype.so which links to
@ -93,22 +94,21 @@ SPECIAL NOTE FOR UNIX USERS
/usr/X11R6/lib/libfreetype.so which links to
/usr/X11R6/lib/libfreetype.6.0.so
Note that these files correspond to two distinct versions of the
library! It seems that this surprising issue is due to the
install scripts of recent XFree86 servers (from 4.1.0) which
irremediably install their own (dated) version of the library in
"/usr/X11R6/lib".
Note that these files correspond to two distinct versions of the
library! It seems that this surprising issue is due to the install
scripts of recent XFree86 servers (from 4.1.0) which install their
own (dated) version of the library in "/usr/X11R6/lib".
In certain _rare_ cases you may experience minor problems if you
install this release of the library in "/usr" only, namely, that
certain applications will not benefit from the bug fixes and
rendering improvements you'd expect.
In certain _rare_ cases you may experience minor problems if you
install this release of the library in "/usr" only, namely, that
certain applications will not benefit from the bug fixes and
rendering improvements you would expect.
There are two good ways to deal with this situation:
- Install the library _twice_, in "/usr" and in "/usr/X11R6"
(you have to do that each time you install a new FreeType
release though).
- Install the library _twice_, in "/usr" and in "/usr/X11R6" (you
have to do that each time you install a new FreeType release
though).
- Change the link in /usr/X11R6/lib/libfreetype.so to point to
@ -118,7 +118,10 @@ SPECIAL NOTE FOR UNIX USERS
/usr/X11R6/lib/libfreetype.6.0.so
The FreeType Team is not responsible for this problem, so please
contact either the XFree86 development team or your Linux
distributor to help clear this issue in case the information given
The FreeType Team is not responsible for this problem, so please
contact either the XFree86 development team or your Linux
distributor to help clear this issue in case the information given
here doesn't help.
---- end of UPGRADE.UNX ---

View file

@ -1,90 +1,104 @@
Due to our use of "libtool" to generate and install the FreeType 2 libraries
on Unix systems, as well as other historical events, it is generally very
difficult to know precisely which release of the font engine is installed
on a given system.
Due to our use of "libtool" to generate and install the FreeType 2
libraries on Unix systems, as well as other historical events, it is
generally very difficult to know precisely which release of the font
engine is installed on a given system.
This file tries to explain why and to document ways to properly detect
This file tries to explain why and to document ways to properly detect
FreeType on Unix.
I. Version & Release numbers:
1. Version & Release numbers
----------------------------
For each new public release of FreeType 2, there are generally *three*
For each new public release of FreeType 2, there are generally *three*
distinct "version" numbers to consider:
* the official FT2 release number, like 2.0.9, or 2.1.3
* The official FT2 release number, like 2.0.9, or 2.1.3.
* the libtool (and Unix) specific version number, like "9.2.3". This
is what "freetype-config --version" will return
* The libtool (and Unix) specific version number, like "9.2.3". This
is what "freetype-config --version" will return.
* the platform-specific shared object number, used for example when
the library is installed as "/usr/lib/libfreetype.so.6.3.2"
* The platform-specific shared object number, used for example when
the library is installed as "/usr/lib/libfreetype.so.6.3.2".
The platform-specific number is, unsurprisingly, platform-specific and
varies with the operating system you are using (several variants of
Linux, FreeBSD, Solaris, etc.). You should thus _never_ use it, even
for simple tests.
the platform-specific number is, unsurprisingly, platform-specific and varies
with the operating system you're using (several variants of Linux, FreeBSD,
Solaris, etc...). You should thus _never_ use it, even for simple tests.
The libtool-specific number does not equal the release number but is
tied to it.
the libtool-specific number does not equal the release number but is tied
to it.
the release number is available at *compile* time through the following
The release number is available at *compile* time through the following
macros defined in FT_FREETYPE_H:
- FREETYPE_MAJOR : major release number
- FREETYPE_MINOR : minor release number
- FREETYPE_PATCH : patch release number
see below for some Autoconf fragment to
See below for a small autoconf fragment.
The release number is also available at *runtime* through the
"FT_Library_Version" API. Unfortunately, this one wasn't available or
working correctly before the 2.1.3 official release.
the release number is also available at *runtime* through the
"FT_Library_Version" API. Unfortunately, this one wasn't available or
working correctly before the 2.1.3 official release !!
2. History
----------
The following table gives, for each official release, the corresponding
libtool number, as well as the shared object number found on _most_
systems, but not all of them:
release libtool so
--------------------------------------------------------------------
2.1.5 9.4.3 6.3.4
2.1.4 9.3.3 6.3.3
2.1.3 9.2.3 6.3.2
2.1.2 9.1.3 6.3.1
2.1.1 9.0.3 ?
2.1.0 8.0.2 ?
2.0.9 9.0.3 ?
2.0.8 8.0.2 ?
The libtool numbers are a bit inconsistent due to the library's history:
- 2.1.0 was created as a development branch from 2.0.8 (hence the same
libtool numbers).
- 2.0.9 was a bug-fix release of the "stable" branch, and we
incorrectly increased its libtool number.
- 2.1.4 is still in the "development" branch, however it is stable
enough to be the basis of an upcoming 2.2.0 release.
II. Table:
3. Autoconf Code Fragment
-------------------------
the following is a simple table that gives, for each official release,
the corresponding libtool number, as well as the shared object number
found on _most_ systems, but not all of them:
release libtool so
-------------------------------------
2.1.4 9.3.3 6.3.3
2.1.3 9.2.3 6.3.2
2.1.2 9.1.3 6.3.1
2.1.1 9.0.3 ?
2.1.0 8.0.2 ?
2.0.9 9.0.3 ?
2.0.8 8.0.2 ?
the libtool numbers are a bit inconsistent due to the library's history:
- 2.1.0 was created as a development branch from 2.0.8
(hence the same libtool numbers)
- 2.0.9 was a bug-fix release of the "stable" branch, we
apparently incorrectly increased its libtool number
- 2.1.4 is still in the "development" branch, however it's stable enough
to be the basis of an upcoming 2.2.0 release
Lars Clausen contributed the following autoconf fragment to detect which
version of FreeType is installed on a system. This one tests for a
version that is at least 2.0.9; you should change it to check against
other release numbers.
AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
old_CPPFLAGS="$CPPFLAGS"
CPPFLAGS=`freetype-config --cflags`
AC_TRY_CPP([
#include <freetype/freetype.h>
#if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
#error Freetype version too low.
#endif
],[
AC_MSG_RESULT(yes)
FREETYPE_LIBS=`freetype-config --libs`
AC_SUBST(FREETYPE_LIBS)
AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
CPPFLAGS="$old_CPPFLAGS"
],[
AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])
])
III. AutoConf Code Fragment:
Lars Clausen contributed the following Autoconf fragment to detect at
which version of FreeType is installed on your system. This one tests
for a version that is at least 2.0.9, you should change the last line to
check against other release numbers.
AC_MSG_CHECKING([for version of FreeType])
FREETYPE_INCLUDE=`freetype-config --cflags | cut -c3-`
FREETYPE_MAJOR=`grep '^#define FREETYPE_MAJOR' $FREETYPE_INCLUDE/freetype/freetype.h | cut -d' ' -f3`
FREETYPE_MINOR=`grep '^#define FREETYPE_MINOR' $FREETYPE_INCLUDE/freetype/freetype.h | cut -d' ' -f3`
FREETYPE_PATCH=`grep '^#define FREETYPE_PATCH' $FREETYPE_INCLUDE/freetype/freetype.h | cut -d' ' -f3`
FREETYPE_VERSION=`echo | awk "BEGIN { printf \"%d\", ($FREETYPE_MAJOR * 1000 + $FREETYPE_MINOR) * 1000 + $FREETYPE_PATCH;}"`
AC_MSG_RESULT([$FREETYPE_MAJOR.$FREETYPE_MINOR.$FREETYPE_PATCH])
if test "$FREETYPE_VERSION" -ge 2000009; then
--- end of VERSION.DLL ---

View file

@ -1,28 +1,25 @@
The FreeType 2 font engine is copyrighted work, and cannot be
used legally without a software license. In order to make this
project usable to a vast majority of developers, we distribute it
under two dual licenses.
The FreeType 2 font engine is copyrighted work and cannot be used
legally without a software license. In order to make this project
usable to a vast majority of developers, we distribute it under two
mutually exclusive licenses.
What this means is that *you* must choose *one* license among those
described below, then obey all its terms and conditions when using
FreeType 2 in any of your projects or products:
This means that *you* must choose *one* license of the two described
below, then obey all its terms and conditions when using FreeType 2 in
any of your projects or products.
- The FreeType License, found in the file "FTL.TXT", which is an
BSD-style open-source license *with* an advertising clause that
forces you to explicitely cite the FreeType project in your
product's documentation. All details are in the license file.
- The GNU General Public License, found in "GPL.TXT", which is the
traditionnal and "viral" GPL license that forces you to redistribute
the _complete_ sources of all your products that use FreeType 2.
Note that the contributed PCF driver comes with a license similar to
that of X Window System which is compatible to the above two licenses
(see file src/pcf/readme).
- The FreeType License, found in the file "FTL.TXT", which is
an BSD-style open-source license *with* an advertising
clause that forces you to explicitely cite the
FreeType project in your product's documentation. All
details are in the license file
- The GNU General Public License, found in "GPL.TXT", which is
the traditionnal and "viral" GPL license, that
forces you to redistribute the _complete_ sources of all
your products that simply use FreeType 2.
Note that the contributed PCF driver comes with a license similar to
that of X Window System which is compatible to the above two
licenses (see file src/pcf/readme).
--- end of licence.txt ---

View file

@ -0,0 +1,2 @@
After saying `make refdoc' this directory contains the FreeType API
reference. You need python to make this target.

View file

@ -0,0 +1,18 @@
How to prepare a new release
----------------------------
. include/freetype/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR, and
FREETYPE_PATCH.
. builds/unix/configure.ac (version_info): Update according to the libtool
rules, then regenerate the configure script.
. builds/freetype.mk (refdoc): Update the --title option.
. docs/CHANGES: Document differences to last release.
. README: Update.
. docs/VERSION.DLL: Document changed version_info.
. ChangeLog: Announce new release.

View file

@ -97,7 +97,6 @@ FT_Select_Charmap
FT_Set_Char_Size
FT_Set_Charmap
FT_Set_Debug_Hook
FT_Set_Hint_Flags
FT_Set_Pixel_Sizes
FT_Set_Renderer
FT_Set_Transform
@ -245,9 +244,7 @@ t1_cmap_expert_class_rec
t1_cmap_standard_class_rec
t1_cmap_unicode_class_rec
t1_decoder_funcs
ps1_hints_apply
ps2_hints_apply
ps3_hints_apply
ps_hints_apply
pshinter_module_class
psnames_module_class
ft_raster1_renderer_class

View file

@ -4,7 +4,7 @@
/* */
/* FreeType charmap cache (specification). */
/* */
/* Copyright 2000-2001 by */
/* Copyright 2000-2001, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -36,7 +36,7 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* @type: */
/* FTC_CmapCache */
/* FTC_CMapCache */
/* */
/* @description: */
/* An opaque handle used to manager a charmap cache. This cache is */
@ -54,8 +54,8 @@ FT_BEGIN_HEADER
/* A handle to an @FTC_CMapDescRec structure used to describe a given */
/* charmap in a charmap cache. */
/* */
/* Each @FTC_CMapDesc describes which charmap (of which @FTC_Face) we */
/* want to use in @FTC_CMapCache_Lookup. */
/* Each @FTC_CMapDesc describes which charmap (of which @FTC_FaceID) */
/* we want to use in @FTC_CMapCache_Lookup. */
/* */
typedef struct FTC_CMapDescRec_* FTC_CMapDesc;
@ -66,8 +66,8 @@ FT_BEGIN_HEADER
/* FTC_CMapType */
/* */
/* @description: */
/* The list of valid @FTC_CMap types. They indicate how we want to */
/* address a charmap within an @FTC_FaceID. */
/* The list of valid @FTC_CMapDesc types. They indicate how we want */
/* to address a charmap within an @FTC_FaceID. */
/* */
/* @values: */
/* FTC_CMAP_BY_INDEX :: */

View file

@ -4,7 +4,7 @@
/* */
/* FreeType abstract glyph cache (specification). */
/* */
/* Copyright 2000-2001 by */
/* Copyright 2000-2001, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -120,10 +120,10 @@ FT_BEGIN_HEADER
FTC_GLYPH_FAMILY( gfam )->item_count )
/* compute a glyph request's hash value */
#define FTC_GLYPH_FAMILY_HASH( gfam, gindex ) \
( (FT_UFast)( \
( FTC_GLYPH_FAMILY( gfam )->hash << 16 ) | \
( FTC_GLYPH_FAMILY_CHUNK( gfam, gindex ) & 0xFFFF ) ) )
#define FTC_GLYPH_FAMILY_HASH( gfam, gindex ) \
( (FT_UFast)( \
( FTC_GLYPH_FAMILY( gfam )->hash << 16 ) | \
( FTC_GLYPH_FAMILY_CHUNK( gfam, gindex ) & 0xFFFFU ) ) )
/* must be called in an FTC_Family_CompareFunc to update the query */
/* whenever a glyph set is matched in the lookup, or when it */
@ -138,8 +138,8 @@ FT_BEGIN_HEADER
} while ( 0 )
/* retrieve glyph index of glyph node */
#define FTC_GLYPH_NODE_GINDEX( x ) \
( (FT_UInt)( FTC_GLYPH_NODE( x )->node.hash & 0xFFFF ) )
#define FTC_GLYPH_NODE_GINDEX( x ) \
( (FT_UInt)( FTC_GLYPH_NODE( x )->node.hash & 0xFFFFU ) )
/*************************************************************************/

View file

@ -4,7 +4,7 @@
/* */
/* FreeType Image cache (specification). */
/* */
/* Copyright 2000-2001, 2002 by */
/* Copyright 2000-2001, 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -202,18 +202,19 @@ FT_BEGIN_HEADER
/* scaled outline */
#define ftc_image_outline ftc_image_format_outline
/*************************************************************************/
/* */
/* <Struct> */
/* FTC_Image_Desc */
/* */
/* <Description> */
/* THIS TYPE IS DEPRECATED. Use @FTC_ImageDesc instead. */
/* THIS TYPE IS DEPRECATED. Use @FTC_ImageTypeRec instead. */
/* */
/* A simple structure used to describe a given glyph image category. */
/* */
/* <Fields> */
/* size :: An @FTC_SizeRec used to describe the glyph's face */
/* font :: An @FTC_FontRec used to describe the glyph's face */
/* and size. */
/* */
/* image_type :: The glyph image's type. */

View file

@ -4,7 +4,7 @@
/* */
/* ANSI-specific configuration file (specification only). */
/* */
/* Copyright 1996-2001, 2002 by */
/* Copyright 1996-2001, 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -108,7 +108,8 @@ FT_BEGIN_HEADER
/* This is the only necessary change, so it is defined here instead */
/* providing a new configuration file. */
/* */
#if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) )
#if ( defined( __APPLE__ ) && !defined( DARWIN_NO_CARBON ) ) || \
( defined( __MWERKS__ ) && defined( macintosh ) )
#define FT_MACINTOSH 1
#endif
@ -177,10 +178,10 @@ FT_BEGIN_HEADER
/* Watcom doesn't provide 64-bit data types */
#elif defined( __MWKS__ ) /* Metrowerks CodeWarrior */
#elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */
/* I don't know if it provides 64-bit data types, any suggestion */
/* is welcome. */
#define FT_LONG64
#define FT_INT64 long long int
#elif defined( __GNUC__ )

View file

@ -509,7 +509,7 @@
/* */
#define FT_TRIGONOMETRY_H <freetype/fttrigon.h>
#define FT_STROKER_H <freetype/ftstroker.h>
#define FT_STROKER_H <freetype/ftstroke.h>
#define FT_SYNTHESIS_H <freetype/ftsynth.h>
#define FT_ERROR_DEFINITIONS_H <freetype/fterrdef.h>
@ -523,6 +523,8 @@
#define FT_INCREMENTAL_H <freetype/ftincrem.h>
#define FT_TRUETYPE_UNPATENTED_H <freetype/ttunpat.h>
/* now include internal headers definitions from <freetype/internal/...> */
#define FT_INTERNAL_INTERNAL_H <freetype/internal/internal.h>

View file

@ -4,7 +4,7 @@
/* */
/* User-selectable configuration macros (specification only). */
/* */
/* Copyright 1996-2001, 2002 by */
/* Copyright 1996-2001, 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -81,16 +81,16 @@ FT_BEGIN_HEADER
/* by FreeType to speed up some computations. However, this will create */
/* some problems when compiling the library in strict ANSI mode. */
/* */
/* For this reason, the use of 64-bit ints is normally disabled when */
/* For this reason, the use of 64-bit integers is normally disabled when */
/* the __STDC__ macro is defined. You can however disable this by */
/* defining here the macro FT_CONFIG_OPTION_FORCE_INT64. */
/* defining the macro FT_CONFIG_OPTION_FORCE_INT64 here. */
/* */
/* For most compilers, this will only create compilation warnings */
/* when building the library. */
/* For most compilers, this will only create compilation warnings when */
/* building the library. */
/* */
/* ObNote: The compiler-specific 64-bit integers are detected in the */
/* file "ftconfig.h" either statically, or through Autoconf */
/* on platforms that support it. */
/* file "ftconfig.h" either statically or through the */
/* `configure' script on supported platforms. */
/* */
#undef FT_CONFIG_OPTION_FORCE_INT64
@ -100,11 +100,11 @@ FT_BEGIN_HEADER
/* Gzip-compressed file support. */
/* */
/* FreeType now handles font files that have been compressed with the */
/* 'gzip' program. This is mostly used to parse many of the PCF files */
/* that come with XFree86. The implementation uses 'zlib' to */
/* 'gzip' program. This is mostly used to parse many of the PCF files */
/* that come with XFree86. The implementation uses `zlib' to */
/* partially uncompress the file on the fly (see src/base/ftgzip.c). */
/* */
/* Define this macro if you want to enable this "feature". Note that */
/* Define this macro if you want to enable this "feature". Note that */
/* this will however force you to link the zlib to any program that */
/* also uses FreeType. */
/* */
@ -117,17 +117,17 @@ FT_BEGIN_HEADER
/* */
/* This macro is only used when FT_CONFIG_OPTION_USE_ZLIB is defined. */
/* It allows FreeType's "ftgzip" component to link to the system's */
/* installation of the ZLib library. This is useful on systems like */
/* installation of the ZLib library. This is useful on systems like */
/* Unix or VMS where it generally is already available. */
/* */
/* If you let it undefined, the component will use its own copy */
/* of the zlib sources instead. These have been modified to be */
/* of the zlib sources instead. These have been modified to be */
/* included directly within the component and *not* export external */
/* function names. This allows you to link any program with FreeType */
/* function names. This allows you to link any program with FreeType */
/* _and_ ZLib without linking conflicts. */
/* */
/* do not #undef this macro here, since the build system might */
/* define for certain configurations */
/* Do not #undef this macro here since the build system might define */
/* it for certain configurations only. */
/* */
/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */
@ -167,6 +167,9 @@ FT_BEGIN_HEADER
/* will be later automatically defined as `extern return_type' to */
/* allow normal compilation. */
/* */
/* Do not #undef these macros here since the build system might define */
/* them for certain configurations only. */
/* */
/* #define FT_EXPORT(x) extern x */
/* #define FT_EXPORT_DEF(x) x */
@ -214,6 +217,19 @@ FT_BEGIN_HEADER
#define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
/*************************************************************************/
/* */
/* Support for Mac fonts */
/* */
/* Define this macro if you want support for outline fonts in Mac */
/* format (mac dfont, mac resource, macbinary containing a mac */
/* resource) on non-Mac platforms. */
/* */
/* Note that the `FOND' resource isn't checked. */
/* */
#define FT_CONFIG_OPTION_MAC_FONTS
/*************************************************************************/
/* */
/* Allow the use of FT_Incremental_Interface to load typefaces that */
@ -221,7 +237,7 @@ FT_BEGIN_HEADER
/* This allows FreeType to be used with the PostScript language, using */
/* the GhostScript interpreter. */
/* */
/* #define FT_CONFIG_OPTION_INCREMENTAL */
/* #define FT_CONFIG_OPTION_INCREMENTAL */
/*************************************************************************/
@ -229,7 +245,7 @@ FT_BEGIN_HEADER
/* The size in bytes of the render pool used by the scan-line converter */
/* to do all of its work. */
/* */
/* This must be greater than 4kByte. */
/* This must be greater than 4KByte. */
/* */
#define FT_RENDER_POOL_SIZE 16384L
@ -258,8 +274,11 @@ FT_BEGIN_HEADER
/* */
/* Don't define any of these macros to compile in `release' mode! */
/* */
/* #define FT_DEBUG_LEVEL_ERROR */
/* #define FT_DEBUG_LEVEL_TRACE */
/* Do not #undef these macros here since the build system might define */
/* them for certain configurations only. */
/* */
/* #define FT_DEBUG_LEVEL_ERROR */
/* #define FT_DEBUG_LEVEL_TRACE */
/*************************************************************************/
@ -272,10 +291,12 @@ FT_BEGIN_HEADER
/* should define FT_DEBUG_MEMORY here. */
/* */
/* Note that the memory debugger is only activated at runtime when */
/* when the _environment_ variable "FT_DEBUG_MEMORY" is also defined! */
/* when the _environment_ variable "FT2_DEBUG_MEMORY" is defined also! */
/* */
/* #define FT_DEBUG_MEMORY */
/* Do not #undef this macro here since the build system might define */
/* it for certain configurations only. */
/* */
/* #define FT_DEBUG_MEMORY */
/*************************************************************************/
@ -375,12 +396,27 @@ FT_BEGIN_HEADER
/* By undefining this, you will only compile the code necessary to load */
/* TrueType glyphs without hinting. */
/* */
/* do not #undef this macro here, since the build system might */
/* define for certain configurations */
/* Do not #undef this macro here, since the build system might */
/* define it for certain configurations only. */
/* */
/* #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
/*************************************************************************/
/* */
/* Define TT_CONFIG_OPTION_UNPATENTED_HINTING (in addition to */
/* TT_CONFIG_OPTION_BYTECODE_INTERPRETER) to compile the unpatented */
/* work-around hinting system. Note that for the moment, the algorithm */
/* is only used when selected at runtime through the parameter tag */
/* FT_PARAM_TAG_UNPATENTED_HINTING; or when the debug hook */
/* FT_DEBUG_HOOK_UNPATENTED_HINTING is globally actived */
/* */
/* XXX: WARNING: THIS DOESN'T WORK AS ADVERTISED YET. PLEASE DO NOT */
/* DEFINE FOR THE MOMENT.. */
/* */
/* #define TT_CONFIG_OPTION_UNPATENTED_HINTING */
/*************************************************************************/
/* */
/* Define TT_CONFIG_OPTION_INTERPRETER_SWITCH to compile the TrueType */
@ -470,21 +506,21 @@ FT_BEGIN_HEADER
/* */
/*
* the FT_CONFIG_OPTION_CHESTER_XXXX macros are used to toggle some recent
* improvements to the auto-hinter contributed by David Chester. They will
* most likely disappear completely in the next release. For now, you should
* always keep them defined
* The FT_CONFIG_OPTION_CHESTER_XXXX macros are used to toggle some recent
* improvements to the auto-hinter contributed by David Chester. They will
* most likely disappear completely in the next release. For now, you
* should always keep them defined.
*
*/
#define FT_CONFIG_OPTION_CHESTER_HINTS
#ifdef FT_CONFIG_OPTION_CHESTER_HINTS
# define FT_CONFIG_CHESTER_SMALL_F
# define FT_CONFIG_CHESTER_ASCENDER
# define FT_CONFIG_CHESTER_SERIF
# define FT_CONFIG_CHESTER_STEM
# define FT_CONFIG_CHESTER_BLUE_SCALE
#define FT_CONFIG_CHESTER_SMALL_F
#define FT_CONFIG_CHESTER_ASCENDER
#define FT_CONFIG_CHESTER_SERIF
#define FT_CONFIG_CHESTER_STEM
#define FT_CONFIG_CHESTER_BLUE_SCALE
#endif /* FT_CONFIG_OPTION_CHESTER_HINTS */

View file

@ -82,6 +82,7 @@
#include <string.h>
#define ft_strlen strlen
#define ft_strcat strcat
#define ft_strcmp strcmp
#define ft_strncmp strncmp
#define ft_memcpy memcpy

View file

@ -4,7 +4,7 @@
/* */
/* FreeType high-level API and common types (specification only). */
/* */
/* Copyright 1996-2001, 2002 by */
/* Copyright 1996-2001, 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -35,7 +35,7 @@
/* */
#define FREETYPE_MAJOR 2
#define FREETYPE_MINOR 1
#define FREETYPE_PATCH 4
#define FREETYPE_PATCH 5
#include <ft2build.h>
@ -113,7 +113,6 @@ FT_BEGIN_HEADER
/* FT_New_Memory_Face */
/* FT_Open_Face */
/* FT_Open_Args */
/* FT_Open_Flags */
/* FT_Parameter */
/* FT_Attach_File */
/* FT_Attach_Stream */
@ -126,6 +125,12 @@ FT_BEGIN_HEADER
/* FT_Get_Name_Index */
/* FT_Load_Char */
/* */
/* FT_OPEN_MEMORY */
/* FT_OPEN_STREAM */
/* FT_OPEN_PATHNAME */
/* FT_OPEN_DRIVER */
/* FT_OPEN_PARAMS */
/* */
/* FT_LOAD_DEFAULT */
/* FT_LOAD_RENDER */
/* FT_LOAD_MONOCHROME */
@ -142,6 +147,12 @@ FT_BEGIN_HEADER
/* FT_LOAD_NO_RECURSE */
/* FT_LOAD_PEDANTIC */
/* */
/* FT_LOAD_TARGET_NORMAL */
/* FT_LOAD_TARGET_LIGHT */
/* FT_LOAD_TARGET_MONO */
/* FT_LOAD_TARGET_LCD */
/* FT_LOAD_TARGET_LCD_V */
/* */
/* FT_Render_Glyph */
/* FT_Render_Mode */
/* FT_Get_Kerning */
@ -162,9 +173,10 @@ FT_BEGIN_HEADER
/* FT_Glyph_Metrics */
/* */
/* <Description> */
/* A structure used to model the metrics of a single glyph. Note */
/* that values are expressed in 26.6 fractional pixel format or in */
/* font units, depending on context. */
/* A structure used to model the metrics of a single glyph. The */
/* values are expressed in 26.6 fractional pixel format; if the flag */
/* FT_LOAD_NO_SCALE is used, values are returned in font units */
/* instead. */
/* */
/* <Fields> */
/* width :: The glyph's width. */
@ -205,21 +217,62 @@ FT_BEGIN_HEADER
/* FT_Bitmap_Size */
/* */
/* <Description> */
/* An extremely simple structure used to model the size of a bitmap */
/* strike (i.e., a bitmap instance of the font for a given */
/* resolution) in a fixed-size font face. This is used for the */
/* `available_sizes' field of the FT_Face_Properties structure. */
/* This structure models the size of a bitmap strike (i.e., a bitmap */
/* instance of the font for a given resolution) in a fixed-size font */
/* face. It is used for the `available_sizes' field of the */
/* @FT_FaceRec structure. */
/* */
/* <Fields> */
/* height :: The character height in pixels. */
/* height :: The (vertical) baseline-to-baseline distance in pixels. */
/* It makes most sense to define the height of a bitmap */
/* font in this way. */
/* */
/* width :: The character width in pixels. */
/* width :: The average width of the font (in pixels). Since the */
/* algorithms to compute this value are different for the */
/* various bitmap formats, it can only give an additional */
/* hint if the `height' value isn't sufficient to select */
/* the proper font. For monospaced fonts the average width */
/* is the same as the maximum width. */
/* */
/* size :: The point size in 26.6 fractional format this font shall */
/* represent (for a given vertical resolution). */
/* */
/* x_ppem :: The horizontal ppem value (in 26.6 fractional format). */
/* */
/* y_ppem :: The vertical ppem value (in 26.6 fractional format). */
/* */
/* <Note> */
/* The values in this structure are taken from the bitmap font. If */
/* the font doesn't provide a parameter it is set to zero to indicate */
/* that the information is not available. */
/* */
/* The following formula converts from dpi to ppem: */
/* */
/* ppem = size * dpi / 72 */
/* */
/* where `size' is in points. */
/* */
/* Windows FNT: */
/* The `size', `x_ppem', and `y_ppem' parameters are not reliable: */
/* There exist fonts (e.g. app850.fon) which have a wrong size for */
/* some subfonts; since FNT files don't contain ppem but dpi values */
/* the computed x_ppem and y_ppem numbers are thus wrong also. */
/* */
/* TrueType embedded bitmaps: */
/* `size', `width', and `height' values are not contained in the */
/* bitmap strike itself. They are computed from the global font */
/* parameters. */
/* */
typedef struct FT_Bitmap_Size_
{
FT_Short height;
FT_Short width;
FT_Pos size;
FT_Pos x_ppem;
FT_Pos y_ppem;
} FT_Bitmap_Size;
@ -386,6 +439,10 @@ FT_BEGIN_HEADER
/* @FT_Open_Face), the library looks for a Unicode charmap within */
/* the list and automatically activates it. */
/* */
/* <Also> */
/* The @FT_CharMapRec details the publicly accessible fields of a */
/* given character map. */
/* */
typedef struct FT_CharMapRec_* FT_CharMap;
@ -452,30 +509,28 @@ FT_BEGIN_HEADER
/* mathematical symbols in the 32..255 character code range. For */
/* more information, see `http://www.ceviz.net/symbol.htm'. */
/* */
/* FT_ENCODING_MS_SJIS :: */
/* Corresponds to Microsoft's Japanese SJIS encoding. More info */
/* FT_ENCODING_SJIS :: */
/* Corresponds to Japanese SJIS encoding. More info at */
/* at `http://langsupport.japanreference.com/encoding.shtml'. */
/* See note on multi-byte encodings below. */
/* */
/* FT_ENCODING_MS_GB2312 :: */
/* Corresponds to the encoding system for Simplified Chinese, as */
/* used in China. Only found in some TrueType fonts. */
/* FT_ENCODING_GB2312 :: */
/* Corresponds to an encoding system for Simplified Chinese as used */
/* used in mainland China. */
/* */
/* FT_ENCODING_MS_BIG5 :: */
/* Corresponds to the encoding system for Traditional Chinese, as */
/* used in Taiwan and Hong Kong. Only found in some TrueType fonts. */
/* FT_ENCODING_BIG5 :: */
/* Corresponds to an encoding system for Traditional Chinese as used */
/* in Taiwan and Hong Kong. */
/* */
/* FT_ENCODING_MS_WANSUNG :: */
/* FT_ENCODING_WANSUNG :: */
/* Corresponds to the Korean encoding system known as Wansung. */
/* This is a Microsoft encoding that is only found in some TrueType */
/* fonts. For more information, see */
/* For more information see */
/* `http://www.microsoft.com/typography/unicode/949.txt'. */
/* */
/* FT_ENCODING_MS_JOHAB :: */
/* FT_ENCODING_JOHAB :: */
/* The Korean standard character set (KS C-5601-1992), which */
/* corresponds to Windows code page 1361. This character set */
/* corresponds to MS Windows code page 1361. This character set */
/* includes all possible Hangeul character combinations. */
/* Only found on some rare TrueType fonts. */
/* */
/* FT_ENCODING_ADOBE_LATIN_1 :: */
/* Corresponds to a Latin-1 encoding as defined in a Type 1 */
@ -483,7 +538,7 @@ FT_BEGIN_HEADER
/* */
/* FT_ENCODING_ADOBE_STANDARD :: */
/* Corresponds to the Adobe Standard encoding, as found in Type 1, */
/* CFF, and OpenType/CFF fonts. It is limited to 256character */
/* CFF, and OpenType/CFF fonts. It is limited to 256 character */
/* codes. */
/* */
/* FT_ENCODING_ADOBE_EXPERT :: */
@ -504,6 +559,21 @@ FT_BEGIN_HEADER
/* This value is deprecated and was never used nor reported by */
/* FreeType. Don't use or test for it. */
/* */
/* FT_ENCODING_MS_SJIS :: */
/* Same as FT_ENCODING_SJIS. Deprecated. */
/* */
/* FT_ENCODING_MS_GB2312 :: */
/* Same as FT_ENCODING_GB2312. Deprecated. */
/* */
/* FT_ENCODING_MS_BIG5 :: */
/* Same as FT_ENCODING_BIG5. Deprecated. */
/* */
/* FT_ENCODING_MS_WANSUNG :: */
/* Same as FT_ENCODING_WANSUNG. Deprecated. */
/* */
/* FT_ENCODING_MS_JOHAB :: */
/* Same as FT_ENCODING_JOHAB. Deprecated. */
/* */
/* <Note> */
/* By default, FreeType automatically synthetizes a Unicode charmap */
/* for Postscript fonts, using their glyph names dictionaries. */
@ -518,11 +588,18 @@ FT_BEGIN_HEADER
FT_ENC_TAG( FT_ENCODING_MS_SYMBOL, 's', 'y', 'm', 'b' ),
FT_ENC_TAG( FT_ENCODING_UNICODE, 'u', 'n', 'i', 'c' ),
FT_ENC_TAG( FT_ENCODING_MS_SJIS, 's', 'j', 'i', 's' ),
FT_ENC_TAG( FT_ENCODING_MS_GB2312, 'g', 'b', ' ', ' ' ),
FT_ENC_TAG( FT_ENCODING_MS_BIG5, 'b', 'i', 'g', '5' ),
FT_ENC_TAG( FT_ENCODING_MS_WANSUNG, 'w', 'a', 'n', 's' ),
FT_ENC_TAG( FT_ENCODING_MS_JOHAB, 'j', 'o', 'h', 'a' ),
FT_ENC_TAG( FT_ENCODING_SJIS, 's', 'j', 'i', 's' ),
FT_ENC_TAG( FT_ENCODING_GB2312, 'g', 'b', ' ', ' ' ),
FT_ENC_TAG( FT_ENCODING_BIG5, 'b', 'i', 'g', '5' ),
FT_ENC_TAG( FT_ENCODING_WANSUNG, 'w', 'a', 'n', 's' ),
FT_ENC_TAG( FT_ENCODING_JOHAB, 'j', 'o', 'h', 'a' ),
/* for backwards compatibility */
FT_ENCODING_MS_SJIS = FT_ENCODING_SJIS,
FT_ENCODING_MS_GB2312 = FT_ENCODING_GB2312,
FT_ENCODING_MS_BIG5 = FT_ENCODING_BIG5,
FT_ENCODING_MS_WANSUNG = FT_ENCODING_WANSUNG,
FT_ENCODING_MS_JOHAB = FT_ENCODING_JOHAB,
FT_ENC_TAG( FT_ENCODING_ADOBE_STANDARD, 'A', 'D', 'O', 'B' ),
FT_ENC_TAG( FT_ENCODING_ADOBE_EXPERT, 'A', 'D', 'B', 'E' ),
@ -550,11 +627,11 @@ FT_BEGIN_HEADER
/* ft_encoding_unicode :: see @FT_ENCODING_UNICODE */
/* ft_encoding_latin_2 :: see @FT_ENCODING_OLD_LATIN_2 */
/* ft_encoding_symbol :: see @FT_ENCODING_MS_SYMBOL */
/* ft_encoding_sjis :: see @FT_ENCODING_MS_SJIS */
/* ft_encoding_gb2312 :: see @FT_ENCODING_MS_GB2312 */
/* ft_encoding_big5 :: see @FT_ENCODING_MS_BIG5 */
/* ft_encoding_wansung :: see @FT_ENCODING_MS_WANSUNG */
/* ft_encoding_johab :: see @FT_ENCODING_MS_JOHAB */
/* ft_encoding_sjis :: see @FT_ENCODING_SJIS */
/* ft_encoding_gb2312 :: see @FT_ENCODING_GB2312 */
/* ft_encoding_big5 :: see @FT_ENCODING_BIG5 */
/* ft_encoding_wansung :: see @FT_ENCODING_WANSUNG */
/* ft_encoding_johab :: see @FT_ENCODING_JOHAB */
/* */
/* ft_encoding_adobe_standard :: see @FT_ENCODING_ADOBE_STANDARD */
/* ft_encoding_adobe_expert :: see @FT_ENCODING_ADOBE_EXPERT */
@ -563,21 +640,21 @@ FT_BEGIN_HEADER
/* */
/* ft_encoding_apple_roman :: see @FT_ENCODING_APPLE_ROMAN */
/* */
#define ft_encoding_none FT_ENCODING_NONE
#define ft_encoding_unicode FT_ENCODING_UNICODE
#define ft_encoding_symbol FT_ENCODING_MS_SYMBOL
#define ft_encoding_latin_1 FT_ENCODING_ADOBE_LATIN_1
#define ft_encoding_latin_2 FT_ENCODING_OLD_LATIN_2
#define ft_encoding_sjis FT_ENCODING_MS_SJIS
#define ft_encoding_gb2312 FT_ENCODING_MS_GB2312
#define ft_encoding_big5 FT_ENCODING_MS_BIG5
#define ft_encoding_wansung FT_ENCODING_MS_WANSUNG
#define ft_encoding_johab FT_ENCODING_MS_JOHAB
#define ft_encoding_none FT_ENCODING_NONE
#define ft_encoding_unicode FT_ENCODING_UNICODE
#define ft_encoding_symbol FT_ENCODING_MS_SYMBOL
#define ft_encoding_latin_1 FT_ENCODING_ADOBE_LATIN_1
#define ft_encoding_latin_2 FT_ENCODING_OLD_LATIN_2
#define ft_encoding_sjis FT_ENCODING_SJIS
#define ft_encoding_gb2312 FT_ENCODING_GB2312
#define ft_encoding_big5 FT_ENCODING_BIG5
#define ft_encoding_wansung FT_ENCODING_WANSUNG
#define ft_encoding_johab FT_ENCODING_JOHAB
#define ft_encoding_adobe_standard FT_ENCODING_ADOBE_STANDARD
#define ft_encoding_adobe_expert FT_ENCODING_ADOBE_EXPERT
#define ft_encoding_adobe_custom FT_ENCODING_ADOBE_CUSTOM
#define ft_encoding_apple_roman FT_ENCODING_APPLE_ROMAN
#define ft_encoding_adobe_standard FT_ENCODING_ADOBE_STANDARD
#define ft_encoding_adobe_expert FT_ENCODING_ADOBE_EXPERT
#define ft_encoding_adobe_custom FT_ENCODING_ADOBE_CUSTOM
#define ft_encoding_apple_roman FT_ENCODING_APPLE_ROMAN
/*************************************************************************/
@ -692,8 +769,8 @@ FT_BEGIN_HEADER
/* */
/* num_fixed_sizes :: The number of fixed sizes available in this */
/* face. This should be set to 0 for scalable */
/* fonts, unless its face includes a complete */
/* set of glyphs (called a `strike') for the */
/* fonts, unless its face includes a set of */
/* glyphs (called a `strike') for the */
/* specified sizes. */
/* */
/* available_sizes :: An array of sizes specifying the available */
@ -743,10 +820,11 @@ FT_BEGIN_HEADER
/* descender :: The face's descender is the vertical */
/* distance from the baseline to the */
/* bottommost point of any glyph in the face. */
/* This field's value is *negative*, expressed */
/* in font units. Some font designs use a */
/* value different from `bbox.yMin'. Only */
/* relevant for scalable formats. */
/* This field's value is *negative* for values */
/* below the baseline. It is expressed in */
/* font units. Some font designs use a value */
/* different from `bbox.yMin'. Only relevant */
/* for scalable formats. */
/* */
/* height :: The face's height is the vertical distance */
/* from one baseline to the next when writing */
@ -862,7 +940,7 @@ FT_BEGIN_HEADER
/* FT_FACE_FLAG_SCALABLE :: */
/* Indicates that the face provides vectorial outlines. This */
/* doesn't prevent embedded bitmaps, i.e., a face can have both */
/* this bit and @FT_FACE_FLAG_FIXED_SIZES set */
/* this bit and @FT_FACE_FLAG_FIXED_SIZES set. */
/* */
/* FT_FACE_FLAG_FIXED_SIZES :: */
/* Indicates that the face contains `fixed sizes', i.e., bitmap */
@ -901,9 +979,9 @@ FT_BEGIN_HEADER
/* */
/* FT_FACE_FLAG_GLYPH_NAMES :: */
/* Indicates that the font contains glyph names that can be */
/* retrieved through @FT_Get_Glyph_Names. Note that some TrueType */
/* retrieved through @FT_Get_Glyph_Name. Note that some TrueType */
/* fonts contain broken glyph name tables. Use the function */
/* @FT_Has_PS_Glyph_Name when needed. */
/* @FT_Has_PS_Glyph_Names when needed. */
/* */
/* FT_FACE_FLAG_EXTERNAL_STREAM :: */
/* Used internally by FreeType to indicate that a face's stream was */
@ -1016,12 +1094,12 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* @macro: */
/* FT_IS_FIXED_SIZES( face ) */
/* FT_HAS_FIXED_SIZES( face ) */
/* */
/* @description: */
/* A macro that returns true whenever a face object contains some */
/* embedded bitmaps. See the `fixed_sizes' field of the @FT_FaceRec */
/* structure. */
/* embedded bitmaps. See the `available_sizes' field of the */
/* @FT_FaceRec structure. */
/* */
#define FT_HAS_FIXED_SIZES( face ) \
( face->face_flags & FT_FACE_FLAG_FIXED_SIZES )
@ -1050,7 +1128,7 @@ FT_BEGIN_HEADER
/* */
/* @description: */
/* A macro that returns true whenever a face object contains some */
/* glyph names that can be accessed through @FT_Get_Glyph_Names. */
/* glyph names that can be accessed through @FT_Get_Glyph_Name. */
/* */
#define FT_HAS_GLYPH_NAMES( face ) \
( face->face_flags & FT_FACE_FLAG_GLYPH_NAMES )
@ -1130,10 +1208,12 @@ FT_BEGIN_HEADER
/* units to fractional (26.6) pixel coordinates. */
/* */
/* ascender :: The ascender, expressed in 26.6 fixed point */
/* pixels. Always positive. */
/* pixels. Positive for ascenders above the */
/* baseline. */
/* */
/* descender :: The descender, expressed in 26.6 fixed point */
/* pixels. Always negative. */
/* pixels. Negative for descenders below the */
/* baseline. */
/* */
/* height :: The text height, expressed in 26.6 fixed point */
/* pixels. Always positive. */
@ -1142,12 +1222,12 @@ FT_BEGIN_HEADER
/* fixed point pixels. Always positive. */
/* */
/* <Note> */
/* The values of `ascender', `descender', and `height' are only the */
/* scaled versions of `face->ascender', `face->descender', and */
/* `face->height'. */
/* For scalable fonts, the values of `ascender', `descender', and */
/* `height' are scaled versions of `face->ascender', */
/* `face->descender', and `face->height', respectively. */
/* */
/* Unfortunately, due to glyph hinting, these values might not be */
/* exact for certain fonts, they thus must be treated as unreliable */
/* exact for certain fonts. They thus must be treated as unreliable */
/* with an error margin of at least one pixel! */
/* */
/* Indeed, the only way to get the exact pixel ascender and descender */
@ -1161,7 +1241,7 @@ FT_BEGIN_HEADER
FT_UShort y_ppem; /* vertical pixels per EM */
FT_Fixed x_scale; /* two scales used to convert font units */
FT_Fixed y_scale; /* to 26.6 frac. pixel coordinates.. */
FT_Fixed y_scale; /* to 26.6 frac. pixel coordinates */
FT_Pos ascender; /* ascender in 26.6 frac. pixels */
FT_Pos descender; /* descender in 26.6 frac. pixels */
@ -1311,16 +1391,18 @@ FT_BEGIN_HEADER
/* */
/* outline :: The outline descriptor for the current glyph */
/* image if its format is */
/* ft_glyph_bitmap_outline. */
/* FT_GLYPH_FORMAT_OUTLINE. */
/* */
/* num_subglyphs :: The number of subglyphs in a composite glyph. */
/* This format is only valid for the composite */
/* glyph format, that should normally only be */
/* loaded with the FT_LOAD_NO_RECURSE flag. */
/* This field is only valid for the composite */
/* glyph format that should normally only be */
/* loaded with the @FT_LOAD_NO_RECURSE flag. */
/* For now this is internal to FreeType. */
/* */
/* subglyphs :: An array of subglyph descriptors for */
/* composite glyphs. There are `num_subglyphs' */
/* elements in there. */
/* elements in there. Currently internal to */
/* FreeType. */
/* */
/* control_data :: Certain font drivers can also return the */
/* control data for a given glyph image (e.g. */
@ -1359,7 +1441,7 @@ FT_BEGIN_HEADER
FT_Library library;
FT_Face face;
FT_GlyphSlot next;
FT_UInt flags;
FT_UInt reserved; /* retained for binary compatibility */
FT_Generic generic;
FT_Glyph_Metrics metrics;
@ -1474,13 +1556,13 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Enum> */
/* FT_Open_Flags */
/* FT_OPEN_XXX */
/* */
/* <Description> */
/* An enumeration used to list the bit flags used within the */
/* `flags' field of the @FT_Open_Args structure. */
/* A list of bit-field constants used within the `flags' field of the */
/* @FT_Open_Args structure. */
/* */
/* <Fields> */
/* <Values> */
/* FT_OPEN_MEMORY :: This is a memory-based stream. */
/* */
/* FT_OPEN_STREAM :: Copy the stream from the `stream' field. */
@ -1492,35 +1574,31 @@ FT_BEGIN_HEADER
/* */
/* FT_OPEN_PARAMS :: Use the `num_params' & `params' field. */
/* */
/* ft_open_memory :: deprecated. use @FT_OPEN_MEMORY instead */
/* ft_open_memory :: Deprecated; use @FT_OPEN_MEMORY instead. */
/* */
/* ft_open_stream :: deprecated. use @FT_OPEN_STREAM instead */
/* ft_open_stream :: Deprecated; use @FT_OPEN_STREAM instead. */
/* */
/* ft_open_pathname :: deprecated. use @FT_OPEN_PATHNAME instead */
/* ft_open_pathname :: Deprecated; use @FT_OPEN_PATHNAME instead. */
/* */
/* ft_open_driver :: deprecated, use @FT_OPEN_DRIVER instead */
/* ft_open_driver :: Deprecated; use @FT_OPEN_DRIVER instead. */
/* */
/* ft_open_params :: deprecated, use @FT_OPEN_PARAMS instead */
/* ft_open_params :: Deprecated; use @FT_OPEN_PARAMS instead. */
/* */
/* <Note> */
/* The `FT_OPEN_MEMORY', `FT_OPEN_STREAM', and `FT_OPEN_PATHNAME' */
/* flags are mutually exclusive. */
/* */
typedef enum
{
FT_OPEN_MEMORY = 1,
FT_OPEN_STREAM = 2,
FT_OPEN_PATHNAME = 4,
FT_OPEN_DRIVER = 8,
FT_OPEN_PARAMS = 16
#define FT_OPEN_MEMORY 0x1
#define FT_OPEN_STREAM 0x2
#define FT_OPEN_PATHNAME 0x4
#define FT_OPEN_DRIVER 0x8
#define FT_OPEN_PARAMS 0x10
} FT_Open_Flags;
#define ft_open_memory FT_OPEN_MEMORY /* deprecated */
#define ft_open_stream FT_OPEN_STREAM /* deprecated */
#define ft_open_pathname FT_OPEN_PATHNAME /* deprecated */
#define ft_open_driver FT_OPEN_DRIVER /* deprecated */
#define ft_open_params FT_OPEN_PARAMS /* deprecated */
#define ft_open_memory FT_OPEN_MEMORY /* deprecated */
#define ft_open_stream FT_OPEN_STREAM /* deprecated */
#define ft_open_pathname FT_OPEN_PATHNAME /* deprecated */
#define ft_open_driver FT_OPEN_DRIVER /* deprecated */
#define ft_open_params FT_OPEN_PARAMS /* deprecated */
/*************************************************************************/
@ -1602,14 +1680,14 @@ FT_BEGIN_HEADER
/* */
typedef struct FT_Open_Args_
{
FT_Open_Flags flags;
const FT_Byte* memory_base;
FT_Long memory_size;
FT_String* pathname;
FT_Stream stream;
FT_Module driver;
FT_Int num_params;
FT_Parameter* params;
FT_UInt flags;
const FT_Byte* memory_base;
FT_Long memory_size;
FT_String* pathname;
FT_Stream stream;
FT_Module driver;
FT_Int num_params;
FT_Parameter* params;
} FT_Open_Args;
@ -1853,7 +1931,7 @@ FT_BEGIN_HEADER
/* character dimensions is zero, its value is set equal to the other. */
/* */
/* <InOut> */
/* size :: A handle to a target size object. */
/* face :: A handle to a target face object. */
/* */
/* <Input> */
/* char_width :: The character width, in 26.6 fractional points. */
@ -1870,7 +1948,7 @@ FT_BEGIN_HEADER
/* */
/* <Note> */
/* When dealing with fixed-size faces (i.e., non-scalable formats), */
/* use the function @FT_Set_Pixel_Sizes. */
/* @FT_Set_Pixel_Sizes provides a more convenient interface. */
/* */
FT_EXPORT( FT_Error )
FT_Set_Char_Size( FT_Face face,
@ -1903,7 +1981,6 @@ FT_BEGIN_HEADER
/* <Return> */
/* FreeType error code. 0 means success. */
/* */
/* */
/* <Note> */
/* The values of `pixel_width' and `pixel_height' correspond to the */
/* pixel values of the _typographic_ character size, which are NOT */
@ -1919,6 +1996,11 @@ FT_BEGIN_HEADER
/* guarantee in any way that you will get glyph bitmaps that all fit */
/* within an 8x8 cell (sometimes even far from it). */
/* */
/* For bitmap fonts, `pixel_height' usually is a reliable value for */
/* the height of the bitmap cell. Drivers for bitmap font formats */
/* which contain a single bitmap strike only (BDF, PCF, FNT) ignore */
/* `pixel_width'. */
/* */
FT_EXPORT( FT_Error )
FT_Set_Pixel_Sizes( FT_Face face,
FT_UInt pixel_width,
@ -2010,7 +2092,7 @@ FT_BEGIN_HEADER
FT_Int32 load_flags );
/****************************************************************************
/***************************************************************************
*
* @enum:
* FT_LOAD_XXX
@ -2131,6 +2213,7 @@ FT_BEGIN_HEADER
* being used. This can be important for certain fonts where unhinted
* output is better than auto-hinted one.
*/
#define FT_LOAD_DEFAULT 0x0
#define FT_LOAD_NO_SCALE 0x1
#define FT_LOAD_NO_HINTING 0x2
#define FT_LOAD_RENDER 0x4
@ -2151,16 +2234,43 @@ FT_BEGIN_HEADER
/* */
#define FT_LOAD_TARGET_( x ) ( (FT_Int32)( (x) & 15 ) << 16 )
#define FT_LOAD_TARGET_MODE( x ) ( (FT_Render_Mode)( ( (x) >> 16 ) & 15 ) )
/***************************************************************************
*
* @enum:
* FT_LOAD_TARGET_XXX
*
* @description:
* A list of load targets. XXX
*
* @values:
* FT_LOAD_TARGET_NORMAL ::
* XXX
*
* FT_LOAD_TARGET_LIGHT ::
* XXX
*
* FT_LOAD_TARGET_MONO ::
* XXX
*
* FT_LOAD_TARGET_LCD ::
* XXX
*
* FT_LOAD_TARGET_LCD_V ::
* XXX
*/
#define FT_LOAD_TARGET_NORMAL FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL )
#define FT_LOAD_TARGET_LIGHT FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT )
#define FT_LOAD_TARGET_MONO FT_LOAD_TARGET_( FT_RENDER_MODE_MONO )
#define FT_LOAD_TARGET_LCD FT_LOAD_TARGET_( FT_RENDER_MODE_LCD )
#define FT_LOAD_TARGET_LCD_V FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V )
#define FT_LOAD_DEFAULT 0x0
/* */
/*************************************************************************/
@ -2186,7 +2296,7 @@ FT_BEGIN_HEADER
/* The transformation is only applied to scalable image formats after */
/* the glyph has been loaded. It means that hinting is unaltered by */
/* the transformation and is performed on the character size given in */
/* the last call to @FT_Set_Char_Sizes or @FT_Set_Pixel_Sizes. */
/* the last call to @FT_Set_Char_Size or @FT_Set_Pixel_Sizes. */
/* */
FT_EXPORT( void )
FT_Set_Transform( FT_Face face,
@ -2205,6 +2315,10 @@ FT_BEGIN_HEADER
/* conversion performed on the outline, as well as specific */
/* hinting optimizations. */
/* */
/* For bitmap fonts the `bitmap->pixel_mode' field in the */
/* @FT_GlyphSlotRec structure gives the format of the returned */
/* bitmap. */
/* */
/* <Values> */
/* FT_RENDER_MODE_NORMAL :: */
/* This is the default render mode; it corresponds to 8-bit */
@ -2212,11 +2326,10 @@ FT_BEGIN_HEADER
/* */
/* FT_RENDER_MODE_LIGHT :: */
/* This is similar to @FT_RENDER_MODE_NORMAL, except that this */
/* changes the hinting to prevent stem width quantization. This */
/* changes the hinting to prevent stem width quantization. This */
/* results in glyph shapes that are more similar to the original, */
/* while being a bit more fuzzy ("better shapes", instead of */
/* "better contrast" if you want :-) THIS IS STILL EXPERIMENTAL, */
/* FOR NOW, THIS WILL PRODUCE RESULTS SIMILAR TO NORMAL MODE !! */
/* "better contrast" if you want :-). */
/* */
/* FT_RENDER_MODE_MONO :: */
/* This mode corresponds to 1-bit bitmaps. */
@ -2225,8 +2338,7 @@ FT_BEGIN_HEADER
/* This mode corresponds to horizontal RGB/BGR sub-pixel displays, */
/* like LCD-screens. It produces 8-bit bitmaps that are 3 times */
/* the width of the original glyph outline in pixels, and which use */
/* the @FT_PIXEL_MODE_LCD mode. THIS IS STILL EXPERIMENTAL, DO NOT */
/* USE FOR NOW !! */
/* the @FT_PIXEL_MODE_LCD mode. */
/* */
/* FT_RENDER_MODE_LCD_V :: */
/* This mode corresponds to vertical RGB/BGR sub-pixel displays */
@ -2237,8 +2349,7 @@ FT_BEGIN_HEADER
/* <Note> */
/* The LCD-optimized glyph bitmaps produced by FT_Render_Glyph are */
/* _not filtered_ to reduce color-fringes. It is up to the caller to */
/* perform this pass. THIS IS STILL EXPERIMENTAL, DO NOT USE FOR NOW */
/* !! */
/* perform this pass. */
/* */
typedef enum FT_Render_Mode_
{
@ -2770,7 +2881,7 @@ FT_BEGIN_HEADER
/* <Note> */
/* The optimization for FT_DivFix() is simple: If (a << 16) fits in */
/* 32 bits, then the division is computed directly. Otherwise, we */
/* use a specialized version of the old @FT_MulDiv64. */
/* use a specialized version of @FT_MulDiv. */
/* */
FT_EXPORT( FT_Long )
FT_DivFix( FT_Long a,

View file

@ -4,7 +4,7 @@
/* */
/* FreeType API for accessing BDF-specific strings (specification). */
/* */
/* Copyright 2002 by */
/* Copyright 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -49,22 +49,22 @@ FT_BEGIN_HEADER
* FT_PropertyType
*
* @description:
* list of BDF property types
* A list of BDF property types.
*
* @values:
* BDF_PROPERTY_TYPE_NONE ::
* value 0 is used to indicate a missing property
* Value 0 is used to indicate a missing property.
*
* BDF_PROPERTY_TYPE_ATOM ::
* property is a string atom
* Property is a string atom.
*
* BDF_PROPERTY_TYPE_INTEGER ::
* property is a 32-bit signed integer
* Property is a 32-bit signed integer.
*
* BDF_PROPERTY_TYPE_CARDINAL ::
* property is a 32-bit unsigned integer
* Property is a 32-bit unsigned integer.
*/
typedef enum
typedef enum BDF_PropertyType_
{
BDF_PROPERTY_TYPE_NONE = 0,
BDF_PROPERTY_TYPE_ATOM = 1,
@ -76,34 +76,44 @@ FT_BEGIN_HEADER
/**********************************************************************
*
* @type: BDF_Property
* @type:
* BDF_Property
*
* @description:
* handle to a @BDF_PropertyRec structure used to model a given
* BDF/PCF property
* A handle to a @BDF_PropertyRec structure to model a given
* BDF/PCF property.
*/
typedef struct BDF_PropertyRec_* BDF_Property;
typedef struct BDF_PropertyRec_* BDF_Property;
/**********************************************************************
*
* @struct: BDF_PropertyRec
* @struct:
* BDF_PropertyRec
*
* @description:
* models a given BDF/PCF property
* This structure models a given BDF/PCF property.
*
* @note:
* type :: property type
* u.atom :: atom string, when type is @BDF_PROPERTY_TYPE_ATOM
* u.integer :: signed integer, when type is @BDF_PROPERTY_TYPE_INTEGER
* u.cardinal :: unsigned integer, when type is @BDF_PROPERTY_TYPE_CARDINAL
* @fields:
* type ::
* The property type.
*
* u.atom ::
* The atom string, if type is @BDF_PROPERTY_TYPE_ATOM.
*
* u.integer ::
* A signed integer, if type is @BDF_PROPERTY_TYPE_INTEGER.
*
* u.cardinal ::
* An unsigned integer, if type is @BDF_PROPERTY_TYPE_CARDINAL.
*/
typedef struct BDF_PropertyRec_
typedef struct BDF_PropertyRec_
{
BDF_PropertyType type;
BDF_PropertyType type;
union {
const char* atom;
FT_Int32 integer;
FT_UInt32 cardinal;
const char* atom;
FT_Int32 integer;
FT_UInt32 cardinal;
} u;
@ -121,7 +131,7 @@ FT_BEGIN_HEADER
*
* @input:
* face ::
* handle to input face
* A handle to the input face.
*
* @output:
* acharset_encoding ::
@ -131,7 +141,7 @@ FT_BEGIN_HEADER
* Charset registry, as a C string, owned by the face.
*
* @return:
* FreeType rror code. 0 means success.
* FreeType error code. 0 means success.
*
* @note:
* This function only works with BDF faces, returning an error otherwise.
@ -141,31 +151,33 @@ FT_BEGIN_HEADER
const char* *acharset_encoding,
const char* *acharset_registry );
/**********************************************************************
*
* @function:
* FT_Get_BDF_Property
*
* @description:
* Retrieves a BDF property from a BDF or PCF font file
* Retrieves a BDF property from a BDF or PCF font file.
*
* @input:
* face :: handle to input face
* name :: property name
* face :: A handle to the input face.
*
* name :: The property name.
*
* @output:
* aproperty :: the property
* aproperty :: The property.
*
* @return:
* FreeType error code. 0 means success.
*
* @note:
* This function works with BDF _and_ PCF fonts. It returns an error
* otherwise. it also returns an error when the property is not in the
* This function works with BDF _and_ PCF fonts. It returns an error
* otherwise. It also returns an error if the property is not in the
* font.
*
* in case of error, "aproperty->type" is always set to
* @BDF_PROPERTY_TYPE_NONE
* In case of error, "aproperty->type" is always set to
* @BDF_PROPERTY_TYPE_NONE.
*/
FT_EXPORT( FT_Error )
FT_Get_BDF_Property( FT_Face face,

View file

@ -4,7 +4,7 @@
/* */
/* FreeType Cache subsystem (specification). */
/* */
/* Copyright 1996-2001 by */
/* Copyright 1996-2001, 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -71,7 +71,6 @@ FT_BEGIN_HEADER
/* FTC_Node_Unref */
/* */
/* FTC_Font */
/* FTC_ImageDesc */
/* FTC_ImageCache */
/* FTC_ImageCache_New */
/* FTC_ImageCache_Lookup */
@ -242,9 +241,9 @@ FT_BEGIN_HEADER
/* If you lookup nodes, you have the ability to "acquire" them, i.e., */
/* to increment their reference count. This will prevent the node */
/* from being flushed out of the cache until you explicitly "release" */
/* it (see @FTC_Node_Release). */
/* it (see @FTC_Node_Unref). */
/* */
/* See also @FTC_BitsetCache_Lookup and @FTC_ImageCache_Lookup. */
/* See also @FTC_SBitCache_Lookup and @FTC_ImageCache_Lookup. */
/* */
typedef struct FTC_NodeRec_* FTC_Node;
@ -368,12 +367,12 @@ FT_BEGIN_HEADER
/* */
/* <Description> */
/* Retrieves the @FT_Face and @FT_Size objects that correspond to a */
/* given @FTC_SizeID. */
/* given font. */
/* */
/* <Input> */
/* manager :: A handle to the cache manager. */
/* */
/* size_id :: The ID of the `font size' to use. */
/* font :: The font to use. */
/* */
/* <Output> */
/* aface :: A pointer to the handle of the face object. Set it to */

View file

@ -4,7 +4,7 @@
/* */
/* FreeType convenience functions to handle glyphs (specification). */
/* */
/* Copyright 1996-2001 by */
/* Copyright 1996-2001, 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -282,7 +282,64 @@ FT_BEGIN_HEADER
FT_Matrix* matrix,
FT_Vector* delta );
/* */
/*************************************************************************/
/* */
/* <Enum> */
/* FT_Glyph_BBox_Mode */
/* */
/* <Description> */
/* The mode how the values of @FT_Glyph_Get_CBox are returned. */
/* */
/* <Values> */
/* FT_GLYPH_BBOX_UNSCALED :: */
/* Return unscaled font units. */
/* */
/* FT_GLYPH_BBOX_SUBPIXELS :: */
/* Return unfitted 26.6 coordinates. */
/* */
/* FT_GLYPH_BBOX_GRIDFIT :: */
/* Return grid-fitted 26.6 coordinates. */
/* */
/* FT_GLYPH_BBOX_TRUNCATE :: */
/* Return coordinates in integer pixels. */
/* */
/* FT_GLYPH_BBOX_PIXELS :: */
/* Return grid-fitted pixel coordinates. */
/* */
typedef enum FT_Glyph_BBox_Mode_
{
FT_GLYPH_BBOX_UNSCALED = 0,
FT_GLYPH_BBOX_SUBPIXELS = 0,
FT_GLYPH_BBOX_GRIDFIT = 1,
FT_GLYPH_BBOX_TRUNCATE = 2,
FT_GLYPH_BBOX_PIXELS = 3
} FT_Glyph_BBox_Mode;
/*************************************************************************/
/* */
/* <Enum> */
/* ft_glyph_bbox_xxx */
/* */
/* <Description> */
/* These constants are deprecated. Use the corresponding */
/* @FT_Glyph_BBox_Mode values instead. */
/* */
/* <Values> */
/* ft_glyph_bbox_unscaled :: see @FT_GLYPH_BBOX_UNSCALED */
/* ft_glyph_bbox_subpixels :: see @FT_GLYPH_BBOX_SUBPIXELS */
/* ft_glyph_bbox_gridfit :: see @FT_GLYPH_BBOX_GRIDFIT */
/* ft_glyph_bbox_truncate :: see @FT_GLYPH_BBOX_TRUNCATE */
/* ft_glyph_bbox_pixels :: see @FT_GLYPH_BBOX_PIXELS */
/* */
#define ft_glyph_bbox_unscaled FT_GLYPH_BBOX_UNSCALED
#define ft_glyph_bbox_subpixels FT_GLYPH_BBOX_SUBPIXELS
#define ft_glyph_bbox_gridfit FT_GLYPH_BBOX_GRIDFIT
#define ft_glyph_bbox_truncate FT_GLYPH_BBOX_TRUNCATE
#define ft_glyph_bbox_pixels FT_GLYPH_BBOX_PIXELS
/*************************************************************************/
/* */
@ -316,11 +373,9 @@ FT_BEGIN_HEADER
/* convention. */
/* */
/* If the glyph has been loaded with FT_LOAD_NO_SCALE, `bbox_mode' */
/* must be set to `ft_glyph_bbox_unscaled' to get unscaled font */
/* units. */
/* */
/* If `bbox_mode' is set to `ft_glyph_bbox_subpixels' the bbox */
/* coordinates are returned in 26.6 pixels (i.e. 1/64th of pixels). */
/* must be set to `FT_GLYPH_BBOX_UNSCALED' to get unscaled font */
/* units in 26.6 pixel format. The value `FT_GLYPH_BBOX_SUBPIXELS' */
/* is another name for this constant. */
/* */
/* Note that the maximum coordinates are exclusive, which means that */
/* one can compute the width and height of the glyph image (be it in */
@ -330,7 +385,7 @@ FT_BEGIN_HEADER
/* height = bbox.yMax - bbox.yMin; */
/* */
/* Note also that for 26.6 coordinates, if `bbox_mode' is set to */
/* `ft_glyph_bbox_gridfit', the coordinates will also be grid-fitted, */
/* `FT_GLYPH_BBOX_GRIDFIT', the coordinates will also be grid-fitted, */
/* which corresponds to: */
/* */
/* bbox.xMin = FLOOR(bbox.xMin); */
@ -339,23 +394,11 @@ FT_BEGIN_HEADER
/* bbox.yMax = CEILING(bbox.yMax); */
/* */
/* To get the bbox in pixel coordinates, set `bbox_mode' to */
/* `ft_glyph_bbox_truncate'. */
/* `FT_GLYPH_BBOX_TRUNCATE'. */
/* */
/* To get the bbox in grid-fitted pixel coordinates, set `bbox_mode' */
/* to `ft_glyph_bbox_pixels'. */
/* to `FT_GLYPH_BBOX_PIXELS'. */
/* */
/* The default value for `bbox_mode' is `ft_glyph_bbox_pixels'. */
/* */
enum
{
ft_glyph_bbox_unscaled = 0, /* return unscaled font units */
ft_glyph_bbox_subpixels = 0, /* return unfitted 26.6 coordinates */
ft_glyph_bbox_gridfit = 1, /* return grid-fitted 26.6 coordinates */
ft_glyph_bbox_truncate = 2, /* return coordinates in integer pixels */
ft_glyph_bbox_pixels = 3 /* return grid-fitted pixel coordinates */
};
FT_EXPORT( void )
FT_Glyph_Get_CBox( FT_Glyph glyph,
FT_UInt bbox_mode,
@ -391,8 +434,7 @@ FT_BEGIN_HEADER
/* */
/* <Note> */
/* The glyph image is translated with the `origin' vector before */
/* rendering. In case of error, it it translated back to its */
/* original position and the glyph is left untouched. */
/* rendering. */
/* */
/* The first parameter is a pointer to a FT_Glyph handle, that will */
/* be replaced by this function. Typically, you would use (omitting */
@ -413,7 +455,7 @@ FT_BEGIN_HEADER
/* // convert to a bitmap (default render mode + destroy old) */
/* if ( glyph->format != FT_GLYPH_FORMAT_BITMAP ) */
/* { */
/* error = FT_Glyph_To_Bitmap( &glyph, ft_render_mode_default, */
/* error = FT_Glyph_To_Bitmap( &glyph, FT_RENDER_MODE_DEFAULT, */
/* 0, 1 ); */
/* if ( error ) // glyph unchanged */
/* ... */

View file

@ -4,7 +4,7 @@
/* */
/* Gzip-compressed stream support. */
/* */
/* Copyright 2002 by */
/* Copyright 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -40,47 +40,54 @@ FT_BEGIN_HEADER
/* */
/*************************************************************************/
/************************************************************************
*
* @type: FT_Stream_OpenGzip
* @function:
* FT_Stream_OpenGzip
*
* @description:
* open a new stream to parse gzip-compressed font files. This is
* Open a new stream to parse gzip-compressed font files. This is
* mainly used to support the compressed *.pcf.gz fonts that come
* with XFree86
* with XFree86.
*
* @input:
* stream :: target embedding stream
* source :: source stream, used to
* stream :: The target embedding stream.
*
* source :: The source stream.
*
* @return:
* error code. 0 means success
* FreeType error code. 0 means success.
*
* @note:
* the source stream must be opened _before_ calling this function.
* The source stream must be opened _before_ calling this function.
*
* calling @FT_Stream_Close on the new stream will *not* call
* @FT_Stream_Close on the source stream. None of the stream objects
* will be released to the heap.
* Calling the internal function FT_Stream_Close on the new stream will
* *not* call FT_Stream_Close on the source stream. None of the stream
* objects will be released to the heap.
*
* the stream implementation is very basic, and resets the decompression
* process each time seeking backwards is needed within the stream
* The stream implementation is very basic and resets the decompression
* process each time seeking backwards is needed within the stream.
*
* in certain builds of the library, gzip compression recognition is
* automatic when calling @FT_New_Face or @FT_Open_Face. This means that
* if no font driver is capable of handling the raw compressed file,
* the library will try to open a gzip stream from it and re-open
* the face with it.
* In certain builds of the library, gzip compression recognition is
* automatically handled when calling @FT_New_Face or @FT_Open_Face.
* This means that if no font driver is capable of handling the raw
* compressed file, the library will try to open a gzipped stream from
* it and re-open the face with it.
*
* this function may return "FT_Err_Unimplemented" if your build of
* This function may return "FT_Err_Unimplemented" if your build of
* FreeType was not compiled with zlib support.
*/
FT_EXPORT( FT_Error )
FT_Stream_OpenGzip( FT_Stream stream,
FT_Stream source );
FT_Stream_OpenGzip( FT_Stream stream,
FT_Stream source );
/* */
FT_END_HEADER
#endif /* __FTGZIP_H__ */
/* END */

View file

@ -5,7 +5,7 @@
/* FreeType glyph image formats and default raster interface */
/* (specification). */
/* */
/* Copyright 1996-2001, 2002 by */
/* Copyright 1996-2001, 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -261,7 +261,8 @@ FT_BEGIN_HEADER
/* `FT_PIXEL_MODE_GRAY'; it gives the number of gray */
/* levels used in the bitmap. */
/* */
/* pixel_mode :: The pixel_mode, i.e., how pixel bits are stored. */
/* pixel_mode :: The pixel mode, i.e., how pixel bits are stored. */
/* See @FT_Pixel_Mode for possible values. */
/* */
/* palette_mode :: This field is only used with paletted pixel modes; */
/* it indicates how the palette is stored. */
@ -357,11 +358,11 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Enum> */
/* FT_Outline_Flags */
/* FT_OUTLINE_FLAGS */
/* */
/* <Description> */
/* A simple type used to enumerates the flags in an outline's */
/* `outline_flags' field. */
/* A list of bit-field constants use for the flags in an outline's */
/* `flags' field. */
/* */
/* <Values> */
/* FT_OUTLINE_NONE :: Value 0 is reserved. */
@ -414,27 +415,24 @@ FT_BEGIN_HEADER
/* completely ignored by a given */
/* scan-converter. */
/* */
typedef enum FT_Outline_Flags_
{
FT_OUTLINE_NONE = 0,
FT_OUTLINE_OWNER = 1,
FT_OUTLINE_EVEN_ODD_FILL = 2,
FT_OUTLINE_REVERSE_FILL = 4,
FT_OUTLINE_IGNORE_DROPOUTS = 8,
FT_OUTLINE_HIGH_PRECISION = 256,
FT_OUTLINE_SINGLE_PASS = 512
#define FT_OUTLINE_NONE 0x0
#define FT_OUTLINE_OWNER 0x1
#define FT_OUTLINE_EVEN_ODD_FILL 0x2
#define FT_OUTLINE_REVERSE_FILL 0x4
#define FT_OUTLINE_IGNORE_DROPOUTS 0x8
} FT_Outline_Flags;
#define FT_OUTLINE_HIGH_PRECISION 0x100
#define FT_OUTLINE_SINGLE_PASS 0x200
/*************************************************************************
*
* @enum:
* ft_outline_xxx
* ft_outline_flags
*
* @description:
* These constants are deprecated. Please use the corresponding
* @FT_OUTLINE_XXX values.
* @FT_OUTLINE_FLAGS values.
*
* @values:
* ft_outline_none :: See @FT_OUTLINE_NONE.
@ -689,8 +687,8 @@ FT_BEGIN_HEADER
/* */
/* FT_GLYPH_FORMAT_COMPOSITE :: */
/* The glyph image is a composite of several other images. This */
/* format is _only_ used with @FT_LOAD_FLAG_NO_RECURSE, and is */
/* used to report compound glyphs (like accented characters). */
/* format is _only_ used with @FT_LOAD_NO_RECURSE, and is used to */
/* report compound glyphs (like accented characters). */
/* */
/* FT_GLYPH_FORMAT_BITMAP :: */
/* The glyph image is a bitmap, and can be described as an */
@ -937,11 +935,11 @@ FT_BEGIN_HEADER
/*************************************************************************/
/* */
/* <Enum> */
/* FT_Raster_Flag */
/* FT_RASTER_FLAG_XXX */
/* */
/* <Description> */
/* An enumeration to list the bit flags as used in the `flags' field */
/* of a FT_Raster_Params structure. */
/* A list of bit flag constants as used in the `flags' field of a */
/* @FT_Raster_Params structure. */
/* */
/* <Values> */
/* FT_RASTER_FLAG_DEFAULT :: This value is 0. */
@ -949,7 +947,7 @@ FT_BEGIN_HEADER
/* FT_RASTER_FLAG_AA :: This flag is set to indicate that an */
/* anti-aliased glyph image should be */
/* generated. Otherwise, it will be */
/* monochrome (1-bit) */
/* monochrome (1-bit). */
/* */
/* FT_RASTER_FLAG_DIRECT :: This flag is set to indicate direct */
/* rendering. In this mode, client */
@ -974,15 +972,12 @@ FT_BEGIN_HEADER
/* in direct rendering mode where all spans */
/* are generated if no clipping box is set. */
/* */
typedef enum
{
FT_RASTER_FLAG_DEFAULT = 0,
FT_RASTER_FLAG_AA = 1,
FT_RASTER_FLAG_DIRECT = 2,
FT_RASTER_FLAG_CLIP = 4
} FT_Raster_Flag;
#define FT_RASTER_FLAG_DEFAULT 0x0
#define FT_RASTER_FLAG_AA 0x1
#define FT_RASTER_FLAG_DIRECT 0x2
#define FT_RASTER_FLAG_CLIP 0x4
/* deprecated */
#define ft_raster_flag_default FT_RASTER_FLAG_DEFAULT
#define ft_raster_flag_aa FT_RASTER_FLAG_AA
#define ft_raster_flag_direct FT_RASTER_FLAG_DIRECT

View file

@ -4,7 +4,7 @@
/* */
/* FreeType incremental loading (specification). */
/* */
/* Copyright 2002 by */
/* Copyright 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -186,10 +186,10 @@ FT_BEGIN_HEADER
*/
typedef FT_Error
(*FT_Incremental_GetGlyphMetricsFunc)
( FT_Incremental incremental,
FT_UInt glyph_index,
FT_Bool vertical,
FT_Incremental_MetricsRec *ametrics );
( FT_Incremental incremental,
FT_UInt glyph_index,
FT_Bool vertical,
FT_Incremental_MetricsRec *ametrics );
/**************************************************************************
@ -199,7 +199,7 @@ FT_BEGIN_HEADER
*
* @description:
* A table of functions for accessing fonts that load data
* incrementally. Used in @FT_Incremental_Interface.
* incrementally. Used in @FT_Incremental_InterfaceRec.
*
* @fields:
* get_glyph_data ::
@ -246,8 +246,7 @@ FT_BEGIN_HEADER
* parameter.data = &inc_int;
*
* // set up FT_Open_Args structure
* open_args.flags = (FT_Open_Flags)( FT_OPEN_PATHNAME |
* FT_OPEN_PARAMS );
* open_args.flags = FT_OPEN_PATHNAME | FT_OPEN_PARAMS;
* open_args.pathname = my_font_pathname;
* open_args.num_params = 1;
* open_args.params = &parameter; // we use one optional argument

View file

@ -4,7 +4,7 @@
/* */
/* FreeType module error offsets (specification). */
/* */
/* Copyright 2001, 2002 by */
/* Copyright 2001, 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@ -23,8 +23,8 @@
/* The lower byte gives the error code, the higher byte gives the */
/* module. The base module has error offset 0. For example, the error */
/* `FT_Err_Invalid_File_Format' has value 0x003, the error */
/* `TT_Err_Invalid_File_Format' has value 0xB03, the error */
/* `T1_Err_Invalid_File_Format' has value 0xC03, etc. */
/* `TT_Err_Invalid_File_Format' has value 0xF03, the error */
/* `T1_Err_Invalid_File_Format' has value 0x1003, etc. */
/* */
/* Undefine the macro FT_CONFIG_OPTION_USE_MODULE_ERRORS in ftoption.h */
/* to make the higher byte always zero (disabling the module error */
@ -102,21 +102,25 @@
#endif
FT_MODERRDEF( Base, 0x000, "base module" )
FT_MODERRDEF( Autohint, 0x100, "autohinter module" )
FT_MODERRDEF( Cache, 0x200, "cache module" )
FT_MODERRDEF( CFF, 0x300, "CFF module" )
FT_MODERRDEF( CID, 0x400, "CID module" )
FT_MODERRDEF( PCF, 0x500, "PCF module" )
FT_MODERRDEF( PSaux, 0x600, "PS auxiliary module" )
FT_MODERRDEF( PSnames, 0x700, "PS names module" )
FT_MODERRDEF( Raster, 0x800, "raster module" )
FT_MODERRDEF( SFNT, 0x900, "SFNT module" )
FT_MODERRDEF( Smooth, 0xA00, "smooth raster module" )
FT_MODERRDEF( TrueType, 0xB00, "TrueType module" )
FT_MODERRDEF( Type1, 0xC00, "Type 1 module" )
FT_MODERRDEF( Winfonts, 0xD00, "Windows FON/FNT module" )
FT_MODERRDEF( PFR, 0xE00, "PFR module" )
FT_MODERRDEF( Base, 0x000, "base module" )
FT_MODERRDEF( Autohint, 0x100, "autohinter module" )
FT_MODERRDEF( BDF, 0x200, "BDF module" )
FT_MODERRDEF( Cache, 0x300, "cache module" )
FT_MODERRDEF( CFF, 0x400, "CFF module" )
FT_MODERRDEF( CID, 0x500, "CID module" )
FT_MODERRDEF( Gzip, 0x600, "Gzip module" )
FT_MODERRDEF( PCF, 0x700, "PCF module" )
FT_MODERRDEF( PFR, 0x800, "PFR module" )
FT_MODERRDEF( PSaux, 0x900, "PS auxiliary module" )
FT_MODERRDEF( PShinter, 0xA00, "PS hinter module" )
FT_MODERRDEF( PSnames, 0xB00, "PS names module" )
FT_MODERRDEF( Raster, 0xC00, "raster module" )
FT_MODERRDEF( SFNT, 0xD00, "SFNT module" )
FT_MODERRDEF( Smooth, 0xE00, "smooth raster module" )
FT_MODERRDEF( TrueType, 0xF00, "TrueType module" )
FT_MODERRDEF( Type1, 0x1000, "Type 1 module" )
FT_MODERRDEF( Type42, 0x1100, "Type 42 module" )
FT_MODERRDEF( Winfonts, 0x1200, "Windows FON/FNT module" )
#ifdef FT_MODERR_END_LIST

Some files were not shown because too many files have changed in this diff Show more