misc/libfreetype/src/gxvalid/gxvfgen.c
author unc0rr
Mon, 04 Feb 2013 00:13:55 +0400
changeset 8479 8d71109b04d2
parent 5172 88f2e05288ba
permissions -rw-r--r--
Some work on loading replay and interaction with checker
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5172
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     1
/***************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     2
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     3
/*  gxfgen.c                                                               */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     4
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     5
/*    Generate feature registry data for gxv `feat' validator.             */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     6
/*    This program is derived from gxfeatreg.c in gxlayout.                */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     7
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     8
/*  Copyright 2004, 2005, 2006 by Masatake YAMATO and Redhat K.K.          */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     9
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    10
/*  This file may only be used,                                            */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    11
/*  modified, and distributed under the terms of the FreeType project      */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    12
/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    13
/*  this file you indicate that you have read the license and              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    14
/*  understand and accept it fully.                                        */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    15
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    16
/***************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    17
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    18
/***************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    19
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    20
/*  gxfeatreg.c                                                            */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    21
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    22
/*    Database of font features pre-defined by Apple Computer, Inc.        */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    23
/*    http://developer.apple.com/fonts/Registry/                           */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    24
/*    (body).                                                              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    25
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    26
/*  Copyright 2003 by                                                      */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    27
/*  Masatake YAMATO and Redhat K.K.                                        */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    28
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    29
/*  This file may only be used,                                            */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    30
/*  modified, and distributed under the terms of the FreeType project      */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    31
/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    32
/*  this file you indicate that you have read the license and              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    33
/*  understand and accept it fully.                                        */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    34
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    35
/***************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    36
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    37
/***************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    38
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    39
/* Development of gxfeatreg.c is supported by                              */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    40
/* Information-technology Promotion Agency, Japan.                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    41
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    42
/***************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    43
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    44
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    45
/***************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    46
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    47
/* This file is compiled as a stand-alone executable.                      */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    48
/* This file is never compiled into `libfreetype2'.                        */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    49
/* The output of this file is used in `gxvfeat.c'.                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    50
/* ----------------------------------------------------------------------- */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    51
/* Compile: gcc `pkg-config --cflags freetype2` gxvfgen.c -o gxvfgen       */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    52
/* Run: ./gxvfgen > tmp.c                                                  */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    53
/*                                                                         */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    54
/***************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    55
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    56
  /*******************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    57
  /* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    58
  /*******************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    59
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    60
  /*
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    61
   * If you add a new setting to a feature, check the number of settings
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    62
   * in the feature.  If the number is greater than the value defined as
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    63
   * FEATREG_MAX_SETTING, update the value.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    64
   */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    65
