diff options
Diffstat (limited to 'include/freetype/freetype.h')
-rw-r--r-- | include/freetype/freetype.h | 548 |
1 files changed, 274 insertions, 274 deletions
diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h index 92a4b44f3..4925ec339 100644 --- a/include/freetype/freetype.h +++ b/include/freetype/freetype.h @@ -55,17 +55,17 @@ FT_BEGIN_HEADER * FreeType uses a very special inclusion scheme to load header * files, for example * - * { + * ``` * #include <ft2build.h> * * #include FT_FREETYPE_H * #include FT_OUTLINE_H - * } + * ``` * * A compiler and its preprocessor only needs an include path to find - * the file `ft2build.h'; the exact locations and names of the other + * the file `ft2build.h`; the exact locations and names of the other * FreeType header files are hidden by @header_file_macros, loaded by - * `ft2build.h'. The API documentation always gives the header macro + * `ft2build.h`. The API documentation always gives the header macro * name needed for a particular function. * */ @@ -85,8 +85,8 @@ FT_BEGIN_HEADER * @description: * FreeType assumes that structures allocated by the user and passed * as arguments are zeroed out except for the actual data. In other - * words, it is recommended to use `calloc' (or variants of it) - * instead of `malloc' for allocation. + * words, it is recommended to use 'calloc' (or variants of it) + * instead of 'malloc' for allocation. * */ @@ -306,13 +306,13 @@ FT_BEGIN_HEADER * dimensions of the hinted glyph (in case hinting is applicable). * * Stroking a glyph with an outside border does not increase - * `horiAdvance' or `vertAdvance'; you have to manually adjust these + * `horiAdvance` or `vertAdvance`; you have to manually adjust these * values to account for the added width and height. * - * FreeType doesn't use the `VORG' table data for CFF fonts because + * FreeType doesn't use the 'VORG' table data for CFF fonts because * it doesn't have an interface to quickly retrieve the glyph height. * The y~coordinate of the vertical origin can be simply computed as - * `vertBearingY + height' after loading a glyph. + * `vertBearingY + height` after loading a glyph. */ typedef struct FT_Glyph_Metrics_ { @@ -338,7 +338,7 @@ FT_BEGIN_HEADER * @description: * This structure models the metrics of a bitmap strike (i.e., a set * of glyphs for a given point size and resolution) in a bitmap font. - * It is used for the `available_sizes' field of @FT_Face. + * It is used for the `available_sizes` field of @FT_Face. * * @fields: * height :: @@ -364,12 +364,12 @@ FT_BEGIN_HEADER * @note: * Windows FNT: * The nominal size given in a FNT font is not reliable. If the - * driver finds it incorrect, it sets `size' to some calculated - * values, and `x_ppem' and `y_ppem' to the pixel width and height + * driver finds it incorrect, it sets 'size' to some calculated + * values, and `x_ppem` and `y_ppem` to the pixel width and height * given in the font, respectively. * * TrueType embedded bitmaps: - * `size', `width', and `height' values are not contained in the + * 'size', 'width', and 'height' values are not contained in the * bitmap strike itself. They are computed from the global font * parameters. */ @@ -400,16 +400,16 @@ FT_BEGIN_HEADER * FT_Library * * @description: - * A handle to a FreeType library instance. Each `library' is - * completely independent from the others; it is the `root' of a set + * A handle to a FreeType library instance. Each 'library' is + * completely independent from the others; it is the 'root' of a set * of objects like fonts, faces, sizes, etc. * * It also embeds a memory manager (see @FT_Memory), as well as a * scan-line converter object (see @FT_Raster). * * In multi-threaded applications it is easiest to use one - * `FT_Library' object per thread. In case this is too cumbersome, - * a single `FT_Library' object across threads is possible also + * `FT_Library` object per thread. In case this is too cumbersome, + * a single `FT_Library` object across threads is possible also * (since FreeType version 2.5.6), as long as a mutex lock is used * around @FT_New_Face and @FT_Done_Face. * @@ -493,12 +493,12 @@ FT_BEGIN_HEADER * * Use @FT_Done_Face to destroy it (along with its slot and sizes). * - * An `FT_Face' object can only be safely used from one thread at a - * time. Similarly, creation and destruction of `FT_Face' with the + * An `FT_Face` object can only be safely used from one thread at a + * time. Similarly, creation and destruction of `FT_Face` with the * same @FT_Library object can only be done from one thread at a * time. On the other hand, functions like @FT_Load_Glyph and its * siblings are thread-safe and do not need the lock to be held as - * long as the same `FT_Face' object is not used from multiple + * long as the same `FT_Face` object is not used from multiple * threads at the same time. * * @also: @@ -545,7 +545,7 @@ FT_BEGIN_HEADER * FT_GlyphSlot * * @description: - * A handle to a given `glyph slot'. A slot is a container that can + * A handle to a given 'glyph slot'. A slot is a container that can * hold any of the glyphs contained in its parent face. * * In other words, each time you call @FT_Load_Glyph or @@ -565,26 +565,26 @@ FT_BEGIN_HEADER * FT_CharMap * * @description: - * A handle to a character map (usually abbreviated to `charmap'). A + * A handle to a character map (usually abbreviated to 'charmap'). A * charmap is used to translate character codes in a given encoding * into glyph indexes for its parent's face. Some font formats may * provide several charmaps per font. * * Each face object owns zero or more charmaps, but only one of them - * can be `active', providing the data used by @FT_Get_Char_Index or + * can be 'active', providing the data used by @FT_Get_Char_Index or * @FT_Load_Char. * * The list of available charmaps in a face is available through the - * `face->num_charmaps' and `face->charmaps' fields of @FT_FaceRec. + * `face->num_charmaps` and `face->charmaps` fields of @FT_FaceRec. * - * The currently active charmap is available as `face->charmap'. + * The currently active charmap is available as `face->charmap`. * You should call @FT_Set_Charmap to change it. * * @note: * When a new face is created (either through @FT_New_Face or * @FT_Open_Face), the library looks for a Unicode charmap within * the list and automatically activates it. If there is no Unicode - * charmap, FreeType doesn't set an `active' charmap. + * charmap, FreeType doesn't set an 'active' charmap. * * @also: * See @FT_CharMapRec for the publicly accessible fields of a given @@ -600,16 +600,16 @@ FT_BEGIN_HEADER * * @description: * This macro converts four-letter tags into an unsigned long. It is - * used to define `encoding' identifiers (see @FT_Encoding). + * used to define 'encoding' identifiers (see @FT_Encoding). * * @note: * Since many 16-bit compilers don't like 32-bit enumerations, you * should redefine this macro in case of problems to something like * this: * - * { + * ``` * #define FT_ENC_TAG( value, a, b, c, d ) value - * } + * ``` * * to get a simple enumeration without assigning special numbers. */ @@ -657,16 +657,16 @@ FT_BEGIN_HEADER * FT_ENCODING_MS_SYMBOL :: * Microsoft Symbol encoding, used to encode mathematical symbols * and wingdings. For more information, see - * `https://www.microsoft.com/typography/otspec/recom.htm', - * `http://www.kostis.net/charsets/symbol.htm', and - * `http://www.kostis.net/charsets/wingding.htm'. + * 'https://www.microsoft.com/typography/otspec/recom.htm', + * 'http://www.kostis.net/charsets/symbol.htm', and + * 'http://www.kostis.net/charsets/wingding.htm'. * * This encoding uses character codes from the PUA (Private Unicode * Area) in the range U+F020-U+F0FF. * * FT_ENCODING_SJIS :: * Shift JIS encoding for Japanese. More info at - * `https://en.wikipedia.org/wiki/Shift_JIS'. See note on + * 'https://en.wikipedia.org/wiki/Shift_JIS'. See note on * multi-byte encodings below. * * FT_ENCODING_PRC :: @@ -682,7 +682,7 @@ FT_BEGIN_HEADER * Corresponds to the Korean encoding system known as Extended * Wansung (MS Windows code page 949). * For more information see - * `https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit949.txt'. + * 'https://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WindowsBestFit/bestfit949.txt'. * * FT_ENCODING_JOHAB :: * The Korean standard character set (KS~C 5601-1992), which @@ -741,21 +741,21 @@ FT_BEGIN_HEADER * is neither Unicode nor ISO-8859-1 (otherwise it is set to * FT_ENCODING_UNICODE). Use @FT_Get_BDF_Charset_ID to find out * which encoding is really present. If, for example, the - * `cs_registry' field is `KOI8' and the `cs_encoding' field is `R', + * `cs_registry` field is 'KOI8' and the `cs_encoding` field is 'R', * the font is encoded in KOI8-R. * * FT_ENCODING_NONE is always set (with a single exception) by the * winfonts driver. Use @FT_Get_WinFNT_Header and examine the - * `charset' field of the @FT_WinFNT_HeaderRec structure to find out + * 'charset' field of the @FT_WinFNT_HeaderRec structure to find out * which encoding is really present. For example, * @FT_WinFNT_ID_CP1251 (204) means Windows code page 1251 (for * Russian). * - * FT_ENCODING_NONE is set if `platform_id' is @TT_PLATFORM_MACINTOSH - * and `encoding_id' is not `TT_MAC_ID_ROMAN' (otherwise it is set to + * FT_ENCODING_NONE is set if `platform_id` is @TT_PLATFORM_MACINTOSH + * and `encoding_id` is not `TT_MAC_ID_ROMAN` (otherwise it is set to * FT_ENCODING_APPLE_ROMAN). * - * If `platform_id' is @TT_PLATFORM_MACINTOSH, use the function + * If `platform_id` is @TT_PLATFORM_MACINTOSH, use the function * @FT_Get_CMap_Language_ID to query the Mac language ID that may * be needed to be able to distinguish Apple encoding variants. See * @@ -763,10 +763,10 @@ FT_BEGIN_HEADER * * 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 examine `encoding_id'. If, for example, `encoding_id' 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_ID_ARABIC' with `TT_MAC_LANGID_FARSI' means the Farsi + * Then examine `encoding_id`. If, for example, `encoding_id` 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_ID_ARABIC` with `TT_MAC_LANGID_FARSI` means the Farsi * variant the Arabic encoding. */ typedef enum FT_Encoding_ @@ -872,7 +872,7 @@ FT_BEGIN_HEADER * FT_Face_Internal * * @description: - * An opaque handle to an `FT_Face_InternalRec' structure that models + * An opaque handle to an `FT_Face_InternalRec` structure that models * the private data of a given @FT_Face object. * * This structure might change between releases of FreeType~2 and is @@ -910,11 +910,11 @@ FT_BEGIN_HEADER * indicates font access without a named * instance). For non-variation fonts, bits * 16-30 are ignored. If we have the third - * named instance of face~4, say, `face_index' + * named instance of face~4, say, `face_index` * is set to 0x00030004. * * Bit 31 is always zero (this is, - * `face_index' is always a positive value). + * `face_index` is always a positive value). * * [Since 2.9] Changing the design coordinates * with @FT_Set_Var_Design_Coordinates or @@ -936,7 +936,7 @@ FT_BEGIN_HEADER * of named instances available for the * current face if we have a GX or OpenType * variation (sub)font. Bit 31 is always zero - * (this is, `style_flags' is always a + * (this is, `style_flags` is always a * positive value). Note that a variation * font has always at least one named * instance, namely the default instance. @@ -944,7 +944,7 @@ FT_BEGIN_HEADER * num_glyphs :: * The number of glyphs in the face. If the * face is scalable and has sbits (see - * `num_fixed_sizes'), it is set to the number + * `num_fixed_sizes`), it is set to the number * of outline glyphs. * * For CID-keyed fonts (not in an SFNT @@ -953,8 +953,8 @@ FT_BEGIN_HEADER * * family_name :: * The face's family name. This is an ASCII string, usually in - * English, that describes the typeface's family (like `Times New - * Roman', `Bodoni', `Garamond', etc). This is a least common + * English, that describes the typeface's family (like 'Times New + * Roman', 'Bodoni', 'Garamond', etc). This is a least common * denominator used to list fonts. Some formats (TrueType & OpenType) * provide localized and Unicode versions of this string. * Applications should use the format-specific interface to access @@ -967,10 +967,10 @@ FT_BEGIN_HEADER * * style_name :: * The face's style name. This is an ASCII string, usually in - * English, that describes the typeface's style (like `Italic', - * `Bold', `Condensed', etc). Not all font formats provide a style + * English, that describes the typeface's style (like 'Italic', + * 'Bold', 'Condensed', etc). Not all font formats provide a style * name, so this field is optional, and can be set to NULL. As for - * `family_name', some formats provide localized and Unicode versions + * `family_name`, some formats provide localized and Unicode versions * of this string. Applications should use the format-specific * interface to access them. * @@ -978,7 +978,7 @@ FT_BEGIN_HEADER * The number of bitmap strikes in the face. * Even if the face is scalable, there might * still be bitmap strikes, which are called - * `sbits' in that case. + * 'sbits' in that case. * * available_sizes :: * An array of @FT_Bitmap_Size for all bitmap @@ -1002,10 +1002,10 @@ FT_BEGIN_HEADER * bbox :: * The font bounding box. Coordinates are * expressed in font units (see - * `units_per_EM'). The box is large enough + * `units_per_EM`). The box is large enough * to contain any glyph from the font. Thus, - * `bbox.yMax' can be seen as the `maximum - * ascender', and `bbox.yMin' as the `minimum + * `bbox.yMax` can be seen as the 'maximum + * ascender', and `bbox.yMin` as the 'minimum * descender'. Only relevant for scalable * formats. * @@ -1023,14 +1023,14 @@ FT_BEGIN_HEADER * The typographic ascender of the face, * expressed in font units. For font formats * not having this information, it is set to - * `bbox.yMax'. Only relevant for scalable + * `bbox.yMax`. Only relevant for scalable * formats. * * descender :: * The typographic descender of the face, * expressed in font units. For font formats * not having this information, it is set to - * `bbox.yMin'. Note that this field is + * `bbox.yMin`. Note that this field is * negative for values below the baseline. * Only relevant for scalable formats. * @@ -1042,7 +1042,7 @@ FT_BEGIN_HEADER * formats. * * If you want the global glyph height, use - * `ascender - descender'. + * 'ascender - descender'. * * max_advance_width :: * The maximum advance width, in font units, @@ -1055,7 +1055,7 @@ FT_BEGIN_HEADER * The maximum advance height, in font units, * for all glyphs in this face. This is only * relevant for vertical layouts, and is set - * to `height' for fonts that do not provide + * to 'height' for fonts that do not provide * vertical metrics. Only relevant for * scalable formats. * @@ -1085,9 +1085,9 @@ FT_BEGIN_HEADER * * For an OpenType variation font, the values of the following fields * can change after a call to @FT_Set_Var_Design_Coordinates (and - * friends) if the font contains an `MVAR' table: `ascender', - * `descender', `height', `underline_position', and - * `underline_thickness'. + * friends) if the font contains an 'MVAR' table: 'ascender', + * 'descender', 'height', `underline_position`, and + * `underline_thickness`. * * Especially for TrueType fonts see also the documentation for * @FT_Size_Metrics. @@ -1157,7 +1157,7 @@ FT_BEGIN_HEADER * FT_FACE_FLAG_XXX * * @description: - * A list of bit flags used in the `face_flags' field of the + * A list of bit flags used in the `face_flags` field of the * @FT_FaceRec structure. They inform client applications of * properties of the corresponding face. * @@ -1169,7 +1169,7 @@ FT_BEGIN_HEADER * * FT_FACE_FLAG_FIXED_SIZES :: * The face contains bitmap strikes. See also the - * `num_fixed_sizes' and `available_sizes' fields of @FT_FaceRec. + * `num_fixed_sizes` and `available_sizes` fields of @FT_FaceRec. * * FT_FACE_FLAG_FIXED_WIDTH :: * The face contains fixed-width characters (like Courier, Lucida, @@ -1191,7 +1191,7 @@ FT_BEGIN_HEADER * The face contains kerning information. If set, the kerning * distance can be retrieved using the function @FT_Get_Kerning. * Otherwise the function always return the vector (0,0). Note - * that FreeType doesn't handle kerning data from the SFNT `GPOS' + * that FreeType doesn't handle kerning data from the SFNT 'GPOS' * table (as present in many OpenType fonts). * * FT_FACE_FLAG_FAST_GLYPHS :: @@ -1218,7 +1218,7 @@ FT_BEGIN_HEADER * FT_FACE_FLAG_HINTER :: * The font driver has a hinting machine of its own. For example, * with TrueType fonts, it makes sense to use data from the SFNT - * `gasp' table only if the native TrueType hinting engine (with + * 'gasp' table only if the native TrueType hinting engine (with * the bytecode interpreter) is available and active. * * FT_FACE_FLAG_CID_KEYED :: @@ -1227,19 +1227,19 @@ FT_BEGIN_HEADER * fonts this has the consequence that not all index values are a * valid argument to @FT_Load_Glyph. Only the CID values for which * corresponding glyphs in the subsetted font exist make - * `FT_Load_Glyph' return successfully; in all other cases you get - * an `FT_Err_Invalid_Argument' error. + * `FT_Load_Glyph` return successfully; in all other cases you get + * an `FT_Err_Invalid_Argument` error. * * Note that CID-keyed fonts that are in an SFNT wrapper (this is, * all OpenType/CFF fonts) don't have this flag set since the * glyphs are accessed in the normal way (using contiguous - * indices); the `CID-ness' isn't visible to the application. + * indices); the 'CID-ness' isn't visible to the application. * * FT_FACE_FLAG_TRICKY :: - * The face is `tricky', this is, it always needs the font format's + * The face is 'tricky', this is, it always needs the font format's * native hinting engine to get a reasonable result. A typical - * example is the old Chinese font `mingli.ttf' (but not - * `mingliu.ttc') that uses TrueType bytecode instructions to move + * example is the old Chinese font `mingli.ttf` (but not + * `mingliu.ttc`) that uses TrueType bytecode instructions to move * and scale all of its subglyphs. * * It is not possible to auto-hint such fonts using @@ -1249,7 +1249,7 @@ FT_BEGIN_HEADER * probably never want this except for demonstration purposes. * * Currently, there are about a dozen TrueType fonts in the list of - * tricky fonts; they are hard-coded in file `ttobjs.c'. + * tricky fonts; they are hard-coded in file `ttobjs.c`. * * FT_FACE_FLAG_COLOR :: * [Since 2.5.1] The face has color glyph tables. See @@ -1366,7 +1366,7 @@ FT_BEGIN_HEADER * * @description: * A macro that returns true whenever a face object contains a font face - * that contains fixed-width (or `monospace', `fixed-pitch', etc.) + * that contains fixed-width (or 'monospace', 'fixed-pitch', etc.) * glyphs. * */ @@ -1381,7 +1381,7 @@ FT_BEGIN_HEADER * * @description: * A macro that returns true whenever a face object contains some - * embedded bitmaps. See the `available_sizes' field of the + * embedded bitmaps. See the `available_sizes` field of the * @FT_FaceRec structure. * */ @@ -1494,7 +1494,7 @@ FT_BEGIN_HEADER * FT_IS_TRICKY * * @description: - * A macro that returns true whenever a face represents a `tricky' font. + * A macro that returns true whenever a face represents a 'tricky' font. * See the discussion of @FT_FACE_FLAG_TRICKY for more details. * */ @@ -1526,7 +1526,7 @@ FT_BEGIN_HEADER * * @description: * A list of bit flags to indicate the style of a given face. These - * are used in the `style_flags' field of @FT_FaceRec. + * are used in the `style_flags` field of @FT_FaceRec. * * @values: * FT_STYLE_FLAG_ITALIC :: @@ -1538,7 +1538,7 @@ FT_BEGIN_HEADER * @note: * The style information as provided by FreeType is very basic. More * details are beyond the scope and should be done on a higher level - * (for example, by analyzing various fields of the `OS/2' table in + * (for example, by analyzing various fields of the 'OS/2' table in * SFNT based fonts). */ #define FT_STYLE_FLAG_ITALIC ( 1 << 0 ) @@ -1551,7 +1551,7 @@ FT_BEGIN_HEADER * FT_Size_Internal * * @description: - * An opaque handle to an `FT_Size_InternalRec' structure, used to + * An opaque handle to an `FT_Size_InternalRec` structure, used to * model private data of a given @FT_Size object. */ typedef struct FT_Size_InternalRec_* FT_Size_Internal; @@ -1568,13 +1568,13 @@ FT_BEGIN_HEADER * @fields: * x_ppem :: * The width of the scaled EM square in pixels, hence - * the term `ppem' (pixels per EM). It is also - * referred to as `nominal width'. + * the term 'ppem' (pixels per EM). It is also + * referred to as 'nominal width'. * * y_ppem :: * The height of the scaled EM square in pixels, - * hence the term `ppem' (pixels per EM). It is also - * referred to as `nominal height'. + * hence the term 'ppem' (pixels per EM). It is also + * referred to as 'nominal height'. * * x_scale :: * A 16.16 fractional scaling value to convert @@ -1618,10 +1618,10 @@ FT_BEGIN_HEADER * the corresponding @FT_FaceRec values manually, with code similar * to the following. * - * { + * ``` * scaled_ascender = FT_MulFix( face->ascender, * size_metrics->y_scale ); - * } + * ``` * * Note that due to glyph hinting and the selected rendering mode * these values are usually not exact; consequently, they must be @@ -1631,10 +1631,10 @@ FT_BEGIN_HEADER * glyphs. As this would be a definite performance hit, it is up to * client applications to perform such computations. * - * The `FT_Size_Metrics' structure is valid for bitmap fonts also. + * The `FT_Size_Metrics` structure is valid for bitmap fonts also. * * - * *TrueType* *fonts* *with* *native* *bytecode* *hinting* + * **TrueType fonts with native bytecode hinting** * * All applications that handle TrueType fonts with native hinting * must be aware that TTFs expect different rounding of vertical font @@ -1642,14 +1642,14 @@ FT_BEGIN_HEADER * it wants to rely on a TTF's vertical data (for example, to * properly align box characters vertically). * - * Only the application knows _in_ _advance_ that it is going to use + * Only the application knows _in advance_ that it is going to use * native hinting for TTFs! FreeType, on the other hand, selects the * hinting mode not at the time of creating an @FT_Size object but * much later, namely while calling @FT_Load_Glyph. * * Here is some pseudo code that illustrates a possible solution. * - * { + * ``` * font_format = FT_Get_Font_Format( face ); * * if ( !strcmp( font_format, "TrueType" ) && @@ -1668,7 +1668,7 @@ FT_BEGIN_HEADER * * height = size_metrics->height; * max_advance = size_metrics->max_advance; - * } + * ``` */ typedef struct FT_Size_Metrics_ { @@ -1743,7 +1743,7 @@ FT_BEGIN_HEADER * FT_Slot_Internal * * @description: - * An opaque handle to an `FT_Slot_InternalRec' structure, used to + * An opaque handle to an `FT_Slot_InternalRec` structure, used to * model private data of a given @FT_GlyphSlot object. */ typedef struct FT_Slot_InternalRec_* FT_Slot_Internal; @@ -1772,7 +1772,7 @@ FT_BEGIN_HEADER * glyph slots per face object can be a good * thing. As this is rare, the glyph slots are * listed through a direct, single-linked list - * using its `next' field. + * using its 'next' field. * * glyph_index :: * The glyph index passed as an argument to @FT_Load_Glyph while @@ -1816,8 +1816,8 @@ FT_BEGIN_HEADER * (hinted) advance width for the glyph, in 26.6 * fractional pixel format. As specified with * @FT_LOAD_VERTICAL_LAYOUT, it uses either the - * `horiAdvance' or the `vertAdvance' value of - * `metrics' field. + * `horiAdvance` or the `vertAdvance` value of + * 'metrics' field. * * format :: * This field indicates the format of the image @@ -1841,13 +1841,13 @@ FT_BEGIN_HEADER * The bitmap's top bearing expressed in integer * pixels. This is the distance from the * baseline to the top-most glyph scanline, - * upwards y~coordinates being *positive*. + * upwards y~coordinates being **positive**. * * outline :: * The outline descriptor for the current glyph * image if its format is * @FT_GLYPH_FORMAT_OUTLINE. Once a glyph is - * loaded, `outline' can be transformed, + * loaded, 'outline' can be transformed, * distorted, emboldened, etc. However, it must * not be freed. * @@ -1859,7 +1859,7 @@ FT_BEGIN_HEADER * * subglyphs :: * An array of subglyph descriptors for - * composite glyphs. There are `num_subglyphs' + * composite glyphs. There are `num_subglyphs` * elements in there. Currently internal to * FreeType. * @@ -1901,18 +1901,18 @@ FT_BEGIN_HEADER * * The renderer is in charge of transforming the native image through * the slot's face transformation fields, then converting it into a - * bitmap that is returned in `slot->bitmap'. + * bitmap that is returned in `slot->bitmap`. * - * Note that `slot->bitmap_left' and `slot->bitmap_top' are also used + * Note that `slot->bitmap_left` and `slot->bitmap_top` are also used * to specify the position of the bitmap relative to the current pen * position (e.g., coordinates (0,0) on the baseline). Of course, - * `slot->format' is also changed to @FT_GLYPH_FORMAT_BITMAP. + * `slot->format` is also changed to @FT_GLYPH_FORMAT_BITMAP. * * Here is a small pseudo code fragment that shows how to use - * `lsb_delta' and `rsb_delta' to do fractional positioning of + * `lsb_delta` and `rsb_delta` to do fractional positioning of * glyphs: * - * { + * ``` * FT_GlyphSlot slot = face->glyph; * FT_Pos origin_x = 0; * @@ -1930,13 +1930,13 @@ FT_BEGIN_HEADER * origin_x += slot->advance.x; * origin_x += slot->rsb_delta - slot->lsb_delta; * endfor - * } + * ``` * * Here is another small pseudo code fragment that shows how to use - * `lsb_delta' and `rsb_delta' to improve integer positioning of + * `lsb_delta` and `rsb_delta` to improve integer positioning of * glyphs: * - * { + * ``` * FT_GlyphSlot slot = face->glyph; * FT_Pos origin_x = 0; * FT_Pos prev_rsb_delta = 0; @@ -1959,9 +1959,9 @@ FT_BEGIN_HEADER * * origin_x += slot->advance.x; * endfor - * } + * ``` * - * If you use strong auto-hinting, you *must* apply these delta + * If you use strong auto-hinting, you **must** apply these delta * values! Otherwise you will experience far too large inter-glyph * spacing at small rendering sizes in most cases. Note that it * doesn't harm to use the above code for other hinting modes also, @@ -2042,7 +2042,7 @@ FT_BEGIN_HEADER * @FT_New_Library and @FT_Done_Library. * * If compilation option FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES is - * set, this function reads the `FREETYPE_PROPERTIES' environment + * set, this function reads the `FREETYPE_PROPERTIES` environment * variable to control driver properties. See section @properties * for more. */ @@ -2076,7 +2076,7 @@ FT_BEGIN_HEADER * FT_OPEN_XXX * * @description: - * A list of bit field constants used within the `flags' field of the + * A list of bit field constants used within the 'flags' field of the * @FT_Open_Args structure. * * @values: @@ -2084,20 +2084,20 @@ FT_BEGIN_HEADER * This is a memory-based stream. * * FT_OPEN_STREAM :: - * Copy the stream from the `stream' field. + * Copy the stream from the 'stream' field. * * FT_OPEN_PATHNAME :: * Create a new input stream from a C~path * name. * * FT_OPEN_DRIVER :: - * Use the `driver' field. + * Use the 'driver' field. * * FT_OPEN_PARAMS :: - * Use the `num_params' and `params' fields. + * Use the `num_params` and 'params' fields. * * @note: - * The `FT_OPEN_MEMORY', `FT_OPEN_STREAM', and `FT_OPEN_PATHNAME' + * The `FT_OPEN_MEMORY`, `FT_OPEN_STREAM`, and `FT_OPEN_PATHNAME` * flags are mutually exclusive. */ #define FT_OPEN_MEMORY 0x1 @@ -2186,29 +2186,29 @@ FT_BEGIN_HEADER * opening a new face. * * @note: - * The stream type is determined by the contents of `flags' that + * The stream type is determined by the contents of 'flags' that * are tested in the following order by @FT_Open_Face: * * If the @FT_OPEN_MEMORY bit is set, assume that this is a - * memory file of `memory_size' bytes, located at `memory_address'. + * memory file of `memory_size` bytes, located at `memory_address`. * The data are not copied, and the client is responsible for * releasing and destroying them _after_ the corresponding call to * @FT_Done_Face. * * Otherwise, if the @FT_OPEN_STREAM bit is set, assume that a - * custom input stream `stream' is used. + * custom input stream 'stream' is used. * * Otherwise, if the @FT_OPEN_PATHNAME bit is set, assume that this - * is a normal file and use `pathname' to open it. + * is a normal file and use 'pathname' to open it. * * If the @FT_OPEN_DRIVER bit is set, @FT_Open_Face only tries to - * open the file with the driver whose handler is in `driver'. + * open the file with the driver whose handler is in 'driver'. * * If the @FT_OPEN_PARAMS bit is set, the parameters given by - * `num_params' and `params' is used. They are ignored otherwise. + * `num_params` and 'params' is used. They are ignored otherwise. * - * Ideally, both the `pathname' and `params' fields should be tagged - * as `const'; this is missing for API backward compatibility. In + * Ideally, both the 'pathname' and 'params' fields should be tagged + * as 'const'; this is missing for API backward compatibility. In * other words, applications should treat them as read-only. */ typedef struct FT_Open_Args_ @@ -2247,7 +2247,7 @@ FT_BEGIN_HEADER * * @output: * aface :: - * A handle to a new face object. If `face_index' is + * A handle to a new face object. If `face_index` is * greater than or equal to zero, it must be non-NULL. * * @return: @@ -2290,7 +2290,7 @@ FT_BEGIN_HEADER * * @output: * aface :: - * A handle to a new face object. If `face_index' is + * A handle to a new face object. If `face_index` is * greater than or equal to zero, it must be non-NULL. * * @return: @@ -2322,7 +2322,7 @@ FT_BEGIN_HEADER * * @input: * args :: - * A pointer to an `FT_Open_Args' structure that must + * A pointer to an `FT_Open_Args` structure that must * be filled by the caller. * * face_index :: @@ -2337,33 +2337,33 @@ FT_BEGIN_HEADER * with value~1; value~0 makes FreeType ignore named * instances). For non-variation fonts, bits 16-30 are * ignored. Assuming that you want to access the third - * named instance in face~4, `face_index' should be set + * named instance in face~4, `face_index` should be set * to 0x00030004. If you want to access face~4 without - * variation handling, simply set `face_index' to + * variation handling, simply set `face_index` to * value~4. * - * `FT_Open_Face' and its siblings can be used to + * `FT_Open_Face` and its siblings can be used to * quickly check whether the font format of a given * font resource is supported by FreeType. In general, - * if the `face_index' argument is negative, the + * if the `face_index` argument is negative, the * function's return value is~0 if the font format is * recognized, or non-zero otherwise. The function * allocates a more or less empty face handle in - * `*aface' (if `aface' isn't NULL); the only two + * '*aface' (if 'aface' isn't NULL); the only two * useful fields in this special case are - * `face->num_faces' and `face->style_flags'. For any - * negative value of `face_index', `face->num_faces' + * `face->num_faces` and `face->style_flags`. For any + * negative value of `face_index`, `face->num_faces` * gives the number of faces within the font file. For - * the negative value `-(N+1)' (with `N' a non-negative - * 16-bit value), bits 16-30 in `face->style_flags' - * give the number of named instances in face `N' if we + * the negative value '-(N+1)' (with 'N' a non-negative + * 16-bit value), bits 16-30 in `face->style_flags` + * give the number of named instances in face 'N' if we * have a variation font (or zero otherwise). After * examination, the returned @FT_Face structure should * be deallocated with a call to @FT_Done_Face. * * @output: * aface :: - * A handle to a new face object. If `face_index' is + * A handle to a new face object. If `face_index` is * greater than or equal to zero, it must be non-NULL. * * @return: @@ -2372,14 +2372,14 @@ FT_BEGIN_HEADER * @note: * Unlike FreeType 1.x, this function automatically creates a glyph * slot for the face object that can be accessed directly through - * `face->glyph'. + * `face->glyph`. * * Each new face object created with this function also owns a - * default @FT_Size object, accessible as `face->size'. + * default @FT_Size object, accessible as `face->size`. * * One @FT_Library instance can have multiple face objects, this is, * @FT_Open_Face and its siblings can be called multiple times using - * the same `library' argument. + * the same 'library' argument. * * See the discussion of reference counters in the description of * @FT_Reference_Face. @@ -2388,7 +2388,7 @@ FT_BEGIN_HEADER * To loop over all faces, use code similar to the following snippet * (omitting the error handling). * - * { + * ``` * ... * FT_Face face; * FT_Long i, num_faces; @@ -2408,15 +2408,15 @@ FT_BEGIN_HEADER * FT_Done_Face( face ); * ... * } - * } + * ``` * - * To loop over all valid values for `face_index', use something + * To loop over all valid values for `face_index`, use something * similar to the following snippet, again without error handling. * The code accesses all faces immediately (thus only a single call - * of `FT_Open_Face' within the do-loop), with and without named + * of `FT_Open_Face` within the do-loop), with and without named * instances. * - * { + * ``` * ... * FT_Face face; * @@ -2451,7 +2451,7 @@ FT_BEGIN_HEADER * } * * } while ( face_idx < num_faces ) - * } + * ``` */ FT_EXPORT( FT_Error ) FT_Open_Face( FT_Library library, @@ -2490,7 +2490,7 @@ FT_BEGIN_HEADER * FT_Attach_Stream * * @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 * attach an AFM file that comes with a Type~1 font to get the * kerning values and other metrics. @@ -2508,7 +2508,7 @@ FT_BEGIN_HEADER * FreeType error code. 0~means success. * * @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 * new file is read) is not fixed by FreeType itself. It really * depends on the font format (and thus the font driver). * @@ -2591,7 +2591,7 @@ FT_BEGIN_HEADER * @input: * strike_index :: * The index of the bitmap strike in the - * `available_sizes' field of @FT_FaceRec structure. + * `available_sizes` field of @FT_FaceRec structure. * * @return: * FreeType error code. 0~means success. @@ -2628,27 +2628,27 @@ FT_BEGIN_HEADER * * @values: * FT_SIZE_REQUEST_TYPE_NOMINAL :: - * The nominal size. The `units_per_EM' field of @FT_FaceRec is + * The nominal size. The `units_per_EM` field of @FT_FaceRec is * used to determine both scaling values. * * This is the standard scaling found in most applications. In * particular, use this size request type for TrueType fonts if * they provide optical scaling or something similar. Note, - * however, that `units_per_EM' is a rather abstract value which + * however, that `units_per_EM` is a rather abstract value which * bears no relation to the actual size of the glyphs in a font. * * FT_SIZE_REQUEST_TYPE_REAL_DIM :: - * The real dimension. The sum of the `ascender' and (minus of) - * the `descender' fields of @FT_FaceRec is used to determine both + * The real dimension. The sum of the 'ascender' and (minus of) + * the 'descender' fields of @FT_FaceRec is used to determine both * scaling values. * * FT_SIZE_REQUEST_TYPE_BBOX :: - * The font bounding box. The width and height of the `bbox' field + * The font bounding box. The width and height of the 'bbox' field * of @FT_FaceRec are used to determine the horizontal and vertical * scaling value, respectively. * * FT_SIZE_REQUEST_TYPE_CELL :: - * The `max_advance_width' field of @FT_FaceRec is used to + * The `max_advance_width` field of @FT_FaceRec is used to * determine the horizontal scaling value; the vertical scaling * value is determined the same way as * @FT_SIZE_REQUEST_TYPE_REAL_DIM does. Finally, both scaling @@ -2701,24 +2701,24 @@ FT_BEGIN_HEADER * * horiResolution :: * The horizontal resolution (dpi, i.e., pixels per - * inch). If set to zero, `width' is treated as a - * 26.6 fractional *pixel* value, which gets + * inch). If set to zero, 'width' is treated as a + * 26.6 fractional **pixel** value, which gets * internally rounded to an integer. * * vertResolution :: * The vertical resolution (dpi, i.e., pixels per - * inch). If set to zero, `height' is treated as a - * 26.6 fractional *pixel* value, which gets + * inch). If set to zero, 'height' is treated as a + * 26.6 fractional **pixel** value, which gets * internally rounded to an integer. * * @note: - * If `width' is zero, the horizontal scaling value is set equal + * If 'width' is zero, the horizontal scaling value is set equal * to the vertical scaling value, and vice versa. * - * If `type' is FT_SIZE_REQUEST_TYPE_SCALES, `width' and `height' are + * If 'type' is FT_SIZE_REQUEST_TYPE_SCALES, 'width' and 'height' are * interpreted directly as 16.16 fractional scaling values, without - * any further modification, and both `horiResolution' and - * `vertResolution' are ignored. + * any further modification, and both `horiResolution` and + * `vertResolution` are ignored. */ typedef struct FT_Size_RequestRec_ { @@ -2771,7 +2771,7 @@ FT_BEGIN_HEADER * size is dependent entirely on how the size is defined in the * source face. The font designer chooses the final size of each * glyph relative to this size. For more information refer to - * `https://www.freetype.org/freetype2/docs/glyphs/glyphs-2.html'. + * 'https://www.freetype.org/freetype2/docs/glyphs/glyphs-2.html'. * * Contrary to @FT_Set_Char_Size, this function doesn't have special * code to normalize zero-valued widths, heights, or resolutions @@ -2904,12 +2904,12 @@ FT_BEGIN_HEADER * The loaded glyph may be transformed. See @FT_Set_Transform for * the details. * - * For subsetted CID-keyed fonts, `FT_Err_Invalid_Argument' is + * For subsetted CID-keyed fonts, `FT_Err_Invalid_Argument` is * returned for invalid CID values (this is, for CID values that * don't have a corresponding glyph in the font). See the discussion * of the @FT_FACE_FLAG_CID_KEYED flag for more details. * - * If you receive `FT_Err_Glyph_Too_Big', try getting the glyph + * If you receive `FT_Err_Glyph_Too_Big`, try getting the glyph * outline at EM size, then scale it manually and fill it as a * graphics operation. */ @@ -2955,7 +2955,7 @@ FT_BEGIN_HEADER * since its glyph indices are not listed in any of the font's * charmaps. * - * If no active cmap is set up (i.e., `face->charmap' is zero), the + * If no active cmap is set up (i.e., `face->charmap` is zero), the * call to @FT_Get_Char_Index is omitted, and the function behaves * identically to @FT_Load_Glyph. */ @@ -2986,7 +2986,7 @@ FT_BEGIN_HEADER * * 2. If no embedded bitmap is searched for or found, FreeType looks * for a scalable outline. If one is found, it is loaded from - * the font file, scaled to device pixels, then `hinted' to the + * the font file, scaled to device pixels, then 'hinted' to the * pixel grid in order to optimize it. The outline data can be * accessed from the glyph slot (see note below). * @@ -3000,14 +3000,14 @@ FT_BEGIN_HEADER * This flag implies @FT_LOAD_NO_HINTING and @FT_LOAD_NO_BITMAP, and * unsets @FT_LOAD_RENDER. * - * If the font is `tricky' (see @FT_FACE_FLAG_TRICKY for more), using + * If the font is 'tricky' (see @FT_FACE_FLAG_TRICKY for more), using * FT_LOAD_NO_SCALE usually yields meaningless outlines because the * subglyphs must be scaled and positioned with hinting instructions. * This can be solved by loading the font without FT_LOAD_NO_SCALE and - * setting the character size to `font->units_per_EM'. + * setting the character size to `font->units_per_EM`. * * FT_LOAD_NO_HINTING :: - * Disable hinting. This generally generates `blurrier' bitmap glyphs + * Disable hinting. This generally generates 'blurrier' bitmap glyphs * when the glyph are rendered in any of the anti-aliased modes. See * also the note below. * @@ -3028,8 +3028,8 @@ FT_BEGIN_HEADER * * FT_LOAD_VERTICAL_LAYOUT :: * Load the glyph for vertical text layout. In particular, the - * `advance' value in the @FT_GlyphSlotRec structure is set to the - * `vertAdvance' value of the `metrics' field. + * 'advance' value in the @FT_GlyphSlotRec structure is set to the + * `vertAdvance` value of the 'metrics' field. * * In case @FT_HAS_VERTICAL doesn't return true, you shouldn't use * this flag currently. Reason is that in this case vertical metrics @@ -3052,8 +3052,8 @@ FT_BEGIN_HEADER * * FT_LOAD_NO_RECURSE :: * Don't load composite glyphs recursively. Instead, the font - * driver should set the `num_subglyph' and `subglyphs' values of - * the glyph slot accordingly, and set `glyph->format' to + * driver should set the `num_subglyph` and 'subglyphs' values of + * the glyph slot accordingly, and set `glyph->format` to * @FT_GLYPH_FORMAT_COMPOSITE. The description of subglyphs can * then be accessed with @FT_Get_SubGlyph_Info. * @@ -3072,7 +3072,7 @@ FT_BEGIN_HEADER * monochrome-optimized hinting algorithm is used. * * FT_LOAD_LINEAR_DESIGN :: - * Keep `linearHoriAdvance' and `linearVertAdvance' fields of + * Keep `linearHoriAdvance` and `linearVertAdvance` fields of * @FT_GlyphSlotRec in font units. See @FT_GlyphSlotRec for * details. * @@ -3090,7 +3090,7 @@ FT_BEGIN_HEADER * bitmaps, using the @FT_PIXEL_MODE_GRAY format. * * [Since 2.10] If the glyph index contains an entry in the face's - * `COLR' table with a `CPAL' palette table (as defined in the + * 'COLR' table with a 'CPAL' palette table (as defined in the * OpenType specification), make @FT_Render_Glyph provide a default * blending of the color glyph layers associated with the glyph index, * using the same bitmap format as embedded color bitmap images. This @@ -3101,7 +3101,7 @@ FT_BEGIN_HEADER * * FT_LOAD_COMPUTE_METRICS :: * [Since 2.6.1] Compute glyph metrics from the glyph data, without - * the use of bundled metrics tables (for example, the `hdmx' table in + * the use of bundled metrics tables (for example, the 'hdmx' table in * TrueType fonts). This flag is mainly used by font validating or * font editing applications, which need to ignore, verify, or edit * those tables. @@ -3178,7 +3178,7 @@ FT_BEGIN_HEADER * * @description: * A list of values to select a specific hinting algorithm for the - * hinter. You should OR one of these values to your `load_flags' + * hinter. You should OR one of these values to your `load_flags` * when calling @FT_Load_Glyph. * * Note that a font's native hinters may ignore the hinting algorithm @@ -3203,7 +3203,7 @@ FT_BEGIN_HEADER * auto-hinter. * * Advance widths are rounded to integer values; however, using the - * `lsb_delta' and `rsb_delta' fields of @FT_GlyphSlotRec, it is + * `lsb_delta` and `rsb_delta` fields of @FT_GlyphSlotRec, it is * possible to get fractional advance widths for subpixel positioning * (which is recommended to use). * @@ -3227,7 +3227,7 @@ FT_BEGIN_HEADER * * @note: * You should use only _one_ of the FT_LOAD_TARGET_XXX values in your - * `load_flags'. They can't be ORed. + * `load_flags`. They can't be ORed. * * If @FT_LOAD_RENDER is also set, the glyph is rendered in the * corresponding mode (i.e., the mode that matches the used algorithm @@ -3235,16 +3235,16 @@ FT_BEGIN_HEADER * @FT_LOAD_MONOCHROME. * * You can use a hinting algorithm that doesn't correspond to the same - * rendering mode. As an example, it is possible to use the `light' + * rendering mode. As an example, it is possible to use the 'light' * hinting algorithm and have the results rendered in horizontal LCD * pixel mode, with code like * - * { + * ``` * FT_Load_Glyph( face, glyph_index, * load_flags | FT_LOAD_TARGET_LIGHT ); * * FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD ); - * } + * ``` * * In general, you should stick with one rendering mode. For example, * switching between @FT_LOAD_TARGET_NORMAL and @FT_LOAD_TARGET_MONO @@ -3303,8 +3303,8 @@ FT_BEGIN_HEADER * the transformation and is performed on the character size given in * the last call to @FT_Set_Char_Size or @FT_Set_Pixel_Sizes. * - * Note that this also transforms the `face.glyph.advance' field, but - * *not* the values in `face.glyph.metrics'. + * Note that this also transforms the `face.glyph.advance` field, but + * **not** the values in `face.glyph.metrics`. */ FT_EXPORT( void ) FT_Set_Transform( FT_Face face, @@ -3321,7 +3321,7 @@ FT_BEGIN_HEADER * Render modes supported by FreeType~2. Each mode corresponds to a * specific type of scanline conversion performed on the outline. * - * For bitmap fonts and embedded bitmaps the `bitmap->pixel_mode' + * For bitmap fonts and embedded bitmaps the `bitmap->pixel_mode` * field in the @FT_GlyphSlotRec structure gives the format of the * returned bitmap. * @@ -3359,7 +3359,7 @@ FT_BEGIN_HEADER * * @note: * Should you define FT_CONFIG_OPTION_SUBPIXEL_RENDERING in your - * `ftoption.h', which enables patented ClearType-style rendering, + * `ftoption.h`, which enables patented ClearType-style rendering, * the LCD-optimized glyph bitmaps should be filtered to reduce color * fringes inherent to this technology. You can either set up LCD * filtering with @FT_Library_SetLcdFilter or @FT_Face_Properties, @@ -3424,7 +3424,7 @@ FT_BEGIN_HEADER * * @note: * To get meaningful results, font scaling values must be set with - * functions like @FT_Set_Char_Size before calling `FT_Render_Glyph'. + * functions like @FT_Set_Char_Size before calling `FT_Render_Glyph`. * * When FreeType outputs a bitmap of a glyph, it really outputs an * alpha coverage map. If a pixel is completely covered by a @@ -3455,8 +3455,8 @@ FT_BEGIN_HEADER * burnt-out, pixely and blotchy on bright background, bright text * too frail on dark backgrounds, and colored text on colored * background (for example, red on green) seems to have dark halos or - * `dirt' around it. The situation is especially ugly for diagonal - * stems like in `w' glyph shapes where the quality of FreeType's + * 'dirt' around it. The situation is especially ugly for diagonal + * stems like in 'w' glyph shapes where the quality of FreeType's * anti-aliasing depends on the correct display of grays. On * high-DPI screens where smaller, fully black pixels reign supreme, * this doesn't matter, but on our low-DPI screens with all the gray @@ -3466,9 +3466,9 @@ FT_BEGIN_HEADER * * The blending function for placing text over a background is * - * { + * ``` * dst = alpha * src + (1 - alpha) * dst , - * } + * ``` * * which is known as the OVER operator. * @@ -3494,7 +3494,7 @@ FT_BEGIN_HEADER * https://bel.fi/alankila/lcd/ and * https://bel.fi/alankila/lcd/alpcor.html for details. * - * *ATTENTION*: Linear blending is even more important when dealing + * **ATTENTION**: Linear blending is even more important when dealing * with subpixel-rendered glyphs to prevent color-fringing! A * subpixel-rendered glyph must first be filtered with a filter that * gives equal weight to the three color primaries and does not @@ -3594,9 +3594,9 @@ FT_BEGIN_HEADER * kernings, are out of the scope of this API function -- they can be * implemented through format-specific interfaces. * - * Kerning for OpenType fonts implemented in a `GPOS' table is not + * Kerning for OpenType fonts implemented in a 'GPOS' table is not * supported; use @FT_HAS_KERNING to find out whether a font has data - * that can be extracted with `FT_Get_Kerning'. + * that can be extracted with `FT_Get_Kerning`. */ FT_EXPORT( FT_Error ) FT_Get_Kerning( FT_Face face, @@ -3681,17 +3681,17 @@ FT_BEGIN_HEADER * @note: * 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 - * 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 * long. The returned string is always zero-terminated. * * Be aware that FreeType reorders glyph indices internally so that - * glyph index~0 always corresponds to the `missing glyph' (called - * `.notdef'). + * glyph index~0 always corresponds to the 'missing glyph' (called + * '.notdef'). * * This function always returns an error if the config macro - * `FT_CONFIG_OPTION_NO_GLYPH_NAMES' is not defined in `ftoption.h'. + * `FT_CONFIG_OPTION_NO_GLYPH_NAMES` is not defined in `ftoption.h`. */ FT_EXPORT( FT_Error ) FT_Get_Glyph_Name( FT_Face face, @@ -3721,15 +3721,15 @@ FT_BEGIN_HEADER * it. * * For variation fonts, this string changes if you select a different - * instance, and you have to call `FT_Get_PostScript_Name' again to - * retrieve it. FreeType follows Adobe TechNote #5902, `Generating + * instance, and you have to call `FT_Get_PostScript_Name` again to + * retrieve it. FreeType follows Adobe TechNote #5902, 'Generating * PostScript Names for Fonts Using OpenType Font Variations'. * * https://download.macromedia.com/pub/developer/opentype/tech-notes/5902.AdobePSNameGeneration.html * * [Since 2.9] Special PostScript names for named instances are only * returned if the named instance is set with @FT_Set_Named_Instance - * (and the font has corresponding entries in its `fvar' table). If + * (and the font has corresponding entries in its 'fvar' table). If * @FT_IS_VARIATION returns true, the algorithmically derived * PostScript name is provided, not looking up special entries for * named instances. @@ -3745,7 +3745,7 @@ FT_BEGIN_HEADER * * @description: * Select a given charmap by its encoding tag (as listed in - * `freetype.h'). + * `freetype.h`). * * @inout: * face :: @@ -3764,7 +3764,7 @@ FT_BEGIN_HEADER * * Because many fonts contain more than a single cmap for Unicode * encoding, this function has some special code to select the one - * that covers Unicode best (`best' in the sense that a UCS-4 cmap is + * that covers Unicode best ('best' in the sense that a UCS-4 cmap is * preferred to a UCS-2 cmap). It is thus preferable to * @FT_Set_Charmap in this case. */ @@ -3794,7 +3794,7 @@ FT_BEGIN_HEADER * * @note: * 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). * * It also fails if an OpenType type~14 charmap is selected (which @@ -3819,7 +3819,7 @@ FT_BEGIN_HEADER * * @return: * The index into the array of character maps within the face to which - * `charmap' belongs. If an error occurs, -1 is returned. + * 'charmap' belongs. If an error occurs, -1 is returned. * */ FT_EXPORT( FT_Int ) @@ -3843,18 +3843,18 @@ FT_BEGIN_HEADER * The character code. * * @return: - * The glyph index. 0~means `undefined character code'. + * The glyph index. 0~means 'undefined character code'. * * @note: * If you use FreeType to manipulate the contents of font files * directly, be aware that the glyph index returned by this function * doesn't always correspond to the internal indices used within the * file. This is done to ensure that value~0 always corresponds to - * the `missing glyph'. If the first glyph is not named `.notdef', - * then for Type~1 and Type~42 fonts, `.notdef' will be moved into + * the 'missing glyph'. If the first glyph is not named '.notdef', + * then for Type~1 and Type~42 fonts, '.notdef' will be moved into * the glyph ID~0 position, and whatever was there will be moved to - * the position `.notdef' had. For Type~1 fonts, if there is no - * `.notdef' glyph at all, then one will be created at index~0 and + * the position '.notdef' had. For Type~1 fonts, if there is no + * '.notdef' glyph at all, then one will be created at index~0 and * whatever was there will be moved to the last index -- Type~42 * fonts are considered invalid under this condition. */ @@ -3889,7 +3889,7 @@ FT_BEGIN_HEADER * parse all character codes available in a given charmap. The code * should look like this: * - * { + * ``` * FT_ULong charcode; * FT_UInt gindex; * @@ -3901,16 +3901,16 @@ FT_BEGIN_HEADER * * charcode = FT_Get_Next_Char( face, charcode, &gindex ); * } - * } + * ``` * * Be aware that character codes can have values up to 0xFFFFFFFF; * this might happen for non-Unicode or malformed cmaps. However, - * even with regular Unicode encoding, so-called `last resort fonts' + * even with regular Unicode encoding, so-called 'last resort fonts' * (using SFNT cmap format 13, see function @FT_Get_CMap_Format) * normally have entries for all Unicode characters up to 0x1FFFFF, * which can cause *a lot* of iterations. * - * 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 * if the value~0 is the first valid character code. */ @@ -3926,7 +3926,7 @@ FT_BEGIN_HEADER * * @description: * Return the next character code in the current charmap of a given - * face following the value `char_code', as well as the corresponding + * face following the value `char_code`, as well as the corresponding * glyph index. * * @input: @@ -3949,7 +3949,7 @@ FT_BEGIN_HEADER * over all character codes available in a given charmap. See the * note for that 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. */ FT_EXPORT( FT_ULong ) @@ -3975,18 +3975,18 @@ FT_BEGIN_HEADER * controlled. * * * @FT_PARAM_TAG_STEM_DARKENING (stem darkening, corresponding to the - * property `no-stem-darkening' provided by the `autofit', `cff', - * `type1', and `t1cid' modules; see @no-stem-darkening). + * property 'no-stem-darkening' provided by the 'autofit', 'cff', + * 'type1', and 't1cid' modules; see @no-stem-darkening). * * * @FT_PARAM_TAG_LCD_FILTER_WEIGHTS (LCD filter weights, corresponding * to function @FT_Library_SetLcdFilterWeights). * * * @FT_PARAM_TAG_RANDOM_SEED (seed value for the CFF, Type~1, and CID - * `random' operator, corresponding to the `random-seed' property - * provided by the `cff', `type1', and `t1cid' modules; see + * 'random' operator, corresponding to the 'random-seed' property + * provided by the 'cff', 'type1', and 't1cid' modules; see * @random-seed). * - * Pass NULL as `data' in @FT_Parameter for a given tag to reset the + * Pass NULL as 'data' in @FT_Parameter for a given tag to reset the * option and use the library or module default again. * * @input: @@ -3997,7 +3997,7 @@ FT_BEGIN_HEADER * The number of properties that follow. * * properties :: - * A handle to an @FT_Parameter array with `num_properties' elements. + * A handle to an @FT_Parameter array with `num_properties` elements. * * @return: * FreeType error code. 0~means success. @@ -4007,7 +4007,7 @@ FT_BEGIN_HEADER * FT_CONFIG_OPTION_SUBPIXEL_RENDERING to make the LCD filter examples * work. * - * { + * ``` * FT_Parameter property1; * FT_Bool darken_stems = 1; * @@ -4033,11 +4033,11 @@ FT_BEGIN_HEADER * property3.data = &random_seed; * * FT_Face_Properties( face, 3, properties ); - * } + * ``` * * The next example resets a single property to its default value. * - * { + * ``` * FT_Parameter property; * * @@ -4045,7 +4045,7 @@ FT_BEGIN_HEADER * property.data = NULL; * * FT_Face_Properties( face, 1, &property ); - * } + * ``` * * @since: * 2.8 @@ -4073,7 +4073,7 @@ FT_BEGIN_HEADER * The glyph name. * * @return: - * The glyph index. 0~means `undefined character code'. + * The glyph index. 0~means 'undefined character code'. */ FT_EXPORT( FT_UInt ) FT_Get_Name_Index( FT_Face face, @@ -4087,7 +4087,7 @@ FT_BEGIN_HEADER * * @description: * A list of constants describing subglyphs. Please refer to the - * `glyf' table description in the OpenType specification for the + * 'glyf' table description in the OpenType specification for the * meaning of the various flags (which get synthesized for * non-OpenType subglyphs). * @@ -4119,7 +4119,7 @@ FT_BEGIN_HEADER * * @description: * Retrieve a description of a given subglyph. Only use it if - * `glyph->format' is @FT_GLYPH_FORMAT_COMPOSITE; an error is + * `glyph->format` is @FT_GLYPH_FORMAT_COMPOSITE; an error is * returned otherwise. * * @input: @@ -4128,7 +4128,7 @@ FT_BEGIN_HEADER * * sub_index :: * The index of the subglyph. Must be less than - * `glyph->num_subglyphs'. + * `glyph->num_subglyphs`. * * @output: * p_index :: @@ -4150,8 +4150,8 @@ FT_BEGIN_HEADER * FreeType error code. 0~means success. * * @note: - * The values of `*p_arg1', `*p_arg2', and `*p_transform' must be - * interpreted depending on the flags returned in `*p_flags'. See the + * The values of `*p_arg1`, `*p_arg2`, and `*p_transform` must be + * interpreted depending on the flags returned in `*p_flags`. See the * OpenType specification for details. * */ @@ -4174,11 +4174,11 @@ FT_BEGIN_HEADER * Glyph Layer Management * * @abstract: - * Retrieving and manipulating OpenType's `COLR' table data. + * Retrieving and manipulating OpenType's 'COLR' table data. * * @description: * The functions described here allow access of colored glyph layer data - * in OpenType's `COLR' tables. + * in OpenType's 'COLR' tables. */ @@ -4199,7 +4199,7 @@ FT_BEGIN_HEADER * The current layer. Will be set by @FT_Get_Color_Glyph_Layer. * * p :: - * An opaque pointer into `COLR' table data. The caller must set this + * An opaque pointer into 'COLR' table data. The caller must set this * to NULL before the first call of @FT_Get_Color_Glyph_Layer. */ typedef struct FT_LayerIterator_ @@ -4217,7 +4217,7 @@ FT_BEGIN_HEADER * FT_Get_Color_Glyph_Layer * * @description: - * This is an interface to the `COLR' table in OpenType fonts to + * This is an interface to the 'COLR' table in OpenType fonts to * iteratively retrieve the colored glyph layers associated with the * current glyph slot. * @@ -4230,7 +4230,7 @@ FT_BEGIN_HEADER * layer. * * The returned elements are ordered in the z~direction from bottom to - * top; the `n'th element should be rendered with the associated palette + * top; the 'n'th element should be rendered with the associated palette * color and blended on top of the already rendered layers (elements 0, * 1, ..., n-1). * @@ -4244,7 +4244,7 @@ FT_BEGIN_HEADER * @inout: * iterator :: * An @FT_LayerIterator object. For the first call you should set - * `iterator->p' to NULL. For all following calls, simply use the + * `iterator->p` to NULL. For all following calls, simply use the * same object again. * * @output: @@ -4274,7 +4274,7 @@ FT_BEGIN_HEADER * automatically if the @FT_LOAD_COLOR flag is passed to it. * * @example: - * { + * ``` * FT_Color* palette; * FT_LayerIterator iterator; * @@ -4316,7 +4316,7 @@ FT_BEGIN_HEADER * &layer_color_index, * &iterator ) ); * } - * } + * ``` */ FT_EXPORT( FT_Bool ) FT_Get_Color_Glyph_Layer( FT_Face face, @@ -4339,8 +4339,8 @@ FT_BEGIN_HEADER * FT_FSTYPE_XXX * * @description: - * A list of bit flags used in the `fsType' field of the OS/2 table - * in a TrueType or OpenType font and the `FSType' entry in a + * A list of bit flags used in the `fsType` field of the OS/2 table + * in a TrueType or OpenType font and the 'FSType' entry in a * PostScript font. These bit flags are returned by * @FT_Get_FSType_Flags; they inform client applications of embedding * and subsetting restrictions associated with a font. @@ -4362,7 +4362,7 @@ FT_BEGIN_HEADER * FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING :: * The font may be embedded and temporarily loaded on the remote * system. Documents containing Preview & Print fonts must be - * opened `read-only'; no edits can be applied to the document. + * opened 'read-only'; no edits can be applied to the document. * * FT_FSTYPE_EDITABLE_EMBEDDING :: * The font may be embedded but must only be installed temporarily @@ -4382,7 +4382,7 @@ FT_BEGIN_HEADER * The flags are ORed together, thus more than a single value can be * returned. * - * While the `fsType' flags can indicate that a font may be embedded, + * While the `fsType` flags can indicate that a font may be embedded, * a license with the font vendor may be separately required to use * the font in this way. */ @@ -4400,17 +4400,17 @@ FT_BEGIN_HEADER * FT_Get_FSType_Flags * * @description: - * Return the `fsType' flags for a font. + * Return the `fsType` flags for a font. * * @input: * face :: * A handle to the source face object. * * @return: - * The `fsType' flags, see @FT_FSTYPE_XXX. + * The `fsType` flags, see @FT_FSTYPE_XXX. * * @note: - * Use this function rather than directly reading the `fs_type' field + * Use this function rather than directly reading the `fs_type` field * in the @PS_FontInfoRec structure, which is only guaranteed to * return the correct results for Type~1 fonts. * @@ -4442,9 +4442,9 @@ FT_BEGIN_HEADER * instead of further extending the already huge number of * characters. * - * Unicode maintains two different sets, namely `Standardized - * Variation Sequences' and registered `Ideographic Variation - * Sequences' (IVS), collected in the `Ideographic Variation + * Unicode maintains two different sets, namely 'Standardized + * Variation Sequences' and registered 'Ideographic Variation + * Sequences' (IVS), collected in the 'Ideographic Variation * Database' (IVD). * * https://unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt @@ -4461,14 +4461,14 @@ FT_BEGIN_HEADER * * A VS consists of the base character value followed by a single * Variation Selector. For example, to get the first variation of - * U+9089, you have to write the character sequence `U+9089 U+E0100'. + * U+9089, you have to write the character sequence `U+9089 U+E0100`. * * Adobe and MS decided to support both standardized and ideographic * VS with a new cmap subtable (format~14). It is an odd subtable * because it is not a mapping of input code points to glyphs, but * contains lists of all variations supported by the font. * - * A variation may be either `default' or `non-default' for a given + * A variation may be either 'default' or 'non-default' for a given * font. A default variation is the one you will get for that code * point if you look it up in the standard Unicode cmap. A * non-default variation is a different glyph. @@ -4496,16 +4496,16 @@ FT_BEGIN_HEADER * The Unicode code point of the variation selector. * * @return: - * The glyph index. 0~means either `undefined character code', or - * `undefined selector code', or `no variation selector cmap - * subtable', or `current CharMap is not Unicode'. + * The glyph index. 0~means either 'undefined character code', or + * 'undefined selector code', or 'no variation selector cmap + * subtable', or 'current CharMap is not Unicode'. * * @note: * If you use FreeType to manipulate the contents of font files * directly, be aware that the glyph index returned by this function * doesn't always correspond to the internal indices used within * 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 * a) the font has a variation selector cmap sub table, @@ -4528,7 +4528,7 @@ FT_BEGIN_HEADER * * @description: * Check whether this variation of this Unicode character is the one - * to be found in the `cmap'. + * to be found in the 'cmap'. * * @input: * face :: @@ -4689,7 +4689,7 @@ FT_BEGIN_HEADER * FT_MulDiv * * @description: - * Compute `(a*b)/c' with maximum accuracy, using a 64-bit + * Compute '(a*b)/c' with maximum accuracy, using a 64-bit * intermediate integer whenever necessary. * * This function isn't necessarily as fast as some processor-specific @@ -4706,9 +4706,9 @@ FT_BEGIN_HEADER * The divisor. * * @return: - * The result of `(a*b)/c'. This function never traps when trying to - * divide by zero; it simply returns `MaxInt' or `MinInt' depending - * on the signs of `a' and `b'. + * The result of '(a*b)/c'. This function never traps when trying to + * divide by zero; it simply returns 'MaxInt' or 'MinInt' depending + * on the signs of 'a' and 'b'. */ FT_EXPORT( FT_Long ) FT_MulDiv( FT_Long a, @@ -4722,7 +4722,7 @@ FT_BEGIN_HEADER * FT_MulFix * * @description: - * Compute `(a*b)/0x10000' with maximum accuracy. Its main use is to + * Compute '(a*b)/0x10000' with maximum accuracy. Its main use is to * multiply a given value by a 16.16 fixed-point factor. * * @input: @@ -4734,11 +4734,11 @@ FT_BEGIN_HEADER * possible (see note below). * * @return: - * The result of `(a*b)/0x10000'. + * The result of '(a*b)/0x10000'. * * @note: * This function has been optimized for the case where the absolute - * value of `a' is less than 2048, and `b' is a 16.16 scaling factor. + * value of 'a' is less than 2048, and 'b' is a 16.16 scaling factor. * As this happens mainly when scaling from notional units to * fractional pixels in FreeType, it resulted in noticeable speed * improvements between versions 2.x and 1.x. @@ -4758,7 +4758,7 @@ FT_BEGIN_HEADER * FT_DivFix * * @description: - * Compute `(a*0x10000)/b' with maximum accuracy. Its main use is to + * Compute '(a*0x10000)/b' with maximum accuracy. Its main use is to * divide a given value by a 16.16 fixed-point factor. * * @input: @@ -4769,7 +4769,7 @@ FT_BEGIN_HEADER * The denominator. Use a 16.16 factor here. * * @return: - * The result of `(a*0x10000)/b'. + * The result of '(a*0x10000)/b'. */ FT_EXPORT( FT_Long ) FT_DivFix( FT_Long a, @@ -4789,7 +4789,7 @@ FT_BEGIN_HEADER * The number to be rounded. * * @return: - * `a' rounded to the nearest 16.16 fixed integer, halfway cases away + * 'a' rounded to the nearest 16.16 fixed integer, halfway cases away * from zero. * * @note: @@ -4812,7 +4812,7 @@ FT_BEGIN_HEADER * The number for which the ceiling function is to be computed. * * @return: - * `a' rounded towards plus infinity. + * 'a' rounded towards plus infinity. * * @note: * The function uses wrap-around arithmetic. @@ -4834,7 +4834,7 @@ FT_BEGIN_HEADER * The number for which the floor function is to be computed. * * @return: - * `a' rounded towards minus infinity. + * 'a' rounded towards minus infinity. */ FT_EXPORT( FT_Fixed ) FT_FloorFix( FT_Fixed a ); @@ -4857,7 +4857,7 @@ FT_BEGIN_HEADER * A pointer to the source 2x2 matrix. * * @note: - * The result is undefined if either `vector' or `matrix' is invalid. + * The result is undefined if either 'vector' or 'matrix' is invalid. */ FT_EXPORT( void ) FT_Vector_Transform( FT_Vector* vec, @@ -4912,7 +4912,7 @@ FT_BEGIN_HEADER * * @note: * The version number of FreeType if built as a dynamic link library - * with the `libtool' package is _not_ controlled by these three + * with the 'libtool' package is _not_ controlled by these three * macros. * */ @@ -4947,7 +4947,7 @@ FT_BEGIN_HEADER * The patch version number. * * @note: - * The reason why this function takes a `library' argument is because + * The reason why this function takes a 'library' argument is because * certain programs implement library initialization in a custom way * that doesn't use @FT_Init_FreeType. * |