OLD | NEW |
1 /***************************************************************************/ | 1 /***************************************************************************/ |
2 /* */ | 2 /* */ |
3 /* t1tables.h */ | 3 /* t1tables.h */ |
4 /* */ | 4 /* */ |
5 /* Basic Type 1/Type 2 tables definitions and interface (specification */ | 5 /* Basic Type 1/Type 2 tables definitions and interface (specification */ |
6 /* only). */ | 6 /* only). */ |
7 /* */ | 7 /* */ |
8 /* Copyright 1996-2004, 2006, 2008, 2009, 2011 by */ | 8 /* Copyright 1996-2004, 2006, 2008, 2009, 2011, 2014 by */ |
9 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ | 9 /* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
10 /* */ | 10 /* */ |
11 /* This file is part of the FreeType project, and may only be used, */ | 11 /* This file is part of the FreeType project, and may only be used, */ |
12 /* modified, and distributed under the terms of the FreeType project */ | 12 /* modified, and distributed under the terms of the FreeType project */ |
13 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ | 13 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ |
14 /* this file you indicate that you have read the license and */ | 14 /* this file you indicate that you have read the license and */ |
15 /* understand and accept it fully. */ | 15 /* understand and accept it fully. */ |
16 /* */ | 16 /* */ |
17 /***************************************************************************/ | 17 /***************************************************************************/ |
18 | 18 |
19 | 19 |
20 #ifndef __T1TABLES_H__ | 20 #ifndef __T1TABLES_H__ |
21 #define __T1TABLES_H__ | 21 #define __T1TABLES_H__ |
22 | 22 |
23 | 23 |
24 #include "../ft2build.h" | 24 #include <ft2build.h> |
25 #include "freetype.h" | 25 #include FT_FREETYPE_H |
26 | 26 |
27 #ifdef FREETYPE_H | 27 #ifdef FREETYPE_H |
28 #error "freetype.h of FreeType 1 has been loaded!" | 28 #error "freetype.h of FreeType 1 has been loaded!" |
29 #error "Please fix the directory search order for header files" | 29 #error "Please fix the directory search order for header files" |
30 #error "so that freetype.h of FreeType 2 is found first." | 30 #error "so that freetype.h of FreeType 2 is found first." |
31 #endif | 31 #endif |
32 | 32 |
33 | 33 |
34 FT_BEGIN_HEADER | 34 FT_BEGIN_HEADER |
35 | 35 |
36 | 36 |
37 /*************************************************************************/ | 37 /*************************************************************************/ |
38 /* */ | 38 /* */ |
39 /* <Section> */ | 39 /* <Section> */ |
40 /* type1_tables */ | 40 /* type1_tables */ |
41 /* */ | 41 /* */ |
42 /* <Title> */ | 42 /* <Title> */ |
43 /* Type 1 Tables */ | 43 /* Type 1 Tables */ |
44 /* */ | 44 /* */ |
45 /* <Abstract> */ | 45 /* <Abstract> */ |
46 /* Type~1 (PostScript) specific font tables. */ | 46 /* Type~1 (PostScript) specific font tables. */ |
47 /* */ | 47 /* */ |
48 /* <Description> */ | 48 /* <Description> */ |
49 /* This section contains the definition of Type 1-specific tables, */ | 49 /* This section contains the definition of Type 1-specific tables, */ |
50 /* including structures related to other PostScript font formats. */ | 50 /* including structures related to other PostScript font formats. */ |
51 /* */ | 51 /* */ |
| 52 /* <Order> */ |
| 53 /* PS_FontInfoRec */ |
| 54 /* PS_FontInfo */ |
| 55 /* PS_PrivateRec */ |
| 56 /* PS_Private */ |
| 57 /* */ |
| 58 /* CID_FaceDictRec */ |
| 59 /* CID_FaceDict */ |
| 60 /* CID_FaceInfoRec */ |
| 61 /* CID_FaceInfo */ |
| 62 /* */ |
| 63 /* FT_Has_PS_Glyph_Names */ |
| 64 /* FT_Get_PS_Font_Info */ |
| 65 /* FT_Get_PS_Font_Private */ |
| 66 /* FT_Get_PS_Font_Value */ |
| 67 /* */ |
| 68 /* T1_Blend_Flags */ |
| 69 /* T1_EncodingType */ |
| 70 /* PS_Dict_Keys */ |
| 71 /* */ |
52 /*************************************************************************/ | 72 /*************************************************************************/ |
53 | 73 |
54 | 74 |
55 /* Note that we separate font data in PS_FontInfoRec and PS_PrivateRec */ | 75 /* Note that we separate font data in PS_FontInfoRec and PS_PrivateRec */ |
56 /* structures in order to support Multiple Master fonts. */ | 76 /* structures in order to support Multiple Master fonts. */ |
57 | 77 |
58 | 78 |
59 /*************************************************************************/ | 79 /*************************************************************************/ |
60 /* */ | 80 /* */ |
61 /* <Struct> */ | 81 /* <Struct> */ |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
183 /*************************************************************************/ | 203 /*************************************************************************/ |
184 /* */ | 204 /* */ |
185 /* <Enum> */ | 205 /* <Enum> */ |
186 /* T1_Blend_Flags */ | 206 /* T1_Blend_Flags */ |
187 /* */ | 207 /* */ |
188 /* <Description> */ | 208 /* <Description> */ |
189 /* A set of flags used to indicate which fields are present in a */ | 209 /* A set of flags used to indicate which fields are present in a */ |
190 /* given blend dictionary (font info or private). Used to support */ | 210 /* given blend dictionary (font info or private). Used to support */ |
191 /* Multiple Masters fonts. */ | 211 /* Multiple Masters fonts. */ |
192 /* */ | 212 /* */ |
| 213 /* <Values> */ |
| 214 /* T1_BLEND_UNDERLINE_POSITION :: */ |
| 215 /* T1_BLEND_UNDERLINE_THICKNESS :: */ |
| 216 /* T1_BLEND_ITALIC_ANGLE :: */ |
| 217 /* T1_BLEND_BLUE_VALUES :: */ |
| 218 /* T1_BLEND_OTHER_BLUES :: */ |
| 219 /* T1_BLEND_STANDARD_WIDTH :: */ |
| 220 /* T1_BLEND_STANDARD_HEIGHT :: */ |
| 221 /* T1_BLEND_STEM_SNAP_WIDTHS :: */ |
| 222 /* T1_BLEND_STEM_SNAP_HEIGHTS :: */ |
| 223 /* T1_BLEND_BLUE_SCALE :: */ |
| 224 /* T1_BLEND_BLUE_SHIFT :: */ |
| 225 /* T1_BLEND_FAMILY_BLUES :: */ |
| 226 /* T1_BLEND_FAMILY_OTHER_BLUES :: */ |
| 227 /* T1_BLEND_FORCE_BOLD :: */ |
| 228 /* */ |
193 typedef enum T1_Blend_Flags_ | 229 typedef enum T1_Blend_Flags_ |
194 { | 230 { |
195 /*# required fields in a FontInfo blend dictionary */ | 231 /* required fields in a FontInfo blend dictionary */ |
196 T1_BLEND_UNDERLINE_POSITION = 0, | 232 T1_BLEND_UNDERLINE_POSITION = 0, |
197 T1_BLEND_UNDERLINE_THICKNESS, | 233 T1_BLEND_UNDERLINE_THICKNESS, |
198 T1_BLEND_ITALIC_ANGLE, | 234 T1_BLEND_ITALIC_ANGLE, |
199 | 235 |
200 /*# required fields in a Private blend dictionary */ | 236 /* required fields in a Private blend dictionary */ |
201 T1_BLEND_BLUE_VALUES, | 237 T1_BLEND_BLUE_VALUES, |
202 T1_BLEND_OTHER_BLUES, | 238 T1_BLEND_OTHER_BLUES, |
203 T1_BLEND_STANDARD_WIDTH, | 239 T1_BLEND_STANDARD_WIDTH, |
204 T1_BLEND_STANDARD_HEIGHT, | 240 T1_BLEND_STANDARD_HEIGHT, |
205 T1_BLEND_STEM_SNAP_WIDTHS, | 241 T1_BLEND_STEM_SNAP_WIDTHS, |
206 T1_BLEND_STEM_SNAP_HEIGHTS, | 242 T1_BLEND_STEM_SNAP_HEIGHTS, |
207 T1_BLEND_BLUE_SCALE, | 243 T1_BLEND_BLUE_SCALE, |
208 T1_BLEND_BLUE_SHIFT, | 244 T1_BLEND_BLUE_SHIFT, |
209 T1_BLEND_FAMILY_BLUES, | 245 T1_BLEND_FAMILY_BLUES, |
210 T1_BLEND_FAMILY_OTHER_BLUES, | 246 T1_BLEND_FAMILY_OTHER_BLUES, |
211 T1_BLEND_FORCE_BOLD, | 247 T1_BLEND_FORCE_BOLD, |
212 | 248 |
213 /*# never remove */ | 249 T1_BLEND_MAX /* do not remove */ |
214 T1_BLEND_MAX | |
215 | 250 |
216 } T1_Blend_Flags; | 251 } T1_Blend_Flags; |
217 | 252 |
218 /* */ | |
219 | 253 |
220 | 254 /* these constants are deprecated; use the corresponding */ |
221 /*# backwards compatible definitions */ | 255 /* `T1_Blend_Flags' values instead */ |
222 #define t1_blend_underline_position T1_BLEND_UNDERLINE_POSITION | 256 #define t1_blend_underline_position T1_BLEND_UNDERLINE_POSITION |
223 #define t1_blend_underline_thickness T1_BLEND_UNDERLINE_THICKNESS | 257 #define t1_blend_underline_thickness T1_BLEND_UNDERLINE_THICKNESS |
224 #define t1_blend_italic_angle T1_BLEND_ITALIC_ANGLE | 258 #define t1_blend_italic_angle T1_BLEND_ITALIC_ANGLE |
225 #define t1_blend_blue_values T1_BLEND_BLUE_VALUES | 259 #define t1_blend_blue_values T1_BLEND_BLUE_VALUES |
226 #define t1_blend_other_blues T1_BLEND_OTHER_BLUES | 260 #define t1_blend_other_blues T1_BLEND_OTHER_BLUES |
227 #define t1_blend_standard_widths T1_BLEND_STANDARD_WIDTH | 261 #define t1_blend_standard_widths T1_BLEND_STANDARD_WIDTH |
228 #define t1_blend_standard_height T1_BLEND_STANDARD_HEIGHT | 262 #define t1_blend_standard_height T1_BLEND_STANDARD_HEIGHT |
229 #define t1_blend_stem_snap_widths T1_BLEND_STEM_SNAP_WIDTHS | 263 #define t1_blend_stem_snap_widths T1_BLEND_STEM_SNAP_WIDTHS |
230 #define t1_blend_stem_snap_heights T1_BLEND_STEM_SNAP_HEIGHTS | 264 #define t1_blend_stem_snap_heights T1_BLEND_STEM_SNAP_HEIGHTS |
231 #define t1_blend_blue_scale T1_BLEND_BLUE_SCALE | 265 #define t1_blend_blue_scale T1_BLEND_BLUE_SCALE |
232 #define t1_blend_blue_shift T1_BLEND_BLUE_SHIFT | 266 #define t1_blend_blue_shift T1_BLEND_BLUE_SHIFT |
233 #define t1_blend_family_blues T1_BLEND_FAMILY_BLUES | 267 #define t1_blend_family_blues T1_BLEND_FAMILY_BLUES |
234 #define t1_blend_family_other_blues T1_BLEND_FAMILY_OTHER_BLUES | 268 #define t1_blend_family_other_blues T1_BLEND_FAMILY_OTHER_BLUES |
235 #define t1_blend_force_bold T1_BLEND_FORCE_BOLD | 269 #define t1_blend_force_bold T1_BLEND_FORCE_BOLD |
236 #define t1_blend_max T1_BLEND_MAX | 270 #define t1_blend_max T1_BLEND_MAX |
237 | 271 |
| 272 /* */ |
| 273 |
238 | 274 |
239 /* maximum number of Multiple Masters designs, as defined in the spec */ | 275 /* maximum number of Multiple Masters designs, as defined in the spec */ |
240 #define T1_MAX_MM_DESIGNS 16 | 276 #define T1_MAX_MM_DESIGNS 16 |
241 | 277 |
242 /* maximum number of Multiple Masters axes, as defined in the spec */ | 278 /* maximum number of Multiple Masters axes, as defined in the spec */ |
243 #define T1_MAX_MM_AXIS 4 | 279 #define T1_MAX_MM_AXIS 4 |
244 | 280 |
245 /* maximum number of elements in a design map */ | 281 /* maximum number of elements in a design map */ |
246 #define T1_MAX_MM_MAP_POINTS 20 | 282 #define T1_MAX_MM_MAP_POINTS 20 |
247 | 283 |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
326 /*************************************************************************/ | 362 /*************************************************************************/ |
327 /* */ | 363 /* */ |
328 /* <Struct> */ | 364 /* <Struct> */ |
329 /* CID_FaceDict */ | 365 /* CID_FaceDict */ |
330 /* */ | 366 /* */ |
331 /* <Description> */ | 367 /* <Description> */ |
332 /* A handle to a @CID_FaceDictRec structure. */ | 368 /* A handle to a @CID_FaceDictRec structure. */ |
333 /* */ | 369 /* */ |
334 typedef struct CID_FaceDictRec_* CID_FaceDict; | 370 typedef struct CID_FaceDictRec_* CID_FaceDict; |
335 | 371 |
336 /* */ | |
337 | 372 |
338 | 373 /*************************************************************************/ |
339 /* backwards-compatible definition */ | 374 /* */ |
| 375 /* <Struct> */ |
| 376 /* CID_FontDict */ |
| 377 /* */ |
| 378 /* <Description> */ |
| 379 /* This type is equivalent to @CID_FaceDictRec. It is deprecated but */ |
| 380 /* kept to maintain source compatibility between various versions of */ |
| 381 /* FreeType. */ |
| 382 /* */ |
340 typedef CID_FaceDictRec CID_FontDict; | 383 typedef CID_FaceDictRec CID_FontDict; |
341 | 384 |
342 | 385 |
343 /*************************************************************************/ | 386 /*************************************************************************/ |
344 /* */ | 387 /* */ |
345 /* <Struct> */ | 388 /* <Struct> */ |
346 /* CID_FaceInfoRec */ | 389 /* CID_FaceInfoRec */ |
347 /* */ | 390 /* */ |
348 /* <Description> */ | 391 /* <Description> */ |
349 /* A structure used to represent CID Face information. */ | 392 /* A structure used to represent CID Face information. */ |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
496 | 539 |
497 /*************************************************************************/ | 540 /*************************************************************************/ |
498 /* */ | 541 /* */ |
499 /* <Enum> */ | 542 /* <Enum> */ |
500 /* T1_EncodingType */ | 543 /* T1_EncodingType */ |
501 /* */ | 544 /* */ |
502 /* <Description> */ | 545 /* <Description> */ |
503 /* An enumeration describing the `Encoding' entry in a Type 1 */ | 546 /* An enumeration describing the `Encoding' entry in a Type 1 */ |
504 /* dictionary. */ | 547 /* dictionary. */ |
505 /* */ | 548 /* */ |
| 549 /* <Values> */ |
| 550 /* T1_ENCODING_TYPE_NONE :: */ |
| 551 /* T1_ENCODING_TYPE_ARRAY :: */ |
| 552 /* T1_ENCODING_TYPE_STANDARD :: */ |
| 553 /* T1_ENCODING_TYPE_ISOLATIN1 :: */ |
| 554 /* T1_ENCODING_TYPE_EXPERT :: */ |
| 555 /* */ |
506 typedef enum T1_EncodingType_ | 556 typedef enum T1_EncodingType_ |
507 { | 557 { |
508 T1_ENCODING_TYPE_NONE = 0, | 558 T1_ENCODING_TYPE_NONE = 0, |
509 T1_ENCODING_TYPE_ARRAY, | 559 T1_ENCODING_TYPE_ARRAY, |
510 T1_ENCODING_TYPE_STANDARD, | 560 T1_ENCODING_TYPE_STANDARD, |
511 T1_ENCODING_TYPE_ISOLATIN1, | 561 T1_ENCODING_TYPE_ISOLATIN1, |
512 T1_ENCODING_TYPE_EXPERT | 562 T1_ENCODING_TYPE_EXPERT |
513 | 563 |
514 } T1_EncodingType; | 564 } T1_EncodingType; |
515 | 565 |
516 | 566 |
517 /*************************************************************************/ | 567 /*************************************************************************/ |
518 /* */ | 568 /* */ |
519 /* <Enum> */ | 569 /* <Enum> */ |
520 /* PS_Dict_Keys */ | 570 /* PS_Dict_Keys */ |
521 /* */ | 571 /* */ |
522 /* <Description> */ | 572 /* <Description> */ |
523 /* An enumeration used in calls to @FT_Get_PS_Font_Value to identify */ | 573 /* An enumeration used in calls to @FT_Get_PS_Font_Value to identify */ |
524 /* the Type~1 dictionary entry to retrieve. */ | 574 /* the Type~1 dictionary entry to retrieve. */ |
525 /* */ | 575 /* */ |
| 576 /* <Values> */ |
| 577 /* PS_DICT_FONT_TYPE :: */ |
| 578 /* PS_DICT_FONT_MATRIX :: */ |
| 579 /* PS_DICT_FONT_BBOX :: */ |
| 580 /* PS_DICT_PAINT_TYPE :: */ |
| 581 /* PS_DICT_FONT_NAME :: */ |
| 582 /* PS_DICT_UNIQUE_ID :: */ |
| 583 /* PS_DICT_NUM_CHAR_STRINGS :: */ |
| 584 /* PS_DICT_CHAR_STRING_KEY :: */ |
| 585 /* PS_DICT_CHAR_STRING :: */ |
| 586 /* PS_DICT_ENCODING_TYPE :: */ |
| 587 /* PS_DICT_ENCODING_ENTRY :: */ |
| 588 /* PS_DICT_NUM_SUBRS :: */ |
| 589 /* PS_DICT_SUBR :: */ |
| 590 /* PS_DICT_STD_HW :: */ |
| 591 /* PS_DICT_STD_VW :: */ |
| 592 /* PS_DICT_NUM_BLUE_VALUES :: */ |
| 593 /* PS_DICT_BLUE_VALUE :: */ |
| 594 /* PS_DICT_BLUE_FUZZ :: */ |
| 595 /* PS_DICT_NUM_OTHER_BLUES :: */ |
| 596 /* PS_DICT_OTHER_BLUE :: */ |
| 597 /* PS_DICT_NUM_FAMILY_BLUES :: */ |
| 598 /* PS_DICT_FAMILY_BLUE :: */ |
| 599 /* PS_DICT_NUM_FAMILY_OTHER_BLUES :: */ |
| 600 /* PS_DICT_FAMILY_OTHER_BLUE :: */ |
| 601 /* PS_DICT_BLUE_SCALE :: */ |
| 602 /* PS_DICT_BLUE_SHIFT :: */ |
| 603 /* PS_DICT_NUM_STEM_SNAP_H :: */ |
| 604 /* PS_DICT_STEM_SNAP_H :: */ |
| 605 /* PS_DICT_NUM_STEM_SNAP_V :: */ |
| 606 /* PS_DICT_STEM_SNAP_V :: */ |
| 607 /* PS_DICT_FORCE_BOLD :: */ |
| 608 /* PS_DICT_RND_STEM_UP :: */ |
| 609 /* PS_DICT_MIN_FEATURE :: */ |
| 610 /* PS_DICT_LEN_IV :: */ |
| 611 /* PS_DICT_PASSWORD :: */ |
| 612 /* PS_DICT_LANGUAGE_GROUP :: */ |
| 613 /* PS_DICT_VERSION :: */ |
| 614 /* PS_DICT_NOTICE :: */ |
| 615 /* PS_DICT_FULL_NAME :: */ |
| 616 /* PS_DICT_FAMILY_NAME :: */ |
| 617 /* PS_DICT_WEIGHT :: */ |
| 618 /* PS_DICT_IS_FIXED_PITCH :: */ |
| 619 /* PS_DICT_UNDERLINE_POSITION :: */ |
| 620 /* PS_DICT_UNDERLINE_THICKNESS :: */ |
| 621 /* PS_DICT_FS_TYPE :: */ |
| 622 /* PS_DICT_ITALIC_ANGLE :: */ |
| 623 /* */ |
526 typedef enum PS_Dict_Keys_ | 624 typedef enum PS_Dict_Keys_ |
527 { | 625 { |
528 /* conventionally in the font dictionary */ | 626 /* conventionally in the font dictionary */ |
529 PS_DICT_FONT_TYPE, /* FT_Byte */ | 627 PS_DICT_FONT_TYPE, /* FT_Byte */ |
530 PS_DICT_FONT_MATRIX, /* FT_Fixed */ | 628 PS_DICT_FONT_MATRIX, /* FT_Fixed */ |
531 PS_DICT_FONT_BBOX, /* FT_Fixed */ | 629 PS_DICT_FONT_BBOX, /* FT_Fixed */ |
532 PS_DICT_PAINT_TYPE, /* FT_Byte */ | 630 PS_DICT_PAINT_TYPE, /* FT_Byte */ |
533 PS_DICT_FONT_NAME, /* FT_String* */ | 631 PS_DICT_FONT_NAME, /* FT_String* */ |
534 PS_DICT_UNIQUE_ID, /* FT_Int */ | 632 PS_DICT_UNIQUE_ID, /* FT_Int */ |
535 PS_DICT_NUM_CHAR_STRINGS, /* FT_Int */ | 633 PS_DICT_NUM_CHAR_STRINGS, /* FT_Int */ |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
653 FT_Long value_len ); | 751 FT_Long value_len ); |
654 | 752 |
655 /* */ | 753 /* */ |
656 | 754 |
657 FT_END_HEADER | 755 FT_END_HEADER |
658 | 756 |
659 #endif /* __T1TABLES_H__ */ | 757 #endif /* __T1TABLES_H__ */ |
660 | 758 |
661 | 759 |
662 /* END */ | 760 /* END */ |
OLD | NEW |