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