tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

gxvfeat.h (6054B)


      1 /****************************************************************************
      2 *
      3 * gxvfeat.h
      4 *
      5 *   TrueTypeGX/AAT feat table validation (specification).
      6 *
      7 * Copyright (C) 2004-2025 by
      8 * suzuki toshiya, Masatake YAMATO, Red Hat K.K.,
      9 * David Turner, Robert Wilhelm, and Werner Lemberg.
     10 *
     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
     13 * license, LICENSE.TXT.  By continuing to use, modify, or distribute
     14 * this file you indicate that you have read the license and
     15 * understand and accept it fully.
     16 *
     17 */
     18 
     19 /****************************************************************************
     20 *
     21 * gxvalid is derived from both gxlayout module and otvalid module.
     22 * Development of gxlayout is supported by the Information-technology
     23 * Promotion Agency(IPA), Japan.
     24 *
     25 */
     26 
     27 
     28 #ifndef GXVFEAT_H_
     29 #define GXVFEAT_H_
     30 
     31 
     32 #include "gxvalid.h"
     33 #include "gxvcommn.h"
     34 
     35 
     36  /*************************************************************************/
     37  /*************************************************************************/
     38  /*****                                                               *****/
     39  /*****                Registry predefined by Apple                   *****/
     40  /*****                                                               *****/
     41  /*************************************************************************/
     42  /*************************************************************************/
     43 
     44  /* TODO: More compact format */
     45  typedef struct  GXV_Feature_RegistryRec_
     46  {
     47    FT_Bool  existence;
     48    FT_Bool  apple_reserved;
     49    FT_Bool  exclusive;
     50    FT_Byte  nSettings;
     51 
     52  } GX_Feature_RegistryRec;
     53 
     54 
     55 #define gxv_feat_registry_length                  \
     56          ( sizeof ( gxv_feat_registry ) /        \
     57              sizeof ( GX_Feature_RegistryRec ) )
     58 
     59 
     60  static GX_Feature_RegistryRec  gxv_feat_registry[] =
     61  {
     62    /* Generated from gxvfgen.c */
     63    {1, 0, 0,  1},   /* All Typographic Features */
     64    {1, 0, 0,  8},   /* Ligatures */
     65    {1, 0, 1,  3},   /* Cursive Connection */
     66    {1, 0, 1,  6},   /* Letter Case */
     67    {1, 0, 0,  1},   /* Vertical Substitution */
     68    {1, 0, 0,  1},   /* Linguistic Rearrangement */
     69    {1, 0, 1,  2},   /* Number Spacing */
     70    {1, 1, 0,  0},   /* Apple Reserved 1 */
     71    {1, 0, 0,  5},   /* Smart Swashes */
     72    {1, 0, 1,  3},   /* Diacritics */
     73    {1, 0, 1,  4},   /* Vertical Position */
     74    {1, 0, 1,  3},   /* Fractions */
     75    {1, 1, 0,  0},   /* Apple Reserved 2 */
     76    {1, 0, 0,  1},   /* Overlapping Characters */
     77    {1, 0, 0,  6},   /* Typographic Extras */
     78    {1, 0, 0,  5},   /* Mathematical Extras */
     79    {1, 0, 1,  7},   /* Ornament Sets */
     80    {1, 0, 1,  1},   /* Character Alternatives */
     81    {1, 0, 1,  5},   /* Design Complexity */
     82    {1, 0, 1,  6},   /* Style Options */
     83    {1, 0, 1, 11},   /* Character Shape */
     84    {1, 0, 1,  2},   /* Number Case */
     85    {1, 0, 1,  4},   /* Text Spacing */
     86    {1, 0, 1, 10},   /* Transliteration */
     87    {1, 0, 1,  9},   /* Annotation */
     88    {1, 0, 1,  2},   /* Kana Spacing */
     89    {1, 0, 1,  2},   /* Ideographic Spacing */
     90    {0, 0, 0,  0},   /* __EMPTY__ */
     91    {0, 0, 0,  0},   /* __EMPTY__ */
     92    {0, 0, 0,  0},   /* __EMPTY__ */
     93    {0, 0, 0,  0},   /* __EMPTY__ */
     94    {0, 0, 0,  0},   /* __EMPTY__ */
     95    {0, 0, 0,  0},   /* __EMPTY__ */
     96    {0, 0, 0,  0},   /* __EMPTY__ */
     97    {0, 0, 0,  0},   /* __EMPTY__ */
     98    {0, 0, 0,  0},   /* __EMPTY__ */
     99    {0, 0, 0,  0},   /* __EMPTY__ */
    100    {0, 0, 0,  0},   /* __EMPTY__ */
    101    {0, 0, 0,  0},   /* __EMPTY__ */
    102    {0, 0, 0,  0},   /* __EMPTY__ */
    103    {0, 0, 0,  0},   /* __EMPTY__ */
    104    {0, 0, 0,  0},   /* __EMPTY__ */
    105    {0, 0, 0,  0},   /* __EMPTY__ */
    106    {0, 0, 0,  0},   /* __EMPTY__ */
    107    {0, 0, 0,  0},   /* __EMPTY__ */
    108    {0, 0, 0,  0},   /* __EMPTY__ */
    109    {0, 0, 0,  0},   /* __EMPTY__ */
    110    {0, 0, 0,  0},   /* __EMPTY__ */
    111    {0, 0, 0,  0},   /* __EMPTY__ */
    112    {0, 0, 0,  0},   /* __EMPTY__ */
    113    {0, 0, 0,  0},   /* __EMPTY__ */
    114    {0, 0, 0,  0},   /* __EMPTY__ */
    115    {0, 0, 0,  0},   /* __EMPTY__ */
    116    {0, 0, 0,  0},   /* __EMPTY__ */
    117    {0, 0, 0,  0},   /* __EMPTY__ */
    118    {0, 0, 0,  0},   /* __EMPTY__ */
    119    {0, 0, 0,  0},   /* __EMPTY__ */
    120    {0, 0, 0,  0},   /* __EMPTY__ */
    121    {0, 0, 0,  0},   /* __EMPTY__ */
    122    {0, 0, 0,  0},   /* __EMPTY__ */
    123    {0, 0, 0,  0},   /* __EMPTY__ */
    124    {0, 0, 0,  0},   /* __EMPTY__ */
    125    {0, 0, 0,  0},   /* __EMPTY__ */
    126    {0, 0, 0,  0},   /* __EMPTY__ */
    127    {0, 0, 0,  0},   /* __EMPTY__ */
    128    {0, 0, 0,  0},   /* __EMPTY__ */
    129    {0, 0, 0,  0},   /* __EMPTY__ */
    130    {0, 0, 0,  0},   /* __EMPTY__ */
    131    {0, 0, 0,  0},   /* __EMPTY__ */
    132    {0, 0, 0,  0},   /* __EMPTY__ */
    133    {0, 0, 0,  0},   /* __EMPTY__ */
    134    {0, 0, 0,  0},   /* __EMPTY__ */
    135    {0, 0, 0,  0},   /* __EMPTY__ */
    136    {0, 0, 0,  0},   /* __EMPTY__ */
    137    {0, 0, 0,  0},   /* __EMPTY__ */
    138    {0, 0, 0,  0},   /* __EMPTY__ */
    139    {0, 0, 0,  0},   /* __EMPTY__ */
    140    {0, 0, 0,  0},   /* __EMPTY__ */
    141    {0, 0, 0,  0},   /* __EMPTY__ */
    142    {0, 0, 0,  0},   /* __EMPTY__ */
    143    {0, 0, 0,  0},   /* __EMPTY__ */
    144    {0, 0, 0,  0},   /* __EMPTY__ */
    145    {0, 0, 0,  0},   /* __EMPTY__ */
    146    {0, 0, 0,  0},   /* __EMPTY__ */
    147    {0, 0, 0,  0},   /* __EMPTY__ */
    148    {0, 0, 0,  0},   /* __EMPTY__ */
    149    {0, 0, 0,  0},   /* __EMPTY__ */
    150    {0, 0, 0,  0},   /* __EMPTY__ */
    151    {0, 0, 0,  0},   /* __EMPTY__ */
    152    {0, 0, 0,  0},   /* __EMPTY__ */
    153    {0, 0, 0,  0},   /* __EMPTY__ */
    154    {0, 0, 0,  0},   /* __EMPTY__ */
    155    {0, 0, 0,  0},   /* __EMPTY__ */
    156    {0, 0, 0,  0},   /* __EMPTY__ */
    157    {0, 0, 0,  0},   /* __EMPTY__ */
    158    {0, 0, 0,  0},   /* __EMPTY__ */
    159    {0, 0, 0,  0},   /* __EMPTY__ */
    160    {0, 0, 0,  0},   /* __EMPTY__ */
    161    {0, 0, 0,  0},   /* __EMPTY__ */
    162    {0, 0, 0,  0},   /* __EMPTY__ */
    163    {1, 0, 1,  4},   /* Text Spacing */
    164    {1, 0, 1,  2},   /* Kana Spacing */
    165    {1, 0, 1,  2},   /* Ideographic Spacing */
    166    {1, 0, 1,  4},   /* CJK Roman Spacing */
    167  };
    168 
    169 
    170 #endif /* GXVFEAT_H_ */
    171 
    172 
    173 /* END */