1 /****************************************************************************
   2  *
   3  * tttags.h
   4  *
   5  *   Tags for TrueType and OpenType tables (specification only).
   6  *
   7  * Copyright (C) 1996-2020 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_COLR  FT_MAKE_TAG( 'C', 'O', 'L', 'R' )
  50 #define TTAG_CPAL  FT_MAKE_TAG( 'C', 'P', 'A', 'L' )
  51 #define TTAG_cvar  FT_MAKE_TAG( 'c', 'v', 'a', 'r' )
  52 #define TTAG_cvt   FT_MAKE_TAG( 'c', 'v', 't', ' ' )
  53 #define TTAG_DSIG  FT_MAKE_TAG( 'D', 'S', 'I', 'G' )
  54 #define TTAG_EBDT  FT_MAKE_TAG( 'E', 'B', 'D', 'T' )
  55 #define TTAG_EBLC  FT_MAKE_TAG( 'E', 'B', 'L', 'C' )
  56 #define TTAG_EBSC  FT_MAKE_TAG( 'E', 'B', 'S', 'C' )
  57 #define TTAG_feat  FT_MAKE_TAG( 'f', 'e', 'a', 't' )
  58 #define TTAG_FOND  FT_MAKE_TAG( 'F', 'O', 'N', 'D' )
  59 #define TTAG_fpgm  FT_MAKE_TAG( 'f', 'p', 'g', 'm' )
  60 #define TTAG_fvar  FT_MAKE_TAG( 'f', 'v', 'a', 'r' )
  61 #define TTAG_gasp  FT_MAKE_TAG( 'g', 'a', 's', 'p' )
  62 #define TTAG_GDEF  FT_MAKE_TAG( 'G', 'D', 'E', 'F' )
  63 #define TTAG_glyf  FT_MAKE_TAG( 'g', 'l', 'y', 'f' )
  64 #define TTAG_GPOS  FT_MAKE_TAG( 'G', 'P', 'O', 'S' )
  65 #define TTAG_GSUB  FT_MAKE_TAG( 'G', 'S', 'U', 'B' )
  66 #define TTAG_gvar  FT_MAKE_TAG( 'g', 'v', 'a', 'r' )
  67 #define TTAG_HVAR  FT_MAKE_TAG( 'H', 'V', 'A', 'R' )
  68 #define TTAG_hdmx  FT_MAKE_TAG( 'h', 'd', 'm', 'x' )
  69 #define TTAG_head  FT_MAKE_TAG( 'h', 'e', 'a', 'd' )
  70 #define TTAG_hhea  FT_MAKE_TAG( 'h', 'h', 'e', 'a' )
  71 #define TTAG_hmtx  FT_MAKE_TAG( 'h', 'm', 't', 'x' )
  72 #define TTAG_JSTF  FT_MAKE_TAG( 'J', 'S', 'T', 'F' )
  73 #define TTAG_just  FT_MAKE_TAG( 'j', 'u', 's', 't' )
  74 #define TTAG_kern  FT_MAKE_TAG( 'k', 'e', 'r', 'n' )
  75 #define TTAG_lcar  FT_MAKE_TAG( 'l', 'c', 'a', 'r' )
  76 #define TTAG_loca  FT_MAKE_TAG( 'l', 'o', 'c', 'a' )
  77 #define TTAG_LTSH  FT_MAKE_TAG( 'L', 'T', 'S', 'H' )
  78 #define TTAG_LWFN  FT_MAKE_TAG( 'L', 'W', 'F', 'N' )
  79 #define TTAG_MATH  FT_MAKE_TAG( 'M', 'A', 'T', 'H' )
  80 #define TTAG_maxp  FT_MAKE_TAG( 'm', 'a', 'x', 'p' )
  81 #define TTAG_META  FT_MAKE_TAG( 'M', 'E', 'T', 'A' )
  82 #define TTAG_MMFX  FT_MAKE_TAG( 'M', 'M', 'F', 'X' )
  83 #define TTAG_MMSD  FT_MAKE_TAG( 'M', 'M', 'S', 'D' )
  84 #define TTAG_mort  FT_MAKE_TAG( 'm', 'o', 'r', 't' )
  85 #define TTAG_morx  FT_MAKE_TAG( 'm', 'o', 'r', 'x' )
  86 #define TTAG_MVAR  FT_MAKE_TAG( 'M', 'V', 'A', 'R' )
  87 #define TTAG_name  FT_MAKE_TAG( 'n', 'a', 'm', 'e' )
  88 #define TTAG_opbd  FT_MAKE_TAG( 'o', 'p', 'b', 'd' )
  89 #define TTAG_OS2   FT_MAKE_TAG( 'O', 'S', '/', '2' )
  90 #define TTAG_OTTO  FT_MAKE_TAG( 'O', 'T', 'T', 'O' )
  91 #define TTAG_PCLT  FT_MAKE_TAG( 'P', 'C', 'L', 'T' )
  92 #define TTAG_POST  FT_MAKE_TAG( 'P', 'O', 'S', 'T' )
  93 #define TTAG_post  FT_MAKE_TAG( 'p', 'o', 's', 't' )
  94 #define TTAG_prep  FT_MAKE_TAG( 'p', 'r', 'e', 'p' )
  95 #define TTAG_prop  FT_MAKE_TAG( 'p', 'r', 'o', 'p' )
  96 #define TTAG_sbix  FT_MAKE_TAG( 's', 'b', 'i', 'x' )
  97 #define TTAG_sfnt  FT_MAKE_TAG( 's', 'f', 'n', 't' )
  98 #define TTAG_SING  FT_MAKE_TAG( 'S', 'I', 'N', '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 */