diff options
Diffstat (limited to 'Build/source/libs/freetype2/freetype-src/docs/reference/ft2-base_interface.html')
-rw-r--r-- | Build/source/libs/freetype2/freetype-src/docs/reference/ft2-base_interface.html | 217 |
1 files changed, 109 insertions, 108 deletions
diff --git a/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-base_interface.html b/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-base_interface.html index 3602a3d5c59..d6b799f8d63 100644 --- a/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-base_interface.html +++ b/Build/source/libs/freetype2/freetype-src/docs/reference/ft2-base_interface.html @@ -3,7 +3,7 @@ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<title>FreeType-2.6.3 API Reference</title> +<title>FreeType-2.6.4 API Reference</title> <style type="text/css"> a:link { color: #0000EF; } a:visited { color: #51188E; } @@ -100,7 +100,7 @@ <body> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table> -<h1>FreeType-2.6.3 API Reference</h1> +<h1>FreeType-2.6.4 API Reference</h1> <h1 id="base_interface">Base Interface</h1> <h2>Synopsis</h2> @@ -326,10 +326,10 @@ <p>This encoding uses character codes from the PUA (Private Unicode Area) in the range U+F020-U+F0FF.</p> </td></tr> <tr><td class="val" id="FT_ENCODING_SJIS">FT_ENCODING_SJIS</td><td class="desc"> -<p>Corresponds to Japanese SJIS encoding. More info at at ‘<a href="http://en.wikipedia.org/wiki/Shift_JIS">http://en.wikipedia.org/wiki/Shift_JIS</a>’. See note on multi-byte encodings below.</p> +<p>Corresponds to Japanese SJIS encoding. More info at ‘<a href="http://en.wikipedia.org/wiki/Shift_JIS">http://en.wikipedia.org/wiki/Shift_JIS</a>’. See note on multi-byte encodings below.</p> </td></tr> <tr><td class="val" id="FT_ENCODING_GB2312">FT_ENCODING_GB2312</td><td class="desc"> -<p>Corresponds to an encoding system for Simplified Chinese as used used in mainland China.</p> +<p>Corresponds to an encoding system for Simplified Chinese as used in mainland China.</p> </td></tr> <tr><td class="val" id="FT_ENCODING_BIG5">FT_ENCODING_BIG5</td><td class="desc"> <p>Corresponds to an encoding system for Traditional Chinese as used in Taiwan and Hong Kong.</p> @@ -406,7 +406,7 @@ <h4>note</h4> <p>Since many 16-bit compilers don't like 32-bit enumerations, you should redefine this macro in case of problems to something like this:</p> <pre class="colored"> - #define FT_ENC_TAG( value, a, b, c, d ) value + #define FT_ENC_TAG( value, a, b, c, d ) value </pre> <p>to get a simple enumeration without assigning special numbers.</p> @@ -571,7 +571,7 @@ <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <b>FT_HAS_HORIZONTAL</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_HORIZONTAL">FT_FACE_FLAG_HORIZONTAL</a> ) + ( (face)->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_HORIZONTAL">FT_FACE_FLAG_HORIZONTAL</a> ) </pre> <p>A macro that returns true whenever a face object contains horizontal metrics (this is true for all font formats though).</p> @@ -587,7 +587,7 @@ <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <b>FT_HAS_VERTICAL</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_VERTICAL">FT_FACE_FLAG_VERTICAL</a> ) + ( (face)->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_VERTICAL">FT_FACE_FLAG_VERTICAL</a> ) </pre> <p>A macro that returns true whenever a face object contains real vertical metrics (and not only synthesized ones).</p> @@ -600,7 +600,7 @@ <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <b>FT_HAS_KERNING</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_KERNING">FT_FACE_FLAG_KERNING</a> ) + ( (face)->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_KERNING">FT_FACE_FLAG_KERNING</a> ) </pre> <p>A macro that returns true whenever a face object contains kerning data that can be accessed with <a href="ft2-base_interface.html#FT_Get_Kerning">FT_Get_Kerning</a>.</p> @@ -613,7 +613,7 @@ <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <b>FT_HAS_FIXED_SIZES</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_FIXED_SIZES">FT_FACE_FLAG_FIXED_SIZES</a> ) + ( (face)->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_FIXED_SIZES">FT_FACE_FLAG_FIXED_SIZES</a> ) </pre> <p>A macro that returns true whenever a face object contains some embedded bitmaps. See the ‘available_sizes’ field of the <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> structure.</p> @@ -626,7 +626,7 @@ <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <b>FT_HAS_GLYPH_NAMES</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_GLYPH_NAMES">FT_FACE_FLAG_GLYPH_NAMES</a> ) + ( (face)->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_GLYPH_NAMES">FT_FACE_FLAG_GLYPH_NAMES</a> ) </pre> <p>A macro that returns true whenever a face object contains some glyph names that can be accessed through <a href="ft2-base_interface.html#FT_Get_Glyph_Name">FT_Get_Glyph_Name</a>.</p> @@ -639,7 +639,7 @@ <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <b>FT_HAS_MULTIPLE_MASTERS</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_MULTIPLE_MASTERS">FT_FACE_FLAG_MULTIPLE_MASTERS</a> ) + ( (face)->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_MULTIPLE_MASTERS">FT_FACE_FLAG_MULTIPLE_MASTERS</a> ) </pre> <p>A macro that returns true whenever a face object contains some multiple masters. The functions provided by <a href="ft2-header_file_macros.html#FT_MULTIPLE_MASTERS_H">FT_MULTIPLE_MASTERS_H</a> are then available to choose the exact design you want.</p> @@ -652,7 +652,7 @@ <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <b>FT_HAS_COLOR</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_COLOR">FT_FACE_FLAG_COLOR</a> ) + ( (face)->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_COLOR">FT_FACE_FLAG_COLOR</a> ) </pre> <p>A macro that returns true whenever a face object contains tables for color glyphs.</p> @@ -665,7 +665,7 @@ <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <b>FT_IS_SFNT</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_SFNT">FT_FACE_FLAG_SFNT</a> ) + ( (face)->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_SFNT">FT_FACE_FLAG_SFNT</a> ) </pre> <p>A macro that returns true whenever a face object contains a font whose format is based on the SFNT storage scheme. This usually means: TrueType fonts, OpenType fonts, as well as SFNT-based embedded bitmap fonts.</p> @@ -679,7 +679,7 @@ <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <b>FT_IS_SCALABLE</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_SCALABLE">FT_FACE_FLAG_SCALABLE</a> ) + ( (face)->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_SCALABLE">FT_FACE_FLAG_SCALABLE</a> ) </pre> <p>A macro that returns true whenever a face object contains a scalable font face (true for TrueType, Type 1, Type 42, CID, OpenType/CFF, and PFR font formats.</p> @@ -692,7 +692,7 @@ <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <b>FT_IS_FIXED_WIDTH</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_FIXED_WIDTH">FT_FACE_FLAG_FIXED_WIDTH</a> ) + ( (face)->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_FIXED_WIDTH">FT_FACE_FLAG_FIXED_WIDTH</a> ) </pre> <p>A macro that returns true whenever a face object contains a font face that contains fixed-width (or ‘monospace’, ‘fixed-pitch’, etc.) glyphs.</p> @@ -705,7 +705,7 @@ <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <b>FT_IS_CID_KEYED</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_CID_KEYED">FT_FACE_FLAG_CID_KEYED</a> ) + ( (face)->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_CID_KEYED">FT_FACE_FLAG_CID_KEYED</a> ) </pre> <p>A macro that returns true whenever a face object contains a CID-keyed font. See the discussion of <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a> for more details.</p> @@ -719,7 +719,7 @@ <p>Defined in FT_FREETYPE_H (freetype/freetype.h).</p> <pre> #define <b>FT_IS_TRICKY</b>( face ) \ - ( face->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_TRICKY">FT_FACE_FLAG_TRICKY</a> ) + ( (face)->face_flags & <a href="ft2-base_interface.html#FT_FACE_FLAG_TRICKY">FT_FACE_FLAG_TRICKY</a> ) </pre> <p>A macro that returns true whenever a face represents a ‘tricky’ font. See the discussion of <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_TRICKY</a> for more details.</p> @@ -935,27 +935,27 @@ <h4>note</h4> <p>Here is a small pseudo code fragment that shows how to use ‘lsb_delta’ and ‘rsb_delta’:</p> <pre class="colored"> - FT_Pos origin_x = 0; - FT_Pos prev_rsb_delta = 0; - - - for all glyphs do - <compute kern between current and previous glyph and add it to - `origin_x'> - - <load glyph with `FT_Load_Glyph'> - - if ( prev_rsb_delta - face->glyph->lsb_delta >= 32 ) - origin_x -= 64; - else if ( prev_rsb_delta - face->glyph->lsb_delta < -32 ) - origin_x += 64; - - prev_rsb_delta = face->glyph->rsb_delta; - - <save glyph image, or render glyph, or ...> - - origin_x += face->glyph->advance.x; - endfor + FT_Pos origin_x = 0; + FT_Pos prev_rsb_delta = 0; + + + for all glyphs do + <compute kern between current and previous glyph and add it to + `origin_x'> + + <load glyph with `FT_Load_Glyph'> + + if ( prev_rsb_delta - face->glyph->lsb_delta >= 32 ) + origin_x -= 64; + else if ( prev_rsb_delta - face->glyph->lsb_delta < -32 ) + origin_x += 64; + + prev_rsb_delta = face->glyph->rsb_delta; + + <save glyph image, or render glyph, or ...> + + origin_x += face->glyph->advance.x; + endfor </pre> <hr> @@ -1328,62 +1328,62 @@ <p>See the discussion of reference counters in the description of <a href="ft2-base_interface.html#FT_Reference_Face">FT_Reference_Face</a>.</p> <p>To loop over all faces, use code similar to the following snippet (omitting the error handling).</p> <pre class="colored"> - ... - FT_Face face; - FT_Long i, num_faces; - - - error = FT_Open_Face( library, args, -1, &face ); - if ( error ) { ... } - - num_faces = face->num_faces; - FT_Done_Face( face ); - - for ( i = 0; i < num_faces; i++ ) - { - ... - error = FT_Open_Face( library, args, i, &face ); - ... - FT_Done_Face( face ); - ... - } + ... + FT_Face face; + FT_Long i, num_faces; + + + error = FT_Open_Face( library, args, -1, &face ); + if ( error ) { ... } + + num_faces = face->num_faces; + FT_Done_Face( face ); + + for ( i = 0; i < num_faces; i++ ) + { + ... + error = FT_Open_Face( library, args, i, &face ); + ... + FT_Done_Face( face ); + ... + } </pre> <p>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 instances.</p> <pre class="colored"> - ... - FT_Face face; - - FT_Long num_faces = 0; - FT_Long num_instances = 0; - - FT_Long face_idx = 0; - FT_Long instance_idx = 0; - - - do - { - FT_Long id = ( instance_idx << 16 ) + face_idx; - - - error = FT_Open_Face( library, args, id, &face ); - if ( error ) { ... } - - num_faces = face->num_faces; - num_instances = face->style_flags >> 16; - - ... - - FT_Done_Face( face ); - - if ( instance_idx < num_instances ) - instance_idx++; - else - { - face_idx++; - instance_idx = 0; - } - - } while ( face_idx < num_faces ) + ... + FT_Face face; + + FT_Long num_faces = 0; + FT_Long num_instances = 0; + + FT_Long face_idx = 0; + FT_Long instance_idx = 0; + + + do + { + FT_Long id = ( instance_idx << 16 ) + face_idx; + + + error = FT_Open_Face( library, args, id, &face ); + if ( error ) { ... } + + num_faces = face->num_faces; + num_instances = face->style_flags >> 16; + + ... + + FT_Done_Face( face ); + + if ( instance_idx < num_instances ) + instance_idx++; + else + { + face_idx++; + instance_idx = 0; + } + + } while ( face_idx < num_faces ) </pre> <hr> @@ -1439,7 +1439,7 @@ <h4>note</h4> <p>The stream type is determined by the contents of ‘flags’ that are tested in the following order by <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a>:</p> -<p>If the <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a> bit is set, assume that this is a memory file of ‘memory_size’ bytes, located at ‘memory_address’. The data are are not copied, and the client is responsible for releasing and destroying them <i>after</i> the corresponding call to <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>.</p> +<p>If the <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_MEMORY</a> bit is set, assume that this is a 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 <i>after</i> the corresponding call to <a href="ft2-base_interface.html#FT_Done_Face">FT_Done_Face</a>.</p> <p>Otherwise, if the <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_STREAM</a> bit is set, assume that a custom input stream ‘stream’ is used.</p> <p>Otherwise, if the <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_PATHNAME</a> bit is set, assume that this is a normal file and use ‘pathname’ to open it.</p> <p>If the <a href="ft2-base_interface.html#FT_OPEN_XXX">FT_OPEN_DRIVER</a> bit is set, <a href="ft2-base_interface.html#FT_Open_Face">FT_Open_Face</a> only tries to open the file with the driver whose handler is in ‘driver’.</p> @@ -1725,7 +1725,7 @@ <p>The nominal size. The ‘units_per_EM’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> is used to determine both scaling values.</p> </td></tr> <tr><td class="val" id="FT_SIZE_REQUEST_TYPE_REAL_DIM">FT_SIZE_REQUEST_TYPE_REAL_DIM</td><td class="desc"> -<p>The real dimension. The sum of the the ‘ascender’ and (minus of) the ‘descender’ fields of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> are used to determine both scaling values.</p> +<p>The real dimension. The sum of the ‘ascender’ and (minus of) the ‘descender’ fields of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> are used to determine both scaling values.</p> </td></tr> <tr><td class="val" id="FT_SIZE_REQUEST_TYPE_BBOX">FT_SIZE_REQUEST_TYPE_BBOX</td><td class="desc"> <p>The font bounding box. The width and height of the ‘bbox’ field of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a> are used to determine the horizontal and vertical scaling value, respectively.</p> @@ -1870,6 +1870,7 @@ <h4>note</h4> <p>The loaded glyph may be transformed. See <a href="ft2-base_interface.html#FT_Set_Transform">FT_Set_Transform</a> for the details.</p> <p>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 <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_CID_KEYED</a> flag for more details.</p> +<p>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.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> @@ -1935,17 +1936,17 @@ <h4>note</h4> <p>You should use this function with <a href="ft2-base_interface.html#FT_Get_Next_Char">FT_Get_Next_Char</a> to be able to parse all character codes available in a given charmap. The code should look like this:</p> <pre class="colored"> - FT_ULong charcode; - FT_UInt gindex; - - - charcode = FT_Get_First_Char( face, &gindex ); - while ( gindex != 0 ) - { - ... do something with (charcode,gindex) pair ... - - charcode = FT_Get_Next_Char( face, charcode, &gindex ); - } + FT_ULong charcode; + FT_UInt gindex; + + + charcode = FT_Get_First_Char( face, &gindex ); + while ( gindex != 0 ) + { + ... do something with (charcode,gindex) pair ... + + charcode = FT_Get_Next_Char( face, charcode, &gindex ); + } </pre> <p>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’ (using SFNT cmap format 13, see function <a href="ft2-truetype_tables.html#FT_Get_CMap_Format">FT_Get_CMap_Format</a>) normally have entries for all Unicode characters up to 0x1FFFFF, which can cause *a lot* of iterations.</p> <p>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.</p> @@ -2104,7 +2105,7 @@ <p>This is relevant because all our screens have a second problem: they are not linear. 1 + 1 is not 2. Twice the value does not result in twice the brightness. When a pixel is only 50% covered, the coverage map says 50% black, and this translates to a pixel value of 128 when you use 8 bits per channel (0-255). However, this does not translate to 50% brightness for that pixel on our sRGB and gamma 2.2 screens. Due to their non-linearity, they dwell longer in the darks and only a pixel value of about 186 results in 50% brightness – 128 ends up too dark on both bright and dark backgrounds. The net result is that dark text looks 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 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 shades, it does. 0% and 100% brightness are the same things in linear and non-linear space, just all the shades in-between aren't.</p> <p>The blending function for placing text over a background is</p> <pre class="colored"> - dst = alpha * src + (1 - alpha) * dst , + dst = alpha * src + (1 - alpha) * dst , </pre> <p>which is known as the OVER operator.</p> <p>To correctly composite an antialiased pixel of a glyph onto a surface,</p> @@ -2341,7 +2342,7 @@ <p>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.</p> <p>The glyph name is truncated to fit within the buffer if it is too long. The returned string is always zero-terminated.</p> <p>Be aware that FreeType reorders glyph indices internally so that glyph index 0 always corresponds to the ‘missing glyph’ (called ‘.notdef’).</p> -<p>This function always returns an error if the config macro ‘FT_CONFIG_OPTION_NO_GLYPH_NAMES’ is not defined in ‘ftoptions.h’.</p> +<p>This function always returns an error if the config macro ‘FT_CONFIG_OPTION_NO_GLYPH_NAMES’ is not defined in ‘ftoption.h’.</p> <hr> <table class="index-toc-link"><tr><td class="left">[<a href="ft2-index.html">Index</a>]</td><td class="middle">[<a href="#">Top</a>]</td><td class="right">[<a href="ft2-toc.html">TOC</a>]</td></tr></table></div> @@ -2646,7 +2647,7 @@ <h4>values</h4> <table class="fields"> <tr><td class="val" id="FT_FACE_FLAG_SCALABLE">FT_FACE_FLAG_SCALABLE</td><td class="desc"> -<p>Indicates that the face contains outline glyphs. This doesn't prevent bitmap strikes, i.e., a face can have both this and and <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a> set.</p> +<p>Indicates that the face contains outline glyphs. This doesn't prevent bitmap strikes, i.e., a face can have both this and <a href="ft2-base_interface.html#FT_FACE_FLAG_XXX">FT_FACE_FLAG_FIXED_SIZES</a> set.</p> </td></tr> <tr><td class="val" id="FT_FACE_FLAG_FIXED_SIZES">FT_FACE_FLAG_FIXED_SIZES</td><td class="desc"> <p>Indicates that the face contains bitmap strikes. See also the ‘num_fixed_sizes’ and ‘available_sizes’ fields of <a href="ft2-base_interface.html#FT_FaceRec">FT_FaceRec</a>.</p> @@ -2911,7 +2912,7 @@ <h4>note</h4> <p>You should use only <i>one</i> of the FT_LOAD_TARGET_XXX values in your ‘load_flags’. They can't be ORed.</p> -<p>If <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a> is also set, the glyph is rendered in the corresponding mode (i.e., the mode that matches the used algorithm best). An exeption is FT_LOAD_TARGET_MONO since it implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a>.</p> +<p>If <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_RENDER</a> is also set, the glyph is rendered in the corresponding mode (i.e., the mode that matches the used algorithm best). An exception is FT_LOAD_TARGET_MONO since it implies <a href="ft2-base_interface.html#FT_LOAD_XXX">FT_LOAD_MONOCHROME</a>.</p> <p>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’ hinting algorithm and have the results rendered in horizontal LCD pixel mode, with code like</p> <pre class="colored"> FT_Load_Glyph( face, glyph_index, |