#define FEATREG_MAX_SETTING  12
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    66
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    67
  /*******************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    68
  /* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    69
  /*******************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    70
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    71
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    72
#include <stdio.h>
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    73
#include <string.h>
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    74
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    75
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    76
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    77
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    78
  /*****                                                               *****/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    79
  /*****                      Data and Types                           *****/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    80
  /*****                                                               *****/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    81
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    82
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    83
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    84
#define APPLE_RESERVED         "Apple Reserved"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    85
#define APPLE_RESERVED_LENGTH  14
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    86
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    87
  typedef struct  GX_Feature_RegistryRec_
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    88
  {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    89
    const char*  feat_name;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    90
    char         exclusive;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    91
    char*        setting_name[FEATREG_MAX_SETTING];
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    92
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    93
  } GX_Feature_RegistryRec;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    94
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    95
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    96
#define EMPTYFEAT {0, 0, {NULL}}
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    97
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    98
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    99
  static GX_Feature_RegistryRec featreg_table[] = {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   100
    {                                       /* 0 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   101
      "All Typographic Features",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   102
      0,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   103
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   104
        "All Type Features",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   105
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   106
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   107
    }, {                                    /* 1 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   108
      "Ligatures",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   109
      0,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   110
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   111
        "Required Ligatures",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   112
        "Common Ligatures",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   113
        "Rare Ligatures",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   114
        "Logos",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   115
        "Rebus Pictures",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   116
        "Diphthong Ligatures",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   117
        "Squared Ligatures",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   118
        "Squared Ligatures, Abbreviated",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   119
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   120
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   121
    }, {                                    /* 2 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   122
      "Cursive Connection",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   123
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   124
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   125
        "Unconnected",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   126
        "Partially Connected",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   127
        "Cursive",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   128
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   129
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   130
    }, {                                    /* 3 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   131
      "Letter Case",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   132
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   133
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   134
        "Upper & Lower Case",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   135
        "All Caps",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   136
        "All Lower Case",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   137
        "Small Caps",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   138
        "Initial Caps",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   139
        "Initial Caps & Small Caps",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   140
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   141
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   142
    }, {                                    /* 4 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   143
      "Vertical Substitution",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   144
      0,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   145
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   146
        /* "Substitute Vertical Forms", */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   147
        "Turns on the feature",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   148
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   149
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   150
    }, {                                    /* 5 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   151
      "Linguistic Rearrangement",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   152
      0,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   153
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   154
        /* "Linguistic Rearrangement", */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   155
        "Turns on the feature",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   156
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   157
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   158
    }, {                                    /* 6 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   159
      "Number Spacing",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   160
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   161
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   162
        "Monospaced Numbers",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   163
        "Proportional Numbers",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   164
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   165
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   166
    }, {                                    /* 7 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   167
      APPLE_RESERVED " 1",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   168
      0,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   169
      {NULL}
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   170
    }, {                                    /* 8 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   171
      "Smart Swashes",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   172
      0,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   173
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   174
        "Word Initial Swashes",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   175
        "Word Final Swashes",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   176
        "Line Initial Swashes",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   177
        "Line Final Swashes",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   178
        "Non-Final Swashes",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   179
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   180
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   181
    }, {                                    /* 9 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   182
      "Diacritics",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   183
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   184
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   185
        "Show Diacritics",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   186
        "Hide Diacritics",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   187
        "Decompose Diacritics",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   188
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   189
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   190
    }, {                                    /* 10 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   191
      "Vertical Position",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   192
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   193
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   194
        /* "Normal Position", */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   195
        "No Vertical Position",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   196
        "Superiors",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   197
        "Inferiors",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   198
        "Ordinals",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   199
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   200
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   201
    }, {                                    /* 11 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   202
      "Fractions",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   203
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   204
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   205
        "No Fractions",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   206
        "Vertical Fractions",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   207
        "Diagonal Fractions",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   208
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   209
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   210
    }, {                                    /* 12 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   211
      APPLE_RESERVED " 2",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   212
      0,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   213
      {NULL}
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   214
    }, {                                    /* 13 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   215
      "Overlapping Characters",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   216
      0,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   217
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   218
        /* "Prevent Overlap", */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   219
        "Turns on the feature",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   220
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   221
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   222
    }, {                                    /* 14 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   223
      "Typographic Extras",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   224
      0,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   225
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   226
        "Hyphens to Em Dash",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   227
        "Hyphens to En Dash",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   228
        "Unslashed Zero",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   229
        "Form Interrobang",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   230
        "Smart Quotes",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   231
        "Periods to Ellipsis",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   232
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   233
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   234
    }, {                                    /* 15 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   235
      "Mathematical Extras",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   236
      0,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   237
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   238
        "Hyphens to Minus",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   239
        "Asterisk to Multiply",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   240
        "Slash to Divide",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   241
        "Inequality Ligatures",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   242
        "Exponents",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   243
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   244
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   245
    }, {                                    /* 16 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   246
      "Ornament Sets",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   247
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   248
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   249
        "No Ornaments",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   250
        "Dingbats",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   251
        "Pi Characters",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   252
        "Fleurons",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   253
        "Decorative Borders",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   254
        "International Symbols",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   255
        "Math Symbols",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   256
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   257
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   258
    }, {                                    /* 17 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   259
      "Character Alternatives",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   260
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   261
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   262
        "No Alternates",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   263
        /* TODO */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   264
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   265
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   266
    }, {                                    /* 18 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   267
      "Design Complexity",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   268
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   269
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   270
        "Design Level 1",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   271
        "Design Level 2",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   272
        "Design Level 3",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   273
        "Design Level 4",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   274
        "Design Level 5",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   275
        /* TODO */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   276
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   277
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   278
    }, {                                    /* 19 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   279
      "Style Options",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   280
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   281
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   282
        "No Style Options",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   283
        "Display Text",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   284
        "Engraved Text",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   285
        "Illuminated Caps",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   286
        "Tilling Caps",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   287
        "Tall Caps",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   288
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   289
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   290
    }, {                                    /* 20 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   291
      "Character Shape",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   292
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   293
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   294
        "Traditional Characters",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   295
        "Simplified Characters",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   296
        "JIS 1978 Characters",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   297
        "JIS 1983 Characters",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   298
        "JIS 1990 Characters",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   299
        "Traditional Characters, Alternative Set 1",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   300
        "Traditional Characters, Alternative Set 2",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   301
        "Traditional Characters, Alternative Set 3",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   302
        "Traditional Characters, Alternative Set 4",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   303
        "Traditional Characters, Alternative Set 5",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   304
        "Expert Characters",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   305
        NULL                           /* count => 12 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   306
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   307
    }, {                                    /* 21 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   308
      "Number Case",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   309
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   310
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   311
        "Lower Case Numbers",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   312
        "Upper Case Numbers",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   313
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   314
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   315
    }, {                                    /* 22 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   316
      "Text Spacing",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   317
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   318
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   319
        "Proportional",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   320
        "Monospaced",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   321
        "Half-width",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   322
        "Normal",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   323
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   324
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   325
    }, /* Here after Newer */  { /* 23 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   326
      "Transliteration",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   327
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   328
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   329
        "No Transliteration",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   330
        "Hanja To Hangul",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   331
        "Hiragana to Katakana",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   332
        "Katakana to Hiragana",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   333
        "Kana to Romanization",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   334
        "Romanization to Hiragana",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   335
        "Romanization to Katakana",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   336
        "Hanja to Hangul, Alternative Set 1",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   337
        "Hanja to Hangul, Alternative Set 2",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   338
        "Hanja to Hangul, Alternative Set 3",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   339
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   340
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   341
    }, {                                    /* 24 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   342
      "Annotation",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   343
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   344
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   345
        "No Annotation",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   346
        "Box Annotation",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   347
        "Rounded Box Annotation",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   348
        "Circle Annotation",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   349
        "Inverted Circle Annotation",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   350
        "Parenthesis Annotation",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   351
        "Period Annotation",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   352
        "Roman Numeral Annotation",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   353
        "Diamond Annotation",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   354
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   355
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   356
    }, {                                    /* 25 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   357
      "Kana Spacing",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   358
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   359
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   360
        "Full Width",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   361
        "Proportional",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   362
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   363
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   364
    }, {                                    /* 26 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   365
      "Ideographic Spacing",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   366
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   367
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   368
        "Full Width",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   369
        "Proportional",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   370
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   371
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   372
    }, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT,         /* 27-30 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   373
    EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, /* 31-35 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   374
    EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, /* 36-40 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   375
    EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, /* 40-45 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   376
    EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, /* 46-50 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   377
    EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, /* 51-55 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   378
    EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, /* 56-60 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   379
    EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, /* 61-65 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   380
    EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, /* 66-70 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   381
    EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, /* 71-75 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   382
    EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, /* 76-80 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   383
    EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, /* 81-85 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   384
    EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, /* 86-90 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   385
    EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, EMPTYFEAT, /* 91-95 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   386
    EMPTYFEAT, EMPTYFEAT, EMPTYFEAT,                       /* 96-98 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   387
    EMPTYFEAT, /* 99 */ {                   /* 100 => 22 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   388
      "Text Spacing",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   389
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   390
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   391
        "Proportional",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   392
        "Monospaced",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   393
        "Half-width",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   394
        "Normal",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   395
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   396
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   397
    }, {                                    /* 101 => 25 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   398
      "Kana Spacing",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   399
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   400
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   401
        "Full Width",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   402
        "Proportional",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   403
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   404
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   405
    }, {                                    /* 102 => 26 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   406
      "Ideographic Spacing",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   407
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   408
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   409
        "Full Width",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   410
        "Proportional",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   411
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   412
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   413
    }, {                                    /* 103 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   414
      "CJK Roman Spacing",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   415
      1,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   416
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   417
        "Half-width",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   418
        "Proportional",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   419
        "Default Roman",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   420
        "Full-width Roman",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   421
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   422
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   423
    }, {                                    /* 104 => 1 */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   424
      "All Typographic Features",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   425
      0,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   426
      {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   427
        "All Type Features",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   428
        NULL
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   429
      }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   430
    }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   431
  };
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   432
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   433
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   434
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   435
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   436
  /*****                                                               *****/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   437
  /*****                         Generator                             *****/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   438
  /*****                                                               *****/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   439
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   440
  /*************************************************************************/
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   441
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   442
  int
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   443
  main( void )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   444
  {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   445
    int  i;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   446
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   447
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   448
    printf( "  {\n" );
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   449
    printf( "   /* Generated from %s */\n", __FILE__ );
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   450
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   451
    for ( i = 0;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   452
          i < sizeof ( featreg_table ) / sizeof ( GX_Feature_RegistryRec );
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   453
          i++ )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   454
    {
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   455
      const char*  feat_name;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   456
      int          nSettings;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   457
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   458
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   459
      feat_name = featreg_table[i].feat_name;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   460
      for ( nSettings = 0;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   461
            featreg_table[i].setting_name[nSettings];
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   462
            nSettings++)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   463
        ;                                   /* Do nothing */
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   464
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   465
      printf( "    {%1d, %1d, %1d, %2d},   /* %s */\n",
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   466
              feat_name ? 1 : 0,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   467
              ( feat_name                                                  &&
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   468
                ( ft_strncmp( feat_name,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   469
                              APPLE_RESERVED, APPLE_RESERVED_LENGTH ) == 0 )
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   470
              ) ? 1 : 0,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   471
              featreg_table[i].exclusive ? 1 : 0,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   472
              nSettings,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   473
              feat_name ? feat_name : "__EMPTY__" );
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   474
    }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   475
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   476
    printf( "  };\n" );
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   477
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   478
    return 0;
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   479
  }
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   480
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   481
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   482
/* END */