1 /***************************************************************************/
2 /*                                                                         */
3 /*  tttags.h                                                               */
4 /*                                                                         */
5 /*    Tags for TrueType and OpenType tables (specification only).          */
6 /*                                                                         */
7 /*  Copyright 1996-2018 by                                                 */
8 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
9 /*                                                                         */
10 /*  This file is part of the FreeType project, and may only be used,       */
11 /*  modified, and distributed under the terms of the FreeType project      */
12 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
13 /*  this file you indicate that you have read the license and              */
14 /*  understand and accept it fully.                                        */
15 /*                                                                         */
16 /***************************************************************************/
17 
18 
19 #ifndef TTAGS_H_
20 #define TTAGS_H_
21 
22 
23 #include <ft2build.h>
24 #include FT_FREETYPE_H
25 
26 #ifdef FREETYPE_H
27 #error "freetype.h of FreeType 1 has been loaded!"
28 #error "Please fix the directory search order for header files"
29 #error "so that freetype.h of FreeType 2 is found first."
30 #endif
31 
32 
33 FT_BEGIN_HEADER
34 
35 
36 #define TTAG_avar  FT_MAKE_TAG( 'a', 'v', 'a', 'r' )
37 #define TTAG_BASE  FT_MAKE_TAG( 'B', 'A', 'S', 'E' )
38 #define TTAG_bdat  FT_MAKE_TAG( 'b', 'd', 'a', 't' )
39 #define TTAG_BDF   FT_MAKE_TAG( 'B', 'D', 'F', ' ' )
40 #define TTAG_bhed  FT_MAKE_TAG( 'b', 'h', 'e', 'd' )
41 #define TTAG_bloc  FT_MAKE_TAG( 'b', 'l', 'o', 'c' )
42 #define TTAG_bsln  FT_MAKE_TAG( 'b', 's', 'l', 'n' )
43 #define TTAG_CBDT  FT_MAKE_TAG( 'C', 'B', 'D', 'T' )
44 #define TTAG_CBLC  FT_MAKE_TAG( 'C', 'B', 'L', 'C' )
45 #define TTAG_CFF   FT_MAKE_TAG( 'C', 'F', 'F', ' ' )
46 #define TTAG_CFF2  FT_MAKE_TAG( 'C', 'F', 'F', '2' )
47 #define TTAG_CID   FT_MAKE_TAG( 'C', 'I', 'D', ' ' )
48 #define TTAG_cmap  FT_MAKE_TAG( 'c', 'm', 'a', 'p' )
49 #define TTAG_cvar  FT_MAKE_TAG( 'c', 'v', 'a', 'r' )
50 #define TTAG_cvt   FT_MAKE_TAG( 'c', 'v', 't', ' ' )
51 #define TTAG_DSIG  FT_MAKE_TAG( 'D', 'S', 'I', 'G' )
52 #define TTAG_EBDT  FT_MAKE_TAG( 'E', 'B', 'D', 'T' )
53 #define TTAG_EBLC  FT_MAKE_TAG( 'E', 'B', 'L', 'C' )
54 #define TTAG_EBSC  FT_MAKE_TAG( 'E', 'B', 'S', 'C' )
55 #define TTAG_feat  FT_MAKE_TAG( 'f', 'e', 'a', 't' )
56 #define TTAG_FOND  FT_MAKE_TAG( 'F', 'O', 'N', 'D' )
57 #define TTAG_fpgm  FT_MAKE_TAG( 'f', 'p', 'g', 'm' )
58 #define TTAG_fvar  FT_MAKE_TAG( 'f', 'v', 'a', 'r' )
59 #define TTAG_gasp  FT_MAKE_TAG( 'g', 'a', 's', 'p' )
60 #define TTAG_GDEF  FT_MAKE_TAG( 'G', 'D', 'E', 'F' )
61 #define TTAG_glyf  FT_MAKE_TAG( 'g', 'l', 'y', 'f' )
62 #define TTAG_GPOS  FT_MAKE_TAG( 'G', 'P', 'O', 'S' )
63 #define TTAG_GSUB  FT_MAKE_TAG( 'G', 'S', 'U', 'B' )
64 #define TTAG_gvar  FT_MAKE_TAG( 'g', 'v', 'a', 'r' )
65 #define TTAG_HVAR  FT_MAKE_TAG( 'H', 'V', 'A', 'R' )
66 #define TTAG_hdmx  FT_MAKE_TAG( 'h', 'd', 'm', 'x' )
67 #define TTAG_head  FT_MAKE_TAG( 'h', 'e', 'a', 'd' )
68 #define TTAG_hhea  FT_MAKE_TAG( 'h', 'h', 'e', 'a' )
69 #define TTAG_hmtx  FT_MAKE_TAG( 'h', 'm', 't', 'x' )
70 #define TTAG_JSTF  FT_MAKE_TAG( 'J', 'S', 'T', 'F' )
71 #define TTAG_just  FT_MAKE_TAG( 'j', 'u', 's', 't' )
72 #define TTAG_kern  FT_MAKE_TAG( 'k', 'e', 'r', 'n' )
73 #define TTAG_lcar  FT_MAKE_TAG( 'l', 'c', 'a', 'r' )
74 #define TTAG_loca  FT_MAKE_TAG( 'l', 'o', 'c', 'a' )
75 #define TTAG_LTSH  FT_MAKE_TAG( 'L', 'T', 'S', 'H' )
76 #define TTAG_LWFN  FT_MAKE_TAG( 'L', 'W', 'F', 'N' )
77 #define TTAG_MATH  FT_MAKE_TAG( 'M', 'A', 'T', 'H' )
78 #define TTAG_maxp  FT_MAKE_TAG( 'm', 'a', 'x', 'p' )
79 #define TTAG_META  FT_MAKE_TAG( 'M', 'E', 'T', 'A' )
80 #define TTAG_MMFX  FT_MAKE_TAG( 'M', 'M', 'F', 'X' )
81 #define TTAG_MMSD  FT_MAKE_TAG( 'M', 'M', 'S', 'D' )
82 #define TTAG_mort  FT_MAKE_TAG( 'm', 'o', 'r', 't' )
83 #define TTAG_morx  FT_MAKE_TAG( 'm', 'o', 'r', 'x' )
84 #define TTAG_MVAR  FT_MAKE_TAG( 'M', 'V', 'A', 'R' )
85 #define TTAG_name  FT_MAKE_TAG( 'n', 'a', 'm', 'e' )
86 #define TTAG_opbd  FT_MAKE_TAG( 'o', 'p', 'b', 'd' )
87 #define TTAG_OS2   FT_MAKE_TAG( 'O', 'S', '/', '2' )
88 #define TTAG_OTTO  FT_MAKE_TAG( 'O', 'T', 'T', 'O' )
89 #define TTAG_PCLT  FT_MAKE_TAG( 'P', 'C', 'L', 'T' )
90 #define TTAG_POST  FT_MAKE_TAG( 'P', 'O', 'S', 'T' )
91 #define TTAG_post  FT_MAKE_TAG( 'p', 'o', 's', 't' )
92 #define TTAG_prep  FT_MAKE_TAG( 'p', 'r', 'e', 'p' )
93 #define TTAG_prop  FT_MAKE_TAG( 'p', 'r', 'o', 'p' )
94 #define TTAG_sbix  FT_MAKE_TAG( 's', 'b', 'i', 'x' )
95 #define TTAG_sfnt  FT_MAKE_TAG( 's', 'f', 'n', 't' )
96 #define TTAG_SING  FT_MAKE_TAG( 'S', 'I', 'N', 'G' )
97 #define TTAG_trak  FT_MAKE_TAG( 't', 'r', 'a', 'k' )
98 #define TTAG_true  FT_MAKE_TAG( 't', 'r', 'u', 'e' )
99 #define TTAG_ttc   FT_MAKE_TAG( 't', 't', 'c', ' ' )
100 #define TTAG_ttcf  FT_MAKE_TAG( 't', 't', 'c', 'f' )
101 #define TTAG_TYP1  FT_MAKE_TAG( 'T', 'Y', 'P', '1' )
102 #define TTAG_typ1  FT_MAKE_TAG( 't', 'y', 'p', '1' )
103 #define TTAG_VDMX  FT_MAKE_TAG( 'V', 'D', 'M', 'X' )
104 #define TTAG_vhea  FT_MAKE_TAG( 'v', 'h', 'e', 'a' )
105 #define TTAG_vmtx  FT_MAKE_TAG( 'v', 'm', 't', 'x' )
106 #define TTAG_VVAR  FT_MAKE_TAG( 'V', 'V', 'A', 'R' )
107 #define TTAG_wOFF  FT_MAKE_TAG( 'w', 'O', 'F', 'F' )
108 
109 /* used by "Keyboard.dfont" on legacy Mac OS X */
110 #define TTAG_0xA5kbd  FT_MAKE_TAG( 0xA5, 'k', 'b', 'd' )
111 
112 /* used by "LastResort.dfont" on legacy Mac OS X */
113 #define TTAG_0xA5lst  FT_MAKE_TAG( 0xA5, 'l', 's', 't' )
114 
115 
116 FT_END_HEADER
117 
118 #endif /* TTAGS_H_ */
119 
120 
121 /* END */
122