* builds/win32/detekt.mk: Fix .PHONY target for Intel compiler.

Renamed "ftnames.h" to "ftsnames.h", and FT_NAMES_H to
FT_SFNT_NAMES_H.
* docs/docmaker.py: Added generation of INDEX link in table of
contents.
* INSTALL, docs/BUILD: Updated documentation to indicate that the
compilation process has changed slightly (no more `src' required in
* builds/*/*-def.mk: Changed the objects directory from "obj" to
"objs".
* include/freetype/config/ftheader.h: Removed obsolete macros like
FT_SOURCE_FILE, etc. and added cache-specific macro definitions that
were previously defined in <freetype/ftcache.h>.  Added comments to
be included in a new API Reference section.

* src/*/*: Removed the use of FT_SOURCE_FILE, etc.  Now, each
component needs to add its own directory to the include path at
compile time.  Modified all "rules.mk" and "descrip.mms"
accordingly.

* src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove
compiler warnings in pedantic modes.
* include/config/ft2build.h, include/config/ftheader.h: The file
top-level <ft2build.h>.

* include/config/ftheader.h: Added new section describing the #include
macros.


the Type 2 glyph charstring (used by conversion programs).
* docs/docmaker.py: Added cross-references generation as well as


seac emulation provided by the Type 2 endchar operator.


* src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
Added support for clipped direct rendering in the smooth renderer.


* src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
This commit is contained in:
Werner Lemberg 2001-03-20 22:58:56 +00:00
parent 0e20e1e575
commit 521a2d7a13
16 changed files with 439 additions and 379 deletions

View File

@ -1,25 +1,32 @@
2001-03-20 David Turner <david.turner@freetype.org> 2001-03-20 Werner Lemberg <wl@gnu.org>
* builds/win32/detekt.mk: Fix .PHONY target for Intel compiler.
2001-03-20 David Turner <david.turner@freetype.org>
* include/freetype/config/ftheader.h, include/freetype/ftsnames.h: * include/freetype/config/ftheader.h, include/freetype/ftsnames.h:
renamed "ftnames.h" to "ftsnames.h", and FT_NAMES_H to FT_SFNT_NAMES_H Renamed "ftnames.h" to "ftsnames.h", and FT_NAMES_H to
FT_SFNT_NAMES_H.
* docs/docmaker.py: added generation of INDEX link in table of contents * docs/docmaker.py: Added generation of INDEX link in table of
contents.
* INSTALL, docs/BUILD: updated documentation to indicate that the * INSTALL, docs/BUILD: Updated documentation to indicate that the
compilation process has changed slightly (no more 'src' required in compilation process has changed slightly (no more `src' required in
the include path). the include path).
* builds/*/*-def.mk: changed the objects directory from "obj" to "objs" * builds/*/*-def.mk: Changed the objects directory from "obj" to
"objs".
* include/freetype/config/ftheader.h: removed obsolete macros like * include/freetype/config/ftheader.h: Removed obsolete macros like
FT_SOURCE_FILE, etc.. and added cache-specific macro definitions that FT_SOURCE_FILE, etc. and added cache-specific macro definitions that
were previously defined in <freetype/ftcache.h>. Added comments to be were previously defined in <freetype/ftcache.h>. Added comments to
included in a new API Reference section. be included in a new API Reference section.
* src/*/*: removed the use of FT_SOURCE_FILE, etc.. now, each component
needs to added its own directory to the include path at compile time.
Modified all "rules.mk" and "descrip.mms" accordingly..
* src/*/*: Removed the use of FT_SOURCE_FILE, etc. Now, each
component needs to add its own directory to the include path at
compile time. Modified all "rules.mk" and "descrip.mms"
accordingly.
2001-03-20 Werner Lemberg <wl@gnu.org> 2001-03-20 Werner Lemberg <wl@gnu.org>
@ -36,19 +43,19 @@
* src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em * src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em
value an unsigned short value, first by shifting right 16 bits, value an unsigned short value, first by shifting right 16 bits,
then by casting the results to FT_UShort. then by casting the results to FT_UShort.
2001-03-17 David Turner <david.turner@freetype.org> 2001-03-17 David Turner <david.turner@freetype.org>
* src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c, * src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c,
src/type1/t1load.c, src/type1/t1objs.c: added a few casts to remove src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove
compiler warnings in pedantic modes.. compiler warnings in pedantic modes.
* include/config/ft2build.h, include/config/ftheader.h: the file * include/config/ft2build.h, include/config/ftheader.h: The file
"ft2build.h" was renamed to "ftheader.h" to avoid conflicts with the "ft2build.h" was renamed to "ftheader.h" to avoid conflicts with the
top-level <ft2build.h> top-level <ft2build.h>.
* include/config/ftheader.h: added new section describing the #include * include/config/ftheader.h: Added new section describing the #include
macros.. macros.
2001-03-17 Tom Kacvinsky <tjk@ams.org> 2001-03-17 Tom Kacvinsky <tjk@ams.org>
@ -64,7 +71,7 @@
* src/cff/cffdrivr.c (get_cff_glyph_name): New function. Used in * src/cff/cffdrivr.c (get_cff_glyph_name): New function. Used in
cff_get_interface to facilitate getting a glyph name for glyph index cff_get_interface to facilitate getting a glyph name for glyph index
via FT_Get_Glyph_Name(). via FT_Get_Glyph_Name().
(cff_get_interface): Added support for getting a glyph name via the (cff_get_interface): Added support for getting a glyph name via the
"glyph_name" module interface. Uses the new function "glyph_name" module interface. Uses the new function
get_cff_glyph_name(). get_cff_glyph_name().
@ -75,7 +82,7 @@
not defined. This is to add support for getting a glyph name from a not defined. This is to add support for getting a glyph name from a
glyph index via FT_Get_Glyph_Name(). glyph index via FT_Get_Glyph_Name().
Submitted by Sander van der Wal <svdwal@xs4all.nl> Submitted by Sander van der Wal <svdwal@xs4all.nl>
* src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for * src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for
deprecated operator "dotsection". deprecated operator "dotsection".
Submitted by Sander van der Wal <svdwal@xs4all.nl> Submitted by Sander van der Wal <svdwal@xs4all.nl>
@ -150,7 +157,7 @@
2001-03-05 Tom Kacvinsky <tjk@ams.org> 2001-03-05 Tom Kacvinsky <tjk@ams.org>
* src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the * src/cff/cffgload.c (CFF_Load_Glyph): Set glyph control data to the
the Type 2 glyph charstring (used by conversion programs). the Type 2 glyph charstring (used by conversion programs).
Submitted by Ha Shao <hashao@chinese.com>. Submitted by Ha Shao <hashao@chinese.com>.
2001-03-04 Antoine Leca <Antoine.Leca@renault.fr> 2001-03-04 Antoine Leca <Antoine.Leca@renault.fr>
@ -304,7 +311,7 @@
2001-01-11 David Turner <david.turner@freetype.org> 2001-01-11 David Turner <david.turner@freetype.org>
* docs/docmaker.py: Added cross-references generation as well as * docs/docmaker.py: Added cross-references generation as well as
more robust handling of pathname wildcard matching. more robust handling of pathname wildcard matching.
2001-01-10 Werner Lemberg <wl@gnu.org> 2001-01-10 Werner Lemberg <wl@gnu.org>
@ -332,7 +339,7 @@
2001-01-03 Tom Kacvinsky <tjk@ams.org> 2001-01-03 Tom Kacvinsky <tjk@ams.org>
* src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}. * src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}.
* include/freetype/internal/internal.h: Changed to use cfftypes.h * include/freetype/internal/internal.h: Changed to use cfftypes.h
(cfferrs.h) instead of t2types.h (t2errors.h, respectively). (cfferrs.h) instead of t2types.h (t2errors.h, respectively).
@ -354,7 +361,7 @@
* src/cff/t2gload.h: Renamed cffgload.h. * src/cff/t2gload.h: Renamed cffgload.h.
* src/cff/t2gload.c: Renamed cffgload.c * src/cff/t2gload.c: Renamed cffgload.c
2000-01-02 Jouk Jansen <joukj@hrem.stm.tudelft.nl> 2000-01-02 Jouk Jansen <joukj@hrem.stm.tudelft.nl>
* builds/vms: Support files for VMS architecture added. * builds/vms: Support files for VMS architecture added.
@ -398,7 +405,7 @@
* src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode, * src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode,
t2_operator_seac): Added these functions for use in implementing the t2_operator_seac): Added these functions for use in implementing the
seac emulation provided by the Type 2 endchar operator. seac emulation provided by the Type 2 endchar operator.
(T2_Parse_CharStrings): Added seac emulation for the endchar (T2_Parse_CharStrings): Added seac emulation for the endchar
operator. operator.
@ -406,13 +413,13 @@
CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the
charset/encoding tables, and free the memory used by them when the charset/encoding tables, and free the memory used by them when the
CFF driver is finished with them. Added tables CFF driver is finished with them. Added tables
cff_isoadobe_charset cff_isoadobe_charset
cff_expert_charset cff_expert_charset
cff_expertsubset_charset cff_expertsubset_charset
cff_standard_encoding cff_standard_encoding
cff_expert_encoding cff_expert_encoding
so that the encoding/charset parser can handle predefined encodings and so that the encoding/charset parser can handle predefined encodings and
charsets. charsets.
@ -433,7 +440,7 @@
2000-12-21 David Turner <david.turner@freetype.org> 2000-12-21 David Turner <david.turner@freetype.org>
* src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files, * src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files,
we'll work on supporting CID AFM files later I guess :-) we'll work on supporting CID AFM files later I guess :-)
2000-12-21 Tom Kacvinsky <tjk@ams.org> 2000-12-21 Tom Kacvinsky <tjk@ams.org>
@ -459,7 +466,7 @@
2000-12-14 David Turner <david.turner@freetype.org> 2000-12-14 David Turner <david.turner@freetype.org>
Added support for clipped direct rendering in the smooth renderer. Added support for clipped direct rendering in the smooth renderer.
This should not break binary compatibility of existing applications. This should not break binary compatibility of existing applications.
* include/freetype/fttypes.h, include/freetype/ftimage.h: Move * include/freetype/fttypes.h, include/freetype/ftimage.h: Move
@ -468,7 +475,7 @@
FT_Raster_Flag enumeration. FT_Raster_Flag enumeration.
Add `clip_box' element to FT_Raster_Params structure. Add `clip_box' element to FT_Raster_Params structure.
* src/smooth/ftgrays.c (grays_convert_glyph): Implement it. * src/smooth/ftgrays.c (grays_convert_glyph): Implement it.
* INSTALL: Updated installation instructions on Win32, listing the * INSTALL: Updated installation instructions on Win32, listing the
new "make setup list" target used to list supported new "make setup list" target used to list supported
compilers/targets. compilers/targets.
@ -483,7 +490,7 @@
to use direct definitions. This is the only way to do these things to use direct definitions. This is the only way to do these things
in a portable way :-( The rest of the code should follow shortly in a portable way :-( The rest of the code should follow shortly
though everything compiles now. though everything compiles now.
* builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files. * builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files.
* builds/win32/detect.mk: Added support for the Intel C/C++ * builds/win32/detect.mk: Added support for the Intel C/C++
@ -759,13 +766,13 @@
2000-11-22 Tom Kacvinsky <tjk@ams.org> 2000-11-22 Tom Kacvinsky <tjk@ams.org>
* src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set * src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
`root->num_faces' to `cff->num_faces' and set `units_per_EM' `root->num_faces' to `cff->num_faces' and set `units_per_EM'
to 1000. to 1000.
* src/cff/t2parse.c (parse_t2_real): Fixed real number parsing * src/cff/t2parse.c (parse_t2_real): Fixed real number parsing
loop. loop.
* src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a * src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a
sid that was off by one. sid that was off by one.

12
INSTALL
View File

@ -60,14 +60,14 @@ I. From the command line
II. In your own environment (IDE) II. In your own environment (IDE)
--------------------------------- ---------------------------------
You need to add the directories "freetype2/include" to You need to add the directories "freetype2/include" to your include
your include path when compiling the library. path when compiling the library.
FreeType 2 is made of several components, each one of them is located FreeType 2 is made of several components; each one of them is
in a subdirectory of "freetype2/src". For example, 'freetype2/src/truetype/' located in a subdirectory of "freetype2/src". For example,
contains the TrueType font driver. `freetype2/src/truetype/' contains the TrueType font driver.
DO NOT COMPILE ALL C FILES !! Rather, compile the following ones: DO NOT COMPILE ALL C FILES! Rather, compile the following ones:
-- base components (required) -- base components (required)

View File

@ -86,12 +86,12 @@ ifeq ($(PLATFORM),win32)
.PHONY: visualc .PHONY: visualc
endif endif
ifneq ($(findstring intelc,$(MAKECMDGOALS)),) # Intel C/C++ ifneq ($(findstring intelc,$(MAKECMDGOALS)),) # Intel C/C++
CONFIG_FILE := w32-intl.mk CONFIG_FILE := w32-intl.mk
SEP := $(BACKSLASH) SEP := $(BACKSLASH)
CC := cl CC := cl
visualc: setup visualc: setup
.PHONY: visualc .PHONY: intelc
endif endif
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++ ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++

View File

@ -13,8 +13,8 @@ instructions on how to compile the library on your favorite platform.
I. QUICK COMMAND-LINE GUIDE I. QUICK COMMAND-LINE GUIDE
--------------------------- ---------------------------
THE FOLLOWING WILL ONLY WORK WITH GNU MAKE, IT WILL FAIL MISERABLY THE FOLLOWING WILL ONLY WORK WITH GNU MAKE, IT WILL FAIL MISERABLY
WITH OTHER MAKE TOOLS, FOR EXAMPLE "BSD MAKE".. WITH OTHER MAKE TOOLS, FOR EXAMPLE "BSD MAKE".
Install GNU Make (version 3.78.1 or newer), then try the following Install GNU Make (version 3.78.1 or newer), then try the following
on Unix or any system with gcc: on Unix or any system with gcc:
@ -62,8 +62,8 @@ II. COMMAND-LINE COMPILATION
Make -- trying to build the library with any other Make tool will Make -- trying to build the library with any other Make tool will
*fail*. *fail*.
NEARLY ALL OTHER MAKE TOOLS WILL FAIL, INCLUDING "BSD MAKE", SO REALLY NEARLY ALL OTHER MAKE TOOLS WILL FAIL, INCLUDING "BSD MAKE", SO
INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM !! REALLY INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM!
Make sure that you are invoking GNU Make from the command line, by Make sure that you are invoking GNU Make from the command line, by
typing something like: typing something like:
@ -72,7 +72,7 @@ II. COMMAND-LINE COMPILATION
to display its version number. to display its version number.
VERSION 3.78.1 OR NEWER IS NEEDED !!. VERSION 3.78.1 OR NEWER IS NEEDED!
b. Invoke `make' b. Invoke `make'
@ -208,7 +208,7 @@ III. DETAILED COMPILATION PROCEDURE
src/truetype/truetype.c - the TrueType font driver src/truetype/truetype.c - the TrueType font driver
src/type1/type1.c - the Type 1 font driver src/type1/type1.c - the Type 1 font driver
The last module of FreeType 2, "winfonts" (implementing support for The last module of FreeType 2, `winfonts' (implementing support for
Windows FNT format), is a single file. Windows FNT format), is a single file.
To compile one component, do the following: To compile one component, do the following:
@ -216,18 +216,18 @@ III. DETAILED COMPILATION PROCEDURE
- Add the top-level `include' directory to your compilation - Add the top-level `include' directory to your compilation
include path include path
- Add the `src/<component>' directory to your compilation include path, - Add the `src/<component>' directory to your compilation include
or simply 'cd' to the component's source directory path, or simply `cd' to the component's source directory.
- Compile the component `source' file (see list below); you don't - Compile the component `source' file (see list below); you don't
need to be in the component's directory if you added `src/<component>' need to be in the component's directory if you added
to your include path.. `src/<component>' to your include path.
For example, the following line can be used to compile the truetype For example, the following line can be used to compile the truetype
driver on Unix: driver on Unix:
cd freetype2/ cd freetype2/
cc -c -Iinclude -Isrc/truetype src/truetype/truetype.c cc -c -Iinclude -Isrc/truetype src/truetype/truetype.c
Alternatively: Alternatively:
@ -252,7 +252,7 @@ III. DETAILED COMPILATION PROCEDURE
IV. Support for flat-directory compilation IV. 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. directory, with the exception of the `include' hierarchy.
1. Copy all files in current directory: 1. Copy all files in current directory:
@ -270,7 +270,7 @@ IV. Support for flat-directory compilation
cc -c -Ifreetype2/include ftbase.c cc -c -Ifreetype2/include ftbase.c
etc. etc.
You don't need to define the FT_FLAT_COMPILATION macro (as this was required You don't need to define the FT_FLAT_COMPILATION macro (as this was
in previous releases of FreeType 2) required in previous releases of FreeType 2).
End of file End of file

View File

@ -901,12 +901,13 @@ class DocSectionList:
# provide a new one. # provide a new one.
# #
if abstract: if abstract:
section.block.print_error( "duplicate section definition for " + section.block.print_error(
"'" + name + "'\n" + "duplicate section definition for " +
"previous definition in " + "'" + name + "'\n" +
"'" + section.block.location() + "'\n" + "previous definition in " +
"second definition in " + "'" + section.block.location() + "'\n" +
"'" + block.location() + "'" ) "second definition in " +
"'" + block.location() + "'" )
else: else:
# The old section didn't contain an abstract; we are # The old section didn't contain an abstract; we are
# now going to replace it. # now going to replace it.

View File

@ -60,318 +60,369 @@
/* */ /* */
/*************************************************************************/ /*************************************************************************/
/************************************************************************* /*************************************************************************/
* /* */
* <Section> header_file_macros /* <Section> */
* /* header_file_macros */
* <Title> Header File Macros /* */
* /* <Title> */
* <Abstract> /* Header File Macros */
* Macro definitions used to #include specific header files /* */
* /* <Abstract> */
* <Description> /* Macro definitions used to #include specific header files. */
* The following macros are defined to the name of specific FreeType 2 /* */
* header files. They can be used directly in #include statements as in: /* <Description> */
* /* The following macros are defined to the name of specific */
* { /* FreeType 2 header files. They can be used directly in #include */
* #include FT_FREETYPE_H /* statements as in: */
* #include FT_MULTIPLE_MASTERS_H /* */
* #include FT_GLYPH_H /* { */
* } /* #include FT_FREETYPE_H */
* /* #include FT_MULTIPLE_MASTERS_H */
* there are several reasons why we're now using macros to name /* #include FT_GLYPH_H */
* public header files. The first one is that the macros are not /* } */
* limited to the infamous 8.3 naming rule required by Dos /* */
* (and FT_MULTIPLE_MASTERS_H is a lot more meaningful than "ftmm.h") /* There are several reasons why we are now using macros to name */
* /* public header files. The first one is that such macros are not */
* The second reason is that is allows for more flexibility in the way /* limited to the infamous 8.3 naming rule required by DOS (and */
* FreeType 2 is installed on a given system.. /* `FT_MULTIPLE_MASTERS_H' is a lot more meaningful than `ftmm.h'). */
* /* */
*/ /* The second reason is that is allows for more flexibility in the */
/* way FreeType 2 is installed on a given system. */
/* */
/*************************************************************************/
/* configuration files */ /* configuration files */
/*************************************************************************
* /*************************************************************************/
* @macro: FT_CONFIG_CONFIG_H /* */
* /* @macro: */
* @description: /* FT_CONFIG_CONFIG_H */
* a macro used in #include statements to name the file containing /* */
* FreeType 2 configuration /* @description: */
*/ /* A macro used in #include statements to name the file containing */
/* FreeType 2 configuration data. */
/* */
#ifndef FT_CONFIG_CONFIG_H #ifndef FT_CONFIG_CONFIG_H
#define FT_CONFIG_CONFIG_H <freetype/config/ftconfig.h> #define FT_CONFIG_CONFIG_H <freetype/config/ftconfig.h>
#endif #endif
/*************************************************************************
* /*************************************************************************/
* @macro: FT_CONFIG_OPTIONS_H /* */
* /* @macro: */
* @description: /* FT_CONFIG_OPTIONS_H */
* a macro used in #include statements to name the file containing /* */
* FreeType 2 project-specific configuration options /* @description: */
*/ /* A macro used in #include statements to name the file containing */
/* FreeType 2 project-specific configuration options. */
/* */
#ifndef FT_CONFIG_OPTIONS_H #ifndef FT_CONFIG_OPTIONS_H
#define FT_CONFIG_OPTIONS_H <freetype/config/ftoption.h> #define FT_CONFIG_OPTIONS_H <freetype/config/ftoption.h>
#endif #endif
/*************************************************************************
* /*************************************************************************/
* @macro: FT_CONFIG_MODULES_H /* */
* /* @macro: */
* @description: /* FT_CONFIG_MODULES_H */
* a macro used in #include statements to name the file containing /* */
* the list of FreeType 2 modules that are statically linked to new /* @description: */
* library instances in @FT_Init_FreeType /* A macro used in #include statements to name the file containing */
*/ /* the list of FreeType 2 modules that are statically linked to new */
/* library instances in @FT_Init_FreeType. */
/* */
#ifndef FT_CONFIG_MODULES_H #ifndef FT_CONFIG_MODULES_H
#define FT_CONFIG_MODULES_H <freetype/config/ftmodule.h> #define FT_CONFIG_MODULES_H <freetype/config/ftmodule.h>
#endif #endif
/* public headers */ /* public headers */
/*************************************************************************
* /*************************************************************************/
* @macro: FT_FREETYPE_H /* */
* /* @macro: */
* @description: /* FT_FREETYPE_H */
* a macro used in #include statements to name the file containing /* */
* the base FreeType 2 API /* @description: */
*/ /* A macro used in #include statements to name the file containing */
#define FT_FREETYPE_H <freetype/freetype.h> /* the base FreeType 2 API. */
/* */
#define FT_FREETYPE_H <freetype/freetype.h>
/************************************************************************* /*************************************************************************/
* /* */
* @macro: FT_ERRORS_H /* @macro: */
* /* FT_ERRORS_H */
* @description: /* */
* a macro used in #include statements to name the file containing /* @description: */
* the list of FreeType 2 error codes (and messages). /* A macro used in #include statements to name the file containing */
* /* the list of FreeType 2 error codes (and messages). */
* it is included by @FT_FREETYPE_H /* */
*/ /* It is included by @FT_FREETYPE_H. */
#define FT_ERRORS_H <freetype/fterrors.h> /* */
#define FT_ERRORS_H <freetype/fterrors.h>
/*************************************************************************
*
* @macro: FT_SYSTEM_H
*
* @description:
* a macro used in #include statements to name the file containing
* the FreeType 2 interface to low-level operations (i.e. memory management
* and stream i/o)
*
* it is included by @FT_FREETYPE_H
*/
#define FT_SYSTEM_H <freetype/ftsystem.h>
/*************************************************************************
*
* @macro: FT_IMAGE_H
*
* @description:
* a macro used in #include statements to name the file containing
* types definitions related to glyph images (i.e. bitmaps, outlines,
* scan-converter parameters)
*
* it is included by @FT_FREETYPE_H
*/
#define FT_IMAGE_H <freetype/ftimage.h>
/*************************************************************************
*
* @macro: FT_TYPES_H
*
* @description:
* a macro used in #include statements to name the file containing
* the basic data types defined by FreeType 2
*
* it is included by @FT_FREETYPE_H
*/
#define FT_TYPES_H <freetype/fttypes.h>
/*************************************************************************
*
* @macro: FT_LIST_H
*
* @description:
* a macro used in #include statements to name the file containing
* the list management API of FreeType 2
*
* (most applications will never need to include this file)
*/
#define FT_LIST_H <freetype/ftlist.h>
/************************************************************************* /*************************************************************************/
* /* */
* @macro: FT_OUTLINE_H /* @macro: */
* /* FT_SYSTEM_H */
* @description: /* */
* a macro used in #include statements to name the file containing /* @description: */
* the scalable outline management API of FreeType 2 /* A macro used in #include statements to name the file containing */
*/ /* the FreeType 2 interface to low-level operations (i.e. memory */
#define FT_OUTLINE_H <freetype/ftoutln.h> /* management and stream i/o). */
/* */
/* It is included by @FT_FREETYPE_H. */
/* */
#define FT_SYSTEM_H <freetype/ftsystem.h>
/************************************************************************* /*************************************************************************/
* /* */
* @macro: FT_MODULE_H /* @macro: */
* /* FT_IMAGE_H */
* @description: /* */
* a macro used in #include statements to name the file containing /* @description: */
* the module management API of FreeType 2 /* A macro used in #include statements to name the file containing */
*/ /* types definitions related to glyph images (i.e. bitmaps, outlines, */
#define FT_MODULE_H <freetype/ftmodule.h> /* scan-converter parameters). */
/* */
/* It is included by @FT_FREETYPE_H. */
/* */
#define FT_IMAGE_H <freetype/ftimage.h>
/*************************************************************************
*
* @macro: FT_RENDER_H
*
* @description:
* a macro used in #include statements to name the file containing
* the renderer module management API of FreeType 2
*/
#define FT_RENDER_H <freetype/ftrender.h>
/************************************************************************* /*************************************************************************/
* /* */
* @macro: FT_TYPE1_TABLES_H /* @macro: */
* /* FT_TYPES_H */
* @description: /* */
* a macro used in #include statements to name the file containing /* @description: */
* the types and API specific to the Type 1 format. /* A macro used in #include statements to name the file containing */
*/ /* the basic data types defined by FreeType 2. */
#define FT_TYPE1_TABLES_H <freetype/t1tables.h> /* */
/* It is included by @FT_FREETYPE_H. */
/* */
#define FT_TYPES_H <freetype/fttypes.h>
/*************************************************************************
*
* @macro: FT_TRUETYPE_IDS_H
*
* @description:
* a macro used in #include statements to name the file containing
* the enumeration values used to identify name strings, languages,
* encodings, etc.. This file really contains a _large_ set of
* constant macro definitions, taken from the TrueType and OpenType
* specs..
*/
#define FT_TRUETYPE_IDS_H <freetype/ttnameid.h>
/************************************************************************* /*************************************************************************/
* /* */
* @macro: FT_TRUETYPE_TABLES_H /* @macro: */
* /* FT_LIST_H */
* @description: /* */
* a macro used in #include statements to name the file containing /* @description: */
* the types and API specific to the TrueType (as well as OpenType) format. /* A macro used in #include statements to name the file containing */
*/ /* the list management API of FreeType 2. */
#define FT_TRUETYPE_TABLES_H <freetype/tttables.h> /* */
/* (Most applications will never need to include this file.) */
/* */
#define FT_LIST_H <freetype/ftlist.h>
/*************************************************************************
*
* @macro: FT_TRUETYPE_TAGS_H
*
* @description:
* a macro used in #include statements to name the file containing
* the definitions of TrueType 4-byte "tags" used to identify blocks
* in SFNT-based font formats (i.e. TrueType and OpenType)
*/
#define FT_TRUETYPE_TAGS_H <freetype/tttags.h>
/************************************************************************* /*************************************************************************/
* /* */
* @macro: FT_GLYPH_H /* @macro: */
* /* FT_OUTLINE_H */
* @description: /* */
* a macro used in #include statements to name the file containing /* @description: */
* the API of the optional glyph management component. /* A macro used in #include statements to name the file containing */
*/ /* the scalable outline management API of FreeType 2. */
#define FT_GLYPH_H <freetype/ftglyph.h> /* */
#define FT_OUTLINE_H <freetype/ftoutln.h>
/*************************************************************************
*
* @macro: FT_BBOX_H
*
* @description:
* a macro used in #include statements to name the file containing
* the API of the optional exact bounding box computation routines
*/
#define FT_BBOX_H <freetype/ftbbox.h>
/************************************************************************* /*************************************************************************/
* /* */
* @macro: FT_CACHE_H /* @macro: */
* /* FT_MODULE_H */
* @description: /* */
* a macro used in #include statements to name the file containing /* @description: */
* the API of the optional FreeType 2 cache sub-system. /* A macro used in #include statements to name the file containing */
*/ /* the module management API of FreeType 2. */
#define FT_CACHE_H <freetype/ftcache.h> /* */
#define FT_MODULE_H <freetype/ftmodule.h>
/*************************************************************************
*
* @macro: FT_CACHE_IMAGE_H
*
* @description:
* a macro used in #include statements to name the file containing
* the "glyph image" API of the FreeType 2 cache sub-system
*
* it is used to define a cache for @FT_Glyph elements. You can also
* see the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need
* to store small glyph bitmaps, as it will use less memory
*/
#define FT_CACHE_IMAGE_H <freetype/cache/ftcimage.h>
/************************************************************************* /*************************************************************************/
* /* */
* @macro: FT_CACHE_SMALL_BITMAPS_H /* @macro: */
* /* FT_RENDER_H */
* @description: /* */
* a macro used in #include statements to name the file containing /* @description: */
* the "small bitmaps" API of the FreeType 2 cache sub-system /* A macro used in #include statements to name the file containing */
* /* the renderer module management API of FreeType 2. */
* it is used to define a cache for small glyph bitmaps in a relatively /* */
* memory-efficient way. You can also use the API defined in #define FT_RENDER_H <freetype/ftrender.h>
* @FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images, including
* scalable outlines.
*/
#define FT_CACHE_SMALL_BITMAPS_H <freetype/cache/ftcsbits.h>
/*************************************************************************
*
* @macro: FT_MAC_H
*
* @description:
* a macro used in #include statements to name the file containing
* the Macintosh-specific FreeType 2 API. The latter is used to
* access fonts embedded in resource forks..
*
* this header file must be explicitely included by client applications
* compiled on the Mac (note that the base API still works though)
*/
#define FT_MAC_H <freetype/ftmac.h>
/************************************************************************* /*************************************************************************/
* /* */
* @macro: FT_MULTIPLE_MASTERS_H /* @macro: */
* /* FT_TYPE1_TABLES_H */
* @description: /* */
* a macro used in #include statements to name the file containing /* @description: */
* the optional multiple-masters management API of FreeType 2 /* A macro used in #include statements to name the file containing */
*/ /* the types and API specific to the Type 1 format. */
/* */
#define FT_TYPE1_TABLES_H <freetype/t1tables.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_TRUETYPE_IDS_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the enumeration values used to identify name strings, languages, */
/* encodings, etc. This file really contains a _large_ set of */
/* constant macro definitions, taken from the TrueType and OpenType */
/* specifications. */
/* */
#define FT_TRUETYPE_IDS_H <freetype/ttnameid.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_TRUETYPE_TABLES_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the types and API specific to the TrueType (as well as OpenType) */
/* format. */
/* */
#define FT_TRUETYPE_TABLES_H <freetype/tttables.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_TRUETYPE_TAGS_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the definitions of TrueType 4-byte `tags' used to identify blocks */
/* in SFNT-based font formats (i.e. TrueType and OpenType). */
/* */
#define FT_TRUETYPE_TAGS_H <freetype/tttags.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_GLYPH_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the API of the optional glyph management component. */
/* */
#define FT_GLYPH_H <freetype/ftglyph.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_BBOX_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the API of the optional exact bounding box computation routines. */
/* */
#define FT_BBOX_H <freetype/ftbbox.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_CACHE_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the API of the optional FreeType 2 cache sub-system. */
/* */
#define FT_CACHE_H <freetype/ftcache.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_CACHE_IMAGE_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the `glyph image' API of the FreeType 2 cache sub-system. */
/* */
/* It is used to define a cache for @FT_Glyph elements. You can also */
/* see the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need */
/* to store small glyph bitmaps, as it will use less memory. */
/* */
#define FT_CACHE_IMAGE_H <freetype/cache/ftcimage.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_CACHE_SMALL_BITMAPS_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the `small bitmaps' API of the FreeType 2 cache sub-system. */
/* */
/* It is used to define a cache for small glyph bitmaps in a */
/* relatively memory-efficient way. You can also use the API defined */
/* in @FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images, */
/* including scalable outlines. */
/* */
#define FT_CACHE_SMALL_BITMAPS_H <freetype/cache/ftcsbits.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_MAC_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the Macintosh-specific FreeType 2 API. The latter is used to */
/* access fonts embedded in resource forks. */
/* */
/* This header file must be explicitly included by client */
/* applications compiled on the Mac (note that the base API still */
/* works though). */
/* */
#define FT_MAC_H <freetype/ftmac.h>
/*************************************************************************/
/* */
/* @macro: */
/* FT_MULTIPLE_MASTERS_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the optional multiple-masters management API of FreeType 2. */
/* */
#define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h> #define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h>
/*************************************************************************
*
* @macro: FT_SFNT_NAMES_H
*
* @description:
* a macro used in #include statements to name the file containing
* the optional FreeType 2 API used to access embedded "name" strings
* in SFNT-based font formats (i.e. TrueType and OpenType)
*/
#define FT_SFNT_NAMES_H <freetype/ftsnames.h>
/* */ /*************************************************************************/
/* */
/* @macro: */
/* FT_SFNT_NAMES_H */
/* */
/* @description: */
/* A macro used in #include statements to name the file containing */
/* the optional FreeType 2 API used to access embedded `name' strings */
/* in SFNT-based font formats (i.e. TrueType and OpenType). */
/* */
#define FT_SFNT_NAMES_H <freetype/ftsnames.h>
/* */
#define FT_SYNTHESIS_H <freetype/ftsynth.h> #define FT_SYNTHESIS_H <freetype/ftsynth.h>
@ -382,6 +433,7 @@
#define FT_CACHE_INTERNAL_CHUNK_H <freetype/cache/ftcchunk.h> #define FT_CACHE_INTERNAL_CHUNK_H <freetype/cache/ftcchunk.h>
/* now include internal headers definitions from <freetype/internal/...> */ /* now include internal headers definitions from <freetype/internal/...> */
#define FT_INTERNAL_INTERNAL_H <freetype/internal/internal.h> #define FT_INTERNAL_INTERNAL_H <freetype/internal/internal.h>
#include FT_INTERNAL_INTERNAL_H #include FT_INTERNAL_INTERNAL_H

View File

@ -276,9 +276,9 @@ FT_BEGIN_HEADER
/* FT_Offset */ /* FT_Offset */
/* */ /* */
/* <Description> */ /* <Description> */
/* This is equivalent to the ANSI C "size_t" type, i.e. it's the */ /* This is equivalent to the ANSI C `size_t' type, i.e. the largest */
/* largest _unsigned_ integer type used to express a file size or */ /* _unsigned_ integer type used to express a file size or position, */
/* position, or a memory block size. */ /* or a memory block size. */
/* */ /* */
typedef size_t FT_Offset; typedef size_t FT_Offset;
@ -289,7 +289,7 @@ FT_BEGIN_HEADER
/* FT_PtrDist */ /* FT_PtrDist */
/* */ /* */
/* <Description> */ /* <Description> */
/* This is equivalent to the ANSI C "ptrdiff_t" type, i.e. the */ /* This is equivalent to the ANSI C `ptrdiff_t' type, i.e. the */
/* largest _signed_ integer type used to express the distance */ /* largest _signed_ integer type used to express the distance */
/* between two pointers. */ /* between two pointers. */
/* */ /* */

View File

@ -2079,10 +2079,10 @@
} }
FT_EXPORT_DEF(FT_Error) FT_EXPORT_DEF( FT_Error ) FT_Render_Glyph_Internal(
FT_Render_Glyph_Internal( FT_Library library, FT_Library library,
FT_GlyphSlot slot, FT_GlyphSlot slot,
FT_UInt render_mode ) FT_UInt render_mode )
{ {
FT_Error error = FT_Err_Ok; FT_Error error = FT_Err_Ok;
FT_Renderer renderer; FT_Renderer renderer;

View File

@ -225,14 +225,15 @@
FT_Pointer buffer, FT_Pointer buffer,
FT_UInt buffer_max ) FT_UInt buffer_max )
{ {
CFF_Font* font = (CFF_Font*)face->extra.data; CFF_Font* font = (CFF_Font*)face->extra.data;
FT_Memory memory = FT_FACE_MEMORY(face); FT_Memory memory = FT_FACE_MEMORY(face);
FT_String* gname; FT_String* gname;
FT_UShort sid; FT_UShort sid;
PSNames_Interface* psnames; PSNames_Interface* psnames;
FT_Error error; FT_Error error;
psnames = (PSNames_Interface*)FT_Get_Module_Interface( face->root.driver->root.library, "psnames" ); psnames = (PSNames_Interface*)FT_Get_Module_Interface(
face->root.driver->root.library, "psnames" );
if ( !psnames ) if ( !psnames )
{ {
@ -255,7 +256,7 @@
FT_UInt len = strlen( gname ); FT_UInt len = strlen( gname );
if (len >= buffer_max) if ( len >= buffer_max )
len = buffer_max - 1; len = buffer_max - 1;
MEM_Copy( buffer, gname, len ); MEM_Copy( buffer, gname, len );
@ -269,6 +270,7 @@
return error; return error;
} }
/*************************************************************************/ /*************************************************************************/
/* */ /* */
/* <Function> */ /* <Function> */

View File

@ -1066,7 +1066,6 @@
case cff_op_hintmask: case cff_op_hintmask:
case cff_op_cntrmask: case cff_op_cntrmask:
FT_TRACE4(( op == cff_op_hintmask ? " hintmask" FT_TRACE4(( op == cff_op_hintmask ? " hintmask"
: " cntrmask" )); : " cntrmask" ));
@ -1078,7 +1077,9 @@
FT_TRACE4(( " " )); FT_TRACE4(( " " ));
for ( maskbyte = 0; maskbyte < ( decoder->num_hints + 7 ) >> 3 ; maskbyte++, ip++ ) for ( maskbyte = 0;
maskbyte < ( decoder->num_hints + 7 ) >> 3;
maskbyte++, ip++ )
{ {
FT_TRACE4(( "%02X", *ip )); FT_TRACE4(( "%02X", *ip ));
} }
@ -1839,10 +1840,8 @@
goto Unimplemented; goto Unimplemented;
case cff_op_dotsection: case cff_op_dotsection:
{ /* this operator is deprecated and ignored by the parser */
/* this operator is deprecated and ignored by the parser */ FT_TRACE4(( " dotsection" ));
FT_TRACE4(( " dotsection" ));
}
break; break;
case cff_op_and: case cff_op_and:

View File

@ -8,7 +8,7 @@
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */ /* */
/* This file is part of the FreeType project, and may only be used, */ /* This file is part of the FreeType project, and may only be used, */
/* modified, and xdistributed under the terms of the FreeType project */ /* modified, and distributed under the terms of the FreeType project */
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
/* this file you indicate that you have read the license and */ /* this file you indicate that you have read the license and */
/* understand and accept it fully. */ /* understand and accept it fully. */

View File

@ -388,8 +388,8 @@
/* set global bbox, as well as EM size */ /* set global bbox, as well as EM size */
root->bbox = dict->font_bbox; root->bbox = dict->font_bbox;
root->ascender = (FT_Short)(root->bbox.yMax >> 16); root->ascender = (FT_Short)( root->bbox.yMax >> 16 );
root->descender = (FT_Short)(root->bbox.yMin >> 16); root->descender = (FT_Short)( root->bbox.yMin >> 16 );
root->height = ( ( root->ascender - root->descender ) * 12 ) / 10; root->height = ( ( root->ascender - root->descender ) * 12 ) / 10;
if ( dict->units_per_em ) if ( dict->units_per_em )

View File

@ -339,7 +339,7 @@
temp = ABS( matrix->yy ); temp = ABS( matrix->yy );
*upm = (FT_UShort)( FT_DivFix( 0x10000L, *upm = (FT_UShort)( FT_DivFix( 0x10000L,
FT_DivFix( temp, 1000 ) ) >> 16 ); FT_DivFix( temp, 1000 ) ) >> 16 );
if ( temp != 0x10000L ) if ( temp != 0x10000L )
{ {

View File

@ -225,8 +225,8 @@
if ( !root->units_per_EM ) if ( !root->units_per_EM )
root->units_per_EM = 1000; root->units_per_EM = 1000;
root->ascender = (FT_Short)(face->cid.font_bbox.yMax >> 16); root->ascender = (FT_Short)( face->cid.font_bbox.yMax >> 16 );
root->descender = (FT_Short)(face->cid.font_bbox.yMin >> 16); root->descender = (FT_Short)( face->cid.font_bbox.yMin >> 16 );
root->height = ( ( root->ascender + root->descender ) * 12 ) root->height = ( ( root->ascender + root->descender ) * 12 )
/ 10; / 10;

View File

@ -981,10 +981,10 @@ THE SOFTWARE.
yres = find_property( face, "RESOLUTION_Y" ); yres = find_property( face, "RESOLUTION_Y" );
if ( ( xres != NULL ) && ( yres != NULL ) ) if ( ( xres != NULL ) && ( yres != NULL ) )
{ {
root->available_sizes->width = (FT_Short) root->available_sizes->width =
(prop->value.integer * 75 / xres->value.integer); (FT_Short)( prop->value.integer * 75 / xres->value.integer );
root->available_sizes->height = (FT_Short) root->available_sizes->height =
(prop->value.integer * 75 / yres->value.integer); (FT_Short)( prop->value.integer * 75 / yres->value.integer );
} }
} }
else else

View File

@ -268,20 +268,19 @@
root->num_fixed_sizes = 0; root->num_fixed_sizes = 0;
root->available_sizes = 0; root->available_sizes = 0;
root->bbox = face->type1.font_bbox; root->bbox = face->type1.font_bbox;
/* Set units_per_EM if we didn't set it in parse_font_matrix. */ /* Set units_per_EM if we didn't set it in parse_font_matrix. */
if ( !root->units_per_EM ) if ( !root->units_per_EM )
root->units_per_EM = 1000; root->units_per_EM = 1000;
root->ascender = (FT_Short)(face->type1.font_bbox.yMax >> 16); root->ascender = (FT_Short)( face->type1.font_bbox.yMax >> 16 );
root->descender = (FT_Short)(face->type1.font_bbox.yMin >> 16); root->descender = (FT_Short)( face->type1.font_bbox.yMin >> 16 );
root->height = ( ( root->ascender - root->descender ) * 12 ) / 10; root->height = ( ( root->ascender - root->descender ) * 12 ) / 10;
/* now compute the maximum advance width */ /* now compute the maximum advance width */
root->max_advance_width =
(FT_Short)( face->type1.font_bbox.xMax >> 16 );
root->max_advance_width = (FT_Short)(face->type1.font_bbox.xMax >> 16);
{ {
FT_Int max_advance; FT_Int max_advance;