misc/libfreetype/src/gxvalid/gxvfgen.c
author belphegorr <szabibibi@gmail.com>
Mon, 23 Jul 2012 19:15:59 +0300
changeset 7263 644eabbc9218
parent 5172 88f2e05288ba
permissions -rw-r--r--
Added a new function: AddNewEvent, which only adds an event to the list if it doesn't already exist. Kept the old one as it might me useful to be able to add an event more than once.
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 */