Changeset 262 for trunk/poppler/freetype2/include/freetype/freetype.h
- Timestamp:
- Jan 17, 2009, 10:45:05 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/poppler/freetype2/include/freetype/freetype.h
r251 r262 5 5 /* FreeType high-level API and common types (specification only). */ 6 6 /* */ 7 /* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by*/7 /* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by */ 8 8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9 9 /* */ … … 61 61 /* <Description> */ 62 62 /* FreeType assumes that structures allocated by the user and passed */ 63 /* as arguments are zeroed out except for the actual data. With*/64 /* other words, it is recommended to use `calloc' (or variants of it)*/63 /* as arguments are zeroed out except for the actual data. In other */ 64 /* words, it is recommended to use `calloc' (or variants of it) */ 65 65 /* instead of `malloc' for allocation. */ 66 66 /* */ … … 192 192 /* FT_Get_Charmap_Index */ 193 193 /* */ 194 /* FT_FSTYPE_INSTALLABLE_EMBEDDING */ 195 /* FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING */ 196 /* FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING */ 197 /* FT_FSTYPE_EDITABLE_EMBEDDING */ 198 /* FT_FSTYPE_NO_SUBSETTING */ 199 /* FT_FSTYPE_BITMAP_EMBEDDING_ONLY */ 200 /* */ 201 /* FT_Get_FSType_Flags */ 202 /* */ 194 203 /*************************************************************************/ 195 204 … … 607 616 /* */ 608 617 /* <Note> */ 609 /* By default, FreeType automatically synthe tizes a Unicode charmap */618 /* By default, FreeType automatically synthesizes a Unicode charmap */ 610 619 /* for PostScript fonts, using their glyph names dictionaries. */ 611 620 /* However, it also reports the encodings defined explicitly in the */ … … 884 893 /* */ 885 894 /* underline_position :: The position, in font units, of the */ 886 /* underline line for this face. It 's the*/895 /* underline line for this face. It is the */ 887 896 /* center of the underlining stem. Only */ 888 897 /* relevant for scalable formats. */ … … 1037 1046 /* exist make FT_Load_Glyph return successfully; in all other cases */ 1038 1047 /* you get an `FT_Err_Invalid_Argument' error. */ 1048 /* */ 1049 /* Note that CID-keyed fonts which are in an SFNT wrapper don't */ 1050 /* have this flag set since the glyphs are accessed in the normal */ 1051 /* way (using contiguous indices); the `CID-ness' isn't visible to */ 1052 /* the application. */ 1053 /* */ 1054 /* FT_FACE_FLAG_TRICKY :: */ 1055 /* Set if the font is `tricky', this is, it always needs the */ 1056 /* font format's native hinting engine to get a reasonable result. */ 1057 /* A typical example is the Chinese font `mingli.ttf' which uses */ 1058 /* TrueType bytecode instructions to move and scale all of its */ 1059 /* subglyphs. */ 1060 /* */ 1061 /* It is not possible to autohint such fonts using */ 1062 /* @FT_LOAD_FORCE_AUTOHINT; it will also ignore */ 1063 /* @FT_LOAD_NO_HINTING. You have to set both FT_LOAD_NO_HINTING */ 1064 /* and @FT_LOAD_NO_AUTOHINT to really disable hinting; however, you */ 1065 /* probably never want this except for demonstration purposes. */ 1066 /* */ 1067 /* Currently, there are six TrueType fonts in the list of tricky */ 1068 /* fonts; they are hard-coded in file `ttobjs.c'. */ 1039 1069 /* */ 1040 1070 #define FT_FACE_FLAG_SCALABLE ( 1L << 0 ) … … 1051 1081 #define FT_FACE_FLAG_HINTER ( 1L << 11 ) 1052 1082 #define FT_FACE_FLAG_CID_KEYED ( 1L << 12 ) 1053 1054 /* */ 1083 #define FT_FACE_FLAG_TRICKY ( 1L << 13 ) 1055 1084 1056 1085 … … 1163 1192 ( face->face_flags & FT_FACE_FLAG_FIXED_SIZES ) 1164 1193 1165 /* */1166 1167 1194 1168 1195 /************************************************************************* … … 1225 1252 1226 1253 1227 /*************************************************************************/ 1228 /* */ 1229 /* <Constant> */ 1254 /************************************************************************* 1255 * 1256 * @macro: 1257 * FT_IS_TRICKY( face ) 1258 * 1259 * @description: 1260 * A macro that returns true whenever a face represents a `tricky' font. 1261 * See the discussion of @FT_FACE_FLAG_TRICKY for more details. 1262 * 1263 */ 1264 #define FT_IS_TRICKY( face ) \ 1265 ( face->face_flags & FT_FACE_FLAG_TRICKY ) 1266 1267 1268 /*************************************************************************/ 1269 /* */ 1270 /* <Const> */ 1230 1271 /* FT_STYLE_FLAG_XXX */ 1231 1272 /* */ … … 1519 1560 /* This image can later be converted into a bitmap by calling */ 1520 1561 /* @FT_Render_Glyph. This function finds the current renderer for */ 1521 /* the native image's format then invokes it.*/1562 /* the native image's format, then invokes it. */ 1522 1563 /* */ 1523 1564 /* The renderer is in charge of transforming the native image through */ 1524 /* the slot's face transformation fields, then convert it into a*/1565 /* the slot's face transformation fields, then converting it into a */ 1525 1566 /* bitmap that is returned in `slot->bitmap'. */ 1526 1567 /* */ … … 1770 1811 /* */ 1771 1812 /* Ideally, both the `pathname' and `params' fields should be tagged */ 1772 /* as `const'; this is missing for API backwards compatibility. With*/1813 /* as `const'; this is missing for API backwards compatibility. In */ 1773 1814 /* other words, applications should treat them as read-only. */ 1774 1815 /* */ … … 2175 2216 /* both resolution values are zero, they are set to 72dpi. */ 2176 2217 /* */ 2177 2218 /* Don't use this function if you are using the FreeType cache API. */ 2219 /* */ 2178 2220 FT_EXPORT( FT_Error ) 2179 2221 FT_Set_Char_Size( FT_Face face, … … 2391 2433 * 2392 2434 * Note that this has no effect on the hinting algorithm used. You 2393 * should use @FT_LOAD_TARGET_MONO insteadso that the2435 * should rather use @FT_LOAD_TARGET_MONO so that the 2394 2436 * monochrome-optimized hinting algorithm is used. 2395 2437 * … … 2409 2451 * @FT_LOAD_NO_AUTOHINT in case you don't want the auto-hinter to be 2410 2452 * used at all. 2453 * 2454 * See the description of @FT_FACE_FLAG_TRICKY for a special exception 2455 * (affecting only a handful of Asian fonts). 2411 2456 * 2412 2457 * Besides deciding which hinter to use, you can also decide which … … 2427 2472 #define FT_LOAD_MONOCHROME 0x1000 2428 2473 #define FT_LOAD_LINEAR_DESIGN 0x2000 2429 #define FT_LOAD_SBITS_ONLY 0x4000 /* temporary hack! */2430 2474 #define FT_LOAD_NO_AUTOHINT 0x8000U 2431 2475 2432 2476 /* */ 2477 2478 /* used internally only by certain font drivers! */ 2479 #define FT_LOAD_ADVANCE_ONLY 0x100 2480 #define FT_LOAD_SBITS_ONLY 0x4000 2433 2481 2434 2482 … … 3155 3203 FT_Int *p_arg2, 3156 3204 FT_Matrix *p_transform ); 3205 3206 3207 /*************************************************************************/ 3208 /* */ 3209 /* <Enum> */ 3210 /* FT_FSTYPE_XXX */ 3211 /* */ 3212 /* <Description> */ 3213 /* A list of bit flags used in the `fsType' field of the OS/2 table */ 3214 /* in a TrueType or OpenType font and the `FSType' entry in a */ 3215 /* PostScript font. These bit flags are returned by */ 3216 /* @FT_Get_FSType_Flags; they inform client applications of embedding */ 3217 /* and subsetting restrictions associated with a font. */ 3218 /* */ 3219 /* See http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf for */ 3220 /* more details. */ 3221 /* */ 3222 /* <Values> */ 3223 /* FT_FSTYPE_INSTALLABLE_EMBEDDING :: */ 3224 /* Fonts with no fsType bit set may be embedded and permanently */ 3225 /* installed on the remote system by an application. */ 3226 /* */ 3227 /* FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING :: */ 3228 /* Fonts that have only this bit set must not be modified, embedded */ 3229 /* or exchanged in any manner without first obtaining permission of */ 3230 /* the font software copyright owner. */ 3231 /* */ 3232 /* FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING :: */ 3233 /* If this bit is set, the font may be embedded and temporarily */ 3234 /* loaded on the remote system. Documents containing Preview & */ 3235 /* Print fonts must be opened `read-only'; no edits can be applied */ 3236 /* to the document. */ 3237 /* */ 3238 /* FT_FSTYPE_EDITABLE_EMBEDDING :: */ 3239 /* If this bit is set, the font may be embedded but must only be */ 3240 /* installed temporarily on other systems. In contrast to Preview */ 3241 /* & Print fonts, documents containing editable fonts may be opened */ 3242 /* for reading, editing is permitted, and changes may be saved. */ 3243 /* */ 3244 /* FT_FSTYPE_NO_SUBSETTING :: */ 3245 /* If this bit is set, the font may not be subsetted prior to */ 3246 /* embedding. */ 3247 /* */ 3248 /* FT_FSTYPE_BITMAP_EMBEDDING_ONLY :: */ 3249 /* If this bit is set, only bitmaps contained in the font may be */ 3250 /* embedded; no outline data may be embedded. If there are no */ 3251 /* bitmaps available in the font, then the font is unembeddable. */ 3252 /* */ 3253 /* <Note> */ 3254 /* While the fsType flags can indicate that a font may be embedded, a */ 3255 /* license with the font vendor may be separately required to use the */ 3256 /* font in this way. */ 3257 /* */ 3258 #define FT_FSTYPE_INSTALLABLE_EMBEDDING 0x0000 3259 #define FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING 0x0002 3260 #define FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING 0x0004 3261 #define FT_FSTYPE_EDITABLE_EMBEDDING 0x0008 3262 #define FT_FSTYPE_NO_SUBSETTING 0x0100 3263 #define FT_FSTYPE_BITMAP_EMBEDDING_ONLY 0x0200 3264 3265 3266 /*************************************************************************/ 3267 /* */ 3268 /* <Function> */ 3269 /* FT_Get_FSType_Flags */ 3270 /* */ 3271 /* <Description> */ 3272 /* Return the fsType flags for a font. */ 3273 /* */ 3274 /* <Input> */ 3275 /* face :: A handle to the source face object. */ 3276 /* */ 3277 /* <Return> */ 3278 /* The fsType flags, @FT_FSTYPE_XXX. */ 3279 /* */ 3280 /* <Note> */ 3281 /* Use this function rather than directly reading the `fs_type' field */ 3282 /* in the @PS_FontInfoRec structure which is only guaranteed to */ 3283 /* return the correct results for Type~1 fonts. */ 3284 /* */ 3285 FT_EXPORT( FT_UShort ) 3286 FT_Get_FSType_Flags( FT_Face face ); 3157 3287 3158 3288 … … 3432 3562 3433 3563 3564 /* */ 3565 3566 /* The following #if 0 ... #endif is for the documentation formatter, */ 3567 /* hiding the internal `FT_MULFIX_INLINED' macro. */ 3568 3569 #if 0 3434 3570 /*************************************************************************/ 3435 3571 /* */ … … 3464 3600 FT_MulFix( FT_Long a, 3465 3601 FT_Long b ); 3602 3603 /* */ 3604 #endif 3605 3606 #ifdef FT_MULFIX_INLINED 3607 #define FT_MulFix( a, b ) FT_MULFIX_INLINED( a, b ) 3608 #else 3609 FT_EXPORT( FT_Long ) 3610 FT_MulFix( FT_Long a, 3611 FT_Long b ); 3612 #endif 3466 3613 3467 3614 … … 3612 3759 #define FREETYPE_MAJOR 2 3613 3760 #define FREETYPE_MINOR 3 3614 #define FREETYPE_PATCH 73761 #define FREETYPE_PATCH 8 3615 3762 3616 3763 … … 3696 3843 /* <Return> */ 3697 3844 /* The old setting value. This will always be false if this is not */ 3698 /* a SFNT font, or if the unpatented hinter is not compiled in this*/3845 /* an SFNT font, or if the unpatented hinter is not compiled in this */ 3699 3846 /* instance of the library. */ 3700 3847 /* */
Note: See TracChangeset
for help on using the changeset viewer.