1 /****************************************************************************
   2  *
   3  * t1tokens.h
   4  *
   5  *   Type 1 tokenizer (specification).
   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 #undef  FT_STRUCTURE
  20 #define FT_STRUCTURE  PS_FontInfoRec
  21 #undef  T1CODE
  22 #define T1CODE        T1_FIELD_LOCATION_FONT_INFO
  23 
  24   T1_FIELD_STRING( "version",            version,
  25                    T1_FIELD_DICT_FONTDICT )
  26   T1_FIELD_STRING( "Notice",             notice,
  27                    T1_FIELD_DICT_FONTDICT )
  28   T1_FIELD_STRING( "FullName",           full_name,
  29                    T1_FIELD_DICT_FONTDICT )
  30   T1_FIELD_STRING( "FamilyName",         family_name,
  31                    T1_FIELD_DICT_FONTDICT )
  32   T1_FIELD_STRING( "Weight",             weight,
  33                    T1_FIELD_DICT_FONTDICT )
  34 
  35   /* we use pointers to detect modifications made by synthetic fonts */
  36   T1_FIELD_NUM   ( "ItalicAngle",        italic_angle,
  37                    T1_FIELD_DICT_FONTDICT )
  38   T1_FIELD_BOOL  ( "isFixedPitch",       is_fixed_pitch,
  39                    T1_FIELD_DICT_FONTDICT )
  40   T1_FIELD_NUM   ( "UnderlinePosition",  underline_position,
  41                    T1_FIELD_DICT_FONTDICT )
  42   T1_FIELD_NUM   ( "UnderlineThickness", underline_thickness,
  43                    T1_FIELD_DICT_FONTDICT )
  44 
  45 #undef  FT_STRUCTURE
  46 #define FT_STRUCTURE  PS_FontExtraRec
  47 #undef  T1CODE
  48 #define T1CODE        T1_FIELD_LOCATION_FONT_EXTRA
  49 
  50   T1_FIELD_NUM   ( "FSType", fs_type,
  51                    T1_FIELD_DICT_FONTDICT )
  52 
  53 #undef  FT_STRUCTURE
  54 #define FT_STRUCTURE  PS_PrivateRec
  55 #undef  T1CODE
  56 #define T1CODE        T1_FIELD_LOCATION_PRIVATE
  57 
  58   T1_FIELD_NUM       ( "UniqueID",         unique_id,
  59                        T1_FIELD_DICT_FONTDICT | T1_FIELD_DICT_PRIVATE )
  60   T1_FIELD_NUM       ( "lenIV",            lenIV,
  61                        T1_FIELD_DICT_PRIVATE )
  62   T1_FIELD_NUM       ( "LanguageGroup",    language_group,
  63                        T1_FIELD_DICT_PRIVATE )
  64   T1_FIELD_NUM       ( "password",         password,
  65                        T1_FIELD_DICT_PRIVATE )
  66 
  67   T1_FIELD_FIXED_1000( "BlueScale",        blue_scale,
  68                        T1_FIELD_DICT_PRIVATE )
  69   T1_FIELD_NUM       ( "BlueShift",        blue_shift,
  70                        T1_FIELD_DICT_PRIVATE )
  71   T1_FIELD_NUM       ( "BlueFuzz",         blue_fuzz,
  72                        T1_FIELD_DICT_PRIVATE )
  73 
  74   T1_FIELD_NUM_TABLE ( "BlueValues",       blue_values,        14,
  75                        T1_FIELD_DICT_PRIVATE )
  76   T1_FIELD_NUM_TABLE ( "OtherBlues",       other_blues,        10,
  77                        T1_FIELD_DICT_PRIVATE )
  78   T1_FIELD_NUM_TABLE ( "FamilyBlues",      family_blues,       14,
  79                        T1_FIELD_DICT_PRIVATE )
  80   T1_FIELD_NUM_TABLE ( "FamilyOtherBlues", family_other_blues, 10,
  81                        T1_FIELD_DICT_PRIVATE )
  82 
  83   T1_FIELD_NUM_TABLE2( "StdHW",            standard_width,      1,
  84                        T1_FIELD_DICT_PRIVATE )
  85   T1_FIELD_NUM_TABLE2( "StdVW",            standard_height,     1,
  86                        T1_FIELD_DICT_PRIVATE )
  87   T1_FIELD_NUM_TABLE2( "MinFeature",       min_feature,         2,
  88                        T1_FIELD_DICT_PRIVATE )
  89 
  90   T1_FIELD_NUM_TABLE ( "StemSnapH",        snap_widths,        12,
  91                        T1_FIELD_DICT_PRIVATE )
  92   T1_FIELD_NUM_TABLE ( "StemSnapV",        snap_heights,       12,
  93                        T1_FIELD_DICT_PRIVATE )
  94 
  95   T1_FIELD_FIXED     ( "ExpansionFactor",  expansion_factor,
  96                        T1_FIELD_DICT_PRIVATE )
  97   T1_FIELD_BOOL      ( "ForceBold",        force_bold,
  98                        T1_FIELD_DICT_PRIVATE )
  99 
 100 
 101 #undef  FT_STRUCTURE
 102 #define FT_STRUCTURE  T1_FontRec
 103 #undef  T1CODE
 104 #define T1CODE        T1_FIELD_LOCATION_FONT_DICT
 105 
 106   T1_FIELD_KEY  ( "FontName",    font_name,    T1_FIELD_DICT_FONTDICT )
 107   T1_FIELD_NUM  ( "PaintType",   paint_type,   T1_FIELD_DICT_FONTDICT )
 108   T1_FIELD_NUM  ( "FontType",    font_type,    T1_FIELD_DICT_FONTDICT )
 109   T1_FIELD_FIXED( "StrokeWidth", stroke_width, T1_FIELD_DICT_FONTDICT )
 110 
 111 
 112 #undef  FT_STRUCTURE
 113 #define FT_STRUCTURE  FT_BBox
 114 #undef  T1CODE
 115 #define T1CODE        T1_FIELD_LOCATION_BBOX
 116 
 117   T1_FIELD_BBOX( "FontBBox", xMin, T1_FIELD_DICT_FONTDICT )
 118 
 119 
 120 #ifndef T1_CONFIG_OPTION_NO_MM_SUPPORT
 121 
 122 #undef  FT_STRUCTURE
 123 #define FT_STRUCTURE  T1_FaceRec
 124 #undef  T1CODE
 125 #define T1CODE        T1_FIELD_LOCATION_FACE
 126 
 127   T1_FIELD_NUM( "NDV", ndv_idx, T1_FIELD_DICT_PRIVATE )
 128   T1_FIELD_NUM( "CDV", cdv_idx, T1_FIELD_DICT_PRIVATE )
 129 
 130 
 131 #undef  FT_STRUCTURE
 132 #define FT_STRUCTURE  PS_BlendRec
 133 #undef  T1CODE
 134 #define T1CODE        T1_FIELD_LOCATION_BLEND
 135 
 136   T1_FIELD_NUM_TABLE( "DesignVector", default_design_vector,
 137                       T1_MAX_MM_DESIGNS, T1_FIELD_DICT_FONTDICT )
 138 
 139 
 140 #endif /* T1_CONFIG_OPTION_NO_MM_SUPPORT */
 141 
 142 
 143 /* END */