mirror of
https://github.com/reactos/reactos.git
synced 2024-07-08 21:55:08 +00:00
Update to FreeType 2.1.5
svn path=/trunk/; revision=7814
This commit is contained in:
parent
e47bd48591
commit
561fa3d093
File diff suppressed because it is too large
Load diff
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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!
|
||||
|
|
|
@ -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 $
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
81
reactos/lib/freetype/builds/compiler/emx.mk
Normal file
81
reactos/lib/freetype/builds/compiler/emx.mk
Normal 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
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -38,4 +38,5 @@ ifdef BUILD_PROJECT
|
|||
|
||||
endif
|
||||
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -38,4 +38,5 @@ ifdef BUILD_PROJECT
|
|||
|
||||
endif
|
||||
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -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}
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
2
reactos/lib/freetype/builds/unix/aclocal.m4
vendored
2
reactos/lib/freetype/builds/unix/aclocal.m4
vendored
|
@ -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
|
||||
|
|
34
reactos/lib/freetype/builds/unix/configure
vendored
34
reactos/lib/freetype/builds/unix/configure
vendored
|
@ -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;}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
11
reactos/lib/freetype/builds/unix/freetype2.in
Normal file
11
reactos/lib/freetype/builds/unix/freetype2.in
Normal 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
|
|
@ -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:
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -19,4 +19,5 @@ include $(TOP_DIR)/builds/compiler/visualage.mk
|
|||
# include linking instructions
|
||||
include $(TOP_DIR)/builds/link_dos.mk
|
||||
|
||||
|
||||
# EOF
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
12
reactos/lib/freetype/configure
vendored
12
reactos/lib/freetype/configure
vendored
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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__
|
||||
|
|
|
@ -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 */
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ---
|
||||
|
|
|
@ -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 ---
|
||||
|
|
|
@ -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 ---
|
||||
|
|
|
@ -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 ---
|
||||
|
|
|
@ -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 ---
|
||||
|
|
|
@ -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 --
|
||||
|
|
|
@ -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 ---
|
||||
|
|
|
@ -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 ---
|
||||
|
|
|
@ -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 ---
|
||||
|
|
|
@ -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 ---
|
||||
|
|
|
@ -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 ---
|
||||
|
|
|
@ -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 ---
|
||||
|
|
2
reactos/lib/freetype/docs/reference/README
Normal file
2
reactos/lib/freetype/docs/reference/README
Normal file
|
@ -0,0 +1,2 @@
|
|||
After saying `make refdoc' this directory contains the FreeType API
|
||||
reference. You need python to make this target.
|
18
reactos/lib/freetype/docs/release
Normal file
18
reactos/lib/freetype/docs/release
Normal 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.
|
|
@ -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
|
||||
|
|
|
@ -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 :: */
|
||||
|
|
|
@ -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 ) )
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
|
|
|
@ -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. */
|
||||
|
|
|
@ -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__ )
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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 */
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
/* ... */
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 = ¶meter; // we use one optional argument
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue