updated freetype to 2.3.7

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26495 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval
2008-07-19 10:41:42 +00:00
parent 1ef720e9b1
commit 82e3aced80
45 changed files with 934 additions and 815 deletions
@@ -74,7 +74,7 @@
/* */ /* */
/* <Description> */ /* <Description> */
/* The following macros are defined to the name of specific */ /* The following macros are defined to the name of specific */
/* FreeType 2 header files. They can be used directly in #include */ /* FreeType~2 header files. They can be used directly in #include */
/* statements as in: */ /* statements as in: */
/* */ /* */
/* { */ /* { */
@@ -85,11 +85,11 @@
/* */ /* */
/* There are several reasons why we are now using macros to name */ /* There are several reasons why we are now using macros to name */
/* public header files. The first one is that such macros are not */ /* public header files. The first one is that such macros are not */
/* limited to the infamous 8.3 naming rule required by DOS (and */ /* limited to the infamous 8.3~naming rule required by DOS (and */
/* `FT_MULTIPLE_MASTERS_H' is a lot more meaningful than `ftmm.h'). */ /* `FT_MULTIPLE_MASTERS_H' is a lot more meaningful than `ftmm.h'). */
/* */ /* */
/* The second reason is that it allows for more flexibility in the */ /* The second reason is that it allows for more flexibility in the */
/* way FreeType 2 is installed on a given system. */ /* way FreeType~2 is installed on a given system. */
/* */ /* */
/*************************************************************************/ /*************************************************************************/
@@ -103,7 +103,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing * A macro used in #include statements to name the file containing
* FreeType 2 configuration data. * FreeType~2 configuration data.
* *
*/ */
#ifndef FT_CONFIG_CONFIG_H #ifndef FT_CONFIG_CONFIG_H
@@ -118,7 +118,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing * A macro used in #include statements to name the file containing
* FreeType 2 interface to the standard C library functions. * FreeType~2 interface to the standard C library functions.
* *
*/ */
#ifndef FT_CONFIG_STANDARD_LIBRARY_H #ifndef FT_CONFIG_STANDARD_LIBRARY_H
@@ -133,7 +133,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing * A macro used in #include statements to name the file containing
* FreeType 2 project-specific configuration options. * FreeType~2 project-specific configuration options.
* *
*/ */
#ifndef FT_CONFIG_OPTIONS_H #ifndef FT_CONFIG_OPTIONS_H
@@ -148,7 +148,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* list of FreeType 2 modules that are statically linked to new library * list of FreeType~2 modules that are statically linked to new library
* instances in @FT_Init_FreeType. * instances in @FT_Init_FreeType.
* *
*/ */
@@ -167,7 +167,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* base FreeType 2 API. * base FreeType~2 API.
* *
*/ */
#define FT_FREETYPE_H <freetype/freetype.h> #define FT_FREETYPE_H <freetype/freetype.h>
@@ -180,7 +180,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* list of FreeType 2 error codes (and messages). * list of FreeType~2 error codes (and messages).
* *
* It is included by @FT_FREETYPE_H. * It is included by @FT_FREETYPE_H.
* *
@@ -195,7 +195,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* list of FreeType 2 module error offsets (and messages). * list of FreeType~2 module error offsets (and messages).
* *
*/ */
#define FT_MODULE_ERRORS_H <freetype/ftmoderr.h> #define FT_MODULE_ERRORS_H <freetype/ftmoderr.h>
@@ -208,7 +208,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* FreeType 2 interface to low-level operations (i.e., memory management * FreeType~2 interface to low-level operations (i.e., memory management
* and stream i/o). * and stream i/o).
* *
* It is included by @FT_FREETYPE_H. * It is included by @FT_FREETYPE_H.
@@ -240,7 +240,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* basic data types defined by FreeType 2. * basic data types defined by FreeType~2.
* *
* It is included by @FT_FREETYPE_H. * It is included by @FT_FREETYPE_H.
* *
@@ -255,7 +255,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* list management API of FreeType 2. * list management API of FreeType~2.
* *
* (Most applications will never need to include this file.) * (Most applications will never need to include this file.)
* *
@@ -270,7 +270,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* scalable outline management API of FreeType 2. * scalable outline management API of FreeType~2.
* *
*/ */
#define FT_OUTLINE_H <freetype/ftoutln.h> #define FT_OUTLINE_H <freetype/ftoutln.h>
@@ -296,7 +296,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* module management API of FreeType 2. * module management API of FreeType~2.
* *
*/ */
#define FT_MODULE_H <freetype/ftmodapi.h> #define FT_MODULE_H <freetype/ftmodapi.h>
@@ -309,7 +309,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* renderer module management API of FreeType 2. * renderer module management API of FreeType~2.
* *
*/ */
#define FT_RENDER_H <freetype/ftrender.h> #define FT_RENDER_H <freetype/ftrender.h>
@@ -322,7 +322,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* types and API specific to the Type 1 format. * types and API specific to the Type~1 format.
* *
*/ */
#define FT_TYPE1_TABLES_H <freetype/t1tables.h> #define FT_TYPE1_TABLES_H <freetype/t1tables.h>
@@ -483,7 +483,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* API of the optional FreeType 2 cache sub-system. * API of the optional FreeType~2 cache sub-system.
* *
*/ */
#define FT_CACHE_H <freetype/ftcache.h> #define FT_CACHE_H <freetype/ftcache.h>
@@ -496,7 +496,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* `glyph image' API of the FreeType 2 cache sub-system. * `glyph image' API of the FreeType~2 cache sub-system.
* *
* It is used to define a cache for @FT_Glyph elements. You can also * It is used to define a cache for @FT_Glyph elements. You can also
* use the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need to * use the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need to
@@ -516,7 +516,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* `small bitmaps' API of the FreeType 2 cache sub-system. * `small bitmaps' API of the FreeType~2 cache sub-system.
* *
* It is used to define a cache for small glyph bitmaps in a relatively * 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 * memory-efficient way. You can also use the API defined in
@@ -537,7 +537,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* `charmap' API of the FreeType 2 cache sub-system. * `charmap' API of the FreeType~2 cache sub-system.
* *
* This macro is deprecated. Simply include @FT_CACHE_H to have all * This macro is deprecated. Simply include @FT_CACHE_H to have all
* charmap-based cache declarations. * charmap-based cache declarations.
@@ -553,7 +553,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* Macintosh-specific FreeType 2 API. The latter is used to access * Macintosh-specific FreeType~2 API. The latter is used to access
* fonts embedded in resource forks. * fonts embedded in resource forks.
* *
* This header file must be explicitly included by client applications * This header file must be explicitly included by client applications
@@ -570,7 +570,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* optional multiple-masters management API of FreeType 2. * optional multiple-masters management API of FreeType~2.
* *
*/ */
#define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h> #define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h>
@@ -583,7 +583,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* optional FreeType 2 API which accesses embedded `name' strings in * optional FreeType~2 API which accesses embedded `name' strings in
* SFNT-based font formats (i.e., TrueType and OpenType). * SFNT-based font formats (i.e., TrueType and OpenType).
* *
*/ */
@@ -597,7 +597,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* optional FreeType 2 API which validates OpenType tables (BASE, GDEF, * optional FreeType~2 API which validates OpenType tables (BASE, GDEF,
* GPOS, GSUB, JSTF). * GPOS, GSUB, JSTF).
* *
*/ */
@@ -611,7 +611,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* optional FreeType 2 API which validates TrueTypeGX/AAT tables (feat, * optional FreeType~2 API which validates TrueTypeGX/AAT tables (feat,
* mort, morx, bsln, just, kern, opbd, trak, prop). * mort, morx, bsln, just, kern, opbd, trak, prop).
* *
*/ */
@@ -625,7 +625,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* FreeType 2 API which accesses PFR-specific data. * FreeType~2 API which accesses PFR-specific data.
* *
*/ */
#define FT_PFR_H <freetype/ftpfr.h> #define FT_PFR_H <freetype/ftpfr.h>
@@ -638,7 +638,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* FreeType 2 API which provides functions to stroke outline paths. * FreeType~2 API which provides functions to stroke outline paths.
*/ */
#define FT_STROKER_H <freetype/ftstroke.h> #define FT_STROKER_H <freetype/ftstroke.h>
@@ -650,7 +650,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* FreeType 2 API which performs artificial obliquing and emboldening. * FreeType~2 API which performs artificial obliquing and emboldening.
*/ */
#define FT_SYNTHESIS_H <freetype/ftsynth.h> #define FT_SYNTHESIS_H <freetype/ftsynth.h>
@@ -662,7 +662,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* FreeType 2 API which provides functions specific to the XFree86 and * FreeType~2 API which provides functions specific to the XFree86 and
* X.Org X11 servers. * X.Org X11 servers.
*/ */
#define FT_XFREE86_H <freetype/ftxf86.h> #define FT_XFREE86_H <freetype/ftxf86.h>
@@ -675,7 +675,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* FreeType 2 API which performs trigonometric computations (e.g., * FreeType~2 API which performs trigonometric computations (e.g.,
* cosines and arc tangents). * cosines and arc tangents).
*/ */
#define FT_TRIGONOMETRY_H <freetype/fttrigon.h> #define FT_TRIGONOMETRY_H <freetype/fttrigon.h>
@@ -688,7 +688,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* FreeType 2 API which performs color filtering for subpixel rendering. * FreeType~2 API which performs color filtering for subpixel rendering.
*/ */
#define FT_LCD_FILTER_H <freetype/ftlcdfil.h> #define FT_LCD_FILTER_H <freetype/ftlcdfil.h>
@@ -700,7 +700,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* FreeType 2 API which performs color filtering for subpixel rendering. * FreeType~2 API which performs color filtering for subpixel rendering.
*/ */
#define FT_UNPATENTED_HINTING_H <freetype/ttunpat.h> #define FT_UNPATENTED_HINTING_H <freetype/ttunpat.h>
@@ -712,7 +712,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* FreeType 2 API which performs color filtering for subpixel rendering. * FreeType~2 API which performs color filtering for subpixel rendering.
*/ */
#define FT_INCREMENTAL_H <freetype/ftincrem.h> #define FT_INCREMENTAL_H <freetype/ftincrem.h>
@@ -724,7 +724,7 @@
* *
* @description: * @description:
* A macro used in #include statements to name the file containing the * A macro used in #include statements to name the file containing the
* FreeType 2 API which returns entries from the TrueType GASP table. * FreeType~2 API which returns entries from the TrueType GASP table.
*/ */
#define FT_GASP_H <freetype/ftgasp.h> #define FT_GASP_H <freetype/ftgasp.h>
+101 -91
View File
@@ -86,10 +86,10 @@ FT_BEGIN_HEADER
/* Base Interface */ /* Base Interface */
/* */ /* */
/* <Abstract> */ /* <Abstract> */
/* The FreeType 2 base font interface. */ /* The FreeType~2 base font interface. */
/* */ /* */
/* <Description> */ /* <Description> */
/* This section describes the public high-level API of FreeType 2. */ /* This section describes the public high-level API of FreeType~2. */
/* */ /* */
/* <Order> */ /* <Order> */
/* FT_Library */ /* FT_Library */
@@ -485,7 +485,7 @@ FT_BEGIN_HEADER
/* used to define `encoding' identifiers (see @FT_Encoding). */ /* used to define `encoding' identifiers (see @FT_Encoding). */
/* */ /* */
/* <Note> */ /* <Note> */
/* Since many 16bit compilers don't like 32bit enumerations, you */ /* Since many 16-bit compilers don't like 32-bit enumerations, you */
/* should redefine this macro in case of problems to something like */ /* should redefine this macro in case of problems to something like */
/* this: */ /* this: */
/* */ /* */
@@ -527,7 +527,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* <Values> */ /* <Values> */
/* FT_ENCODING_NONE :: */ /* FT_ENCODING_NONE :: */
/* The encoding value 0 is reserved. */ /* The encoding value~0 is reserved. */
/* */ /* */
/* FT_ENCODING_UNICODE :: */ /* FT_ENCODING_UNICODE :: */
/* Corresponds to the Unicode character set. This value covers */ /* Corresponds to the Unicode character set. This value covers */
@@ -559,26 +559,26 @@ FT_BEGIN_HEADER
/* `http://www.microsoft.com/typography/unicode/949.txt'. */ /* `http://www.microsoft.com/typography/unicode/949.txt'. */
/* */ /* */
/* FT_ENCODING_JOHAB :: */ /* FT_ENCODING_JOHAB :: */
/* The Korean standard character set (KS C-5601-1992), which */ /* The Korean standard character set (KS~C 5601-1992), which */
/* corresponds to MS Windows code page 1361. This character set */ /* corresponds to MS Windows code page 1361. This character set */
/* includes all possible Hangeul character combinations. */ /* includes all possible Hangeul character combinations. */
/* */ /* */
/* FT_ENCODING_ADOBE_LATIN_1 :: */ /* FT_ENCODING_ADOBE_LATIN_1 :: */
/* Corresponds to a Latin-1 encoding as defined in a Type 1 */ /* Corresponds to a Latin-1 encoding as defined in a Type~1 */
/* Postscript font. It is limited to 256 character codes. */ /* PostScript font. It is limited to 256 character codes. */
/* */ /* */
/* FT_ENCODING_ADOBE_STANDARD :: */ /* FT_ENCODING_ADOBE_STANDARD :: */
/* Corresponds to the Adobe Standard encoding, as found in Type 1, */ /* Corresponds to the Adobe Standard encoding, as found in Type~1, */
/* CFF, and OpenType/CFF fonts. It is limited to 256 character */ /* CFF, and OpenType/CFF fonts. It is limited to 256 character */
/* codes. */ /* codes. */
/* */ /* */
/* FT_ENCODING_ADOBE_EXPERT :: */ /* FT_ENCODING_ADOBE_EXPERT :: */
/* Corresponds to the Adobe Expert encoding, as found in Type 1, */ /* Corresponds to the Adobe Expert encoding, as found in Type~1, */
/* CFF, and OpenType/CFF fonts. It is limited to 256 character */ /* CFF, and OpenType/CFF fonts. It is limited to 256 character */
/* codes. */ /* codes. */
/* */ /* */
/* FT_ENCODING_ADOBE_CUSTOM :: */ /* FT_ENCODING_ADOBE_CUSTOM :: */
/* Corresponds to a custom encoding, as found in Type 1, CFF, and */ /* Corresponds to a custom encoding, as found in Type~1, CFF, and */
/* OpenType/CFF fonts. It is limited to 256 character codes. */ /* OpenType/CFF fonts. It is limited to 256 character codes. */
/* */ /* */
/* FT_ENCODING_APPLE_ROMAN :: */ /* FT_ENCODING_APPLE_ROMAN :: */
@@ -607,7 +607,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* <Note> */ /* <Note> */
/* By default, FreeType automatically synthetizes a Unicode charmap */ /* By default, FreeType automatically synthetizes a Unicode charmap */
/* for Postscript fonts, using their glyph names dictionaries. */ /* for PostScript fonts, using their glyph names dictionaries. */
/* However, it also reports the encodings defined explicitly in the */ /* However, it also reports the encodings defined explicitly in the */
/* font file, for the cases when they are needed, with the Adobe */ /* font file, for the cases when they are needed, with the Adobe */
/* values as well. */ /* values as well. */
@@ -630,16 +630,16 @@ FT_BEGIN_HEADER
/* and `encoding_id' is not @TT_MAC_ID_ROMAN (otherwise it is set to */ /* and `encoding_id' is not @TT_MAC_ID_ROMAN (otherwise it is set to */
/* FT_ENCODING_APPLE_ROMAN). */ /* FT_ENCODING_APPLE_ROMAN). */
/* */ /* */
/* If `platform_id' is @TT_PLATFORM_MACINTOSH, use the function c */ /* If `platform_id' is @TT_PLATFORM_MACINTOSH, use the function */
/* @FT_Get_CMap_Language_ID to query the Mac language ID which may be */ /* @FT_Get_CMap_Language_ID to query the Mac language ID which may be */
/* needed to be able to distinguish Apple encoding variants. See */ /* needed to be able to distinguish Apple encoding variants. See */
/* */ /* */
/* http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT */ /* http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT */
/* */ /* */
/* to get an idea how to do that. Basically, if the language ID is 0, */ /* to get an idea how to do that. Basically, if the language ID is~0, */
/* don't use it, otherwise subtract 1 from the language ID. Then */ /* don't use it, otherwise subtract 1 from the language ID. Then */
/* examine `encoding_id'. If, for example, `encoding_id' is */ /* examine `encoding_id'. If, for example, `encoding_id' is */
/* @TT_MAC_ID_ROMAN and the language ID (minus 1) is */ /* @TT_MAC_ID_ROMAN and the language ID (minus~1) is */
/* `TT_MAC_LANGID_GREEK', it is the Greek encoding, not Roman. */ /* `TT_MAC_LANGID_GREEK', it is the Greek encoding, not Roman. */
/* @TT_MAC_ID_ARABIC with `TT_MAC_LANGID_FARSI' means the Farsi */ /* @TT_MAC_ID_ARABIC with `TT_MAC_LANGID_FARSI' means the Farsi */
/* variant the Arabic encoding. */ /* variant the Arabic encoding. */
@@ -753,7 +753,7 @@ FT_BEGIN_HEADER
/* An opaque handle to an `FT_Face_InternalRec' structure, used to */ /* An opaque handle to an `FT_Face_InternalRec' structure, used to */
/* model private data of a given @FT_Face object. */ /* model private data of a given @FT_Face object. */
/* */ /* */
/* This structure might change between releases of FreeType 2 and is */ /* This structure might change between releases of FreeType~2 and is */
/* not generally available to client applications. */ /* not generally available to client applications. */
/* */ /* */
typedef struct FT_Face_InternalRec_* FT_Face_Internal; typedef struct FT_Face_InternalRec_* FT_Face_Internal;
@@ -774,7 +774,7 @@ FT_BEGIN_HEADER
/* a font file. */ /* a font file. */
/* */ /* */
/* face_index :: The index of the face in the font file. It */ /* face_index :: The index of the face in the font file. It */
/* is set to 0 if there is only one face in */ /* is set to~0 if there is only one face in */
/* the font file. */ /* the font file. */
/* */ /* */
/* face_flags :: A set of bit flags that give important */ /* face_flags :: A set of bit flags that give important */
@@ -790,6 +790,9 @@ FT_BEGIN_HEADER
/* `num_fixed_sizes'), it is set to the number */ /* `num_fixed_sizes'), it is set to the number */
/* of outline glyphs. */ /* of outline glyphs. */
/* */ /* */
/* For CID-keyed fonts, this value gives the */
/* highest CID used in the font. */
/* */
/* family_name :: The face's family name. This is an ASCII */ /* family_name :: The face's family name. This is an ASCII */
/* string, usually in English, which describes */ /* string, usually in English, which describes */
/* the typeface's family (like `Times New */ /* the typeface's family (like `Times New */
@@ -838,9 +841,13 @@ FT_BEGIN_HEADER
/* descender'. Only relevant for scalable */ /* descender'. Only relevant for scalable */
/* formats. */ /* formats. */
/* */ /* */
/* Note that the bounding box might be off by */
/* (at least) one pixel for hinted fonts. See */
/* @FT_Size_Metrics for further discussion. */
/* */
/* units_per_EM :: The number of font units per EM square for */ /* units_per_EM :: The number of font units per EM square for */
/* this face. This is typically 2048 for */ /* this face. This is typically 2048 for */
/* TrueType fonts, and 1000 for Type 1 fonts. */ /* TrueType fonts, and 1000 for Type~1 fonts. */
/* Only relevant for scalable formats. */ /* Only relevant for scalable formats. */
/* */ /* */
/* ascender :: The typographic ascender of the face, */ /* ascender :: The typographic ascender of the face, */
@@ -1099,7 +1106,7 @@ FT_BEGIN_HEADER
* *
* @description: * @description:
* A macro that returns true whenever a face object contains a scalable * A macro that returns true whenever a face object contains a scalable
* font face (true for TrueType, Type 1, Type 42, CID, OpenType/CFF, * font face (true for TrueType, Type~1, Type~42, CID, OpenType/CFF,
* and PFR font formats. * and PFR font formats.
* *
*/ */
@@ -1461,7 +1468,7 @@ FT_BEGIN_HEADER
/* bitmap_top :: This is the bitmap's top bearing expressed in */ /* bitmap_top :: This is the bitmap's top bearing expressed in */
/* integer pixels. Remember that this is the */ /* integer pixels. Remember that this is the */
/* distance from the baseline to the top-most */ /* distance from the baseline to the top-most */
/* glyph scanline, upwards y-coordinates being */ /* glyph scanline, upwards y~coordinates being */
/* *positive*. */ /* *positive*. */
/* */ /* */
/* outline :: The outline descriptor for the current glyph */ /* outline :: The outline descriptor for the current glyph */
@@ -1484,7 +1491,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* control_data :: Certain font drivers can also return the */ /* control_data :: Certain font drivers can also return the */
/* control data for a given glyph image (e.g. */ /* control data for a given glyph image (e.g. */
/* TrueType bytecode, Type 1 charstrings, etc.). */ /* TrueType bytecode, Type~1 charstrings, etc.). */
/* This field is a pointer to such data. */ /* This field is a pointer to such data. */
/* */ /* */
/* control_len :: This is the length in bytes of the control */ /* control_len :: This is the length in bytes of the control */
@@ -1506,7 +1513,7 @@ FT_BEGIN_HEADER
/* <Note> */ /* <Note> */
/* If @FT_Load_Glyph is called with default flags (see */ /* If @FT_Load_Glyph is called with default flags (see */
/* @FT_LOAD_DEFAULT) the glyph image is loaded in the glyph slot in */ /* @FT_LOAD_DEFAULT) the glyph image is loaded in the glyph slot in */
/* its native format (e.g., an outline glyph for TrueType and Type 1 */ /* its native format (e.g., an outline glyph for TrueType and Type~1 */
/* formats). */ /* formats). */
/* */ /* */
/* This image can later be converted into a bitmap by calling */ /* This image can later be converted into a bitmap by calling */
@@ -1609,7 +1616,7 @@ FT_BEGIN_HEADER
/* alibrary :: A handle to a new library object. */ /* alibrary :: A handle to a new library object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Init_FreeType( FT_Library *alibrary ); FT_Init_FreeType( FT_Library *alibrary );
@@ -1628,7 +1635,7 @@ FT_BEGIN_HEADER
/* library :: A handle to the target library object. */ /* library :: A handle to the target library object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Done_FreeType( FT_Library library ); FT_Done_FreeType( FT_Library library );
@@ -1648,8 +1655,8 @@ FT_BEGIN_HEADER
/* */ /* */
/* FT_OPEN_STREAM :: Copy the stream from the `stream' field. */ /* FT_OPEN_STREAM :: Copy the stream from the `stream' field. */
/* */ /* */
/* FT_OPEN_PATHNAME :: Create a new input stream from a C */ /* FT_OPEN_PATHNAME :: Create a new input stream from a C~path */
/* path name. */ /* name. */
/* */ /* */
/* FT_OPEN_DRIVER :: Use the `driver' field. */ /* FT_OPEN_DRIVER :: Use the `driver' field. */
/* */ /* */
@@ -1731,7 +1738,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* driver :: This field is exclusively used by @FT_Open_Face; */ /* driver :: This field is exclusively used by @FT_Open_Face; */
/* it simply specifies the font driver to use to open */ /* it simply specifies the font driver to use to open */
/* the face. If set to 0, FreeType tries to load the */ /* the face. If set to~0, FreeType tries to load the */
/* face with each one of the drivers in its list. */ /* face with each one of the drivers in its list. */
/* */ /* */
/* num_params :: The number of extra parameters. */ /* num_params :: The number of extra parameters. */
@@ -1794,7 +1801,7 @@ FT_BEGIN_HEADER
/* pathname :: A path to the font file. */ /* pathname :: A path to the font file. */
/* */ /* */
/* face_index :: The index of the face within the font. The first */ /* face_index :: The index of the face within the font. The first */
/* face has index 0. */ /* face has index~0. */
/* */ /* */
/* <Output> */ /* <Output> */
/* aface :: A handle to a new face object. If `face_index' is */ /* aface :: A handle to a new face object. If `face_index' is */
@@ -1802,7 +1809,7 @@ FT_BEGIN_HEADER
/* See @FT_Open_Face for more details. */ /* See @FT_Open_Face for more details. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_New_Face( FT_Library library, FT_New_Face( FT_Library library,
@@ -1829,7 +1836,7 @@ FT_BEGIN_HEADER
/* file_size :: The size of the memory chunk used by the font data. */ /* file_size :: The size of the memory chunk used by the font data. */
/* */ /* */
/* face_index :: The index of the face within the font. The first */ /* face_index :: The index of the face within the font. The first */
/* face has index 0. */ /* face has index~0. */
/* */ /* */
/* <Output> */ /* <Output> */
/* aface :: A handle to a new face object. If `face_index' is */ /* aface :: A handle to a new face object. If `face_index' is */
@@ -1837,7 +1844,7 @@ FT_BEGIN_HEADER
/* See @FT_Open_Face for more details. */ /* See @FT_Open_Face for more details. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* You must not deallocate the memory before calling @FT_Done_Face. */ /* You must not deallocate the memory before calling @FT_Done_Face. */
@@ -1867,7 +1874,7 @@ FT_BEGIN_HEADER
/* be filled by the caller. */ /* be filled by the caller. */
/* */ /* */
/* face_index :: The index of the face within the font. The first */ /* face_index :: The index of the face within the font. The first */
/* face has index 0. */ /* face has index~0. */
/* */ /* */
/* <Output> */ /* <Output> */
/* aface :: A handle to a new face object. If `face_index' is */ /* aface :: A handle to a new face object. If `face_index' is */
@@ -1875,7 +1882,7 @@ FT_BEGIN_HEADER
/* See note below. */ /* See note below. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* Unlike FreeType 1.x, this function automatically creates a glyph */ /* Unlike FreeType 1.x, this function automatically creates a glyph */
@@ -1884,7 +1891,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* FT_Open_Face can be used to quickly check whether the font */ /* FT_Open_Face can be used to quickly check whether the font */
/* format of a given font resource is supported by FreeType. If the */ /* format of a given font resource is supported by FreeType. If the */
/* `face_index' field is negative, the function's return value is 0 */ /* `face_index' field is negative, the function's return value is~0 */
/* if the font format is recognized, or non-zero otherwise; */ /* if the font format is recognized, or non-zero otherwise; */
/* the function returns a more or less empty face handle in `*aface' */ /* the function returns a more or less empty face handle in `*aface' */
/* (if `aface' isn't NULL). The only useful field in this special */ /* (if `aface' isn't NULL). The only useful field in this special */
@@ -1917,7 +1924,7 @@ FT_BEGIN_HEADER
/* filepathname :: The pathname. */ /* filepathname :: The pathname. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Attach_File( FT_Face face, FT_Attach_File( FT_Face face,
@@ -1932,7 +1939,7 @@ FT_BEGIN_HEADER
/* <Description> */ /* <Description> */
/* `Attach' data to a face object. Normally, this is used to read */ /* `Attach' data to a face object. Normally, this is used to read */
/* additional information for the face object. For example, you can */ /* additional information for the face object. For example, you can */
/* attach an AFM file that comes with a Type 1 font to get the */ /* attach an AFM file that comes with a Type~1 font to get the */
/* kerning values and other metrics. */ /* kerning values and other metrics. */
/* */ /* */
/* <InOut> */ /* <InOut> */
@@ -1943,7 +1950,7 @@ FT_BEGIN_HEADER
/* the caller. */ /* the caller. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The meaning of the `attach' (i.e., what really happens when the */ /* The meaning of the `attach' (i.e., what really happens when the */
@@ -1972,7 +1979,7 @@ FT_BEGIN_HEADER
/* face :: A handle to a target face object. */ /* face :: A handle to a target face object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Done_Face( FT_Face face ); FT_Done_Face( FT_Face face );
@@ -1994,7 +2001,7 @@ FT_BEGIN_HEADER
/* `available_sizes' field of @FT_FaceRec structure. */ /* `available_sizes' field of @FT_FaceRec structure. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Select_Size( FT_Face face, FT_Select_Size( FT_Face face,
@@ -2120,7 +2127,7 @@ FT_BEGIN_HEADER
/* req :: A pointer to a @FT_Size_RequestRec. */ /* req :: A pointer to a @FT_Size_RequestRec. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* Although drivers may select the bitmap strike matching the */ /* Although drivers may select the bitmap strike matching the */
@@ -2155,7 +2162,7 @@ FT_BEGIN_HEADER
/* vert_resolution :: The vertical resolution in dpi. */ /* vert_resolution :: The vertical resolution in dpi. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* If either the character width or height is zero, it is set equal */ /* If either the character width or height is zero, it is set equal */
@@ -2194,7 +2201,7 @@ FT_BEGIN_HEADER
/* pixel_height :: The nominal height, in pixels. */ /* pixel_height :: The nominal height, in pixels. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Set_Pixel_Sizes( FT_Face face, FT_Set_Pixel_Sizes( FT_Face face,
@@ -2227,7 +2234,7 @@ FT_BEGIN_HEADER
/* whether to hint the outline, etc). */ /* whether to hint the outline, etc). */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The loaded glyph may be transformed. See @FT_Set_Transform for */ /* The loaded glyph may be transformed. See @FT_Set_Transform for */
@@ -2268,7 +2275,7 @@ FT_BEGIN_HEADER
/* whether to hint the outline, etc). */ /* whether to hint the outline, etc). */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* This function simply calls @FT_Get_Char_Index and @FT_Load_Glyph. */ /* This function simply calls @FT_Get_Char_Index and @FT_Load_Glyph. */
@@ -2290,7 +2297,7 @@ FT_BEGIN_HEADER
* *
* @values: * @values:
* FT_LOAD_DEFAULT :: * FT_LOAD_DEFAULT ::
* Corresponding to 0, this value is used as the default glyph load * Corresponding to~0, this value is used as the default glyph load
* operation. In this case, the following happens: * operation. In this case, the following happens:
* *
* 1. FreeType looks for a bitmap for the glyph corresponding to the * 1. FreeType looks for a bitmap for the glyph corresponding to the
@@ -2380,7 +2387,7 @@ FT_BEGIN_HEADER
* FT_LOAD_MONOCHROME :: * FT_LOAD_MONOCHROME ::
* This flag is used with @FT_LOAD_RENDER to indicate that you want to * This flag is used with @FT_LOAD_RENDER to indicate that you want to
* render an outline glyph to a 1-bit monochrome bitmap glyph, with * render an outline glyph to a 1-bit monochrome bitmap glyph, with
* 8 pixels packed into each byte of the bitmap data. * 8~pixels packed into each byte of the bitmap data.
* *
* Note that this has no effect on the hinting algorithm used. You * Note that this has no effect on the hinting algorithm used. You
* should use @FT_LOAD_TARGET_MONO instead so that the * should use @FT_LOAD_TARGET_MONO instead so that the
@@ -2451,7 +2458,7 @@ FT_BEGIN_HEADER
* FT_LOAD_TARGET_LIGHT :: * FT_LOAD_TARGET_LIGHT ::
* A lighter hinting algorithm for non-monochrome modes. Many * A lighter hinting algorithm for non-monochrome modes. Many
* generated glyphs are more fuzzy but better resemble its original * generated glyphs are more fuzzy but better resemble its original
* shape. A bit like rendering on Mac OS X. * shape. A bit like rendering on Mac OS~X.
* *
* As a special exception, this target implies @FT_LOAD_FORCE_AUTOHINT. * As a special exception, this target implies @FT_LOAD_FORCE_AUTOHINT.
* *
@@ -2526,9 +2533,9 @@ FT_BEGIN_HEADER
/* face :: A handle to the source face object. */ /* face :: A handle to the source face object. */
/* */ /* */
/* <Input> */ /* <Input> */
/* matrix :: A pointer to the transformation's 2x2 matrix. Use 0 for */ /* matrix :: A pointer to the transformation's 2x2 matrix. Use~0 for */
/* the identity matrix. */ /* the identity matrix. */
/* delta :: A pointer to the translation vector. Use 0 for the null */ /* delta :: A pointer to the translation vector. Use~0 for the null */
/* vector. */ /* vector. */
/* */ /* */
/* <Note> */ /* <Note> */
@@ -2553,17 +2560,19 @@ FT_BEGIN_HEADER
/* */ /* */
/* <Description> */ /* <Description> */
/* An enumeration type that lists the render modes supported by */ /* An enumeration type that lists the render modes supported by */
/* FreeType 2. Each mode corresponds to a specific type of scanline */ /* FreeType~2. Each mode corresponds to a specific type of scanline */
/* conversion performed on the outline. */ /* conversion performed on the outline. */
/* */ /* */
/* For bitmap fonts the `bitmap->pixel_mode' field in the */ /* For bitmap fonts the `bitmap->pixel_mode' field in the */
/* @FT_GlyphSlotRec structure gives the format of the returned */ /* @FT_GlyphSlotRec structure gives the format of the returned */
/* bitmap. */ /* bitmap. */
/* */ /* */
/* All modes except @FT_RENDER_MODE_MONO use 256 levels of opacity. */
/* */
/* <Values> */ /* <Values> */
/* FT_RENDER_MODE_NORMAL :: */ /* FT_RENDER_MODE_NORMAL :: */
/* This is the default render mode; it corresponds to 8-bit */ /* This is the default render mode; it corresponds to 8-bit */
/* anti-aliased bitmaps, using 256 levels of opacity. */ /* anti-aliased bitmaps. */
/* */ /* */
/* FT_RENDER_MODE_LIGHT :: */ /* FT_RENDER_MODE_LIGHT :: */
/* This is equivalent to @FT_RENDER_MODE_NORMAL. It is only */ /* This is equivalent to @FT_RENDER_MODE_NORMAL. It is only */
@@ -2572,18 +2581,19 @@ FT_BEGIN_HEADER
/* @FT_LOAD_TARGET_XXX for details. */ /* @FT_LOAD_TARGET_XXX for details. */
/* */ /* */
/* FT_RENDER_MODE_MONO :: */ /* FT_RENDER_MODE_MONO :: */
/* This mode corresponds to 1-bit bitmaps. */ /* This mode corresponds to 1-bit bitmaps (with 2~levels of */
/* opacity). */
/* */ /* */
/* FT_RENDER_MODE_LCD :: */ /* FT_RENDER_MODE_LCD :: */
/* This mode corresponds to horizontal RGB and BGR sub-pixel */ /* This mode corresponds to horizontal RGB and BGR sub-pixel */
/* displays, like LCD-screens. It produces 8-bit bitmaps that are */ /* displays, like LCD-screens. It produces 8-bit bitmaps that are */
/* 3 times the width of the original glyph outline in pixels, and */ /* 3~times the width of the original glyph outline in pixels, and */
/* which use the @FT_PIXEL_MODE_LCD mode. */ /* which use the @FT_PIXEL_MODE_LCD mode. */
/* */ /* */
/* FT_RENDER_MODE_LCD_V :: */ /* FT_RENDER_MODE_LCD_V :: */
/* This mode corresponds to vertical RGB and BGR sub-pixel displays */ /* This mode corresponds to vertical RGB and BGR sub-pixel displays */
/* (like PDA screens, rotated LCD displays, etc.). It produces */ /* (like PDA screens, rotated LCD displays, etc.). It produces */
/* 8-bit bitmaps that are 3 times the height of the original */ /* 8-bit bitmaps that are 3~times the height of the original */
/* glyph outline in pixels and use the @FT_PIXEL_MODE_LCD_V mode. */ /* glyph outline in pixels and use the @FT_PIXEL_MODE_LCD_V mode. */
/* */ /* */
/* <Note> */ /* <Note> */
@@ -2643,7 +2653,7 @@ FT_BEGIN_HEADER
/* list of possible values. */ /* list of possible values. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Render_Glyph( FT_GlyphSlot slot, FT_Render_Glyph( FT_GlyphSlot slot,
@@ -2661,7 +2671,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* <Values> */ /* <Values> */
/* FT_KERNING_DEFAULT :: Return scaled and grid-fitted kerning */ /* FT_KERNING_DEFAULT :: Return scaled and grid-fitted kerning */
/* distances (value is 0). */ /* distances (value is~0). */
/* */ /* */
/* FT_KERNING_UNFITTED :: Return scaled but un-grid-fitted kerning */ /* FT_KERNING_UNFITTED :: Return scaled but un-grid-fitted kerning */
/* distances. */ /* distances. */
@@ -2739,7 +2749,7 @@ FT_BEGIN_HEADER
/* and in pixels for fixed-sizes formats. */ /* and in pixels for fixed-sizes formats. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* Only horizontal layouts (left-to-right & right-to-left) are */ /* Only horizontal layouts (left-to-right & right-to-left) are */
@@ -2774,7 +2784,7 @@ FT_BEGIN_HEADER
/* akerning :: The kerning in 16.16 fractional points. */ /* akerning :: The kerning in 16.16 fractional points. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Get_Track_Kerning( FT_Face face, FT_Get_Track_Kerning( FT_Face face,
@@ -2790,7 +2800,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* <Description> */ /* <Description> */
/* Retrieve the ASCII name of a given glyph in a face. This only */ /* Retrieve the ASCII name of a given glyph in a face. This only */
/* works for those faces where @FT_HAS_GLYPH_NAMES(face) returns 1. */ /* works for those faces where @FT_HAS_GLYPH_NAMES(face) returns~1. */
/* */ /* */
/* <Input> */ /* <Input> */
/* face :: A handle to a source face object. */ /* face :: A handle to a source face object. */
@@ -2805,12 +2815,12 @@ FT_BEGIN_HEADER
/* copied to. */ /* copied to. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* An error is returned if the face doesn't provide glyph names or if */ /* An error is returned if the face doesn't provide glyph names or if */
/* the glyph index is invalid. In all cases of failure, the first */ /* the glyph index is invalid. In all cases of failure, the first */
/* byte of `buffer' is set to 0 to indicate an empty name. */ /* byte of `buffer' is set to~0 to indicate an empty name. */
/* */ /* */
/* The glyph name is truncated to fit within the buffer if it is too */ /* The glyph name is truncated to fit within the buffer if it is too */
/* long. The returned string is always zero-terminated. */ /* long. The returned string is always zero-terminated. */
@@ -2832,14 +2842,14 @@ FT_BEGIN_HEADER
/* FT_Get_Postscript_Name */ /* FT_Get_Postscript_Name */
/* */ /* */
/* <Description> */ /* <Description> */
/* Retrieve the ASCII Postscript name of a given face, if available. */ /* Retrieve the ASCII PostScript name of a given face, if available. */
/* This only works with Postscript and TrueType fonts. */ /* This only works with PostScript and TrueType fonts. */
/* */ /* */
/* <Input> */ /* <Input> */
/* face :: A handle to the source face object. */ /* face :: A handle to the source face object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* A pointer to the face's Postscript name. NULL if unavailable. */ /* A pointer to the face's PostScript name. NULL if unavailable. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The returned pointer is owned by the face and is destroyed with */ /* The returned pointer is owned by the face and is destroyed with */
@@ -2865,7 +2875,7 @@ FT_BEGIN_HEADER
/* encoding :: A handle to the selected encoding. */ /* encoding :: A handle to the selected encoding. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* This function returns an error if no charmap in the face */ /* This function returns an error if no charmap in the face */
@@ -2897,14 +2907,14 @@ FT_BEGIN_HEADER
/* charmap :: A handle to the selected charmap. */ /* charmap :: A handle to the selected charmap. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* This function returns an error if the charmap is not part of */ /* This function returns an error if the charmap is not part of */
/* the face (i.e., if it is not listed in the `face->charmaps' */ /* the face (i.e., if it is not listed in the `face->charmaps' */
/* table). */ /* table). */
/* */ /* */
/* It also fails if a type 14 charmap is selected. */ /* It also fails if a type~14 charmap is selected. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Set_Charmap( FT_Face face, FT_Set_Charmap( FT_Face face,
@@ -2947,13 +2957,13 @@ FT_BEGIN_HEADER
/* charcode :: The character code. */ /* charcode :: The character code. */
/* */ /* */
/* <Return> */ /* <Return> */
/* The glyph index. 0 means `undefined character code'. */ /* The glyph index. 0~means `undefined character code'. */
/* */ /* */
/* <Note> */ /* <Note> */
/* If you use FreeType to manipulate the contents of font files */ /* If you use FreeType to manipulate the contents of font files */
/* directly, be aware that the glyph index returned by this function */ /* directly, be aware that the glyph index returned by this function */
/* doesn't always correspond to the internal indices used within */ /* doesn't always correspond to the internal indices used within */
/* the file. This is done to ensure that value 0 always corresponds */ /* the file. This is done to ensure that value~0 always corresponds */
/* to the `missing glyph'. */ /* to the `missing glyph'. */
/* */ /* */
FT_EXPORT( FT_UInt ) FT_EXPORT( FT_UInt )
@@ -2975,7 +2985,7 @@ FT_BEGIN_HEADER
/* face :: A handle to the source face object. */ /* face :: A handle to the source face object. */
/* */ /* */
/* <Output> */ /* <Output> */
/* agindex :: Glyph index of first character code. 0 if charmap is */ /* agindex :: Glyph index of first character code. 0~if charmap is */
/* empty. */ /* empty. */
/* */ /* */
/* <Return> */ /* <Return> */
@@ -3000,9 +3010,9 @@ FT_BEGIN_HEADER
/* } */ /* } */
/* } */ /* } */
/* */ /* */
/* Note that `*agindex' is set to 0 if the charmap is empty. The */ /* Note that `*agindex' is set to~0 if the charmap is empty. The */
/* result itself can be 0 in two cases: if the charmap is empty or */ /* result itself can be~0 in two cases: if the charmap is empty or */
/* when the value 0 is the first valid character code. */ /* when the value~0 is the first valid character code. */
/* */ /* */
FT_EXPORT( FT_ULong ) FT_EXPORT( FT_ULong )
FT_Get_First_Char( FT_Face face, FT_Get_First_Char( FT_Face face,
@@ -3024,7 +3034,7 @@ FT_BEGIN_HEADER
/* char_code :: The starting character code. */ /* char_code :: The starting character code. */
/* */ /* */
/* <Output> */ /* <Output> */
/* agindex :: Glyph index of first character code. 0 if charmap */ /* agindex :: Glyph index of first character code. 0~if charmap */
/* is empty. */ /* is empty. */
/* */ /* */
/* <Return> */ /* <Return> */
@@ -3035,7 +3045,7 @@ FT_BEGIN_HEADER
/* over all character codes available in a given charmap. See the */ /* over all character codes available in a given charmap. See the */
/* note for this function for a simple code example. */ /* note for this function for a simple code example. */
/* */ /* */
/* Note that `*agindex' is set to 0 when there are no more codes in */ /* Note that `*agindex' is set to~0 when there are no more codes in */
/* the charmap. */ /* the charmap. */
/* */ /* */
FT_EXPORT( FT_ULong ) FT_EXPORT( FT_ULong )
@@ -3059,7 +3069,7 @@ FT_BEGIN_HEADER
/* glyph_name :: The glyph name. */ /* glyph_name :: The glyph name. */
/* */ /* */
/* <Return> */ /* <Return> */
/* The glyph index. 0 means `undefined character code'. */ /* The glyph index. 0~means `undefined character code'. */
/* */ /* */
FT_EXPORT( FT_UInt ) FT_EXPORT( FT_UInt )
FT_Get_Name_Index( FT_Face face, FT_Get_Name_Index( FT_Face face,
@@ -3128,7 +3138,7 @@ FT_BEGIN_HEADER
* The subglyph transformation (if any). * The subglyph transformation (if any).
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* The values of `*p_arg1', `*p_arg2', and `*p_transform' must be * The values of `*p_arg1', `*p_arg2', and `*p_transform' must be
@@ -3155,8 +3165,8 @@ FT_BEGIN_HEADER
/* Glyph Variants */ /* Glyph Variants */
/* */ /* */
/* <Abstract> */ /* <Abstract> */
/* The FreeType 2 interface to Unicode Ideographic Variation */ /* The FreeType~2 interface to Unicode Ideographic Variation */
/* Sequences (IVS), using the SFNT cmap format 14. */ /* Sequences (IVS), using the SFNT cmap format~14. */
/* */ /* */
/* <Description> */ /* <Description> */
/* Many CJK characters have variant forms. They are a sort of grey */ /* Many CJK characters have variant forms. They are a sort of grey */
@@ -3170,10 +3180,10 @@ FT_BEGIN_HEADER
/* An IVS is registered and unique; for further details please refer */ /* An IVS is registered and unique; for further details please refer */
/* to Unicode Technical Report #37, the Ideographic Variation */ /* to Unicode Technical Report #37, the Ideographic Variation */
/* Database. To date (October 2007), the character with the most */ /* Database. To date (October 2007), the character with the most */
/* variants is U+908A, having 8 such IVS. */ /* variants is U+908A, having 8~such IVS. */
/* */ /* */
/* Adobe and MS decided to support IVS with a new cmap subtable */ /* Adobe and MS decided to support IVS with a new cmap subtable */
/* (format 14). It is an odd subtable because it is not a mapping of */ /* (format~14). It is an odd subtable because it is not a mapping of */
/* input code points to glyphs, but contains lists of all variants */ /* input code points to glyphs, but contains lists of all variants */
/* supported by the font. */ /* supported by the font. */
/* */ /* */
@@ -3205,7 +3215,7 @@ FT_BEGIN_HEADER
/* The Unicode code point of the variation selector. */ /* The Unicode code point of the variation selector. */
/* */ /* */
/* <Return> */ /* <Return> */
/* The glyph index. 0 means either `undefined character code', or */ /* The glyph index. 0~means either `undefined character code', or */
/* `undefined selector code', or `no variation selector cmap */ /* `undefined selector code', or `no variation selector cmap */
/* subtable', or `current CharMap is not Unicode'. */ /* subtable', or `current CharMap is not Unicode'. */
/* */ /* */
@@ -3213,7 +3223,7 @@ FT_BEGIN_HEADER
/* If you use FreeType to manipulate the contents of font files */ /* If you use FreeType to manipulate the contents of font files */
/* directly, be aware that the glyph index returned by this function */ /* directly, be aware that the glyph index returned by this function */
/* doesn't always correspond to the internal indices used within */ /* doesn't always correspond to the internal indices used within */
/* the file. This is done to ensure that value 0 always corresponds */ /* the file. This is done to ensure that value~0 always corresponds */
/* to the `missing glyph'. */ /* to the `missing glyph'. */
/* */ /* */
/* This function is only meaningful if */ /* This function is only meaningful if */
@@ -3250,7 +3260,7 @@ FT_BEGIN_HEADER
/* The Unicode codepoint of the variation selector. */ /* The Unicode codepoint of the variation selector. */
/* */ /* */
/* <Return> */ /* <Return> */
/* 1 if found in the standard (Unicode) cmap, 0 if found in the */ /* 1~if found in the standard (Unicode) cmap, 0~if found in the */
/* variation selector cmap, or -1 if it is not a variant. */ /* variation selector cmap, or -1 if it is not a variant. */
/* */ /* */
/* <Note> */ /* <Note> */
@@ -3284,7 +3294,7 @@ FT_BEGIN_HEADER
/* no valid variant selector cmap subtable. */ /* no valid variant selector cmap subtable. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The last item in the array is 0; the array is owned by the */ /* The last item in the array is~0; the array is owned by the */
/* @FT_Face object but can be overwritten or released on the next */ /* @FT_Face object but can be overwritten or released on the next */
/* call to a FreeType function. */ /* call to a FreeType function. */
/* */ /* */
@@ -3317,7 +3327,7 @@ FT_BEGIN_HEADER
/* is empty. */ /* is empty. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The last item in the array is 0; the array is owned by the */ /* The last item in the array is~0; the array is owned by the */
/* @FT_Face object but can be overwritten or released on the next */ /* @FT_Face object but can be overwritten or released on the next */
/* call to a FreeType function. */ /* call to a FreeType function. */
/* */ /* */
@@ -3351,7 +3361,7 @@ FT_BEGIN_HEADER
/* is no valid cmap or the variant selector is invalid. */ /* is no valid cmap or the variant selector is invalid. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The last item in the array is 0; the array is owned by the */ /* The last item in the array is~0; the array is owned by the */
/* @FT_Face object but can be overwritten or released on the next */ /* @FT_Face object but can be overwritten or released on the next */
/* call to a FreeType function. */ /* call to a FreeType function. */
/* */ /* */
@@ -3474,8 +3484,8 @@ FT_BEGIN_HEADER
/* The result of `(a*0x10000)/b'. */ /* The result of `(a*0x10000)/b'. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The optimization for FT_DivFix() is simple: If (a << 16) fits in */ /* The optimization for FT_DivFix() is simple: If (a~<<~16) fits in */
/* 32 bits, then the division is computed directly. Otherwise, we */ /* 32~bits, then the division is computed directly. Otherwise, we */
/* use a specialized version of @FT_MulDiv. */ /* use a specialized version of @FT_MulDiv. */
/* */ /* */
FT_EXPORT( FT_Long ) FT_EXPORT( FT_Long )
@@ -3601,7 +3611,7 @@ FT_BEGIN_HEADER
*/ */
#define FREETYPE_MAJOR 2 #define FREETYPE_MAJOR 2
#define FREETYPE_MINOR 3 #define FREETYPE_MINOR 3
#define FREETYPE_PATCH 6 #define FREETYPE_PATCH 7
/*************************************************************************/ /*************************************************************************/
@@ -3658,8 +3668,8 @@ FT_BEGIN_HEADER
/* face :: A face handle. */ /* face :: A face handle. */
/* */ /* */
/* <Return> */ /* <Return> */
/* 1 if this is a TrueType font that uses one of the patented */ /* 1~if this is a TrueType font that uses one of the patented */
/* opcodes, 0 otherwise. */ /* opcodes, 0~otherwise. */
/* */ /* */
/* <Since> */ /* <Since> */
/* 2.3.5 */ /* 2.3.5 */
+2 -2
View File
@@ -58,7 +58,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Get_BBox */ /* FT_Outline_Get_BBox */
/* */ /* */
/* <Description> */ /* <Description> */
/* Computes the exact bounding box of an outline. This is slower */ /* Compute the exact bounding box of an outline. This is slower */
/* than computing the control box. However, it uses an advanced */ /* than computing the control box. However, it uses an advanced */
/* algorithm which returns _very_ quickly when the two boxes */ /* algorithm which returns _very_ quickly when the two boxes */
/* coincide. Otherwise, the outline Bézier arcs are traversed to */ /* coincide. Otherwise, the outline Bézier arcs are traversed to */
@@ -71,7 +71,7 @@ FT_BEGIN_HEADER
/* abbox :: The outline's exact bounding box. */ /* abbox :: The outline's exact bounding box. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Outline_Get_BBox( FT_Outline* outline, FT_Outline_Get_BBox( FT_Outline* outline,
+40 -39
View File
@@ -38,38 +38,39 @@ FT_BEGIN_HEADER
/* bdf_fonts */ /* bdf_fonts */
/* */ /* */
/* <Title> */ /* <Title> */
/* BDF Files */ /* BDF and PCF Files */
/* */ /* */
/* <Abstract> */ /* <Abstract> */
/* BDF specific API. */ /* BDF and PCF specific API. */
/* */ /* */
/* <Description> */ /* <Description> */
/* This section contains the declaration of BDF specific functions. */ /* This section contains the declaration of functions specific to BDF */
/* and PCF fonts. */
/* */ /* */
/*************************************************************************/ /*************************************************************************/
/********************************************************************** /**********************************************************************
* *
* @enum: * @enum:
* FT_PropertyType * FT_PropertyType
* *
* @description: * @description:
* A list of BDF property types. * A list of BDF property types.
* *
* @values: * @values:
* BDF_PROPERTY_TYPE_NONE :: * 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 :: * BDF_PROPERTY_TYPE_ATOM ::
* Property is a string atom. * Property is a string atom.
* *
* BDF_PROPERTY_TYPE_INTEGER :: * BDF_PROPERTY_TYPE_INTEGER ::
* Property is a 32-bit signed integer. * Property is a 32-bit signed integer.
* *
* BDF_PROPERTY_TYPE_CARDINAL :: * BDF_PROPERTY_TYPE_CARDINAL ::
* Property is a 32-bit unsigned integer. * Property is a 32-bit unsigned integer.
*/ */
typedef enum BDF_PropertyType_ typedef enum BDF_PropertyType_
{ {
BDF_PROPERTY_TYPE_NONE = 0, BDF_PROPERTY_TYPE_NONE = 0,
@@ -80,15 +81,15 @@ FT_BEGIN_HEADER
} BDF_PropertyType; } BDF_PropertyType;
/********************************************************************** /**********************************************************************
* *
* @type: * @type:
* BDF_Property * BDF_Property
* *
* @description: * @description:
* A handle to a @BDF_PropertyRec structure to model a given * A handle to a @BDF_PropertyRec structure to model a given
* BDF/PCF property. * BDF/PCF property.
*/ */
typedef struct BDF_PropertyRec_* BDF_Property; typedef struct BDF_PropertyRec_* BDF_Property;
@@ -132,7 +133,7 @@ FT_BEGIN_HEADER
* FT_Get_BDF_Charset_ID * FT_Get_BDF_Charset_ID
* *
* @description: * @description:
* Retrieves a BDF font character set identity, according to * Retrieve a BDF font character set identity, according to
* the BDF specification. * the BDF specification.
* *
* @input: * @input:
@@ -141,13 +142,13 @@ FT_BEGIN_HEADER
* *
* @output: * @output:
* acharset_encoding :: * acharset_encoding ::
* Charset encoding, as a C string, owned by the face. * Charset encoding, as a C~string, owned by the face.
* *
* acharset_registry :: * acharset_registry ::
* Charset registry, as a C string, owned by the face. * Charset registry, as a C~string, owned by the face.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* This function only works with BDF faces, returning an error otherwise. * This function only works with BDF faces, returning an error otherwise.
@@ -164,7 +165,7 @@ FT_BEGIN_HEADER
* FT_Get_BDF_Property * FT_Get_BDF_Property
* *
* @description: * @description:
* Retrieves a BDF property from a BDF or PCF font file. * Retrieve a BDF property from a BDF or PCF font file.
* *
* @input: * @input:
* face :: A handle to the input face. * face :: A handle to the input face.
@@ -175,7 +176,7 @@ FT_BEGIN_HEADER
* aproperty :: The property. * aproperty :: The property.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* This function works with BDF _and_ PCF fonts. It returns an error * This function works with BDF _and_ PCF fonts. It returns an error
+6 -6
View File
@@ -72,7 +72,7 @@ FT_BEGIN_HEADER
/* FT_Bitmap_Copy */ /* FT_Bitmap_Copy */
/* */ /* */
/* <Description> */ /* <Description> */
/* Copies an bitmap into another one. */ /* Copy a bitmap into another one. */
/* */ /* */
/* <Input> */ /* <Input> */
/* library :: A handle to a library object. */ /* library :: A handle to a library object. */
@@ -83,7 +83,7 @@ FT_BEGIN_HEADER
/* target :: A handle to the target bitmap. */ /* target :: A handle to the target bitmap. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Bitmap_Copy( FT_Library library, FT_Bitmap_Copy( FT_Library library,
@@ -114,11 +114,11 @@ FT_BEGIN_HEADER
/* bitmap :: A handle to the target bitmap. */ /* bitmap :: A handle to the target bitmap. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The current implementation restricts `xStrength' to be less than */ /* The current implementation restricts `xStrength' to be less than */
/* or equal to 8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO. */ /* or equal to~8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO. */
/* */ /* */
/* If you want to embolden the bitmap owned by a @FT_GlyphSlotRec, */ /* If you want to embolden the bitmap owned by a @FT_GlyphSlotRec, */
/* you should call `FT_GlyphSlot_Own_Bitmap' on the slot first. */ /* you should call `FT_GlyphSlot_Own_Bitmap' on the slot first. */
@@ -152,7 +152,7 @@ FT_BEGIN_HEADER
/* target :: The target bitmap. */ /* target :: The target bitmap. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* It is possible to call @FT_Bitmap_Convert multiple times without */ /* It is possible to call @FT_Bitmap_Convert multiple times without */
@@ -184,7 +184,7 @@ FT_BEGIN_HEADER
/* bitmap :: The bitmap object to be freed. */ /* bitmap :: The bitmap object to be freed. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The `library' argument is taken to have access to FreeType's */ /* The `library' argument is taken to have access to FreeType's */
+35 -35
View File
@@ -36,10 +36,10 @@ FT_BEGIN_HEADER
* Cache Sub-System * Cache Sub-System
* *
* <Abstract> * <Abstract>
* How to cache face, size, and glyph data with FreeType 2. * How to cache face, size, and glyph data with FreeType~2.
* *
* <Description> * <Description>
* This section describes the FreeType 2 cache sub-system, which is used * This section describes the FreeType~2 cache sub-system, which is used
* to limit the number of concurrently opened @FT_Face and @FT_Size * to limit the number of concurrently opened @FT_Face and @FT_Size
* objects, as well as caching information like character maps and glyph * objects, as well as caching information like character maps and glyph
* images while limiting their maximum memory usage. * images while limiting their maximum memory usage.
@@ -193,7 +193,7 @@ FT_BEGIN_HEADER
* A new @FT_Face handle. * A new @FT_Face handle.
* *
* <Return> * <Return>
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* <Note> * <Note>
* The third parameter `req_data' is the same as the one passed by the * The third parameter `req_data' is the same as the one passed by the
@@ -260,7 +260,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* <Description> */ /* <Description> */
/* An opaque handle to a cache node object. Each cache node is */ /* An opaque handle to a cache node object. Each cache node is */
/* reference-counted. A node with a count of 0 might be flushed */ /* reference-counted. A node with a count of~0 might be flushed */
/* out of a full cache whenever a lookup request is performed. */ /* out of a full cache whenever a lookup request is performed. */
/* */ /* */
/* If you lookup nodes, you have the ability to `acquire' them, i.e., */ /* If you lookup nodes, you have the ability to `acquire' them, i.e., */
@@ -279,19 +279,19 @@ FT_BEGIN_HEADER
/* FTC_Manager_New */ /* FTC_Manager_New */
/* */ /* */
/* <Description> */ /* <Description> */
/* Creates a new cache manager. */ /* Create a new cache manager. */
/* */ /* */
/* <Input> */ /* <Input> */
/* library :: The parent FreeType library handle to use. */ /* library :: The parent FreeType library handle to use. */
/* */ /* */
/* max_faces :: Maximum number of opened @FT_Face objects managed by */ /* max_faces :: Maximum number of opened @FT_Face objects managed by */
/* this cache instance. Use 0 for defaults. */ /* this cache instance. Use~0 for defaults. */
/* */ /* */
/* max_sizes :: Maximum number of opened @FT_Size objects managed by */ /* max_sizes :: Maximum number of opened @FT_Size objects managed by */
/* this cache instance. Use 0 for defaults. */ /* this cache instance. Use~0 for defaults. */
/* */ /* */
/* max_bytes :: Maximum number of bytes to use for cached data nodes. */ /* max_bytes :: Maximum number of bytes to use for cached data nodes. */
/* Use 0 for defaults. Note that this value does not */ /* Use~0 for defaults. Note that this value does not */
/* account for managed @FT_Face and @FT_Size objects. */ /* account for managed @FT_Face and @FT_Size objects. */
/* */ /* */
/* requester :: An application-provided callback used to translate */ /* requester :: An application-provided callback used to translate */
@@ -301,11 +301,11 @@ FT_BEGIN_HEADER
/* each time it is called (see @FTC_Face_Requester). */ /* each time it is called (see @FTC_Face_Requester). */
/* */ /* */
/* <Output> */ /* <Output> */
/* amanager :: A handle to a new manager object. 0 in case of */ /* amanager :: A handle to a new manager object. 0~in case of */
/* failure. */ /* failure. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FTC_Manager_New( FT_Library library, FTC_Manager_New( FT_Library library,
@@ -323,7 +323,7 @@ FT_BEGIN_HEADER
/* FTC_Manager_Reset */ /* FTC_Manager_Reset */
/* */ /* */
/* <Description> */ /* <Description> */
/* Empties a given cache manager. This simply gets rid of all the */ /* Empty a given cache manager. This simply gets rid of all the */
/* currently cached @FT_Face and @FT_Size objects within the manager. */ /* currently cached @FT_Face and @FT_Size objects within the manager. */
/* */ /* */
/* <InOut> */ /* <InOut> */
@@ -339,7 +339,7 @@ FT_BEGIN_HEADER
/* FTC_Manager_Done */ /* FTC_Manager_Done */
/* */ /* */
/* <Description> */ /* <Description> */
/* Destroys a given manager after emptying it. */ /* Destroy a given manager after emptying it. */
/* */ /* */
/* <Input> */ /* <Input> */
/* manager :: A handle to the target cache manager object. */ /* manager :: A handle to the target cache manager object. */
@@ -354,7 +354,7 @@ FT_BEGIN_HEADER
/* FTC_Manager_LookupFace */ /* FTC_Manager_LookupFace */
/* */ /* */
/* <Description> */ /* <Description> */
/* Retrieves the @FT_Face object that corresponds to a given face ID */ /* Retrieve the @FT_Face object that corresponds to a given face ID */
/* through a cache manager. */ /* through a cache manager. */
/* */ /* */
/* <Input> */ /* <Input> */
@@ -366,7 +366,7 @@ FT_BEGIN_HEADER
/* aface :: A handle to the face object. */ /* aface :: A handle to the face object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The returned @FT_Face object is always owned by the manager. You */ /* The returned @FT_Face object is always owned by the manager. You */
@@ -415,10 +415,10 @@ FT_BEGIN_HEADER
/* interpreted as integer pixel character sizes. */ /* interpreted as integer pixel character sizes. */
/* Otherwise, they are expressed as 1/64th of points. */ /* Otherwise, they are expressed as 1/64th of points. */
/* */ /* */
/* x_res :: Only used when `pixel' is value 0 to indicate the */ /* x_res :: Only used when `pixel' is value~0 to indicate the */
/* horizontal resolution in dpi. */ /* horizontal resolution in dpi. */
/* */ /* */
/* y_res :: Only used when `pixel' is value 0 to indicate the */ /* y_res :: Only used when `pixel' is value~0 to indicate the */
/* vertical resolution in dpi. */ /* vertical resolution in dpi. */
/* */ /* */
/* <Note> */ /* <Note> */
@@ -466,7 +466,7 @@ FT_BEGIN_HEADER
/* asize :: A handle to the size object. */ /* asize :: A handle to the size object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The returned @FT_Size object is always owned by the manager. You */ /* The returned @FT_Size object is always owned by the manager. You */
@@ -580,7 +580,7 @@ FT_BEGIN_HEADER
* A new cache handle. NULL in case of error. * A new cache handle. NULL in case of error.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* Like all other caches, this one will be destroyed with the cache * Like all other caches, this one will be destroyed with the cache
@@ -615,7 +615,7 @@ FT_BEGIN_HEADER
* The character code (in the corresponding charmap). * The character code (in the corresponding charmap).
* *
* @return: * @return:
* Glyph index. 0 means `no glyph'. * Glyph index. 0~means `no glyph'.
* *
*/ */
FT_EXPORT( FT_UInt ) FT_EXPORT( FT_UInt )
@@ -721,7 +721,7 @@ FT_BEGIN_HEADER
/* FTC_ImageCache_New */ /* FTC_ImageCache_New */
/* */ /* */
/* <Description> */ /* <Description> */
/* Creates a new glyph image cache. */ /* Create a new glyph image cache. */
/* */ /* */
/* <Input> */ /* <Input> */
/* manager :: The parent manager for the image cache. */ /* manager :: The parent manager for the image cache. */
@@ -730,7 +730,7 @@ FT_BEGIN_HEADER
/* acache :: A handle to the new glyph image cache object. */ /* acache :: A handle to the new glyph image cache object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FTC_ImageCache_New( FTC_Manager manager, FTC_ImageCache_New( FTC_Manager manager,
@@ -743,7 +743,7 @@ FT_BEGIN_HEADER
/* FTC_ImageCache_Lookup */ /* FTC_ImageCache_Lookup */
/* */ /* */
/* <Description> */ /* <Description> */
/* Retrieves a given glyph image from a glyph image cache. */ /* Retrieve a given glyph image from a glyph image cache. */
/* */ /* */
/* <Input> */ /* <Input> */
/* cache :: A handle to the source glyph image cache. */ /* cache :: A handle to the source glyph image cache. */
@@ -753,7 +753,7 @@ FT_BEGIN_HEADER
/* gindex :: The glyph index to retrieve. */ /* gindex :: The glyph index to retrieve. */
/* */ /* */
/* <Output> */ /* <Output> */
/* aglyph :: The corresponding @FT_Glyph object. 0 in case of */ /* aglyph :: The corresponding @FT_Glyph object. 0~in case of */
/* failure. */ /* failure. */
/* */ /* */
/* anode :: Used to return the address of of the corresponding cache */ /* anode :: Used to return the address of of the corresponding cache */
@@ -761,7 +761,7 @@ FT_BEGIN_HEADER
/* below). */ /* below). */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The returned glyph is owned and managed by the glyph image cache. */ /* The returned glyph is owned and managed by the glyph image cache. */
@@ -806,7 +806,7 @@ FT_BEGIN_HEADER
/* gindex :: The glyph index to retrieve. */ /* gindex :: The glyph index to retrieve. */
/* */ /* */
/* <Output> */ /* <Output> */
/* aglyph :: The corresponding @FT_Glyph object. 0 in case of */ /* aglyph :: The corresponding @FT_Glyph object. 0~in case of */
/* failure. */ /* failure. */
/* */ /* */
/* anode :: Used to return the address of of the corresponding */ /* anode :: Used to return the address of of the corresponding */
@@ -814,7 +814,7 @@ FT_BEGIN_HEADER
/* (see note below). */ /* (see note below). */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The returned glyph is owned and managed by the glyph image cache. */ /* The returned glyph is owned and managed by the glyph image cache. */
@@ -873,11 +873,11 @@ FT_BEGIN_HEADER
/* top :: The vertical distance from the pen position (on the */ /* top :: The vertical distance from the pen position (on the */
/* baseline) to the upper bitmap border (a.k.a. `top */ /* baseline) to the upper bitmap border (a.k.a. `top */
/* side bearing'). The distance is positive for upwards */ /* side bearing'). The distance is positive for upwards */
/* Y coordinates. */ /* y~coordinates. */
/* */ /* */
/* format :: The format of the glyph bitmap (monochrome or gray). */ /* format :: The format of the glyph bitmap (monochrome or gray). */
/* */ /* */
/* max_grays :: Maximum gray level value (in the range 1 to 255). */ /* max_grays :: Maximum gray level value (in the range 1 to~255). */
/* */ /* */
/* pitch :: The number of bytes per bitmap line. May be positive */ /* pitch :: The number of bytes per bitmap line. May be positive */
/* or negative. */ /* or negative. */
@@ -926,7 +926,7 @@ FT_BEGIN_HEADER
/* FTC_SBitCache_New */ /* FTC_SBitCache_New */
/* */ /* */
/* <Description> */ /* <Description> */
/* Creates a new cache to store small glyph bitmaps. */ /* Create a new cache to store small glyph bitmaps. */
/* */ /* */
/* <Input> */ /* <Input> */
/* manager :: A handle to the source cache manager. */ /* manager :: A handle to the source cache manager. */
@@ -935,7 +935,7 @@ FT_BEGIN_HEADER
/* acache :: A handle to the new sbit cache. NULL in case of error. */ /* acache :: A handle to the new sbit cache. NULL in case of error. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FTC_SBitCache_New( FTC_Manager manager, FTC_SBitCache_New( FTC_Manager manager,
@@ -948,7 +948,7 @@ FT_BEGIN_HEADER
/* FTC_SBitCache_Lookup */ /* FTC_SBitCache_Lookup */
/* */ /* */
/* <Description> */ /* <Description> */
/* Looks up a given small glyph bitmap in a given sbit cache and */ /* Look up a given small glyph bitmap in a given sbit cache and */
/* `lock' it to prevent its flushing from the cache until needed. */ /* `lock' it to prevent its flushing from the cache until needed. */
/* */ /* */
/* <Input> */ /* <Input> */
@@ -966,7 +966,7 @@ FT_BEGIN_HEADER
/* below). */ /* below). */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The small bitmap descriptor and its bit buffer are owned by the */ /* The small bitmap descriptor and its bit buffer are owned by the */
@@ -974,7 +974,7 @@ FT_BEGIN_HEADER
/* as well disappear from memory on the next cache lookup, so don't */ /* as well disappear from memory on the next cache lookup, so don't */
/* treat them as persistent data. */ /* treat them as persistent data. */
/* */ /* */
/* The descriptor's `buffer' field is set to 0 to indicate a missing */ /* The descriptor's `buffer' field is set to~0 to indicate a missing */
/* glyph bitmap. */ /* glyph bitmap. */
/* */ /* */
/* If `anode' is _not_ NULL, it receives the address of the cache */ /* If `anode' is _not_ NULL, it receives the address of the cache */
@@ -1021,7 +1021,7 @@ FT_BEGIN_HEADER
/* (see note below). */ /* (see note below). */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The small bitmap descriptor and its bit buffer are owned by the */ /* The small bitmap descriptor and its bit buffer are owned by the */
@@ -1029,7 +1029,7 @@ FT_BEGIN_HEADER
/* as well disappear from memory on the next cache lookup, so don't */ /* as well disappear from memory on the next cache lookup, so don't */
/* treat them as persistent data. */ /* treat them as persistent data. */
/* */ /* */
/* The descriptor's `buffer' field is set to 0 to indicate a missing */ /* The descriptor's `buffer' field is set to~0 to indicate a missing */
/* glyph bitmap. */ /* glyph bitmap. */
/* */ /* */
/* If `anode' is _not_ NULL, it receives the address of the cache */ /* If `anode' is _not_ NULL, it receives the address of the cache */
+3 -3
View File
@@ -64,16 +64,16 @@ FT_BEGIN_HEADER
* *
* @output: * @output:
* registry :: * registry ::
* The registry, as a C string, owned by the face. * The registry, as a C~string, owned by the face.
* *
* ordering :: * ordering ::
* The ordering, as a C string, owned by the face. * The ordering, as a C~string, owned by the face.
* *
* supplement :: * supplement ::
* The supplement. * The supplement.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* This function only works with CID faces, returning an error * This function only works with CID faces, returning an error
+2 -2
View File
@@ -31,11 +31,11 @@
* Gasp Table * Gasp Table
* *
* @abstract: * @abstract:
* Retrieving TrueType `gasp' table entries * Retrieving TrueType `gasp' table entries.
* *
* @description: * @description:
* The function @FT_Get_Gasp can be used to query a TrueType or OpenType * The function @FT_Get_Gasp can be used to query a TrueType or OpenType
* font for specific entries in their `gasp' table, if any. This is * font for specific entries in its `gasp' table, if any. This is
* mainly useful when implementing native TrueType hinting with the * mainly useful when implementing native TrueType hinting with the
* bytecode interpreter to duplicate the Windows text rendering results. * bytecode interpreter to duplicate the Windows text rendering results.
*/ */
+13 -13
View File
@@ -145,7 +145,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* top :: The top-side bearing, i.e., the vertical distance from */ /* top :: The top-side bearing, i.e., the vertical distance from */
/* the current pen position to the top border of the glyph */ /* the current pen position to the top border of the glyph */
/* bitmap. This distance is positive for upwards-y! */ /* bitmap. This distance is positive for upwards~y! */
/* */ /* */
/* bitmap :: A descriptor for the bitmap. */ /* bitmap :: A descriptor for the bitmap. */
/* */ /* */
@@ -228,7 +228,7 @@ FT_BEGIN_HEADER
/* aglyph :: A handle to the glyph object. */ /* aglyph :: A handle to the glyph object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Get_Glyph( FT_GlyphSlot slot, FT_Get_Glyph( FT_GlyphSlot slot,
@@ -248,11 +248,11 @@ FT_BEGIN_HEADER
/* source :: A handle to the source glyph object. */ /* source :: A handle to the source glyph object. */
/* */ /* */
/* <Output> */ /* <Output> */
/* target :: A handle to the target glyph object. 0 in case of */ /* target :: A handle to the target glyph object. 0~in case of */
/* error. */ /* error. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Glyph_Copy( FT_Glyph source, FT_Glyph_Copy( FT_Glyph source,
@@ -265,7 +265,7 @@ FT_BEGIN_HEADER
/* FT_Glyph_Transform */ /* FT_Glyph_Transform */
/* */ /* */
/* <Description> */ /* <Description> */
/* Transforms a glyph image if its format is scalable. */ /* Transform a glyph image if its format is scalable. */
/* */ /* */
/* <InOut> */ /* <InOut> */
/* glyph :: A handle to the target glyph object. */ /* glyph :: A handle to the target glyph object. */
@@ -375,7 +375,7 @@ FT_BEGIN_HEADER
/* expressed in 1/64th of pixels if it is grid-fitted. */ /* expressed in 1/64th of pixels if it is grid-fitted. */
/* */ /* */
/* <Note> */ /* <Note> */
/* Coordinates are relative to the glyph origin, using the Y-upwards */ /* Coordinates are relative to the glyph origin, using the y~upwards */
/* convention. */ /* convention. */
/* */ /* */
/* If the glyph has been loaded with @FT_LOAD_NO_SCALE, `bbox_mode' */ /* If the glyph has been loaded with @FT_LOAD_NO_SCALE, `bbox_mode' */
@@ -421,7 +421,7 @@ FT_BEGIN_HEADER
/* FT_Glyph_To_Bitmap */ /* FT_Glyph_To_Bitmap */
/* */ /* */
/* <Description> */ /* <Description> */
/* Converts a given glyph object to a bitmap glyph object. */ /* Convert a given glyph object to a bitmap glyph object. */
/* */ /* */
/* <InOut> */ /* <InOut> */
/* the_glyph :: A pointer to a handle to the target glyph. */ /* the_glyph :: A pointer to a handle to the target glyph. */
@@ -431,7 +431,7 @@ FT_BEGIN_HEADER
/* rendered. */ /* rendered. */
/* */ /* */
/* origin :: A pointer to a vector used to translate the glyph */ /* origin :: A pointer to a vector used to translate the glyph */
/* image before rendering. Can be 0 (if no */ /* image before rendering. Can be~0 (if no */
/* translation). The origin is expressed in */ /* translation). The origin is expressed in */
/* 26.6 pixels. */ /* 26.6 pixels. */
/* */ /* */
@@ -440,7 +440,7 @@ FT_BEGIN_HEADER
/* never destroyed in case of error. */ /* never destroyed in case of error. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The glyph image is translated with the `origin' vector before */ /* The glyph image is translated with the `origin' vector before */
@@ -497,7 +497,7 @@ FT_BEGIN_HEADER
/* FT_Done_Glyph */ /* FT_Done_Glyph */
/* */ /* */
/* <Description> */ /* <Description> */
/* Destroys a given glyph. */ /* Destroy a given glyph. */
/* */ /* */
/* <Input> */ /* <Input> */
/* glyph :: A handle to the target glyph object. */ /* glyph :: A handle to the target glyph object. */
@@ -524,7 +524,7 @@ FT_BEGIN_HEADER
/* FT_Matrix_Multiply */ /* FT_Matrix_Multiply */
/* */ /* */
/* <Description> */ /* <Description> */
/* Performs the matrix operation `b = a*b'. */ /* Perform the matrix operation `b = a*b'. */
/* */ /* */
/* <Input> */ /* <Input> */
/* a :: A pointer to matrix `a'. */ /* a :: A pointer to matrix `a'. */
@@ -546,14 +546,14 @@ FT_BEGIN_HEADER
/* FT_Matrix_Invert */ /* FT_Matrix_Invert */
/* */ /* */
/* <Description> */ /* <Description> */
/* Inverts a 2x2 matrix. Returns an error if it can't be inverted. */ /* Invert a 2x2 matrix. Return an error if it can't be inverted. */
/* */ /* */
/* <InOut> */ /* <InOut> */
/* matrix :: A pointer to the target matrix. Remains untouched in */ /* matrix :: A pointer to the target matrix. Remains untouched in */
/* case of error. */ /* case of error. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Matrix_Invert( FT_Matrix* matrix ); FT_Matrix_Invert( FT_Matrix* matrix );
+5 -5
View File
@@ -202,7 +202,7 @@ FT_BEGIN_HEADER
* The array itself must be allocated by a client. * The array itself must be allocated by a client.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* This function only works with TrueTypeGX fonts, returning an error * This function only works with TrueTypeGX fonts, returning an error
@@ -285,14 +285,14 @@ FT_BEGIN_HEADER
* FT_ClassicKern_Validate * FT_ClassicKern_Validate
* *
* @description: * @description:
* Validate classic (16bit format) kern table to assure that the offsets * Validate classic (16-bit format) kern table to assure that the offsets
* and indices are valid. The idea is that a higher-level library which * and indices are valid. The idea is that a higher-level library which
* actually does the text layout can access those tables without error * actually does the text layout can access those tables without error
* checking (which can be quite time consuming). * checking (which can be quite time consuming).
* *
* The `kern' table validator in @FT_TrueTypeGX_Validate deals with both * The `kern' table validator in @FT_TrueTypeGX_Validate deals with both
* the new 32bit format and the classic 16bit format, while * the new 32-bit format and the classic 16-bit format, while
* FT_ClassicKern_Validate only supports the classic 16bit format. * FT_ClassicKern_Validate only supports the classic 16-bit format.
* *
* @input: * @input:
* face :: * face ::
@@ -307,7 +307,7 @@ FT_BEGIN_HEADER
* A pointer to the kern table. * A pointer to the kern table.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* After use, the application should deallocate the buffers pointed to by * After use, the application should deallocate the buffers pointed to by
+1 -1
View File
@@ -66,7 +66,7 @@ FT_BEGIN_HEADER
* The source stream. * The source stream.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* The source stream must be opened _before_ calling this function. * The source stream must be opened _before_ calling this function.
+81 -74
View File
@@ -53,7 +53,7 @@ FT_BEGIN_HEADER
/* <Description> */ /* <Description> */
/* The type FT_Pos is a 32-bit integer used to store vectorial */ /* The type FT_Pos is a 32-bit integer used to store vectorial */
/* coordinates. Depending on the context, these can represent */ /* coordinates. Depending on the context, these can represent */
/* distances in integer font units, or 16,16, or 26.6 fixed float */ /* distances in integer font units, or 16.16, or 26.6 fixed float */
/* pixel coordinates. */ /* pixel coordinates. */
/* */ /* */
typedef signed long FT_Pos; typedef signed long FT_Pos;
@@ -119,17 +119,17 @@ FT_BEGIN_HEADER
/* */ /* */
/* <Values> */ /* <Values> */
/* FT_PIXEL_MODE_NONE :: */ /* FT_PIXEL_MODE_NONE :: */
/* Value 0 is reserved. */ /* Value~0 is reserved. */
/* */ /* */
/* FT_PIXEL_MODE_MONO :: */ /* FT_PIXEL_MODE_MONO :: */
/* A monochrome bitmap, using 1 bit per pixel. Note that pixels */ /* A monochrome bitmap, using 1~bit per pixel. Note that pixels */
/* are stored in most-significant order (MSB), which means that */ /* are stored in most-significant order (MSB), which means that */
/* the left-most pixel in a byte has value 128. */ /* the left-most pixel in a byte has value 128. */
/* */ /* */
/* FT_PIXEL_MODE_GRAY :: */ /* FT_PIXEL_MODE_GRAY :: */
/* An 8-bit bitmap, generally used to represent anti-aliased glyph */ /* An 8-bit bitmap, generally used to represent anti-aliased glyph */
/* images. Each pixel is stored in one byte. Note that the number */ /* images. Each pixel is stored in one byte. Note that the number */
/* of value `gray' levels is stored in the `num_bytes' field of */ /* of value `gray' levels is stored in the `num_grays' field of */
/* the @FT_Bitmap structure (it generally is 256). */ /* the @FT_Bitmap structure (it generally is 256). */
/* */ /* */
/* FT_PIXEL_MODE_GRAY2 :: */ /* FT_PIXEL_MODE_GRAY2 :: */
@@ -207,10 +207,10 @@ FT_BEGIN_HEADER
/* used with ft_pixel_mode_pal4 and ft_pixel_mode_pal8. */ /* used with ft_pixel_mode_pal4 and ft_pixel_mode_pal8. */
/* */ /* */
/* <Values> */ /* <Values> */
/* ft_palette_mode_rgb :: The palette is an array of 3-bytes RGB */ /* ft_palette_mode_rgb :: The palette is an array of 3-byte RGB */
/* records. */ /* records. */
/* */ /* */
/* ft_palette_mode_rgba :: The palette is an array of 4-bytes RGBA */ /* ft_palette_mode_rgba :: The palette is an array of 4-byte RGBA */
/* records. */ /* records. */
/* */ /* */
/* <Note> */ /* <Note> */
@@ -317,11 +317,11 @@ FT_BEGIN_HEADER
/* elements, giving the outline's point coordinates. */ /* elements, giving the outline's point coordinates. */
/* */ /* */
/* tags :: A pointer to an array of `n_points' chars, giving */ /* tags :: A pointer to an array of `n_points' chars, giving */
/* each outline point's type. If bit 0 is unset, the */ /* each outline point's type. If bit~0 is unset, the */
/* point is `off' the curve, i.e., a Bézier control */ /* point is `off' the curve, i.e., a Bézier control */
/* point, while it is `on' when set. */ /* point, while it is `on' when set. */
/* */ /* */
/* Bit 1 is meaningful for `off' points only. If set, */ /* Bit~1 is meaningful for `off' points only. If set, */
/* it indicates a third-order Bézier arc control point; */ /* it indicates a third-order Bézier arc control point; */
/* and a second-order control point if unset. */ /* and a second-order control point if unset. */
/* */ /* */
@@ -352,67 +352,73 @@ FT_BEGIN_HEADER
/*************************************************************************/ /*************************************************************************/
/* */ /* */
/* <Enum> */ /* <Enum> */
/* FT_OUTLINE_FLAGS */ /* FT_OUTLINE_FLAGS */
/* */ /* */
/* <Description> */ /* <Description> */
/* A list of bit-field constants use for the flags in an outline's */ /* A list of bit-field constants use for the flags in an outline's */
/* `flags' field. */ /* `flags' field. */
/* */ /* */
/* <Values> */ /* <Values> */
/* FT_OUTLINE_NONE :: Value 0 is reserved. */ /* FT_OUTLINE_NONE :: */
/* Value~0 is reserved. */
/* */ /* */
/* FT_OUTLINE_OWNER :: If set, this flag indicates that the */ /* FT_OUTLINE_OWNER :: */
/* outline's field arrays (i.e., */ /* If set, this flag indicates that the outline's field arrays */
/* `points', `flags' & `contours') are */ /* (i.e., `points', `flags', and `contours') are `owned' by the */
/* `owned' by the outline object, and */ /* outline object, and should thus be freed when it is destroyed. */
/* should thus be freed when it is */
/* destroyed. */
/* */ /* */
/* FT_OUTLINE_EVEN_ODD_FILL :: By default, outlines are filled using */ /* FT_OUTLINE_EVEN_ODD_FILL :: */
/* the non-zero winding rule. If set to */ /* By default, outlines are filled using the non-zero winding rule. */
/* 1, the outline will be filled using */ /* If set to 1, the outline will be filled using the even-odd fill */
/* the even-odd fill rule (only works */ /* rule (only works with the smooth raster). */
/* with the smooth raster). */
/* */ /* */
/* FT_OUTLINE_REVERSE_FILL :: By default, outside contours of an */ /* FT_OUTLINE_REVERSE_FILL :: */
/* outline are oriented in clock-wise */ /* By default, outside contours of an outline are oriented in */
/* direction, as defined in the TrueType */ /* clock-wise direction, as defined in the TrueType specification. */
/* specification. This flag is set if */ /* This flag is set if the outline uses the opposite direction */
/* the outline uses the opposite */ /* (typically for Type~1 fonts). This flag is ignored by the scan */
/* direction (typically for Type 1 */ /* converter. */
/* fonts). This flag is ignored by the */
/* scan-converter. */
/* */ /* */
/* FT_OUTLINE_IGNORE_DROPOUTS :: By default, the scan converter will */ /* FT_OUTLINE_IGNORE_DROPOUTS :: */
/* try to detect drop-outs in an outline */ /* By default, the scan converter will try to detect drop-outs in */
/* and correct the glyph bitmap to */ /* an outline and correct the glyph bitmap to ensure consistent */
/* ensure consistent shape continuity. */ /* shape continuity. If set, this flag hints the scan-line */
/* If set, this flag hints the scan-line */ /* converter to ignore such cases. */
/* converter to ignore such cases. */
/* */ /* */
/* FT_OUTLINE_HIGH_PRECISION :: This flag indicates that the */ /* FT_OUTLINE_SMART_DROPOUTS :: */
/* scan-line converter should try to */ /* Select smart dropout control. If unset, use simple dropout */
/* convert this outline to bitmaps with */ /* control. Ignored if @FT_OUTLINE_IGNORE_DROPOUTS is set. */
/* the highest possible quality. It is */
/* typically set for small character */
/* sizes. Note that this is only a */
/* hint, that might be completely */
/* ignored by a given scan-converter. */
/* */ /* */
/* FT_OUTLINE_SINGLE_PASS :: This flag is set to force a given */ /* FT_OUTLINE_INCLUDE_STUBS :: */
/* scan-converter to only use a single */ /* If set, turn pixels on for `stubs', otherwise exclude them. */
/* pass over the outline to render a */ /* Ignored if @FT_OUTLINE_IGNORE_DROPOUTS is set. */
/* bitmap glyph image. Normally, it is */ /* */
/* set for very large character sizes. */ /* FT_OUTLINE_HIGH_PRECISION :: */
/* It is only a hint, that might be */ /* This flag indicates that the scan-line converter should try to */
/* completely ignored by a given */ /* convert this outline to bitmaps with the highest possible */
/* scan-converter. */ /* quality. It is typically set for small character sizes. Note */
/* that this is only a hint that might be completely ignored by a */
/* given scan-converter. */
/* */
/* FT_OUTLINE_SINGLE_PASS :: */
/* This flag is set to force a given scan-converter to only use a */
/* single pass over the outline to render a bitmap glyph image. */
/* Normally, it is set for very large character sizes. It is only */
/* a hint that might be completely ignored by a given */
/* scan-converter. */
/* */
/* <Note> */
/* Please refer to the description of the `SCANTYPE' instruction in */
/* the OpenType specification (in file `ttinst1.doc') how simple */
/* drop-outs, smart drop-outs, and stubs are defined. */
/* */ /* */
#define FT_OUTLINE_NONE 0x0 #define FT_OUTLINE_NONE 0x0
#define FT_OUTLINE_OWNER 0x1 #define FT_OUTLINE_OWNER 0x1
#define FT_OUTLINE_EVEN_ODD_FILL 0x2 #define FT_OUTLINE_EVEN_ODD_FILL 0x2
#define FT_OUTLINE_REVERSE_FILL 0x4 #define FT_OUTLINE_REVERSE_FILL 0x4
#define FT_OUTLINE_IGNORE_DROPOUTS 0x8 #define FT_OUTLINE_IGNORE_DROPOUTS 0x8
#define FT_OUTLINE_SMART_DROPOUTS 0x10
#define FT_OUTLINE_INCLUDE_STUBS 0x20
#define FT_OUTLINE_HIGH_PRECISION 0x100 #define FT_OUTLINE_HIGH_PRECISION 0x100
#define FT_OUTLINE_SINGLE_PASS 0x200 #define FT_OUTLINE_SINGLE_PASS 0x200
@@ -483,7 +489,7 @@ FT_BEGIN_HEADER
/* decomposition function. */ /* decomposition function. */
/* */ /* */
/* <Return> */ /* <Return> */
/* Error code. 0 means success. */ /* Error code. 0~means success. */
/* */ /* */
typedef int typedef int
(*FT_Outline_MoveToFunc)( const FT_Vector* to, (*FT_Outline_MoveToFunc)( const FT_Vector* to,
@@ -510,7 +516,7 @@ FT_BEGIN_HEADER
/* decomposition function. */ /* decomposition function. */
/* */ /* */
/* <Return> */ /* <Return> */
/* Error code. 0 means success. */ /* Error code. 0~means success. */
/* */ /* */
typedef int typedef int
(*FT_Outline_LineToFunc)( const FT_Vector* to, (*FT_Outline_LineToFunc)( const FT_Vector* to,
@@ -541,7 +547,7 @@ FT_BEGIN_HEADER
/* the decomposition function. */ /* the decomposition function. */
/* */ /* */
/* <Return> */ /* <Return> */
/* Error code. 0 means success. */ /* Error code. 0~means success. */
/* */ /* */
typedef int typedef int
(*FT_Outline_ConicToFunc)( const FT_Vector* control, (*FT_Outline_ConicToFunc)( const FT_Vector* control,
@@ -573,7 +579,7 @@ FT_BEGIN_HEADER
/* the decomposition function. */ /* the decomposition function. */
/* */ /* */
/* <Return> */ /* <Return> */
/* Error code. 0 means success. */ /* Error code. 0~means success. */
/* */ /* */
typedef int typedef int
(*FT_Outline_CubicToFunc)( const FT_Vector* control1, (*FT_Outline_CubicToFunc)( const FT_Vector* control1,
@@ -619,7 +625,7 @@ FT_BEGIN_HEADER
/* y' = (x << shift) - delta */ /* y' = (x << shift) - delta */
/* } */ /* } */
/* */ /* */
/* Set the value of `shift' and `delta' to 0 to get the original */ /* Set the value of `shift' and `delta' to~0 to get the original */
/* point coordinates. */ /* point coordinates. */
/* */ /* */
typedef struct FT_Outline_Funcs_ typedef struct FT_Outline_Funcs_
@@ -652,7 +658,7 @@ FT_BEGIN_HEADER
/* This macro converts four-letter tags to an unsigned long type. */ /* This macro converts four-letter tags to an unsigned long type. */
/* */ /* */
/* <Note> */ /* <Note> */
/* Since many 16bit compilers don't like 32bit enumerations, you */ /* Since many 16-bit compilers don't like 32-bit enumerations, you */
/* should redefine this macro in case of problems to something like */ /* should redefine this macro in case of problems to something like */
/* this: */ /* this: */
/* */ /* */
@@ -684,7 +690,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* <Values> */ /* <Values> */
/* FT_GLYPH_FORMAT_NONE :: */ /* FT_GLYPH_FORMAT_NONE :: */
/* The value 0 is reserved. */ /* The value~0 is reserved. */
/* */ /* */
/* FT_GLYPH_FORMAT_COMPOSITE :: */ /* FT_GLYPH_FORMAT_COMPOSITE :: */
/* The glyph image is a composite of several other images. This */ /* The glyph image is a composite of several other images. This */
@@ -704,7 +710,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* FT_GLYPH_FORMAT_PLOTTER :: */ /* FT_GLYPH_FORMAT_PLOTTER :: */
/* The glyph image is a vectorial path with no inside and outside */ /* The glyph image is a vectorial path with no inside and outside */
/* contours. Some Type 1 fonts, like those in the Hershey family, */ /* contours. Some Type~1 fonts, like those in the Hershey family, */
/* contain glyphs in this format. These are described as */ /* contain glyphs in this format. These are described as */
/* @FT_Outline, but FreeType isn't currently capable of rendering */ /* @FT_Outline, but FreeType isn't currently capable of rendering */
/* them correctly. */ /* them correctly. */
@@ -816,10 +822,11 @@ FT_BEGIN_HEADER
/* */ /* */
/* <Note> */ /* <Note> */
/* This structure is used by the span drawing callback type named */ /* This structure is used by the span drawing callback type named */
/* @FT_SpanFunc which takes the y-coordinate of the span as a */ /* @FT_SpanFunc which takes the y~coordinate of the span as a */
/* a parameter. */ /* a parameter. */
/* */ /* */
/* The coverage value is always between 0 and 255. */ /* The coverage value is always between 0 and 255. If you want less */
/* gray values, the callback function has to reduce them. */
/* */ /* */
typedef struct FT_Span_ typedef struct FT_Span_
{ {
@@ -841,7 +848,7 @@ FT_BEGIN_HEADER
/* spans on each scan line. */ /* spans on each scan line. */
/* */ /* */
/* <Input> */ /* <Input> */
/* y :: The scanline's y-coordinate. */ /* y :: The scanline's y~coordinate. */
/* */ /* */
/* count :: The number of spans to draw on this scanline. */ /* count :: The number of spans to draw on this scanline. */
/* */ /* */
@@ -858,8 +865,8 @@ FT_BEGIN_HEADER
/* */ /* */
/* Note that the `count' field cannot be greater than a fixed value */ /* Note that the `count' field cannot be greater than a fixed value */
/* defined by the `FT_MAX_GRAY_SPANS' configuration macro in */ /* defined by the `FT_MAX_GRAY_SPANS' configuration macro in */
/* `ftoption.h'. By default, this value is set to 32, which means */ /* `ftoption.h'. By default, this value is set to~32, which means */
/* that if there are more than 32 spans on a given scanline, the */ /* that if there are more than 32~spans on a given scanline, the */
/* callback is called several times with the same `y' parameter in */ /* callback is called several times with the same `y' parameter in */
/* order to draw all callbacks. */ /* order to draw all callbacks. */
/* */ /* */
@@ -889,14 +896,14 @@ FT_BEGIN_HEADER
/* per-se the TrueType spec. */ /* per-se the TrueType spec. */
/* */ /* */
/* <Input> */ /* <Input> */
/* y :: The pixel's y-coordinate. */ /* y :: The pixel's y~coordinate. */
/* */ /* */
/* x :: The pixel's x-coordinate. */ /* x :: The pixel's x~coordinate. */
/* */ /* */
/* user :: User-supplied data that is passed to the callback. */ /* user :: User-supplied data that is passed to the callback. */
/* */ /* */
/* <Return> */ /* <Return> */
/* 1 if the pixel is `set', 0 otherwise. */ /* 1~if the pixel is `set', 0~otherwise. */
/* */ /* */
typedef int typedef int
(*FT_Raster_BitTest_Func)( int y, (*FT_Raster_BitTest_Func)( int y,
@@ -917,14 +924,14 @@ FT_BEGIN_HEADER
/* drop-out control according to the TrueType specification. */ /* drop-out control according to the TrueType specification. */
/* */ /* */
/* <Input> */ /* <Input> */
/* y :: The pixel's y-coordinate. */ /* y :: The pixel's y~coordinate. */
/* */ /* */
/* x :: The pixel's x-coordinate. */ /* x :: The pixel's x~coordinate. */
/* */ /* */
/* user :: User-supplied data that is passed to the callback. */ /* user :: User-supplied data that is passed to the callback. */
/* */ /* */
/* <Return> */ /* <Return> */
/* 1 if the pixel is `set', 0 otherwise. */ /* 1~if the pixel is `set', 0~otherwise. */
/* */ /* */
typedef void typedef void
(*FT_Raster_BitSet_Func)( int y, (*FT_Raster_BitSet_Func)( int y,
@@ -1064,7 +1071,7 @@ FT_BEGIN_HEADER
/* raster :: A handle to the new raster object. */ /* raster :: A handle to the new raster object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* Error code. 0 means success. */ /* Error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The `memory' parameter is a typeless pointer in order to avoid */ /* The `memory' parameter is a typeless pointer in order to avoid */
@@ -1164,8 +1171,8 @@ FT_BEGIN_HEADER
/* FT_Raster_RenderFunc */ /* FT_Raster_RenderFunc */
/* */ /* */
/* <Description> */ /* <Description> */
/* Invokes a given raster to scan-convert a given glyph image into a */ /* Invoke a given raster to scan-convert a given glyph image into a */
/* target bitmap. */ /* target bitmap. */
/* */ /* */
/* <Input> */ /* <Input> */
/* raster :: A handle to the raster object. */ /* raster :: A handle to the raster object. */
@@ -1174,7 +1181,7 @@ FT_BEGIN_HEADER
/* store the rendering parameters. */ /* store the rendering parameters. */
/* */ /* */
/* <Return> */ /* <Return> */
/* Error code. 0 means success. */ /* Error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The exact format of the source image depends on the raster's glyph */ /* The exact format of the source image depends on the raster's glyph */
+4 -4
View File
@@ -49,7 +49,7 @@ FT_BEGIN_HEADER
* *
* Apart from that, all other tables are loaded normally from the font * Apart from that, all other tables are loaded normally from the font
* file. This mode is useful when FreeType is used within another * file. This mode is useful when FreeType is used within another
* engine, e.g., a Postscript Imaging Processor. * engine, e.g., a PostScript Imaging Processor.
* *
* To enable this mode, you must use @FT_Open_Face, passing an * To enable this mode, you must use @FT_Open_Face, passing an
* @FT_Parameter with the @FT_PARAM_TAG_INCREMENTAL tag and an * @FT_Parameter with the @FT_PARAM_TAG_INCREMENTAL tag and an
@@ -67,7 +67,7 @@ FT_BEGIN_HEADER
* @description: * @description:
* An opaque type describing a user-provided object used to implement * An opaque type describing a user-provided object used to implement
* `incremental' glyph loading within FreeType. This is used to support * `incremental' glyph loading within FreeType. This is used to support
* embedded fonts in certain environments (e.g., Postscript interpreters), * embedded fonts in certain environments (e.g., PostScript interpreters),
* where the glyph data isn't in the font file, or must be overridden by * where the glyph data isn't in the font file, or must be overridden by
* different values. * different values.
* *
@@ -142,7 +142,7 @@ FT_BEGIN_HEADER
* *
* Note that the format of the glyph's data bytes depends on the font * Note that the format of the glyph's data bytes depends on the font
* file format. For TrueType, it must correspond to the raw bytes within * file format. For TrueType, it must correspond to the raw bytes within
* the `glyf' table. For Postscript formats, it must correspond to the * the `glyf' table. For PostScript formats, it must correspond to the
* *unencrypted* charstring bytes, without any `lenIV' header. It is * *unencrypted* charstring bytes, without any `lenIV' header. It is
* undefined for any other format. * undefined for any other format.
* *
@@ -160,7 +160,7 @@ FT_BEGIN_HEADER
* accessed as a read-only byte block). * accessed as a read-only byte block).
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* If this function returns successfully the method * If this function returns successfully the method
+3 -3
View File
@@ -119,7 +119,7 @@ FT_BEGIN_HEADER
* well on most LCD screens. * well on most LCD screens.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* This feature is always disabled by default. Clients must make an * This feature is always disabled by default. Clients must make an
@@ -141,8 +141,8 @@ FT_BEGIN_HEADER
* If this feature is activated, the dimensions of LCD glyph bitmaps are * If this feature is activated, the dimensions of LCD glyph bitmaps are
* either larger or taller than the dimensions of the corresponding * either larger or taller than the dimensions of the corresponding
* outline with regards to the pixel grid. For example, for * outline with regards to the pixel grid. For example, for
* @FT_RENDER_MODE_LCD, the filter adds up to 3 pixels to the left, and * @FT_RENDER_MODE_LCD, the filter adds up to 3~pixels to the left, and
* up to 3 pixels to the right. * up to 3~pixels to the right.
* *
* The bitmap offset values are adjusted correctly, so clients shouldn't * The bitmap offset values are adjusted correctly, so clients shouldn't
* need to modify their layout and glyph positioning code when enabling * need to modify their layout and glyph positioning code when enabling
+7 -7
View File
@@ -81,7 +81,7 @@ FT_BEGIN_HEADER
/* FT_List_Find */ /* FT_List_Find */
/* */ /* */
/* <Description> */ /* <Description> */
/* Finds the list node for a given listed object. */ /* Find the list node for a given listed object. */
/* */ /* */
/* <Input> */ /* <Input> */
/* list :: A pointer to the parent list. */ /* list :: A pointer to the parent list. */
@@ -101,7 +101,7 @@ FT_BEGIN_HEADER
/* FT_List_Add */ /* FT_List_Add */
/* */ /* */
/* <Description> */ /* <Description> */
/* Appends an element to the end of a list. */ /* Append an element to the end of a list. */
/* */ /* */
/* <InOut> */ /* <InOut> */
/* list :: A pointer to the parent list. */ /* list :: A pointer to the parent list. */
@@ -118,7 +118,7 @@ FT_BEGIN_HEADER
/* FT_List_Insert */ /* FT_List_Insert */
/* */ /* */
/* <Description> */ /* <Description> */
/* Inserts an element at the head of a list. */ /* Insert an element at the head of a list. */
/* */ /* */
/* <InOut> */ /* <InOut> */
/* list :: A pointer to parent list. */ /* list :: A pointer to parent list. */
@@ -135,7 +135,7 @@ FT_BEGIN_HEADER
/* FT_List_Remove */ /* FT_List_Remove */
/* */ /* */
/* <Description> */ /* <Description> */
/* Removes a node from a list. This function doesn't check whether */ /* Remove a node from a list. This function doesn't check whether */
/* the node is in the list! */ /* the node is in the list! */
/* */ /* */
/* <Input> */ /* <Input> */
@@ -155,7 +155,7 @@ FT_BEGIN_HEADER
/* FT_List_Up */ /* FT_List_Up */
/* */ /* */
/* <Description> */ /* <Description> */
/* Moves a node to the head/top of a list. Used to maintain LRU */ /* Move a node to the head/top of a list. Used to maintain LRU */
/* lists. */ /* lists. */
/* */ /* */
/* <InOut> */ /* <InOut> */
@@ -193,7 +193,7 @@ FT_BEGIN_HEADER
/* FT_List_Iterate */ /* FT_List_Iterate */
/* */ /* */
/* <Description> */ /* <Description> */
/* Parses a list and calls a given iterator function on each element. */ /* Parse a list and calls a given iterator function on each element. */
/* Note that parsing is stopped as soon as one of the iterator calls */ /* Note that parsing is stopped as soon as one of the iterator calls */
/* returns a non-zero value. */ /* returns a non-zero value. */
/* */ /* */
@@ -242,7 +242,7 @@ FT_BEGIN_HEADER
/* FT_List_Finalize */ /* FT_List_Finalize */
/* */ /* */
/* <Description> */ /* <Description> */
/* Destroys all elements in the list as well as the list itself. */ /* Destroy all elements in the list as well as the list itself. */
/* */ /* */
/* <Input> */ /* <Input> */
/* list :: A handle to the list. */ /* list :: A handle to the list. */
+1 -1
View File
@@ -63,7 +63,7 @@ FT_BEGIN_HEADER
* source :: The source stream. * source :: The source stream.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* The source stream must be opened _before_ calling this function. * The source stream must be opened _before_ calling this function.
+8 -8
View File
@@ -85,7 +85,7 @@ FT_BEGIN_HEADER
/* aface :: A handle to a new face object. */ /* aface :: A handle to a new face object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Notes> */ /* <Notes> */
/* This function can be used to create @FT_Face objects from fonts */ /* This function can be used to create @FT_Face objects from fonts */
@@ -124,7 +124,7 @@ FT_BEGIN_HEADER
/* @FT_New_Face_From_FSSpec. */ /* @FT_New_Face_From_FSSpec. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_GetFile_From_Mac_Name( const char* fontName, FT_GetFile_From_Mac_Name( const char* fontName,
@@ -152,7 +152,7 @@ FT_BEGIN_HEADER
/* @FT_New_Face_From_FSSpec. */ /* @FT_New_Face_From_FSSpec. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_GetFile_From_Mac_ATS_Name( const char* fontName, FT_GetFile_From_Mac_ATS_Name( const char* fontName,
@@ -183,7 +183,7 @@ FT_BEGIN_HEADER
/* face_index :: Index of the face. For passing to @FT_New_Face. */ /* face_index :: Index of the face. For passing to @FT_New_Face. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_GetFilePath_From_Mac_ATS_Name( const char* fontName, FT_GetFilePath_From_Mac_ATS_Name( const char* fontName,
@@ -209,12 +209,12 @@ FT_BEGIN_HEADER
/* spec :: FSSpec to the font file. */ /* spec :: FSSpec to the font file. */
/* */ /* */
/* face_index :: The index of the face within the resource. The */ /* face_index :: The index of the face within the resource. The */
/* first face has index 0. */ /* first face has index~0. */
/* <Output> */ /* <Output> */
/* aface :: A handle to a new face object. */ /* aface :: A handle to a new face object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* @FT_New_Face_From_FSSpec is identical to @FT_New_Face except */ /* @FT_New_Face_From_FSSpec is identical to @FT_New_Face except */
@@ -244,12 +244,12 @@ FT_BEGIN_HEADER
/* spec :: FSRef to the font file. */ /* spec :: FSRef to the font file. */
/* */ /* */
/* face_index :: The index of the face within the resource. The */ /* face_index :: The index of the face within the resource. The */
/* first face has index 0. */ /* first face has index~0. */
/* <Output> */ /* <Output> */
/* aface :: A handle to a new face object. */ /* aface :: A handle to a new face object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* @FT_New_Face_From_FSRef is identical to @FT_New_Face except */ /* @FT_New_Face_From_FSRef is identical to @FT_New_Face except */
+12 -12
View File
@@ -44,7 +44,7 @@ FT_BEGIN_HEADER
/* setting design axis coordinates. */ /* setting design axis coordinates. */
/* */ /* */
/* George Williams has extended this interface to make it work with */ /* George Williams has extended this interface to make it work with */
/* both Type 1 Multiple Masters fonts and GX distortable (var) */ /* both Type~1 Multiple Masters fonts and GX distortable (var) */
/* fonts. Some of these routines only work with MM fonts, others */ /* fonts. Some of these routines only work with MM fonts, others */
/* will work with both types. They are similar enough that a */ /* will work with both types. They are similar enough that a */
/* consistent interface makes sense. */ /* consistent interface makes sense. */
@@ -91,12 +91,12 @@ FT_BEGIN_HEADER
/* This structure can't be used for GX var fonts. */ /* This structure can't be used for GX var fonts. */
/* */ /* */
/* <Fields> */ /* <Fields> */
/* num_axis :: Number of axes. Cannot exceed 4. */ /* num_axis :: Number of axes. Cannot exceed~4. */
/* */ /* */
/* num_designs :: Number of designs; should be normally 2^num_axis */ /* num_designs :: Number of designs; should be normally 2^num_axis */
/* even though the Type 1 specification strangely */ /* even though the Type~1 specification strangely */
/* allows for intermediate designs to be present. This */ /* allows for intermediate designs to be present. This */
/* number cannot exceed 16. */ /* number cannot exceed~16. */
/* */ /* */
/* axis :: A table of axis descriptors. */ /* axis :: A table of axis descriptors. */
/* */ /* */
@@ -187,7 +187,7 @@ FT_BEGIN_HEADER
/* Some fields are specific to one format and not to the other. */ /* Some fields are specific to one format and not to the other. */
/* */ /* */
/* <Fields> */ /* <Fields> */
/* num_axis :: The number of axes. The maximum value is 4 for */ /* num_axis :: The number of axes. The maximum value is~4 for */
/* MM; no limit in GX. */ /* MM; no limit in GX. */
/* */ /* */
/* num_designs :: The number of designs; should be normally */ /* num_designs :: The number of designs; should be normally */
@@ -227,7 +227,7 @@ FT_BEGIN_HEADER
/* FT_Get_Multi_Master */ /* FT_Get_Multi_Master */
/* */ /* */
/* <Description> */ /* <Description> */
/* Retrieves the Multiple Master descriptor of a given font. */ /* Retrieve the Multiple Master descriptor of a given font. */
/* */ /* */
/* This function can't be used with GX fonts. */ /* This function can't be used with GX fonts. */
/* */ /* */
@@ -238,7 +238,7 @@ FT_BEGIN_HEADER
/* amaster :: The Multiple Masters descriptor. */ /* amaster :: The Multiple Masters descriptor. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Get_Multi_Master( FT_Face face, FT_Get_Multi_Master( FT_Face face,
@@ -251,7 +251,7 @@ FT_BEGIN_HEADER
/* FT_Get_MM_Var */ /* FT_Get_MM_Var */
/* */ /* */
/* <Description> */ /* <Description> */
/* Retrieves the Multiple Master/GX var descriptor of a given font. */ /* Retrieve the Multiple Master/GX var descriptor of a given font. */
/* */ /* */
/* <Input> */ /* <Input> */
/* face :: A handle to the source face. */ /* face :: A handle to the source face. */
@@ -262,7 +262,7 @@ FT_BEGIN_HEADER
/* (a single call to FT_FREE will do it). */ /* (a single call to FT_FREE will do it). */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Get_MM_Var( FT_Face face, FT_Get_MM_Var( FT_Face face,
@@ -290,7 +290,7 @@ FT_BEGIN_HEADER
/* coords :: An array of design coordinates. */ /* coords :: An array of design coordinates. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Set_MM_Design_Coordinates( FT_Face face, FT_Set_MM_Design_Coordinates( FT_Face face,
@@ -317,7 +317,7 @@ FT_BEGIN_HEADER
/* coords :: An array of design coordinates. */ /* coords :: An array of design coordinates. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Set_Var_Design_Coordinates( FT_Face face, FT_Set_Var_Design_Coordinates( FT_Face face,
@@ -345,7 +345,7 @@ FT_BEGIN_HEADER
/* between 0 and 1.0). */ /* between 0 and 1.0). */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Set_MM_Blend_Coordinates( FT_Face face, FT_Set_MM_Blend_Coordinates( FT_Face face,
+12 -12
View File
@@ -179,7 +179,7 @@ FT_BEGIN_HEADER
/* FT_Add_Module */ /* FT_Add_Module */
/* */ /* */
/* <Description> */ /* <Description> */
/* Adds a new module to a given library instance. */ /* Add a new module to a given library instance. */
/* */ /* */
/* <InOut> */ /* <InOut> */
/* library :: A handle to the library object. */ /* library :: A handle to the library object. */
@@ -188,7 +188,7 @@ FT_BEGIN_HEADER
/* clazz :: A pointer to class descriptor for the module. */ /* clazz :: A pointer to class descriptor for the module. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* An error will be returned if a module already exists by that name, */ /* An error will be returned if a module already exists by that name, */
@@ -205,7 +205,7 @@ FT_BEGIN_HEADER
/* FT_Get_Module */ /* FT_Get_Module */
/* */ /* */
/* <Description> */ /* <Description> */
/* Finds a module by its name. */ /* Find a module by its name. */
/* */ /* */
/* <Input> */ /* <Input> */
/* library :: A handle to the library object. */ /* library :: A handle to the library object. */
@@ -213,7 +213,7 @@ FT_BEGIN_HEADER
/* module_name :: The module's name (as an ASCII string). */ /* module_name :: The module's name (as an ASCII string). */
/* */ /* */
/* <Return> */ /* <Return> */
/* A module handle. 0 if none was found. */ /* A module handle. 0~if none was found. */
/* */ /* */
/* <Note> */ /* <Note> */
/* FreeType's internal modules aren't documented very well, and you */ /* FreeType's internal modules aren't documented very well, and you */
@@ -230,7 +230,7 @@ FT_BEGIN_HEADER
/* FT_Remove_Module */ /* FT_Remove_Module */
/* */ /* */
/* <Description> */ /* <Description> */
/* Removes a given module from a library instance. */ /* Remove a given module from a library instance. */
/* */ /* */
/* <InOut> */ /* <InOut> */
/* library :: A handle to a library object. */ /* library :: A handle to a library object. */
@@ -239,7 +239,7 @@ FT_BEGIN_HEADER
/* module :: A handle to a module object. */ /* module :: A handle to a module object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The module object is destroyed by the function in case of success. */ /* The module object is destroyed by the function in case of success. */
@@ -266,7 +266,7 @@ FT_BEGIN_HEADER
/* alibrary :: A pointer to handle of a new library object. */ /* alibrary :: A pointer to handle of a new library object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_New_Library( FT_Memory memory, FT_New_Library( FT_Memory memory,
@@ -279,14 +279,14 @@ FT_BEGIN_HEADER
/* FT_Done_Library */ /* FT_Done_Library */
/* */ /* */
/* <Description> */ /* <Description> */
/* Discards a given library object. This closes all drivers and */ /* Discard a given library object. This closes all drivers and */
/* discards all resource objects. */ /* discards all resource objects. */
/* */ /* */
/* <Input> */ /* <Input> */
/* library :: A handle to the target library. */ /* library :: A handle to the target library. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Done_Library( FT_Library library ); FT_Done_Library( FT_Library library );
@@ -303,7 +303,7 @@ FT_BEGIN_HEADER
/* FT_Set_Debug_Hook */ /* FT_Set_Debug_Hook */
/* */ /* */
/* <Description> */ /* <Description> */
/* Sets a debug hook function for debugging the interpreter of a font */ /* Set a debug hook function for debugging the interpreter of a font */
/* format. */ /* format. */
/* */ /* */
/* <InOut> */ /* <InOut> */
@@ -318,7 +318,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* <Note> */ /* <Note> */
/* Currently, four debug hook slots are available, but only two (for */ /* Currently, four debug hook slots are available, but only two (for */
/* the TrueType and the Type 1 interpreter) are defined. */ /* the TrueType and the Type~1 interpreter) are defined. */
/* */ /* */
/* Since the internal headers of FreeType are no longer installed, */ /* Since the internal headers of FreeType are no longer installed, */
/* the symbol `FT_DEBUG_HOOK_TRUETYPE' isn't available publicly. */ /* the symbol `FT_DEBUG_HOOK_TRUETYPE' isn't available publicly. */
@@ -336,7 +336,7 @@ FT_BEGIN_HEADER
/* FT_Add_Default_Modules */ /* FT_Add_Default_Modules */
/* */ /* */
/* <Description> */ /* <Description> */
/* Adds the set of default drivers to a given library object. */ /* Add the set of default drivers to a given library object. */
/* This is only useful when you create a library object with */ /* This is only useful when you create a library object with */
/* @FT_New_Library (usually to plug a custom memory manager). */ /* @FT_New_Library (usually to plug a custom memory manager). */
/* */ /* */
+1 -1
View File
@@ -145,7 +145,7 @@ FT_BEGIN_HEADER
* A pointer to the JSTF table. * A pointer to the JSTF table.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* This function only works with OpenType fonts, returning an error * This function only works with OpenType fonts, returning an error
+33 -23
View File
@@ -84,7 +84,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Decompose */ /* FT_Outline_Decompose */
/* */ /* */
/* <Description> */ /* <Description> */
/* Walks over an outline's structure to decompose it into individual */ /* Walk over an outline's structure to decompose it into individual */
/* segments and Bézier arcs. This function is also able to emit */ /* segments and Bézier arcs. This function is also able to emit */
/* `move to' and `close to' operations to indicate the start and end */ /* `move to' and `close to' operations to indicate the start and end */
/* of new contours in the outline. */ /* of new contours in the outline. */
@@ -103,7 +103,7 @@ FT_BEGIN_HEADER
/* decomposition. */ /* decomposition. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Outline_Decompose( FT_Outline* outline, FT_Outline_Decompose( FT_Outline* outline,
@@ -117,7 +117,7 @@ FT_BEGIN_HEADER
/* FT_Outline_New */ /* FT_Outline_New */
/* */ /* */
/* <Description> */ /* <Description> */
/* Creates a new outline of a given size. */ /* Create a new outline of a given size. */
/* */ /* */
/* <Input> */ /* <Input> */
/* library :: A handle to the library object from where the */ /* library :: A handle to the library object from where the */
@@ -134,7 +134,7 @@ FT_BEGIN_HEADER
/* error. */ /* error. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The reason why this function takes a `library' parameter is simply */ /* The reason why this function takes a `library' parameter is simply */
@@ -160,7 +160,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Done */ /* FT_Outline_Done */
/* */ /* */
/* <Description> */ /* <Description> */
/* Destroys an outline created with @FT_Outline_New. */ /* Destroy an outline created with @FT_Outline_New. */
/* */ /* */
/* <Input> */ /* <Input> */
/* library :: A handle of the library object used to allocate the */ /* library :: A handle of the library object used to allocate the */
@@ -169,7 +169,7 @@ FT_BEGIN_HEADER
/* outline :: A pointer to the outline object to be discarded. */ /* outline :: A pointer to the outline object to be discarded. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* If the outline's `owner' field is not set, only the outline */ /* If the outline's `owner' field is not set, only the outline */
@@ -200,7 +200,7 @@ FT_BEGIN_HEADER
/* outline :: A handle to a source outline. */ /* outline :: A handle to a source outline. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Outline_Check( FT_Outline* outline ); FT_Outline_Check( FT_Outline* outline );
@@ -212,7 +212,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Get_CBox */ /* FT_Outline_Get_CBox */
/* */ /* */
/* <Description> */ /* <Description> */
/* Returns an outline's `control box'. The control box encloses all */ /* Return an outline's `control box'. The control box encloses all */
/* the outline's points, including Bézier control points. Though it */ /* the outline's points, including Bézier control points. Though it */
/* coincides with the exact bounding box for most glyphs, it can be */ /* coincides with the exact bounding box for most glyphs, it can be */
/* slightly larger in some situations (like when rotating an outline */ /* slightly larger in some situations (like when rotating an outline */
@@ -240,7 +240,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Translate */ /* FT_Outline_Translate */
/* */ /* */
/* <Description> */ /* <Description> */
/* Applies a simple translation to the points of an outline. */ /* Apply a simple translation to the points of an outline. */
/* */ /* */
/* <InOut> */ /* <InOut> */
/* outline :: A pointer to the target outline descriptor. */ /* outline :: A pointer to the target outline descriptor. */
@@ -262,7 +262,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Copy */ /* FT_Outline_Copy */
/* */ /* */
/* <Description> */ /* <Description> */
/* Copies an outline into another one. Both objects must have the */ /* Copy an outline into another one. Both objects must have the */
/* same sizes (number of points & number of contours) when this */ /* same sizes (number of points & number of contours) when this */
/* function is called. */ /* function is called. */
/* */ /* */
@@ -273,7 +273,7 @@ FT_BEGIN_HEADER
/* target :: A handle to the target outline. */ /* target :: A handle to the target outline. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Outline_Copy( const FT_Outline* source, FT_Outline_Copy( const FT_Outline* source,
@@ -286,7 +286,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Transform */ /* FT_Outline_Transform */
/* */ /* */
/* <Description> */ /* <Description> */
/* Applies a simple 2x2 matrix to all of an outline's points. Useful */ /* Apply a simple 2x2 matrix to all of an outline's points. Useful */
/* for applying rotations, slanting, flipping, etc. */ /* for applying rotations, slanting, flipping, etc. */
/* */ /* */
/* <InOut> */ /* <InOut> */
@@ -310,7 +310,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Embolden */ /* FT_Outline_Embolden */
/* */ /* */
/* <Description> */ /* <Description> */
/* Emboldens an outline. The new outline will be at most 4 times */ /* Embolden an outline. The new outline will be at most 4~times */
/* `strength' pixels wider and higher. You may think of the left and */ /* `strength' pixels wider and higher. You may think of the left and */
/* bottom borders as unchanged. */ /* bottom borders as unchanged. */
/* */ /* */
@@ -325,7 +325,7 @@ FT_BEGIN_HEADER
/* 26.6 pixel format. */ /* 26.6 pixel format. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The used algorithm to increase or decrease the thickness of the */ /* The used algorithm to increase or decrease the thickness of the */
@@ -352,7 +352,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Reverse */ /* FT_Outline_Reverse */
/* */ /* */
/* <Description> */ /* <Description> */
/* Reverses the drawing direction of an outline. This is used to */ /* Reverse the drawing direction of an outline. This is used to */
/* ensure consistent fill conventions for mirrored glyphs. */ /* ensure consistent fill conventions for mirrored glyphs. */
/* */ /* */
/* <InOut> */ /* <InOut> */
@@ -375,7 +375,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Get_Bitmap */ /* FT_Outline_Get_Bitmap */
/* */ /* */
/* <Description> */ /* <Description> */
/* Renders an outline within a bitmap. The outline's image is simply */ /* Render an outline within a bitmap. The outline's image is simply */
/* OR-ed to the target bitmap. */ /* OR-ed to the target bitmap. */
/* */ /* */
/* <Input> */ /* <Input> */
@@ -387,14 +387,19 @@ FT_BEGIN_HEADER
/* abitmap :: A pointer to the target bitmap descriptor. */ /* abitmap :: A pointer to the target bitmap descriptor. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* This function does NOT CREATE the bitmap, it only renders an */ /* This function does NOT CREATE the bitmap, it only renders an */
/* outline image within the one you pass to it! */ /* outline image within the one you pass to it! Consequently, the */
/* various fields in `abitmap' should be set accordingly. */
/* */ /* */
/* It will use the raster corresponding to the default glyph format. */ /* It will use the raster corresponding to the default glyph format. */
/* */ /* */
/* The value of the `num_grays' field in `abitmap' is ignored. If */
/* you select the gray-level rasterizer, and you want less than 256 */
/* gray levels, you have to use @FT_Outline_Render directly. */
/* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Outline_Get_Bitmap( FT_Library library, FT_Outline_Get_Bitmap( FT_Library library,
FT_Outline* outline, FT_Outline* outline,
@@ -407,7 +412,7 @@ FT_BEGIN_HEADER
/* FT_Outline_Render */ /* FT_Outline_Render */
/* */ /* */
/* <Description> */ /* <Description> */
/* Renders an outline within a bitmap using the current scan-convert. */ /* Render an outline within a bitmap using the current scan-convert. */
/* This functions uses an @FT_Raster_Params structure as an argument, */ /* This functions uses an @FT_Raster_Params structure as an argument, */
/* allowing advanced features like direct composition, translucency, */ /* allowing advanced features like direct composition, translucency, */
/* etc. */ /* etc. */
@@ -422,7 +427,7 @@ FT_BEGIN_HEADER
/* describe the rendering operation. */ /* describe the rendering operation. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* You should know what you are doing and how @FT_Raster_Params works */ /* You should know what you are doing and how @FT_Raster_Params works */
@@ -432,6 +437,11 @@ FT_BEGIN_HEADER
/* converter is called, which means that the value you give to it is */ /* converter is called, which means that the value you give to it is */
/* actually ignored. */ /* actually ignored. */
/* */ /* */
/* The gray-level rasterizer always uses 256 gray levels. If you */
/* want less gray levels, you have to provide your own span callback. */
/* See the @FT_RASTER_FLAG_DIRECT value of the `flags' field in the */
/* @FT_Raster_Params structure for more details. */
/* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Outline_Render( FT_Library library, FT_Outline_Render( FT_Library library,
FT_Outline* outline, FT_Outline* outline,
@@ -446,7 +456,7 @@ FT_BEGIN_HEADER
* @description: * @description:
* A list of values used to describe an outline's contour orientation. * A list of values used to describe an outline's contour orientation.
* *
* The TrueType and Postscript specifications use different conventions * The TrueType and PostScript specifications use different conventions
* to determine whether outline contours should be filled or unfilled. * to determine whether outline contours should be filled or unfilled.
* *
* @values: * @values:
@@ -455,7 +465,7 @@ FT_BEGIN_HEADER
* be filled, and counter-clockwise ones must be unfilled. * be filled, and counter-clockwise ones must be unfilled.
* *
* FT_ORIENTATION_POSTSCRIPT :: * FT_ORIENTATION_POSTSCRIPT ::
* According to the Postscript specification, counter-clockwise contours * According to the PostScript specification, counter-clockwise contours
* must be filled, and clockwise ones must be unfilled. * must be filled, and clockwise ones must be unfilled.
* *
* FT_ORIENTATION_FILL_RIGHT :: * FT_ORIENTATION_FILL_RIGHT ::
@@ -465,7 +475,7 @@ FT_BEGIN_HEADER
* *
* FT_ORIENTATION_FILL_LEFT :: * FT_ORIENTATION_FILL_LEFT ::
* This is identical to @FT_ORIENTATION_POSTSCRIPT, but is used to * This is identical to @FT_ORIENTATION_POSTSCRIPT, but is used to
* remember that in Postscript, everything that is to the left of * remember that in PostScript, everything that is to the left of
* the drawing direction of a contour must be filled. * the drawing direction of a contour must be filled.
* *
* FT_ORIENTATION_NONE :: * FT_ORIENTATION_NONE ::
+3 -3
View File
@@ -80,7 +80,7 @@ FT_BEGIN_HEADER
* optional (parameter can be NULL) * optional (parameter can be NULL)
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* If the input face is not a PFR, this function will return an error. * If the input face is not a PFR, this function will return an error.
@@ -115,7 +115,7 @@ FT_BEGIN_HEADER
* avector :: A kerning vector. * avector :: A kerning vector.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* This function always return distances in original PFR metrics * This function always return distances in original PFR metrics
@@ -150,7 +150,7 @@ FT_BEGIN_HEADER
* aadvance :: The glyph advance in metrics units. * aadvance :: The glyph advance in metrics units.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* You can use the `x_scale' or `y_scale' results of @FT_Get_PFR_Metrics * You can use the `x_scale' or `y_scale' results of @FT_Get_PFR_Metrics
+4 -4
View File
@@ -167,7 +167,7 @@ FT_BEGIN_HEADER
/* FT_Get_Renderer */ /* FT_Get_Renderer */
/* */ /* */
/* <Description> */ /* <Description> */
/* Retrieves the current renderer for a given glyph format. */ /* Retrieve the current renderer for a given glyph format. */
/* */ /* */
/* <Input> */ /* <Input> */
/* library :: A handle to the library object. */ /* library :: A handle to the library object. */
@@ -175,7 +175,7 @@ FT_BEGIN_HEADER
/* format :: The glyph format. */ /* format :: The glyph format. */
/* */ /* */
/* <Return> */ /* <Return> */
/* A renderer handle. 0 if none found. */ /* A renderer handle. 0~if none found. */
/* */ /* */
/* <Note> */ /* <Note> */
/* An error will be returned if a module already exists by that name, */ /* An error will be returned if a module already exists by that name, */
@@ -195,7 +195,7 @@ FT_BEGIN_HEADER
/* FT_Set_Renderer */ /* FT_Set_Renderer */
/* */ /* */
/* <Description> */ /* <Description> */
/* Sets the current renderer to use, and set additional mode. */ /* Set the current renderer to use, and set additional mode. */
/* */ /* */
/* <InOut> */ /* <InOut> */
/* library :: A handle to the library object. */ /* library :: A handle to the library object. */
@@ -208,7 +208,7 @@ FT_BEGIN_HEADER
/* parameters :: Additional parameters. */ /* parameters :: Additional parameters. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* In case of success, the renderer will be used to convert glyph */ /* In case of success, the renderer will be used to convert glyph */
+3 -3
View File
@@ -89,7 +89,7 @@ FT_BEGIN_HEADER
/* asize :: A handle to a new size object. */ /* asize :: A handle to a new size object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* You need to call @FT_Activate_Size in order to select the new size */ /* You need to call @FT_Activate_Size in order to select the new size */
@@ -115,7 +115,7 @@ FT_BEGIN_HEADER
/* size :: A handle to a target size object. */ /* size :: A handle to a target size object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Done_Size( FT_Size size ); FT_Done_Size( FT_Size size );
@@ -139,7 +139,7 @@ FT_BEGIN_HEADER
/* size :: A handle to a target size object. */ /* size :: A handle to a target size object. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* If `face' is the size's parent face object, this function changes */ /* If `face' is the size's parent face object, this function changes */
+4 -4
View File
@@ -48,7 +48,7 @@ FT_BEGIN_HEADER
/* Access the names embedded in TrueType and OpenType files. */ /* Access the names embedded in TrueType and OpenType files. */
/* */ /* */
/* <Description> */ /* <Description> */
/* The TrueType and OpenType specification allow the inclusion of */ /* The TrueType and OpenType specifications allow the inclusion of */
/* a special `names table' in font files. This table contains */ /* a special `names table' in font files. This table contains */
/* textual (and internationalized) information regarding the font, */ /* textual (and internationalized) information regarding the font, */
/* like family name, copyright, version, etc. */ /* like family name, copyright, version, etc. */
@@ -114,7 +114,7 @@ FT_BEGIN_HEADER
/* FT_Get_Sfnt_Name_Count */ /* FT_Get_Sfnt_Name_Count */
/* */ /* */
/* <Description> */ /* <Description> */
/* Retrieves the number of name strings in the SFNT `name' table. */ /* Retrieve the number of name strings in the SFNT `name' table. */
/* */ /* */
/* <Input> */ /* <Input> */
/* face :: A handle to the source face. */ /* face :: A handle to the source face. */
@@ -132,7 +132,7 @@ FT_BEGIN_HEADER
/* FT_Get_Sfnt_Name */ /* FT_Get_Sfnt_Name */
/* */ /* */
/* <Description> */ /* <Description> */
/* Retrieves a string of the SFNT `name' table for a given index. */ /* Retrieve a string of the SFNT `name' table for a given index. */
/* */ /* */
/* <Input> */ /* <Input> */
/* face :: A handle to the source face. */ /* face :: A handle to the source face. */
@@ -143,7 +143,7 @@ FT_BEGIN_HEADER
/* aname :: The indexed @FT_SfntName structure. */ /* aname :: The indexed @FT_SfntName structure. */
/* */ /* */
/* <Return> */ /* <Return> */
/* FreeType error code. 0 means success. */ /* FreeType error code. 0~means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The `string' array returned in the `aname' structure is not */ /* The `string' array returned in the `aname' structure is not */
+18 -18
View File
@@ -216,7 +216,7 @@ FT_BEGIN_HEADER
* A new stroker object handle. NULL in case of error. * A new stroker object handle. NULL in case of error.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
*/ */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Stroker_New( FT_Library library, FT_Stroker_New( FT_Library library,
@@ -297,17 +297,17 @@ FT_BEGIN_HEADER
* The source outline. * The source outline.
* *
* opened :: * opened ::
* A boolean. If 1, the outline is treated as an open path instead * A boolean. If~1, the outline is treated as an open path instead
* of a closed one. * of a closed one.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* If `opened' is 0 (the default), the outline is treated as a closed * If `opened' is~0 (the default), the outline is treated as a closed
* path, and the stroker will generate two distinct `border' outlines. * path, and the stroker will generate two distinct `border' outlines.
* *
* If `opened' is 1, the outline is processed as an open path, and the * If `opened' is~1, the outline is processed as an open path, and the
* stroker will generate a single `stroke' outline. * stroker will generate a single `stroke' outline.
* *
* This function calls @FT_Stroker_Rewind automatically. * This function calls @FT_Stroker_Rewind automatically.
@@ -334,10 +334,10 @@ FT_BEGIN_HEADER
* A pointer to the start vector. * A pointer to the start vector.
* *
* open :: * open ::
* A boolean. If 1, the sub-path is treated as an open one. * A boolean. If~1, the sub-path is treated as an open one.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* This function is useful when you need to stroke a path that is * This function is useful when you need to stroke a path that is
@@ -362,7 +362,7 @@ FT_BEGIN_HEADER
* The target stroker handle. * The target stroker handle.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* You should call this function after @FT_Stroker_BeginSubPath. * You should call this function after @FT_Stroker_BeginSubPath.
@@ -390,7 +390,7 @@ FT_BEGIN_HEADER
* A pointer to the destination point. * A pointer to the destination point.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* You should call this function between @FT_Stroker_BeginSubPath and * You should call this function between @FT_Stroker_BeginSubPath and
@@ -421,7 +421,7 @@ FT_BEGIN_HEADER
* A pointer to the destination point. * A pointer to the destination point.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* You should call this function between @FT_Stroker_BeginSubPath and * You should call this function between @FT_Stroker_BeginSubPath and
@@ -456,7 +456,7 @@ FT_BEGIN_HEADER
* A pointer to the destination point. * A pointer to the destination point.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* You should call this function between @FT_Stroker_BeginSubPath and * You should call this function between @FT_Stroker_BeginSubPath and
@@ -495,7 +495,7 @@ FT_BEGIN_HEADER
* The number of contours. * The number of contours.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* When an outline, or a sub-path, is `closed', the stroker generates * When an outline, or a sub-path, is `closed', the stroker generates
@@ -583,7 +583,7 @@ FT_BEGIN_HEADER
* The number of contours. * The number of contours.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
*/ */
FT_EXPORT( FT_Error ) FT_EXPORT( FT_Error )
FT_Stroker_GetCounts( FT_Stroker stroker, FT_Stroker_GetCounts( FT_Stroker stroker,
@@ -649,11 +649,11 @@ FT_BEGIN_HEADER
* A stroker handle. * A stroker handle.
* *
* destroy :: * destroy ::
* A Boolean. If 1, the source glyph object is destroyed * A Boolean. If~1, the source glyph object is destroyed
* on success. * on success.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* The source glyph is untouched in case of error. * The source glyph is untouched in case of error.
@@ -682,15 +682,15 @@ FT_BEGIN_HEADER
* A stroker handle. * A stroker handle.
* *
* inside :: * inside ::
* A Boolean. If 1, return the inside border, otherwise * A Boolean. If~1, return the inside border, otherwise
* the outside border. * the outside border.
* *
* destroy :: * destroy ::
* A Boolean. If 1, the source glyph object is destroyed * A Boolean. If~1, the source glyph object is destroyed
* on success. * on success.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* The source glyph is untouched in case of error. * The source glyph is untouched in case of error.
+4 -4
View File
@@ -82,7 +82,7 @@ FT_BEGIN_HEADER
* The size in bytes to allocate. * The size in bytes to allocate.
* *
* @return: * @return:
* Address of new memory block. 0 in case of failure. * Address of new memory block. 0~in case of failure.
* *
*/ */
typedef void* typedef void*
@@ -133,7 +133,7 @@ FT_BEGIN_HEADER
* The block's current address. * The block's current address.
* *
* @return: * @return:
* New block address. 0 in case of memory shortage. * New block address. 0~in case of memory shortage.
* *
* @note: * @note:
* In case of error, the old block must still be available. * In case of error, the old block must still be available.
@@ -152,7 +152,7 @@ FT_BEGIN_HEADER
* FT_MemoryRec * FT_MemoryRec
* *
* @description: * @description:
* A structure used to describe a given memory manager to FreeType 2. * A structure used to describe a given memory manager to FreeType~2.
* *
* @fields: * @fields:
* user :: * user ::
@@ -240,7 +240,7 @@ FT_BEGIN_HEADER
* *
* @note: * @note:
* This function might be called to perform a seek or skip operation * This function might be called to perform a seek or skip operation
* with a `count' of 0. * with a `count' of~0.
* *
*/ */
typedef unsigned long typedef unsigned long
+9 -9
View File
@@ -43,7 +43,7 @@ FT_BEGIN_HEADER
/* The basic data types defined by the library. */ /* The basic data types defined by the library. */
/* */ /* */
/* <Description> */ /* <Description> */
/* This section contains the basic data types defined by FreeType 2, */ /* This section contains the basic data types defined by FreeType~2, */
/* ranging from simple scalar types to bitmap descriptors. More */ /* ranging from simple scalar types to bitmap descriptors. More */
/* font-specific structures are defined in a different section. */ /* font-specific structures are defined in a different section. */
/* */ /* */
@@ -99,7 +99,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* <Description> */ /* <Description> */
/* A typedef of unsigned char, used for simple booleans. As usual, */ /* A typedef of unsigned char, used for simple booleans. As usual, */
/* values 1 and 0 represent true and false, respectively. */ /* values 1 and~0 represent true and false, respectively. */
/* */ /* */
typedef unsigned char FT_Bool; typedef unsigned char FT_Bool;
@@ -167,7 +167,7 @@ FT_BEGIN_HEADER
/* FT_Tag */ /* FT_Tag */
/* */ /* */
/* <Description> */ /* <Description> */
/* A typedef for 32bit tags (as used in the SFNT format). */ /* A typedef for 32-bit tags (as used in the SFNT format). */
/* */ /* */
typedef FT_UInt32 FT_Tag; typedef FT_UInt32 FT_Tag;
@@ -290,7 +290,7 @@ FT_BEGIN_HEADER
/* FT_Error */ /* FT_Error */
/* */ /* */
/* <Description> */ /* <Description> */
/* The FreeType error code type. A value of 0 is always interpreted */ /* The FreeType error code type. A value of~0 is always interpreted */
/* as a successful operation. */ /* as a successful operation. */
/* */ /* */
typedef int FT_Error; typedef int FT_Error;
@@ -313,7 +313,7 @@ FT_BEGIN_HEADER
/* FT_Offset */ /* FT_Offset */
/* */ /* */
/* <Description> */ /* <Description> */
/* This is equivalent to the ANSI C `size_t' type, i.e., the largest */ /* 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, */ /* _unsigned_ integer type used to express a file size or position, */
/* or a memory block size. */ /* or a memory block size. */
/* */ /* */
@@ -326,7 +326,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. */
/* */ /* */
@@ -413,7 +413,7 @@ FT_BEGIN_HEADER
/* FT_Generic_Finalizer */ /* FT_Generic_Finalizer */
/* */ /* */
/* <Description> */ /* <Description> */
/* Describes a function used to destroy the `client' data of any */ /* Describe a function used to destroy the `client' data of any */
/* FreeType object. See the description of the @FT_Generic type for */ /* FreeType object. See the description of the @FT_Generic type for */
/* details of usage. */ /* details of usage. */
/* */ /* */
@@ -470,8 +470,8 @@ FT_BEGIN_HEADER
/* TrueType tables into an unsigned long to be used within FreeType. */ /* TrueType tables into an unsigned long to be used within FreeType. */
/* */ /* */
/* <Note> */ /* <Note> */
/* The produced values *must* be 32bit integers. Don't redefine this */ /* The produced values *must* be 32-bit integers. Don't redefine */
/* macro. */ /* this macro. */
/* */ /* */
#define FT_MAKE_TAG( _x1, _x2, _x3, _x4 ) \ #define FT_MAKE_TAG( _x1, _x2, _x3, _x4 ) \
( ( (FT_ULong)_x1 << 24 ) | \ ( ( (FT_ULong)_x1 << 24 ) | \
+3 -3
View File
@@ -111,11 +111,11 @@ FT_BEGIN_HEADER
* ordering and minor deviations). * ordering and minor deviations).
* *
* FT_WinFNT_ID_CP949 :: * FT_WinFNT_ID_CP949 ::
* A superset of Korean Hangul KS C 5601-1987 (with different * A superset of Korean Hangul KS~C 5601-1987 (with different
* ordering and minor deviations). * ordering and minor deviations).
* *
* FT_WinFNT_ID_CP950 :: * FT_WinFNT_ID_CP950 ::
* A superset of traditional Chinese Big 5 ETen (with different * A superset of traditional Chinese Big~5 ETen (with different
* ordering and minor deviations). * ordering and minor deviations).
* *
* FT_WinFNT_ID_CP1250 :: * FT_WinFNT_ID_CP1250 ::
@@ -248,7 +248,7 @@ FT_BEGIN_HEADER
* aheader :: The WinFNT header. * aheader :: The WinFNT header.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* This function only works with Windows FNT faces, returning an error * This function only works with Windows FNT faces, returning an error
+2 -2
View File
@@ -60,8 +60,8 @@ FT_BEGIN_HEADER
/* <Description> */ /* <Description> */
/* Return a string describing the format of a given face, using values */ /* Return a string describing the format of a given face, using values */
/* which can be used as an X11 FONT_PROPERTY. Possible values are */ /* which can be used as an X11 FONT_PROPERTY. Possible values are */
/* `TrueType', `Type 1', `BDF', `PCF', `Type 42', `CID Type 1', `CFF', */ /* `TrueType', `Type~1', `BDF', `PCF', `Type~42', `CID~Type~1', `CFF', */
/* `PFR', and `Windows FNT'. */ /* `PFR', and `Windows~FNT'. */
/* */ /* */
/* <Input> */ /* <Input> */
/* face :: */ /* face :: */
@@ -67,11 +67,11 @@ FT_BEGIN_HEADER
typedef struct FT_GlyphLoadRec_ typedef struct FT_GlyphLoadRec_
{ {
FT_Outline outline; /* outline */ FT_Outline outline; /* outline */
FT_Vector* extra_points; /* extra points table */ FT_Vector* extra_points; /* extra points table */
FT_Vector* extra_points2; /* second extra points table */ FT_Vector* extra_points2; /* second extra points table */
FT_UInt num_subglyphs; /* number of subglyphs */ FT_UInt num_subglyphs; /* number of subglyphs */
FT_SubGlyph subglyphs; /* subglyphs */ FT_SubGlyph subglyphs; /* subglyphs */
} FT_GlyphLoadRec, *FT_GlyphLoad; } FT_GlyphLoadRec, *FT_GlyphLoad;
+15 -15
View File
@@ -43,7 +43,7 @@ FT_BEGIN_HEADER
/* Type 1 Tables */ /* Type 1 Tables */
/* */ /* */
/* <Abstract> */ /* <Abstract> */
/* Type 1 (PostScript) specific font tables. */ /* Type~1 (PostScript) specific font tables. */
/* */ /* */
/* <Description> */ /* <Description> */
/* This section contains the definition of Type 1-specific tables, */ /* This section contains the definition of Type 1-specific tables, */
@@ -62,8 +62,8 @@ FT_BEGIN_HEADER
/* PS_FontInfoRec */ /* PS_FontInfoRec */
/* */ /* */
/* <Description> */ /* <Description> */
/* A structure used to model a Type1/Type2 FontInfo dictionary. Note */ /* A structure used to model a Type~1 or Type~2 FontInfo dictionary. */
/* that for Multiple Master fonts, each instance has its own */ /* Note that for Multiple Master fonts, each instance has its own */
/* FontInfo dictionary. */ /* FontInfo dictionary. */
/* */ /* */
typedef struct PS_FontInfoRec_ typedef struct PS_FontInfoRec_
@@ -111,9 +111,9 @@ FT_BEGIN_HEADER
/* PS_PrivateRec */ /* PS_PrivateRec */
/* */ /* */
/* <Description> */ /* <Description> */
/* A structure used to model a Type1/Type2 private dictionary. Note */ /* A structure used to model a Type~1 or Type~2 private dictionary. */
/* that for Multiple Master fonts, each instance has its own Private */ /* Note that for Multiple Master fonts, each instance has its own */
/* dictionary. */ /* Private dictionary. */
/* */ /* */
typedef struct PS_PrivateRec_ typedef struct PS_PrivateRec_
{ {
@@ -408,7 +408,7 @@ FT_BEGIN_HEADER
* FT_Has_PS_Glyph_Names * FT_Has_PS_Glyph_Names
* *
* @description: * @description:
* Return true if a given face provides reliable Postscript glyph * Return true if a given face provides reliable PostScript glyph
* names. This is similar to using the @FT_HAS_GLYPH_NAMES macro, * names. This is similar to using the @FT_HAS_GLYPH_NAMES macro,
* except that certain fonts (mostly TrueType) contain incorrect * except that certain fonts (mostly TrueType) contain incorrect
* glyph name tables. * glyph name tables.
@@ -435,24 +435,24 @@ FT_BEGIN_HEADER
* *
* @description: * @description:
* Retrieve the @PS_FontInfoRec structure corresponding to a given * Retrieve the @PS_FontInfoRec structure corresponding to a given
* Postscript font. * PostScript font.
* *
* @input: * @input:
* face :: * face ::
* Postscript face handle. * PostScript face handle.
* *
* @output: * @output:
* afont_info :: * afont_info ::
* Output font info structure pointer. * Output font info structure pointer.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* The string pointers within the font info structure are owned by * The string pointers within the font info structure are owned by
* the face and don't need to be freed by the caller. * the face and don't need to be freed by the caller.
* *
* If the font's format is not Postscript-based, this function will * If the font's format is not PostScript-based, this function will
* return the `FT_Err_Invalid_Argument' error code. * return the `FT_Err_Invalid_Argument' error code.
* *
*/ */
@@ -468,24 +468,24 @@ FT_BEGIN_HEADER
* *
* @description: * @description:
* Retrieve the @PS_PrivateRec structure corresponding to a given * Retrieve the @PS_PrivateRec structure corresponding to a given
* Postscript font. * PostScript font.
* *
* @input: * @input:
* face :: * face ::
* Postscript face handle. * PostScript face handle.
* *
* @output: * @output:
* afont_private :: * afont_private ::
* Output private dictionary structure pointer. * Output private dictionary structure pointer.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* The string pointers within the font info structure are owned by * The string pointers within the font info structure are owned by
* the face and don't need to be freed by the caller. * the face and don't need to be freed by the caller.
* *
* If the font's format is not Postscript-based, this function will * If the font's format is not PostScript-based, this function will
* return the `FT_Err_Invalid_Argument' error code. * return the `FT_Err_Invalid_Argument' error code.
* *
*/ */
+2 -2
View File
@@ -303,7 +303,7 @@ FT_BEGIN_HEADER
* TT_ADOBE_ID_CUSTOM :: * TT_ADOBE_ID_CUSTOM ::
* Adobe custom encoding. * Adobe custom encoding.
* TT_ADOBE_ID_LATIN_1 :: * TT_ADOBE_ID_LATIN_1 ::
* Adobe Latin 1 encoding. * Adobe Latin~1 encoding.
*/ */
#define TT_ADOBE_ID_STANDARD 0 #define TT_ADOBE_ID_STANDARD 0
@@ -1117,7 +1117,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* Here some alias #defines in order to be clearer. */ /* Here some alias #defines in order to be clearer. */
/* */ /* */
/* These are not always #defined to stay within the 31 character limit */ /* These are not always #defined to stay within the 31~character limit */
/* which some compilers have. */ /* which some compilers have. */
/* */ /* */
/* Credits go to Dave Hoo <[email protected]> for pointing out that modern */ /* Credits go to Dave Hoo <[email protected]> for pointing out that modern */
+16 -16
View File
@@ -156,9 +156,9 @@ FT_BEGIN_HEADER
/* caret_Slope_Run :: The run coefficient of the cursor's */ /* caret_Slope_Run :: The run coefficient of the cursor's */
/* slope. */ /* slope. */
/* */ /* */
/* Reserved :: 8 reserved bytes. */ /* Reserved :: 8~reserved bytes. */
/* */ /* */
/* metric_Data_Format :: Always 0. */ /* metric_Data_Format :: Always~0. */
/* */ /* */
/* number_Of_HMetrics :: Number of HMetrics entries in the `hmtx' */ /* number_Of_HMetrics :: Number of HMetrics entries in the `hmtx' */
/* table -- this value can be smaller than */ /* table -- this value can be smaller than */
@@ -281,9 +281,9 @@ FT_BEGIN_HEADER
/* This value is `reserved' in vmtx */ /* This value is `reserved' in vmtx */
/* version 1.0. */ /* version 1.0. */
/* */ /* */
/* Reserved :: 8 reserved bytes. */ /* Reserved :: 8~reserved bytes. */
/* */ /* */
/* metric_Data_Format :: Always 0. */ /* metric_Data_Format :: Always~0. */
/* */ /* */
/* number_Of_HMetrics :: Number of VMetrics entries in the */ /* number_Of_HMetrics :: Number of VMetrics entries in the */
/* `vmtx' table -- this value can be */ /* `vmtx' table -- this value can be */
@@ -406,9 +406,9 @@ FT_BEGIN_HEADER
/* TT_Postscript */ /* TT_Postscript */
/* */ /* */
/* <Description> */ /* <Description> */
/* A structure used to model a TrueType Postscript table. All fields */ /* A structure used to model a TrueType PostScript table. All fields */
/* comply to the TrueType specification. This structure does not */ /* comply to the TrueType specification. This structure does not */
/* reference the Postscript glyph names, which can be nevertheless */ /* reference the PostScript glyph names, which can be nevertheless */
/* accessed with the `ttpost' module. */ /* accessed with the `ttpost' module. */
/* */ /* */
typedef struct TT_Postscript_ typedef struct TT_Postscript_
@@ -578,7 +578,7 @@ FT_BEGIN_HEADER
/* FT_Get_Sfnt_Table */ /* FT_Get_Sfnt_Table */
/* */ /* */
/* <Description> */ /* <Description> */
/* Returns a pointer to a given SFNT table within a face. */ /* Return a pointer to a given SFNT table within a face. */
/* */ /* */
/* <Input> */ /* <Input> */
/* face :: A handle to the source. */ /* face :: A handle to the source. */
@@ -586,7 +586,7 @@ FT_BEGIN_HEADER
/* tag :: The index of the SFNT table. */ /* tag :: The index of the SFNT table. */
/* */ /* */
/* <Return> */ /* <Return> */
/* A type-less pointer to the table. This will be 0 in case of */ /* A type-less pointer to the table. This will be~0 in case of */
/* error, or if the corresponding table was not found *OR* loaded */ /* error, or if the corresponding table was not found *OR* loaded */
/* from the file. */ /* from the file. */
/* */ /* */
@@ -608,14 +608,14 @@ FT_BEGIN_HEADER
* FT_Load_Sfnt_Table * FT_Load_Sfnt_Table
* *
* @description: * @description:
* Loads any font table into client memory. * Load any font table into client memory.
* *
* @input: * @input:
* face :: * face ::
* A handle to the source face. * A handle to the source face.
* *
* tag :: * tag ::
* The four-byte tag of the table to load. Use the value 0 if you want * The four-byte tag of the table to load. Use the value~0 if you want
* to access the whole font file. Otherwise, you can use one of the * to access the whole font file. Otherwise, you can use one of the
* definitions found in the @FT_TRUETYPE_TAGS_H file, or forge a new * definitions found in the @FT_TRUETYPE_TAGS_H file, or forge a new
* one with @FT_MAKE_TAG. * one with @FT_MAKE_TAG.
@@ -633,18 +633,18 @@ FT_BEGIN_HEADER
* If the `length' parameter is NULL, then try to load the whole table. * If the `length' parameter is NULL, then try to load the whole table.
* Return an error code if it fails. * Return an error code if it fails.
* *
* Else, if `*length' is 0, exit immediately while returning the * Else, if `*length' is~0, exit immediately while returning the
* table's (or file) full size in it. * table's (or file) full size in it.
* *
* Else the number of bytes to read from the table or file, from the * Else the number of bytes to read from the table or file, from the
* starting offset. * starting offset.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* If you need to determine the table's length you should first call this * If you need to determine the table's length you should first call this
* function with `*length' set to 0, as in the following example: * function with `*length' set to~0, as in the following example:
* *
* { * {
* FT_ULong length = 0; * FT_ULong length = 0;
@@ -674,7 +674,7 @@ FT_BEGIN_HEADER
* FT_Sfnt_Table_Info * FT_Sfnt_Table_Info
* *
* @description: * @description:
* Returns information on an SFNT table. * Return information on an SFNT table.
* *
* @input: * @input:
* face :: * face ::
@@ -692,7 +692,7 @@ FT_BEGIN_HEADER
* The length of the SFNT table. * The length of the SFNT table.
* *
* @return: * @return:
* FreeType error code. 0 means success. * FreeType error code. 0~means success.
* *
* @note: * @note:
* SFNT tables with length zero are treated as missing by Windows. * SFNT tables with length zero are treated as missing by Windows.
@@ -720,7 +720,7 @@ FT_BEGIN_HEADER
/* */ /* */
/* <Return> */ /* <Return> */
/* The language ID of `charmap'. If `charmap' doesn't belong to a */ /* The language ID of `charmap'. If `charmap' doesn't belong to a */
/* TrueType/sfnt face, just return 0 as the default value. */ /* TrueType/sfnt face, just return~0 as the default value. */
/* */ /* */
FT_EXPORT( FT_ULong ) FT_EXPORT( FT_ULong )
FT_Get_CMap_Language_ID( FT_CharMap charmap ); FT_Get_CMap_Language_ID( FT_CharMap charmap );
+56 -2
View File
@@ -33,6 +33,7 @@
#include <ft2build.h> #include <ft2build.h>
#include FT_GLYPH_H
#include FT_INTERNAL_CALC_H #include FT_INTERNAL_CALC_H
#include FT_INTERNAL_DEBUG_H #include FT_INTERNAL_DEBUG_H
#include FT_INTERNAL_OBJECTS_H #include FT_INTERNAL_OBJECTS_H
@@ -430,8 +431,8 @@
"shll $16, %%edx\n" "shll $16, %%edx\n"
"addl %%edx, %%eax\n" "addl %%edx, %%eax\n"
"mov %%eax, %0\n" "mov %%eax, %0\n"
: "=r"(result) : "=a"(result), "+d"(b)
: "a"(a), "d"(b) : "a"(a)
: "%ecx" : "%ecx"
); );
return result; return result;
@@ -666,6 +667,59 @@
#endif /* FT_LONG64 */ #endif /* FT_LONG64 */
/* documentation is in ftglyph.h */
FT_EXPORT_DEF( void )
FT_Matrix_Multiply( const FT_Matrix* a,
FT_Matrix *b )
{
FT_Fixed xx, xy, yx, yy;
if ( !a || !b )
return;
xx = FT_MulFix( a->xx, b->xx ) + FT_MulFix( a->xy, b->yx );
xy = FT_MulFix( a->xx, b->xy ) + FT_MulFix( a->xy, b->yy );
yx = FT_MulFix( a->yx, b->xx ) + FT_MulFix( a->yy, b->yx );
yy = FT_MulFix( a->yx, b->xy ) + FT_MulFix( a->yy, b->yy );
b->xx = xx; b->xy = xy;
b->yx = yx; b->yy = yy;
}
/* documentation is in ftglyph.h */
FT_EXPORT_DEF( FT_Error )
FT_Matrix_Invert( FT_Matrix* matrix )
{
FT_Pos delta, xx, yy;
if ( !matrix )
return FT_Err_Invalid_Argument;
/* compute discriminant */
delta = FT_MulFix( matrix->xx, matrix->yy ) -
FT_MulFix( matrix->xy, matrix->yx );
if ( !delta )
return FT_Err_Invalid_Argument; /* matrix can't be inverted */
matrix->xy = - FT_DivFix( matrix->xy, delta );
matrix->yx = - FT_DivFix( matrix->yx, delta );
xx = matrix->xx;
yy = matrix->yy;
matrix->xx = FT_DivFix( yy, delta );
matrix->yy = FT_DivFix( xx, delta );
return FT_Err_Ok;
}
/* documentation is in ftcalc.h */ /* documentation is in ftcalc.h */
FT_BASE_DEF( void ) FT_BASE_DEF( void )
+1 -63
View File
@@ -4,7 +4,7 @@
/* */ /* */
/* FreeType convenience functions to handle glyphs (body). */ /* FreeType convenience functions to handle glyphs (body). */
/* */ /* */
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2007 by */ /* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2007, 2008 by */
/* 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, */
@@ -45,68 +45,6 @@
#define FT_COMPONENT trace_glyph #define FT_COMPONENT trace_glyph
/*************************************************************************/
/*************************************************************************/
/**** ****/
/**** Convenience functions ****/
/**** ****/
/*************************************************************************/
/*************************************************************************/
/* documentation is in ftglyph.h */
FT_EXPORT_DEF( void )
FT_Matrix_Multiply( const FT_Matrix* a,
FT_Matrix *b )
{
FT_Fixed xx, xy, yx, yy;
if ( !a || !b )
return;
xx = FT_MulFix( a->xx, b->xx ) + FT_MulFix( a->xy, b->yx );
xy = FT_MulFix( a->xx, b->xy ) + FT_MulFix( a->xy, b->yy );
yx = FT_MulFix( a->yx, b->xx ) + FT_MulFix( a->yy, b->yx );
yy = FT_MulFix( a->yx, b->xy ) + FT_MulFix( a->yy, b->yy );
b->xx = xx; b->xy = xy;
b->yx = yx; b->yy = yy;
}
/* documentation is in ftglyph.h */
FT_EXPORT_DEF( FT_Error )
FT_Matrix_Invert( FT_Matrix* matrix )
{
FT_Pos delta, xx, yy;
if ( !matrix )
return FT_Err_Invalid_Argument;
/* compute discriminant */
delta = FT_MulFix( matrix->xx, matrix->yy ) -
FT_MulFix( matrix->xy, matrix->yx );
if ( !delta )
return FT_Err_Invalid_Argument; /* matrix can't be inverted */
matrix->xy = - FT_DivFix( matrix->xy, delta );
matrix->yx = - FT_DivFix( matrix->yx, delta );
xx = matrix->xx;
yy = matrix->yy;
matrix->xx = FT_DivFix( yy, delta );
matrix->yy = FT_DivFix( xx, delta );
return FT_Err_Ok;
}
/*************************************************************************/ /*************************************************************************/
/*************************************************************************/ /*************************************************************************/
/**** ****/ /**** ****/
+5 -5
View File
@@ -77,8 +77,8 @@
#define OS_INLINE static __inline__ #define OS_INLINE static __inline__
#endif #endif
/* The ResourceIndex type was only added in the 10.5 SDK */ /* The ResourceIndex type was available SDKs on 10.5 */
#ifndef MAC_OS_X_VERSION_10_5 #ifndef HAVE_TYPE_RESOURCE_INDEX
typedef short ResourceIndex; typedef short ResourceIndex;
#endif #endif
@@ -134,7 +134,7 @@ typedef short ResourceIndex;
FSRef* ats_font_ref ) FSRef* ats_font_ref )
{ {
#if defined( MAC_OS_X_VERSION_10_5 ) && \ #if defined( MAC_OS_X_VERSION_10_5 ) && \
MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 ( MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 )
OSStatus err; OSStatus err;
@@ -235,7 +235,7 @@ typedef short ResourceIndex;
FT_Long* face_index ) FT_Long* face_index )
{ {
#if ( __LP64__ ) || ( defined( MAC_OS_X_VERSION_10_5 ) && \ #if ( __LP64__ ) || ( defined( MAC_OS_X_VERSION_10_5 ) && \
MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 ) ( MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 ) )
FT_UNUSED( fontName ); FT_UNUSED( fontName );
FT_UNUSED( pathSpec ); FT_UNUSED( pathSpec );
FT_UNUSED( face_index ); FT_UNUSED( face_index );
@@ -1108,7 +1108,7 @@ typedef short ResourceIndex;
FT_Face* aface ) FT_Face* aface )
{ {
#if ( __LP64__ ) || ( defined( MAC_OS_X_VERSION_10_5 ) && \ #if ( __LP64__ ) || ( defined( MAC_OS_X_VERSION_10_5 ) && \
MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 ) ( MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 ) )
FT_UNUSED( library ); FT_UNUSED( library );
FT_UNUSED( spec ); FT_UNUSED( spec );
FT_UNUSED( face_index ); FT_UNUSED( face_index );
+105 -108
View File
@@ -534,6 +534,111 @@
goto Bad_Format; goto Bad_Format;
} }
if ( !dict->units_per_em )
dict->units_per_em = pure_cff ? 1000 : face->root.units_per_EM;
/* Normalize the font matrix so that `matrix->xx' is 1; the */
/* scaling is done with `units_per_em' then (at this point, */
/* it already contains the scaling factor, but without */
/* normalization of the matrix). */
/* */
/* Note that the offsets must be expressed in integer font */
/* units. */
{
FT_Matrix* matrix = &dict->font_matrix;
FT_Vector* offset = &dict->font_offset;
FT_ULong* upm = &dict->units_per_em;
FT_Fixed temp = FT_ABS( matrix->yy );
if ( temp != 0x10000L )
{
*upm = FT_DivFix( *upm, temp );
matrix->xx = FT_DivFix( matrix->xx, temp );
matrix->yx = FT_DivFix( matrix->yx, temp );
matrix->xy = FT_DivFix( matrix->xy, temp );
matrix->yy = FT_DivFix( matrix->yy, temp );
offset->x = FT_DivFix( offset->x, temp );
offset->y = FT_DivFix( offset->y, temp );
}
offset->x >>= 16;
offset->y >>= 16;
}
for ( i = cff->num_subfonts; i > 0; i-- )
{
CFF_FontRecDict sub = &cff->subfonts[i - 1]->font_dict;
CFF_FontRecDict top = &cff->top_font.font_dict;
FT_Matrix* matrix;
FT_Vector* offset;
FT_ULong* upm;
FT_Fixed temp;
if ( sub->units_per_em )
{
FT_Int scaling;
if ( top->units_per_em > 1 && sub->units_per_em > 1 )
scaling = FT_MIN( top->units_per_em, sub->units_per_em );
else
scaling = 1;
FT_Matrix_Multiply_Scaled( &top->font_matrix,
&sub->font_matrix,
scaling );
FT_Vector_Transform_Scaled( &sub->font_offset,
&top->font_matrix,
scaling );
sub->units_per_em = FT_MulDiv( sub->units_per_em,
top->units_per_em,
scaling );
}
else
{
sub->font_matrix = top->font_matrix;
sub->font_offset = top->font_offset;
sub->units_per_em = top->units_per_em;
}
matrix = &sub->font_matrix;
offset = &sub->font_offset;
upm = &sub->units_per_em;
temp = FT_ABS( matrix->yy );
if ( temp != 0x10000L )
{
*upm = FT_DivFix( *upm, temp );
/* if *upm is larger than 100*1000 we divide by 1000 -- */
/* this can happen if e.g. there is no top-font FontMatrix */
/* and the subfont FontMatrix already contains the complete */
/* scaling for the subfont (see section 5.11 of the PLRM) */
/* 100 is a heuristic value */
if ( *upm > 100L * 1000L )
*upm = ( *upm + 500 ) / 1000;
matrix->xx = FT_DivFix( matrix->xx, temp );
matrix->yx = FT_DivFix( matrix->yx, temp );
matrix->xy = FT_DivFix( matrix->xy, temp );
matrix->yy = FT_DivFix( matrix->yy, temp );
offset->x = FT_DivFix( offset->x, temp );
offset->y = FT_DivFix( offset->y, temp );
}
offset->x >>= 16;
offset->y >>= 16;
}
if ( pure_cff ) if ( pure_cff )
{ {
char* style_name = NULL; char* style_name = NULL;
@@ -554,8 +659,6 @@
cffface->bbox.xMax = ( dict->font_bbox.xMax + 0xFFFFU ) >> 16; cffface->bbox.xMax = ( dict->font_bbox.xMax + 0xFFFFU ) >> 16;
cffface->bbox.yMax = ( dict->font_bbox.yMax + 0xFFFFU ) >> 16; cffface->bbox.yMax = ( dict->font_bbox.yMax + 0xFFFFU ) >> 16;
if ( !dict->units_per_em )
dict->units_per_em = 1000;
cffface->units_per_EM = dict->units_per_em; cffface->units_per_EM = dict->units_per_em;
@@ -711,113 +814,7 @@
cffface->style_flags = flags; cffface->style_flags = flags;
} }
else
{
if ( !dict->units_per_em )
dict->units_per_em = face->root.units_per_EM;
}
/* Normalize the font matrix so that `matrix->xx' is 1; the */
/* scaling is done with `units_per_em' then (at this point, */
/* it already contains the scaling factor, but without */
/* normalization of the matrix). */
/* */
/* Note that the offsets must be expressed in integer font */
/* units. */
{
FT_Matrix* matrix = &dict->font_matrix;
FT_Vector* offset = &dict->font_offset;
FT_ULong* upm = &dict->units_per_em;
FT_Fixed temp = FT_ABS( matrix->yy );
if ( temp != 0x10000L )
{
*upm = FT_DivFix( *upm, temp );
matrix->xx = FT_DivFix( matrix->xx, temp );
matrix->yx = FT_DivFix( matrix->yx, temp );
matrix->xy = FT_DivFix( matrix->xy, temp );
matrix->yy = FT_DivFix( matrix->yy, temp );
offset->x = FT_DivFix( offset->x, temp );
offset->y = FT_DivFix( offset->y, temp );
}
offset->x >>= 16;
offset->y >>= 16;
}
for ( i = cff->num_subfonts; i > 0; i-- )
{
CFF_FontRecDict sub = &cff->subfonts[i - 1]->font_dict;
CFF_FontRecDict top = &cff->top_font.font_dict;
FT_Matrix* matrix;
FT_Vector* offset;
FT_ULong* upm;
FT_Fixed temp;
if ( sub->units_per_em )
{
FT_Int scaling;
if ( top->units_per_em > 1 && sub->units_per_em > 1 )
scaling = FT_MIN( top->units_per_em, sub->units_per_em );
else
scaling = 1;
FT_Matrix_Multiply_Scaled( &top->font_matrix,
&sub->font_matrix,
scaling );
FT_Vector_Transform_Scaled( &sub->font_offset,
&top->font_matrix,
scaling );
sub->units_per_em = FT_MulDiv( sub->units_per_em,
top->units_per_em,
scaling );
}
else
{
sub->font_matrix = top->font_matrix;
sub->font_offset = top->font_offset;
sub->units_per_em = top->units_per_em;
}
matrix = &sub->font_matrix;
offset = &sub->font_offset;
upm = &sub->units_per_em;
temp = FT_ABS( matrix->yy );
if ( temp != 0x10000L )
{
*upm = FT_DivFix( *upm, temp );
/* if *upm is larger than 100*1000 we divide by 1000 -- */
/* this can happen if e.g. there is no top-font FontMatrix */
/* and the subfont FontMatrix already contains the complete */
/* scaling for the subfont (see section 5.11 of the PLRM) */
/* 100 is a heuristic value */
if ( *upm > 100L * 1000L )
*upm = ( *upm + 500 ) / 1000;
matrix->xx = FT_DivFix( matrix->xx, temp );
matrix->yx = FT_DivFix( matrix->yx, temp );
matrix->xy = FT_DivFix( matrix->xy, temp );
matrix->yy = FT_DivFix( matrix->yy, temp );
offset->x = FT_DivFix( offset->x, temp );
offset->y = FT_DivFix( offset->y, temp );
}
offset->x >>= 16;
offset->y >>= 16;
}
#ifndef FT_CONFIG_OPTION_NO_GLYPH_NAMES #ifndef FT_CONFIG_OPTION_NO_GLYPH_NAMES
/* CID-keyed CFF fonts don't have glyph names -- the SFNT loader */ /* CID-keyed CFF fonts don't have glyph names -- the SFNT loader */
+6 -3
View File
@@ -4,7 +4,7 @@
/* */ /* */
/* OpenType GPOS table validation (body). */ /* OpenType GPOS table validation (body). */
/* */ /* */
/* Copyright 2002, 2004, 2005, 2006, 2007 by */ /* Copyright 2002, 2004, 2005, 2006, 2007, 2008 by */
/* 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, */
@@ -644,7 +644,10 @@
/*************************************************************************/ /*************************************************************************/
/*************************************************************************/ /*************************************************************************/
/* sets valid->extra2 (0) */ /* UNDOCUMENTED (in OpenType 1.5): */
/* BaseRecord tables can contain NULL pointers. */
/* sets valid->extra2 (1) */
static void static void
otv_MarkBasePos_validate( FT_Bytes table, otv_MarkBasePos_validate( FT_Bytes table,
@@ -664,7 +667,7 @@
switch ( PosFormat ) switch ( PosFormat )
{ {
case 1: case 1:
valid->extra2 = 0; valid->extra2 = 1;
OTV_NEST2( MarkBasePosFormat1, BaseArray ); OTV_NEST2( MarkBasePosFormat1, BaseArray );
OTV_RUN( table, valid ); OTV_RUN( table, valid );
break; break;
+18 -11
View File
@@ -1634,27 +1634,24 @@
t1_builder_close_contour( T1_Builder builder ) t1_builder_close_contour( T1_Builder builder )
{ {
FT_Outline* outline = builder->current; FT_Outline* outline = builder->current;
FT_Int first;
if ( !outline ) if ( !outline )
return; return;
/* XXXX: We must not include the last point in the path if it */ first = outline->n_contours <= 1
/* is located on the first point. */ ? 0 : outline->contours[outline->n_contours - 2] + 1;
/* We must not include the last point in the path if it */
/* is located on the first point. */
if ( outline->n_points > 1 ) if ( outline->n_points > 1 )
{ {
FT_Int first = 0;
FT_Vector* p1 = outline->points + first; FT_Vector* p1 = outline->points + first;
FT_Vector* p2 = outline->points + outline->n_points - 1; FT_Vector* p2 = outline->points + outline->n_points - 1;
FT_Byte* control = (FT_Byte*)outline->tags + outline->n_points - 1; FT_Byte* control = (FT_Byte*)outline->tags + outline->n_points - 1;
if ( outline->n_contours > 1 )
{
first = outline->contours[outline->n_contours - 2] + 1;
p1 = outline->points + first;
}
/* `delete' last point only if it coincides with the first */ /* `delete' last point only if it coincides with the first */
/* point and it is not a control point (which can happen). */ /* point and it is not a control point (which can happen). */
if ( p1->x == p2->x && p1->y == p2->y ) if ( p1->x == p2->x && p1->y == p2->y )
@@ -1663,8 +1660,18 @@
} }
if ( outline->n_contours > 0 ) if ( outline->n_contours > 0 )
outline->contours[outline->n_contours - 1] = {
(short)( outline->n_points - 1 ); /* Don't add contours only consisting of one point, i.e., */
/* check whether begin point and last point are the same. */
if ( first == outline->n_points - 1 )
{
outline->n_contours--;
outline->n_points--;
}
else
outline->contours[outline->n_contours - 1] =
(short)( outline->n_points - 1 );
}
} }
+171 -121
View File
@@ -2150,8 +2150,10 @@ static const char count_table[256] =
f1 = (Byte) ( 0xFF >> ( e1 & 7 ) ); f1 = (Byte) ( 0xFF >> ( e1 & 7 ) );
f2 = (Byte) ~( 0x7F >> ( e2 & 7 ) ); f2 = (Byte) ~( 0x7F >> ( e2 & 7 ) );
if ( ras.gray_min_x > c1 ) ras.gray_min_x = (short)c1; if ( ras.gray_min_x > c1 )
if ( ras.gray_max_x < c2 ) ras.gray_max_x = (short)c2; ras.gray_min_x = (short)c1;
if ( ras.gray_max_x < c2 )
ras.gray_max_x = (short)c2;
target = ras.bTarget + ras.traceOfs + c1; target = ras.bTarget + ras.traceOfs + c1;
c2 -= c1; c2 -= c1;
@@ -2184,14 +2186,36 @@ static const char count_table[256] =
PProfile left, PProfile left,
PProfile right ) PProfile right )
{ {
Long e1, e2; Long e1, e2, pxl;
Short c1, f1; Short c1, f1;
/* Drop-out control */ /* Drop-out control */
e1 = CEILING( x1 ); /* e2 x2 x1 e1 */
e2 = FLOOR ( x2 ); /* */
/* ^ | */
/* | | */
/* +-------------+---------------------+------------+ */
/* | | */
/* | v */
/* */
/* pixel contour contour pixel */
/* center center */
/* drop-out mode scan conversion rules (as defined in OpenType) */
/* --------------------------------------------------------------- */
/* 0 1, 2, 3 */
/* 1 1, 2, 4 */
/* 2 1, 2 */
/* 3 same as mode 2 */
/* 4 1, 2, 5 */
/* 5 1, 2, 6 */
/* 6, 7 same as mode 2 */
e1 = CEILING( x1 );
e2 = FLOOR ( x2 );
pxl = e1;
if ( e1 > e2 ) if ( e1 > e2 )
{ {
@@ -2199,19 +2223,20 @@ static const char count_table[256] =
{ {
switch ( ras.dropOutControl ) switch ( ras.dropOutControl )
{ {
case 1: case 0: /* simple drop-outs including stubs */
e1 = e2; pxl = e2;
break; break;
case 4: case 4: /* smart drop-outs including stubs */
e1 = CEILING( (x1 + x2 + 1) / 2 ); pxl = FLOOR( ( x1 + x2 + 1 ) / 2 + ras.precision_half );
break; break;
case 2: case 1: /* simple drop-outs excluding stubs */
case 5: case 5: /* smart drop-outs excluding stubs */
/* Drop-out Control Rule #4 */
/* The spec is not very clear regarding rule #4. It */ /* Drop-out Control Rules #4 and #6 */
/* The spec is not very clear regarding those rules. It */
/* presents a method that is way too costly to implement */ /* presents a method that is way too costly to implement */
/* while the general idea seems to get rid of `stubs'. */ /* while the general idea seems to get rid of `stubs'. */
/* */ /* */
@@ -2233,7 +2258,6 @@ static const char count_table[256] =
/* FIXXXME: uncommenting this line solves the disappearing */ /* FIXXXME: uncommenting this line solves the disappearing */
/* bit problem in the `7' of verdana 10pts, but */ /* bit problem in the `7' of verdana 10pts, but */
/* makes a new one in the `C' of arial 14pts */ /* makes a new one in the `C' of arial 14pts */
#if 0 #if 0
if ( x2 - x1 < ras.precision_half ) if ( x2 - x1 < ras.precision_half )
#endif #endif
@@ -2247,41 +2271,43 @@ static const char count_table[256] =
return; return;
} }
/* check that the rightmost pixel isn't set */ if ( ras.dropOutControl == 1 )
pxl = e2;
e1 = TRUNC( e1 );
c1 = (Short)( e1 >> 3 );
f1 = (Short)( e1 & 7 );
if ( e1 >= 0 && e1 < ras.bWidth &&
ras.bTarget[ras.traceOfs + c1] & ( 0x80 >> f1 ) )
return;
if ( ras.dropOutControl == 2 )
e1 = e2;
else else
e1 = CEILING( ( x1 + x2 + 1 ) / 2 ); pxl = FLOOR( ( x1 + x2 + 1 ) / 2 + ras.precision_half );
break; break;
default: default: /* modes 2, 3, 6, 7 */
return; /* unsupported mode */ return; /* no drop-out control */
} }
/* check that the other pixel isn't set */
e1 = pxl == e1 ? e2 : e1;
e1 = TRUNC( e1 );
c1 = (Short)( e1 >> 3 );
f1 = (Short)( e1 & 7 );
if ( e1 >= 0 && e1 < ras.bWidth &&
ras.bTarget[ras.traceOfs + c1] & ( 0x80 >> f1 ) )
return;
} }
else else
return; return;
} }
e1 = TRUNC( e1 ); e1 = TRUNC( pxl );
if ( e1 >= 0 && e1 < ras.bWidth ) if ( e1 >= 0 && e1 < ras.bWidth )
{ {
c1 = (Short)( e1 >> 3 ); c1 = (Short)( e1 >> 3 );
f1 = (Short)( e1 & 7 ); f1 = (Short)( e1 & 7 );
if ( ras.gray_min_x > c1 ) ras.gray_min_x = c1; if ( ras.gray_min_x > c1 )
if ( ras.gray_max_x < c1 ) ras.gray_max_x = c1; ras.gray_min_x = c1;
if ( ras.gray_max_x < c1 )
ras.gray_max_x = c1;
ras.bTarget[ras.traceOfs + c1] |= (char)( 0x80 >> f1 ); ras.bTarget[ras.traceOfs + c1] |= (char)( 0x80 >> f1 );
} }
@@ -2365,15 +2391,26 @@ static const char count_table[256] =
PProfile left, PProfile left,
PProfile right ) PProfile right )
{ {
Long e1, e2; Long e1, e2, pxl;
PByte bits; PByte bits;
Byte f1; Byte f1;
/* During the horizontal sweep, we only take care of drop-outs */ /* During the horizontal sweep, we only take care of drop-outs */
e1 = CEILING( x1 ); /* e1 + <-- pixel center */
e2 = FLOOR ( x2 ); /* | */
/* x1 ---+--> <-- contour */
/* | */
/* | */
/* x2 <--+--- <-- contour */
/* | */
/* | */
/* e2 + <-- pixel center */
e1 = CEILING( x1 );
e2 = FLOOR ( x2 );
pxl = e1;
if ( e1 > e2 ) if ( e1 > e2 )
{ {
@@ -2381,23 +2418,17 @@ static const char count_table[256] =
{ {
switch ( ras.dropOutControl ) switch ( ras.dropOutControl )
{ {
case 1: case 0: /* simple drop-outs including stubs */
e1 = e2; pxl = e2;
break; break;
case 4: case 4: /* smart drop-outs including stubs */
e1 = CEILING( ( x1 + x2 + 1 ) / 2 ); pxl = FLOOR( ( x1 + x2 + 1 ) / 2 + ras.precision_half );
break; break;
case 2: case 1: /* simple drop-outs excluding stubs */
case 5: case 5: /* smart drop-outs excluding stubs */
/* see Vertical_Sweep_Drop for details */
/* Drop-out Control Rule #4 */
/* The spec is not very clear regarding rule #4. It */
/* presents a method that is way too costly to implement */
/* while the general idea seems to get rid of `stubs'. */
/* */
/* rightmost stub test */ /* rightmost stub test */
if ( left->next == right && left->height <= 0 ) if ( left->next == right && left->height <= 0 )
@@ -2407,32 +2438,32 @@ static const char count_table[256] =
if ( right->next == left && left->start == y ) if ( right->next == left && left->start == y )
return; return;
/* check that the rightmost pixel isn't set */ if ( ras.dropOutControl == 1 )
pxl = e2;
e1 = TRUNC( e1 );
bits = ras.bTarget + ( y >> 3 );
f1 = (Byte)( 0x80 >> ( y & 7 ) );
bits -= e1 * ras.target.pitch;
if ( ras.target.pitch > 0 )
bits += ( ras.target.rows - 1 ) * ras.target.pitch;
if ( e1 >= 0 &&
e1 < ras.target.rows &&
*bits & f1 )
return;
if ( ras.dropOutControl == 2 )
e1 = e2;
else else
e1 = CEILING( ( x1 + x2 + 1 ) / 2 ); pxl = FLOOR( ( x1 + x2 + 1 ) / 2 + ras.precision_half );
break; break;
default: default: /* modes 2, 3, 6, 7 */
return; /* unsupported mode */ return; /* no drop-out control */
} }
/* check that the other pixel isn't set */
e1 = pxl == e1 ? e2 : e1;
e1 = TRUNC( e1 );
bits = ras.bTarget + ( y >> 3 );
f1 = (Byte)( 0x80 >> ( y & 7 ) );
bits -= e1 * ras.target.pitch;
if ( ras.target.pitch > 0 )
bits += ( ras.target.rows - 1 ) * ras.target.pitch;
if ( e1 >= 0 &&
e1 < ras.target.rows &&
*bits & f1 )
return;
} }
else else
return; return;
@@ -2441,7 +2472,7 @@ static const char count_table[256] =
bits = ras.bTarget + ( y >> 3 ); bits = ras.bTarget + ( y >> 3 );
f1 = (Byte)( 0x80 >> ( y & 7 ) ); f1 = (Byte)( 0x80 >> ( y & 7 ) );
e1 = TRUNC( e1 ); e1 = TRUNC( pxl );
if ( e1 >= 0 && e1 < ras.target.rows ) if ( e1 >= 0 && e1 < ras.target.rows )
{ {
@@ -2627,6 +2658,7 @@ static const char count_table[256] =
/* During the horizontal sweep, we only take care of drop-outs */ /* During the horizontal sweep, we only take care of drop-outs */
e1 = CEILING( x1 ); e1 = CEILING( x1 );
e2 = FLOOR ( x2 ); e2 = FLOOR ( x2 );
@@ -2636,23 +2668,17 @@ static const char count_table[256] =
{ {
switch ( ras.dropOutControl ) switch ( ras.dropOutControl )
{ {
case 1: case 0: /* simple drop-outs including stubs */
e1 = e2; e1 = e2;
break; break;
case 4: case 4: /* smart drop-outs including stubs */
e1 = CEILING( ( x1 + x2 + 1 ) / 2 ); e1 = FLOOR( ( x1 + x2 + 1 ) / 2 + ras.precision_half );
break; break;
case 2: case 1: /* simple drop-outs excluding stubs */
case 5: case 5: /* smart drop-outs excluding stubs */
/* see Vertical_Sweep_Drop for details */
/* Drop-out Control Rule #4 */
/* The spec is not very clear regarding rule #4. It */
/* presents a method that is way too costly to implement */
/* while the general idea seems to get rid of `stubs'. */
/* */
/* rightmost stub test */ /* rightmost stub test */
if ( left->next == right && left->height <= 0 ) if ( left->next == right && left->height <= 0 )
@@ -2662,15 +2688,15 @@ static const char count_table[256] =
if ( right->next == left && left->start == y ) if ( right->next == left && left->start == y )
return; return;
if ( ras.dropOutControl == 2 ) if ( ras.dropOutControl == 1 )
e1 = e2; e1 = e2;
else else
e1 = CEILING( ( x1 + x2 + 1 ) / 2 ); e1 = FLOOR( ( x1 + x2 + 1 ) / 2 + ras.precision_half );
break; break;
default: default: /* modes 2, 3, 6, 7 */
return; /* unsupported mode */ return; /* no drop-out control */
} }
} }
else else
@@ -2742,8 +2768,10 @@ static const char count_table[256] =
bottom = (Short)P->start; bottom = (Short)P->start;
top = (Short)( P->start + P->height - 1 ); top = (Short)( P->start + P->height - 1 );
if ( min_Y > bottom ) min_Y = bottom; if ( min_Y > bottom )
if ( max_Y < top ) max_Y = top; min_Y = bottom;
if ( max_Y < top )
max_Y = top;
P->X = 0; P->X = 0;
InsNew( &waiting, P ); InsNew( &waiting, P );
@@ -2844,17 +2872,19 @@ static const char count_table[256] =
e1 = FLOOR( x1 ); e1 = FLOOR( x1 );
e2 = CEILING( x2 ); e2 = CEILING( x2 );
if ( ras.dropOutControl != 0 && if ( e1 > e2 || e2 == e1 + ras.precision )
( e1 > e2 || e2 == e1 + ras.precision ) )
{ {
/* a drop out was detected */ if ( ras.dropOutControl != 2 )
{
/* a drop out was detected */
P_Left ->X = x1; P_Left ->X = x1;
P_Right->X = x2; P_Right->X = x2;
/* mark profile for drop-out processing */ /* mark profile for drop-out processing */
P_Left->countL = 1; P_Left->countL = 1;
dropouts++; dropouts++;
}
goto Skip_To_Next; goto Skip_To_Next;
} }
@@ -3039,13 +3069,23 @@ static const char count_table[256] =
Set_High_Precision( RAS_VARS ras.outline.flags & Set_High_Precision( RAS_VARS ras.outline.flags &
FT_OUTLINE_HIGH_PRECISION ); FT_OUTLINE_HIGH_PRECISION );
ras.scale_shift = ras.precision_shift; ras.scale_shift = ras.precision_shift;
/* Drop-out mode 2 is hard-coded since this is the only mode used */
/* on Windows platforms. Using other modes, as specified by the */ if ( ras.outline.flags & FT_OUTLINE_IGNORE_DROPOUTS )
/* font, results in misplaced pixels. */ ras.dropOutControl = 2;
ras.dropOutControl = 2; else
ras.second_pass = (FT_Byte)( !( ras.outline.flags & {
FT_OUTLINE_SINGLE_PASS ) ); if ( ras.outline.flags & FT_OUTLINE_SMART_DROPOUTS )
ras.dropOutControl = 4;
else
ras.dropOutControl = 0;
if ( !( ras.outline.flags & FT_OUTLINE_INCLUDE_STUBS ) )
ras.dropOutControl += 1;
}
ras.second_pass = (FT_Byte)( !( ras.outline.flags &
FT_OUTLINE_SINGLE_PASS ) );
/* Vertical Sweep */ /* Vertical Sweep */
ras.Proc_Sweep_Init = Vertical_Sweep_Init; ras.Proc_Sweep_Init = Vertical_Sweep_Init;
@@ -3064,7 +3104,7 @@ static const char count_table[256] =
return error; return error;
/* Horizontal Sweep */ /* Horizontal Sweep */
if ( ras.second_pass && ras.dropOutControl != 0 ) if ( ras.second_pass && ras.dropOutControl != 2 )
{ {
ras.Proc_Sweep_Init = Horizontal_Sweep_Init; ras.Proc_Sweep_Init = Horizontal_Sweep_Init;
ras.Proc_Sweep_Span = Horizontal_Sweep_Span; ras.Proc_Sweep_Span = Horizontal_Sweep_Span;
@@ -3106,12 +3146,22 @@ static const char count_table[256] =
Set_High_Precision( RAS_VARS ras.outline.flags & Set_High_Precision( RAS_VARS ras.outline.flags &
FT_OUTLINE_HIGH_PRECISION ); FT_OUTLINE_HIGH_PRECISION );
ras.scale_shift = ras.precision_shift + 1; ras.scale_shift = ras.precision_shift + 1;
/* Drop-out mode 2 is hard-coded since this is the only mode used */
/* on Windows platforms. Using other modes, as specified by the */ if ( ras.outline.flags & FT_OUTLINE_IGNORE_DROPOUTS )
/* font, results in misplaced pixels. */ ras.dropOutControl = 2;
ras.dropOutControl = 2; else
ras.second_pass = !( ras.outline.flags & FT_OUTLINE_SINGLE_PASS ); {
if ( ras.outline.flags & FT_OUTLINE_SMART_DROPOUTS )
ras.dropOutControl = 4;
else
ras.dropOutControl = 0;
if ( !( ras.outline.flags & FT_OUTLINE_INCLUDE_STUBS ) )
ras.dropOutControl += 1;
}
ras.second_pass = !( ras.outline.flags & FT_OUTLINE_SINGLE_PASS );
/* Vertical Sweep */ /* Vertical Sweep */
@@ -3139,7 +3189,7 @@ static const char count_table[256] =
return error; return error;
/* Horizontal Sweep */ /* Horizontal Sweep */
if ( ras.second_pass && ras.dropOutControl != 0 ) if ( ras.second_pass && ras.dropOutControl != 2 )
{ {
ras.Proc_Sweep_Init = Horizontal_Sweep_Init; ras.Proc_Sweep_Init = Horizontal_Sweep_Init;
ras.Proc_Sweep_Span = Horizontal_Gray_Sweep_Span; ras.Proc_Sweep_Span = Horizontal_Gray_Sweep_Span;
@@ -3351,15 +3401,15 @@ static const char count_table[256] =
if ( !target_map->buffer ) if ( !target_map->buffer )
return Raster_Err_Invalid; return Raster_Err_Invalid;
ras.outline = *outline; ras.outline = *outline;
ras.target = *target_map; ras.target = *target_map;
worker->buff = (PLong) raster->buffer; worker->buff = (PLong) raster->buffer;
worker->sizeBuff = worker->buff + worker->sizeBuff = worker->buff +
raster->buffer_size / sizeof ( Long ); raster->buffer_size / sizeof ( Long );
#ifdef FT_RASTER_OPTION_ANTI_ALIASING #ifdef FT_RASTER_OPTION_ANTI_ALIASING
worker->grays = raster->grays; worker->grays = raster->grays;
worker->gray_width = raster->gray_width; worker->gray_width = raster->gray_width;
#endif #endif
return ( ( params->flags & FT_RASTER_FLAG_AA ) return ( ( params->flags & FT_RASTER_FLAG_AA )
+6 -5
View File
@@ -1616,15 +1616,14 @@
volatile int error = 0; volatile int error = 0;
if ( ft_setjmp( ras.jump_buffer ) == 0 ) if ( ft_setjmp( ras.jump_buffer ) == 0 )
{ {
error = FT_Outline_Decompose( &ras.outline, &func_interface, &ras ); error = FT_Outline_Decompose( &ras.outline, &func_interface, &ras );
gray_record_cell( RAS_VAR ); gray_record_cell( RAS_VAR );
} }
else else
{
error = ErrRaster_Memory_Overflow; error = ErrRaster_Memory_Overflow;
}
return error; return error;
} }
@@ -1678,10 +1677,12 @@
ras.cubic_level <<= level; ras.cubic_level <<= level;
} }
/* setup vertical bands */ /* set up vertical bands */
num_bands = (int)( ( ras.max_ey - ras.min_ey ) / ras.band_size ); num_bands = (int)( ( ras.max_ey - ras.min_ey ) / ras.band_size );
if ( num_bands == 0 ) num_bands = 1; if ( num_bands == 0 )
if ( num_bands >= 39 ) num_bands = 39; num_bands = 1;
if ( num_bands >= 39 )
num_bands = 39;
ras.band_shoot = 0; ras.band_shoot = 0;
+40 -6
View File
@@ -557,10 +557,10 @@
FT_Stream stream = loader->stream; FT_Stream stream = loader->stream;
/* we must undo the FT_FRAME_ENTER in order to point to the */ /* we must undo the FT_FRAME_ENTER in order to point */
/* composite instructions, if we find some. */ /* to the composite instructions, if we find some. */
/* we will process them later... */ /* We will process them later. */
/* */ /* */
loader->ins_pos = (FT_ULong)( FT_STREAM_POS() + loader->ins_pos = (FT_ULong)( FT_STREAM_POS() +
p - limit ); p - limit );
} }
@@ -1668,8 +1668,8 @@
} }
/* adjust advance width to the value contained in the hdmx table */ /* adjust advance width to the value contained in the hdmx table */
if ( !face->postscript.isFixedPitch && if ( !face->postscript.isFixedPitch &&
IS_HINTED( loader->load_flags ) ) IS_HINTED( loader->load_flags ) )
{ {
FT_Byte* widthp; FT_Byte* widthp;
@@ -1958,6 +1958,40 @@
FT_Outline_Translate( &glyph->outline, -loader.pp1.x, 0 ); FT_Outline_Translate( &glyph->outline, -loader.pp1.x, 0 );
} }
#ifdef TT_USE_BYTECODE_INTERPRETER
if ( IS_HINTED( load_flags ) )
{
if ( loader.exec->GS.scan_control )
{
/* convert scan conversion mode to FT_OUTLINE_XXX flags */
switch ( loader.exec->GS.scan_type )
{
case 0: /* simple drop-outs including stubs */
glyph->outline.flags |= FT_OUTLINE_INCLUDE_STUBS;
break;
case 1: /* simple drop-outs excluding stubs */
/* nothing; it's the default rendering mode */
break;
case 4: /* smart drop-outs including stubs */
glyph->outline.flags |= FT_OUTLINE_SMART_DROPOUTS |
FT_OUTLINE_INCLUDE_STUBS;
break;
case 5: /* smart drop-outs excluding stubs */
glyph->outline.flags |= FT_OUTLINE_SMART_DROPOUTS;
break;
default: /* no drop-out control */
glyph->outline.flags |= FT_OUTLINE_IGNORE_DROPOUTS;
break;
}
}
else
glyph->outline.flags |= FT_OUTLINE_IGNORE_DROPOUTS;
}
#endif /* TT_USE_BYTECODE_INTERPRETER */
compute_glyph_metrics( &loader, glyph_index ); compute_glyph_metrics( &loader, glyph_index );
} }
+4 -18
View File
@@ -693,7 +693,7 @@
/* exec :: A handle to the target execution context. */ /* exec :: A handle to the target execution context. */
/* */ /* */
/* <Return> */ /* <Return> */
/* TrueTyoe error code. 0 means success. */ /* TrueType error code. 0 means success. */
/* */ /* */
/* <Note> */ /* <Note> */
/* Only the glyph loader and debugger should call this function. */ /* Only the glyph loader and debugger should call this function. */
@@ -5092,12 +5092,8 @@
return; return;
} }
A *= 64; if ( ( args[0] & 0x100 ) != 0 && CUR.tt_metrics.ppem < A )
#if 0
if ( ( args[0] & 0x100 ) != 0 && CUR.metrics.pointSize <= A )
CUR.GS.scan_control = TRUE; CUR.GS.scan_control = TRUE;
#endif
if ( ( args[0] & 0x200 ) != 0 && CUR.tt_metrics.rotated ) if ( ( args[0] & 0x200 ) != 0 && CUR.tt_metrics.rotated )
CUR.GS.scan_control = TRUE; CUR.GS.scan_control = TRUE;
@@ -5105,10 +5101,8 @@
if ( ( args[0] & 0x400 ) != 0 && CUR.tt_metrics.stretched ) if ( ( args[0] & 0x400 ) != 0 && CUR.tt_metrics.stretched )
CUR.GS.scan_control = TRUE; CUR.GS.scan_control = TRUE;
#if 0 if ( ( args[0] & 0x800 ) != 0 && CUR.tt_metrics.ppem >= A )
if ( ( args[0] & 0x800 ) != 0 && CUR.metrics.pointSize > A )
CUR.GS.scan_control = FALSE; CUR.GS.scan_control = FALSE;
#endif
if ( ( args[0] & 0x1000 ) != 0 && CUR.tt_metrics.rotated ) if ( ( args[0] & 0x1000 ) != 0 && CUR.tt_metrics.rotated )
CUR.GS.scan_control = FALSE; CUR.GS.scan_control = FALSE;
@@ -5127,16 +5121,8 @@
static void static void
Ins_SCANTYPE( INS_ARG ) Ins_SCANTYPE( INS_ARG )
{ {
/* for compatibility with future enhancements, */ if ( args[0] >= 0 )
/* we must ignore new modes */
if ( args[0] >= 0 && args[0] <= 5 )
{
if ( args[0] == 3 )
args[0] = 2;
CUR.GS.scan_type = (FT_Int)args[0]; CUR.GS.scan_type = (FT_Int)args[0];
}
} }
+30 -9
View File
@@ -90,7 +90,7 @@
FT_LOCAL_DEF( FT_Error ) FT_LOCAL_DEF( FT_Error )
T1_Size_Init( T1_Size size ) T1_Size_Init( T1_Size size )
{ {
FT_Error error = 0; FT_Error error = T1_Err_Ok;
PSH_Globals_Funcs funcs = T1_Size_Get_Globals_Funcs( size ); PSH_Globals_Funcs funcs = T1_Size_Get_Globals_Funcs( size );
@@ -254,8 +254,8 @@
face->unicode_map = NULL; face->unicode_map = NULL;
#endif #endif
face->root.family_name = 0; face->root.family_name = NULL;
face->root.style_name = 0; face->root.style_name = NULL;
} }
} }
@@ -355,15 +355,19 @@
/* XXX: TODO -- add kerning with .afm support */ /* XXX: TODO -- add kerning with .afm support */
/* The following code to extract the family and the style is very */
/* simplistic and might get some things wrong. For a full-featured */
/* algorithm you might have a look at the whitepaper given at */
/* */
/* http://blogs.msdn.com/text/archive/2007/04/23/wpf-font-selection-model.aspx */
/* get style name -- be careful, some broken fonts only */ /* get style name -- be careful, some broken fonts only */
/* have a `/FontName' dictionary entry! */ /* have a `/FontName' dictionary entry! */
root->family_name = info->family_name; root->family_name = info->family_name;
/* assume "Regular" style if we don't know better */ root->style_name = NULL;
root->style_name = (char *)"Regular";
if ( info->weight ) if ( root->family_name )
root->style_name = info->weight;
else if ( root->family_name )
{ {
char* full = info->full_name; char* full = info->full_name;
char* family = root->family_name; char* family = root->family_name;
@@ -371,6 +375,9 @@
if ( full ) if ( full )
{ {
FT_Bool the_same = TRUE;
while ( *full ) while ( *full )
{ {
if ( *full == *family ) if ( *full == *family )
@@ -386,12 +393,17 @@
family++; family++;
else else
{ {
the_same = FALSE;
if ( !*family ) if ( !*family )
root->style_name = full; root->style_name = full;
break; break;
} }
} }
} }
if ( the_same )
root->style_name = (char *)"Regular";
} }
} }
else else
@@ -401,6 +413,15 @@
root->family_name = type1->font_name; root->family_name = type1->font_name;
} }
if ( !root->style_name )
{
if ( info->weight )
root->style_name = info->weight;
else
/* assume `Regular' style because we don't know better */
root->style_name = (char *)"Regular";
}
/* compute style flags */ /* compute style flags */
root->style_flags = 0; root->style_flags = 0;
if ( info->italic_angle ) if ( info->italic_angle )
@@ -445,7 +466,7 @@
if ( !error ) if ( !error )
root->max_advance_width = (FT_Short)max_advance; root->max_advance_width = (FT_Short)max_advance;
else else
error = 0; /* clear error */ error = T1_Err_Ok; /* clear error */
} }
root->max_advance_height = root->height; root->max_advance_height = root->height;