From 521a2d7a13afd210283a8e071b44a881ed9bc38f Mon Sep 17 00:00:00 2001 From: Werner Lemberg Date: Tue, 20 Mar 2001 22:58:56 +0000 Subject: [PATCH] * 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 . 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 . * 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 --- ChangeLog | 83 ++-- INSTALL | 12 +- builds/win32/detect.mk | 4 +- docs/BUILD | 28 +- docs/docmaker.py | 13 +- include/freetype/config/ftheader.h | 610 ++++++++++++++++------------- include/freetype/fttypes.h | 8 +- src/base/ftobjs.c | 8 +- src/cff/cffdrivr.c | 8 +- src/cff/cffgload.c | 11 +- src/cff/cffload.c | 2 +- src/cff/cffobjs.c | 4 +- src/cff/cffparse.c | 2 +- src/cid/cidobjs.c | 4 +- src/pcf/pcfread.c | 8 +- src/type1/t1objs.c | 13 +- 16 files changed, 439 insertions(+), 379 deletions(-) diff --git a/ChangeLog b/ChangeLog index a960b28ae..1b1759f84 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,25 +1,32 @@ -2001-03-20 David Turner +2001-03-20 Werner Lemberg + + * builds/win32/detekt.mk: Fix .PHONY target for Intel compiler. + +2001-03-20 David Turner * 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 - compilation process has changed slightly (no more 'src' required in + * INSTALL, docs/BUILD: Updated documentation to indicate that the + compilation process has changed slightly (no more `src' required in 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 - FT_SOURCE_FILE, etc.. and added cache-specific macro definitions that - were previously defined in . 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 added its own directory to the include path at compile time. - Modified all "rules.mk" and "descrip.mms" accordingly.. + * include/freetype/config/ftheader.h: Removed obsolete macros like + FT_SOURCE_FILE, etc. and added cache-specific macro definitions that + were previously defined in . 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. 2001-03-20 Werner Lemberg @@ -36,19 +43,19 @@ * src/cff/cffparse.c (cff_parse_font_bbox): Assign the units per em value an unsigned short value, first by shifting right 16 bits, then by casting the results to FT_UShort. - + 2001-03-17 David Turner - * 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.. + * 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 + * include/config/ft2build.h, include/config/ftheader.h: The file "ft2build.h" was renamed to "ftheader.h" to avoid conflicts with the - top-level - - * include/config/ftheader.h: added new section describing the #include - macros.. + top-level . + + * include/config/ftheader.h: Added new section describing the #include + macros. 2001-03-17 Tom Kacvinsky @@ -64,7 +71,7 @@ * src/cff/cffdrivr.c (get_cff_glyph_name): New function. Used in cff_get_interface to facilitate getting a glyph name for glyph index via FT_Get_Glyph_Name(). - + (cff_get_interface): Added support for getting a glyph name via the "glyph_name" module interface. Uses the new function get_cff_glyph_name(). @@ -75,7 +82,7 @@ not defined. This is to add support for getting a glyph name from a glyph index via FT_Get_Glyph_Name(). Submitted by Sander van der Wal - + * src/cff/cffgload.c (CFF_Parse_CharStrings): Added support for deprecated operator "dotsection". Submitted by Sander van der Wal @@ -150,7 +157,7 @@ 2001-03-05 Tom Kacvinsky * 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 . 2001-03-04 Antoine Leca @@ -304,7 +311,7 @@ 2001-01-11 David Turner - * 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. 2001-01-10 Werner Lemberg @@ -332,7 +339,7 @@ 2001-01-03 Tom Kacvinsky * src/cff/rules.mk: Use cffgload.{c,h} instead of t2gload.{c,h}. - + * include/freetype/internal/internal.h: Changed to use cfftypes.h (cfferrs.h) instead of t2types.h (t2errors.h, respectively). @@ -354,7 +361,7 @@ * src/cff/t2gload.h: Renamed cffgload.h. * src/cff/t2gload.c: Renamed cffgload.c - + 2000-01-02 Jouk Jansen * builds/vms: Support files for VMS architecture added. @@ -398,7 +405,7 @@ * src/cff/t2gload.c (t2_lookup_glyph_by_stdcharcode, 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 operator. @@ -406,13 +413,13 @@ CFF_Done_Encoding, CFF_Done_Charset): Extended to load and parse the charset/encoding tables, and free the memory used by them when the CFF driver is finished with them. Added tables - + cff_isoadobe_charset cff_expert_charset cff_expertsubset_charset cff_standard_encoding cff_expert_encoding - + so that the encoding/charset parser can handle predefined encodings and charsets. @@ -433,7 +440,7 @@ 2000-12-21 David Turner - * 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 :-) 2000-12-21 Tom Kacvinsky @@ -459,7 +466,7 @@ 2000-12-14 David Turner - 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. * include/freetype/fttypes.h, include/freetype/ftimage.h: Move @@ -468,7 +475,7 @@ FT_Raster_Flag enumeration. Add `clip_box' element to FT_Raster_Params structure. * src/smooth/ftgrays.c (grays_convert_glyph): Implement it. - + * INSTALL: Updated installation instructions on Win32, listing the new "make setup list" target used to list supported compilers/targets. @@ -483,7 +490,7 @@ 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 though everything compiles now. - + * builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files. * builds/win32/detect.mk: Added support for the Intel C/C++ @@ -759,13 +766,13 @@ 2000-11-22 Tom Kacvinsky - * 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' to 1000. * src/cff/t2parse.c (parse_t2_real): Fixed real number parsing loop. - + * src/cff/t2load.c (T2_Get_String): Called T2_Get_Name with a sid that was off by one. diff --git a/INSTALL b/INSTALL index 3365022d5..07c2641b6 100644 --- a/INSTALL +++ b/INSTALL @@ -60,14 +60,14 @@ I. From the command line II. In your own environment (IDE) --------------------------------- - You need to add the directories "freetype2/include" to - your include path when compiling the library. + 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, 'freetype2/src/truetype/' - contains the TrueType font driver. + FreeType 2 is made of several components; each one 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: + DO NOT COMPILE ALL C FILES! Rather, compile the following ones: -- base components (required) diff --git a/builds/win32/detect.mk b/builds/win32/detect.mk index 54d0a7366..c28d67f96 100644 --- a/builds/win32/detect.mk +++ b/builds/win32/detect.mk @@ -86,12 +86,12 @@ ifeq ($(PLATFORM),win32) .PHONY: visualc endif - ifneq ($(findstring intelc,$(MAKECMDGOALS)),) # Intel C/C++ + ifneq ($(findstring intelc,$(MAKECMDGOALS)),) # Intel C/C++ CONFIG_FILE := w32-intl.mk SEP := $(BACKSLASH) CC := cl visualc: setup - .PHONY: visualc + .PHONY: intelc endif ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++ diff --git a/docs/BUILD b/docs/BUILD index 422325224..7bf70bf1e 100644 --- a/docs/BUILD +++ b/docs/BUILD @@ -13,8 +13,8 @@ instructions on how to compile the library on your favorite platform. I. QUICK COMMAND-LINE GUIDE --------------------------- - THE FOLLOWING WILL ONLY WORK WITH GNU MAKE, IT WILL FAIL MISERABLY - WITH OTHER MAKE TOOLS, FOR EXAMPLE "BSD MAKE".. + THE FOLLOWING WILL ONLY WORK WITH GNU MAKE, IT WILL FAIL MISERABLY + WITH OTHER MAKE TOOLS, FOR EXAMPLE "BSD MAKE". Install GNU Make (version 3.78.1 or newer), then try the following 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 *fail*. - NEARLY ALL OTHER MAKE TOOLS WILL FAIL, INCLUDING "BSD MAKE", SO REALLY - INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM !! + 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 typing something like: @@ -72,7 +72,7 @@ II. COMMAND-LINE COMPILATION to display its version number. - VERSION 3.78.1 OR NEWER IS NEEDED !!. + VERSION 3.78.1 OR NEWER IS NEEDED! b. Invoke `make' @@ -208,7 +208,7 @@ III. DETAILED COMPILATION PROCEDURE src/truetype/truetype.c - the TrueType 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. To compile one component, do the following: @@ -216,18 +216,18 @@ III. DETAILED COMPILATION PROCEDURE - Add the top-level `include' directory to your compilation include path - - Add the `src/' directory to your compilation include path, - or simply 'cd' to the component's source directory + - Add the `src/' directory to your compilation include + path, or simply `cd' to the component's source directory. - Compile the component `source' file (see list below); you don't - need to be in the component's directory if you added `src/' - to your include path.. + need to be in the component's directory if you added + `src/' to your include path. For example, the following line can be used to compile the truetype driver on Unix: cd freetype2/ - cc -c -Iinclude -Isrc/truetype src/truetype/truetype.c + cc -c -Iinclude -Isrc/truetype src/truetype/truetype.c Alternatively: @@ -252,7 +252,7 @@ III. DETAILED COMPILATION PROCEDURE 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. 1. Copy all files in current directory: @@ -270,7 +270,7 @@ IV. Support for flat-directory compilation 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 file diff --git a/docs/docmaker.py b/docs/docmaker.py index 43786e849..067e162b4 100644 --- a/docs/docmaker.py +++ b/docs/docmaker.py @@ -901,12 +901,13 @@ class DocSectionList: # provide a new one. # if abstract: - section.block.print_error( "duplicate section definition for " + - "'" + name + "'\n" + - "previous definition in " + - "'" + section.block.location() + "'\n" + - "second definition in " + - "'" + block.location() + "'" ) + section.block.print_error( + "duplicate section definition for " + + "'" + name + "'\n" + + "previous definition in " + + "'" + section.block.location() + "'\n" + + "second definition in " + + "'" + block.location() + "'" ) else: # The old section didn't contain an abstract; we are # now going to replace it. diff --git a/include/freetype/config/ftheader.h b/include/freetype/config/ftheader.h index a7cddb3a4..917f1c88e 100644 --- a/include/freetype/config/ftheader.h +++ b/include/freetype/config/ftheader.h @@ -60,318 +60,369 @@ /* */ /*************************************************************************/ -/************************************************************************* - * - *
header_file_macros - * - * Header File Macros - * - * <Abstract> - * Macro definitions used to #include specific header files - * - * <Description> - * The following macros are defined to the name of specific FreeType 2 - * header files. They can be used directly in #include statements as in: - * - * { - * #include FT_FREETYPE_H - * #include FT_MULTIPLE_MASTERS_H - * #include FT_GLYPH_H - * } - * - * there are several reasons why we're now using macros to name - * 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") - * - * The second reason is that is allows for more flexibility in the way - * FreeType 2 is installed on a given system.. - * - */ + /*************************************************************************/ + /* */ + /* <Section> */ + /* header_file_macros */ + /* */ + /* <Title> */ + /* Header File Macros */ + /* */ + /* <Abstract> */ + /* Macro definitions used to #include specific header files. */ + /* */ + /* <Description> */ + /* The following macros are defined to the name of specific */ + /* FreeType 2 header files. They can be used directly in #include */ + /* statements as in: */ + /* */ + /* { */ + /* #include FT_FREETYPE_H */ + /* #include FT_MULTIPLE_MASTERS_H */ + /* #include FT_GLYPH_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 */ + /* limited to the infamous 8.3 naming rule required by DOS (and */ + /* `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 */ -/************************************************************************* - * - * @macro: FT_CONFIG_CONFIG_H - * - * @description: - * a macro used in #include statements to name the file containing - * FreeType 2 configuration - */ + + /*************************************************************************/ + /* */ + /* @macro: */ + /* FT_CONFIG_CONFIG_H */ + /* */ + /* @description: */ + /* A macro used in #include statements to name the file containing */ + /* FreeType 2 configuration data. */ + /* */ #ifndef FT_CONFIG_CONFIG_H -#define FT_CONFIG_CONFIG_H <freetype/config/ftconfig.h> +#define FT_CONFIG_CONFIG_H <freetype/config/ftconfig.h> #endif -/************************************************************************* - * - * @macro: FT_CONFIG_OPTIONS_H - * - * @description: - * a macro used in #include statements to name the file containing - * FreeType 2 project-specific configuration options - */ + + /*************************************************************************/ + /* */ + /* @macro: */ + /* FT_CONFIG_OPTIONS_H */ + /* */ + /* @description: */ + /* A macro used in #include statements to name the file containing */ + /* FreeType 2 project-specific configuration options. */ + /* */ #ifndef FT_CONFIG_OPTIONS_H -#define FT_CONFIG_OPTIONS_H <freetype/config/ftoption.h> +#define FT_CONFIG_OPTIONS_H <freetype/config/ftoption.h> #endif -/************************************************************************* - * - * @macro: FT_CONFIG_MODULES_H - * - * @description: - * 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 - */ + + /*************************************************************************/ + /* */ + /* @macro: */ + /* FT_CONFIG_MODULES_H */ + /* */ + /* @description: */ + /* 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 -#define FT_CONFIG_MODULES_H <freetype/config/ftmodule.h> +#define FT_CONFIG_MODULES_H <freetype/config/ftmodule.h> #endif /* public headers */ -/************************************************************************* - * - * @macro: FT_FREETYPE_H - * - * @description: - * a macro used in #include statements to name the file containing - * the base FreeType 2 API - */ -#define FT_FREETYPE_H <freetype/freetype.h> + + /*************************************************************************/ + /* */ + /* @macro: */ + /* FT_FREETYPE_H */ + /* */ + /* @description: */ + /* A macro used in #include statements to name the file containing */ + /* the base FreeType 2 API. */ + /* */ +#define FT_FREETYPE_H <freetype/freetype.h> -/************************************************************************* - * - * @macro: FT_ERRORS_H - * - * @description: - * 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 - */ -#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_ERRORS_H */ + /* */ + /* @description: */ + /* 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. */ + /* */ +#define FT_ERRORS_H <freetype/fterrors.h> -/************************************************************************* - * - * @macro: FT_OUTLINE_H - * - * @description: - * a macro used in #include statements to name the file containing - * the scalable outline management API of FreeType 2 - */ -#define FT_OUTLINE_H <freetype/ftoutln.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_MODULE_H - * - * @description: - * a macro used in #include statements to name the file containing - * the module management API of FreeType 2 - */ -#define FT_MODULE_H <freetype/ftmodule.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_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 - * - * @description: - * 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_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_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 - * - * @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_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_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_OUTLINE_H */ + /* */ + /* @description: */ + /* A macro used in #include statements to name the file containing */ + /* the scalable outline management API of FreeType 2. */ + /* */ +#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 - * - * @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_MODULE_H */ + /* */ + /* @description: */ + /* A macro used in #include statements to name the file containing */ + /* the module management API of FreeType 2. */ + /* */ +#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 - * - * @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_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_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 - * - * @description: - * a macro used in #include statements to name the file containing - * the optional multiple-masters management API of FreeType 2 - */ + /*************************************************************************/ + /* */ + /* @macro: */ + /* FT_TYPE1_TABLES_H */ + /* */ + /* @description: */ + /* 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> -/************************************************************************* - * - * @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> @@ -382,6 +433,7 @@ #define FT_CACHE_INTERNAL_CHUNK_H <freetype/cache/ftcchunk.h> /* now include internal headers definitions from <freetype/internal/...> */ + #define FT_INTERNAL_INTERNAL_H <freetype/internal/internal.h> #include FT_INTERNAL_INTERNAL_H diff --git a/include/freetype/fttypes.h b/include/freetype/fttypes.h index 9f80951c7..32de95f31 100644 --- a/include/freetype/fttypes.h +++ b/include/freetype/fttypes.h @@ -276,9 +276,9 @@ FT_BEGIN_HEADER /* FT_Offset */ /* */ /* <Description> */ - /* This is equivalent to the ANSI C "size_t" type, i.e. it's the */ - /* largest _unsigned_ integer type used to express a file size or */ - /* position, or a memory block size. */ + /* This is equivalent to the ANSI C `size_t' type, i.e. the largest */ + /* _unsigned_ integer type used to express a file size or position, */ + /* or a memory block size. */ /* */ typedef size_t FT_Offset; @@ -289,7 +289,7 @@ FT_BEGIN_HEADER /* FT_PtrDist */ /* */ /* <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 */ /* between two pointers. */ /* */ diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c index 03fe64e10..ecd99af01 100644 --- a/src/base/ftobjs.c +++ b/src/base/ftobjs.c @@ -2079,10 +2079,10 @@ } - FT_EXPORT_DEF(FT_Error) - FT_Render_Glyph_Internal( FT_Library library, - FT_GlyphSlot slot, - FT_UInt render_mode ) + FT_EXPORT_DEF( FT_Error ) FT_Render_Glyph_Internal( + FT_Library library, + FT_GlyphSlot slot, + FT_UInt render_mode ) { FT_Error error = FT_Err_Ok; FT_Renderer renderer; diff --git a/src/cff/cffdrivr.c b/src/cff/cffdrivr.c index a3b2284ea..108228024 100644 --- a/src/cff/cffdrivr.c +++ b/src/cff/cffdrivr.c @@ -225,14 +225,15 @@ FT_Pointer buffer, 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_String* gname; FT_UShort sid; PSNames_Interface* psnames; 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 ) { @@ -255,7 +256,7 @@ FT_UInt len = strlen( gname ); - if (len >= buffer_max) + if ( len >= buffer_max ) len = buffer_max - 1; MEM_Copy( buffer, gname, len ); @@ -269,6 +270,7 @@ return error; } + /*************************************************************************/ /* */ /* <Function> */ diff --git a/src/cff/cffgload.c b/src/cff/cffgload.c index e60203436..4850e3dd0 100644 --- a/src/cff/cffgload.c +++ b/src/cff/cffgload.c @@ -1066,7 +1066,6 @@ case cff_op_hintmask: case cff_op_cntrmask: - FT_TRACE4(( op == cff_op_hintmask ? " hintmask" : " cntrmask" )); @@ -1078,7 +1077,9 @@ 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 )); } @@ -1839,10 +1840,8 @@ goto Unimplemented; case cff_op_dotsection: - { - /* this operator is deprecated and ignored by the parser */ - FT_TRACE4(( " dotsection" )); - } + /* this operator is deprecated and ignored by the parser */ + FT_TRACE4(( " dotsection" )); break; case cff_op_and: diff --git a/src/cff/cffload.c b/src/cff/cffload.c index 2dd072836..beb741e7b 100644 --- a/src/cff/cffload.c +++ b/src/cff/cffload.c @@ -8,7 +8,7 @@ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* 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 */ /* this file you indicate that you have read the license and */ /* understand and accept it fully. */ diff --git a/src/cff/cffobjs.c b/src/cff/cffobjs.c index 2fac114af..80a831681 100644 --- a/src/cff/cffobjs.c +++ b/src/cff/cffobjs.c @@ -388,8 +388,8 @@ /* set global bbox, as well as EM size */ root->bbox = dict->font_bbox; - root->ascender = (FT_Short)(root->bbox.yMax >> 16); - root->descender = (FT_Short)(root->bbox.yMin >> 16); + root->ascender = (FT_Short)( root->bbox.yMax >> 16 ); + root->descender = (FT_Short)( root->bbox.yMin >> 16 ); root->height = ( ( root->ascender - root->descender ) * 12 ) / 10; if ( dict->units_per_em ) diff --git a/src/cff/cffparse.c b/src/cff/cffparse.c index da53be53f..94f2b82fc 100644 --- a/src/cff/cffparse.c +++ b/src/cff/cffparse.c @@ -339,7 +339,7 @@ temp = ABS( matrix->yy ); *upm = (FT_UShort)( FT_DivFix( 0x10000L, - FT_DivFix( temp, 1000 ) ) >> 16 ); + FT_DivFix( temp, 1000 ) ) >> 16 ); if ( temp != 0x10000L ) { diff --git a/src/cid/cidobjs.c b/src/cid/cidobjs.c index 4fe8c29c5..a191ceca9 100644 --- a/src/cid/cidobjs.c +++ b/src/cid/cidobjs.c @@ -225,8 +225,8 @@ if ( !root->units_per_EM ) root->units_per_EM = 1000; - root->ascender = (FT_Short)(face->cid.font_bbox.yMax >> 16); - root->descender = (FT_Short)(face->cid.font_bbox.yMin >> 16); + root->ascender = (FT_Short)( face->cid.font_bbox.yMax >> 16 ); + root->descender = (FT_Short)( face->cid.font_bbox.yMin >> 16 ); root->height = ( ( root->ascender + root->descender ) * 12 ) / 10; diff --git a/src/pcf/pcfread.c b/src/pcf/pcfread.c index 0b7d35868..ca38ca731 100644 --- a/src/pcf/pcfread.c +++ b/src/pcf/pcfread.c @@ -981,10 +981,10 @@ THE SOFTWARE. yres = find_property( face, "RESOLUTION_Y" ); if ( ( xres != NULL ) && ( yres != NULL ) ) { - root->available_sizes->width = (FT_Short) - (prop->value.integer * 75 / xres->value.integer); - root->available_sizes->height = (FT_Short) - (prop->value.integer * 75 / yres->value.integer); + root->available_sizes->width = + (FT_Short)( prop->value.integer * 75 / xres->value.integer ); + root->available_sizes->height = + (FT_Short)( prop->value.integer * 75 / yres->value.integer ); } } else diff --git a/src/type1/t1objs.c b/src/type1/t1objs.c index bb8d69fd9..fedd93ed6 100644 --- a/src/type1/t1objs.c +++ b/src/type1/t1objs.c @@ -268,20 +268,19 @@ root->num_fixed_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. */ if ( !root->units_per_EM ) root->units_per_EM = 1000; - root->ascender = (FT_Short)(face->type1.font_bbox.yMax >> 16); - root->descender = (FT_Short)(face->type1.font_bbox.yMin >> 16); - root->height = ( ( root->ascender - root->descender ) * 12 ) / 10; + root->ascender = (FT_Short)( face->type1.font_bbox.yMax >> 16 ); + root->descender = (FT_Short)( face->type1.font_bbox.yMin >> 16 ); + root->height = ( ( root->ascender - root->descender ) * 12 ) / 10; /* 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;