Home | History | Annotate | Download | only in autofit
      1 /***************************************************************************/
      2 /*                                                                         */
      3 /*  afstyles.h                                                             */
      4 /*                                                                         */
      5 /*    Auto-fitter styles (specification only).                             */
      6 /*                                                                         */
      7 /*  Copyright 2013-2016 by                                                 */
      8 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
      9 /*                                                                         */
     10 /*  This file is part of the FreeType project, and may only be used,       */
     11 /*  modified, and distributed under the terms of the FreeType project      */
     12 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
     13 /*  this file you indicate that you have read the license and              */
     14 /*  understand and accept it fully.                                        */
     15 /*                                                                         */
     16 /***************************************************************************/
     17 
     18 
     19   /* The following part can be included multiple times. */
     20   /* Define `STYLE' as needed.                          */
     21 
     22 
     23   /* Add new styles here.  The first and second arguments are the  */
     24   /* style name in lowercase and uppercase, respectively, followed */
     25   /* by a description string.  The next arguments are the          */
     26   /* corresponding writing system, script, blue stringset, and     */
     27   /* coverage.                                                     */
     28   /*                                                               */
     29   /* Note that styles using `AF_COVERAGE_DEFAULT' should always    */
     30   /* come after styles with other coverages.  Also note that       */
     31   /* fallback scripts only use `AF_COVERAGE_DEFAULT' for its       */
     32   /* style.                                                        */
     33   /*                                                               */
     34   /* Example:                                                      */
     35   /*                                                               */
     36   /*   STYLE( cyrl_dflt, CYRL_DFLT,                                */
     37   /*          "Cyrillic default style",                            */
     38   /*          AF_WRITING_SYSTEM_LATIN,                             */
     39   /*          AF_SCRIPT_CYRL,                                      */
     40   /*          AF_BLUE_STRINGSET_CYRL,                              */
     41   /*          AF_COVERAGE_DEFAULT )                                */
     42 
     43 #undef  STYLE_LATIN
     44 #define STYLE_LATIN( s, S, f, F, ds, df, C ) \
     45           STYLE( s ## _ ## f, S ## _ ## F,   \
     46                  ds " " df " style",         \
     47                  AF_WRITING_SYSTEM_LATIN,    \
     48                  AF_SCRIPT_ ## S,            \
     49                  AF_BLUE_STRINGSET_ ## S,    \
     50                  AF_COVERAGE_ ## C )
     51 
     52 #undef  META_STYLE_LATIN
     53 #define META_STYLE_LATIN( s, S, ds )                     \
     54           STYLE_LATIN( s, S, c2cp, C2CP, ds,             \
     55                        "petite capitals from capitals", \
     56                        PETITE_CAPITALS_FROM_CAPITALS )   \
     57           STYLE_LATIN( s, S, c2sc, C2SC, ds,             \
     58                        "small capitals from capitals",  \
     59                        SMALL_CAPITALS_FROM_CAPITALS )    \
     60           STYLE_LATIN( s, S, ordn, ORDN, ds,             \
     61                        "ordinals",                       \
     62                        ORDINALS )                        \
     63           STYLE_LATIN( s, S, pcap, PCAP, ds,             \
     64                        "petite capitals",                \
     65                        PETITE_CAPITALS )                 \
     66           STYLE_LATIN( s, S, sinf, SINF, ds,             \
     67                        "scientific inferiors",           \
     68                        SCIENTIFIC_INFERIORS )            \
     69           STYLE_LATIN( s, S, smcp, SMCP, ds,             \
     70                        "small capitals",                 \
     71                        SMALL_CAPITALS )                  \
     72           STYLE_LATIN( s, S, subs, SUBS, ds,             \
     73                        "subscript",                      \
     74                        SUBSCRIPT )                       \
     75           STYLE_LATIN( s, S, sups, SUPS, ds,             \
     76                        "superscript",                    \
     77                        SUPERSCRIPT )                     \
     78           STYLE_LATIN( s, S, titl, TITL, ds,             \
     79                        "titling",                        \
     80                        TITLING )                         \
     81           STYLE_LATIN( s, S, dflt, DFLT, ds,             \
     82                        "default",                        \
     83                        DEFAULT )
     84 
     85 
     86   STYLE( arab_dflt, ARAB_DFLT,
     87          "Arabic default style",
     88          AF_WRITING_SYSTEM_LATIN,
     89          AF_SCRIPT_ARAB,
     90          AF_BLUE_STRINGSET_ARAB,
     91          AF_COVERAGE_DEFAULT )
     92 
     93   STYLE( armn_dflt, ARMN_DFLT,
     94          "Armenian default style",
     95          AF_WRITING_SYSTEM_LATIN,
     96          AF_SCRIPT_ARMN,
     97          AF_BLUE_STRINGSET_ARMN,
     98          AF_COVERAGE_DEFAULT )
     99 
    100   STYLE( beng_dflt, BENG_DFLT,
    101          "Bengali default style",
    102          AF_WRITING_SYSTEM_LATIN,
    103          AF_SCRIPT_BENG,
    104          AF_BLUE_STRINGSET_BENG,
    105          AF_COVERAGE_DEFAULT )
    106 
    107   STYLE( cher_dflt, CHER_DFLT,
    108          "Cherokee default style",
    109          AF_WRITING_SYSTEM_LATIN,
    110          AF_SCRIPT_CHER,
    111          AF_BLUE_STRINGSET_CHER,
    112          AF_COVERAGE_DEFAULT )
    113 
    114   META_STYLE_LATIN( cyrl, CYRL, "Cyrillic" )
    115 
    116   STYLE( deva_dflt, DEVA_DFLT,
    117          "Devanagari default style",
    118          AF_WRITING_SYSTEM_LATIN,
    119          AF_SCRIPT_DEVA,
    120          AF_BLUE_STRINGSET_DEVA,
    121          AF_COVERAGE_DEFAULT )
    122 
    123   STYLE( ethi_dflt, ETHI_DFLT,
    124          "Ethiopic default style",
    125          AF_WRITING_SYSTEM_LATIN,
    126          AF_SCRIPT_ETHI,
    127          AF_BLUE_STRINGSET_ETHI,
    128          AF_COVERAGE_DEFAULT )
    129 
    130   STYLE( geor_dflt, GEOR_DFLT,
    131          "Georgian (Mkhedruli) default style",
    132          AF_WRITING_SYSTEM_LATIN,
    133          AF_SCRIPT_GEOR,
    134          AF_BLUE_STRINGSET_GEOR,
    135          AF_COVERAGE_DEFAULT )
    136 
    137   STYLE( geok_dflt, GEOK_DFLT,
    138          "Georgian (Khutsuri) default style",
    139          AF_WRITING_SYSTEM_LATIN,
    140          AF_SCRIPT_GEOK,
    141          AF_BLUE_STRINGSET_GEOK,
    142          AF_COVERAGE_DEFAULT )
    143 
    144   META_STYLE_LATIN( grek, GREK, "Greek" )
    145 
    146   STYLE( gujr_dflt, GUJR_DFLT,
    147          "Gujarati default style",
    148          AF_WRITING_SYSTEM_LATIN,
    149          AF_SCRIPT_GUJR,
    150          AF_BLUE_STRINGSET_GUJR,
    151          AF_COVERAGE_DEFAULT )
    152 
    153   STYLE( guru_dflt, GURU_DFLT,
    154          "Gurmukhi default style",
    155          AF_WRITING_SYSTEM_LATIN,
    156          AF_SCRIPT_GURU,
    157          AF_BLUE_STRINGSET_GURU,
    158          AF_COVERAGE_DEFAULT )
    159 
    160   STYLE( hebr_dflt, HEBR_DFLT,
    161          "Hebrew default style",
    162          AF_WRITING_SYSTEM_LATIN,
    163          AF_SCRIPT_HEBR,
    164          AF_BLUE_STRINGSET_HEBR,
    165          AF_COVERAGE_DEFAULT )
    166 
    167   STYLE( knda_dflt, KNDA_DFLT,
    168          "Kannada default style",
    169          AF_WRITING_SYSTEM_LATIN,
    170          AF_SCRIPT_KNDA,
    171          AF_BLUE_STRINGSET_KNDA,
    172          AF_COVERAGE_DEFAULT )
    173 
    174   STYLE( khmr_dflt, KHMR_DFLT,
    175          "Khmer default style",
    176          AF_WRITING_SYSTEM_LATIN,
    177          AF_SCRIPT_KHMR,
    178          AF_BLUE_STRINGSET_KHMR,
    179          AF_COVERAGE_DEFAULT )
    180 
    181   STYLE( khms_dflt, KHMS_DFLT,
    182          "Khmer Symbols default style",
    183          AF_WRITING_SYSTEM_LATIN,
    184          AF_SCRIPT_KHMS,
    185          AF_BLUE_STRINGSET_KHMS,
    186          AF_COVERAGE_DEFAULT )
    187 
    188   STYLE( lao_dflt, LAO_DFLT,
    189          "Lao default style",
    190          AF_WRITING_SYSTEM_LATIN,
    191          AF_SCRIPT_LAO,
    192          AF_BLUE_STRINGSET_LAO,
    193          AF_COVERAGE_DEFAULT )
    194 
    195   META_STYLE_LATIN( latn, LATN, "Latin" )
    196 
    197   STYLE( latb_dflt, LATB_DFLT,
    198          "Latin subscript fallback default style",
    199          AF_WRITING_SYSTEM_LATIN,
    200          AF_SCRIPT_LATB,
    201          AF_BLUE_STRINGSET_LATB,
    202          AF_COVERAGE_DEFAULT )
    203 
    204   STYLE( latp_dflt, LATP_DFLT,
    205          "Latin superscript fallback default style",
    206          AF_WRITING_SYSTEM_LATIN,
    207          AF_SCRIPT_LATP,
    208          AF_BLUE_STRINGSET_LATP,
    209          AF_COVERAGE_DEFAULT )
    210 
    211 #ifdef FT_OPTION_AUTOFIT2
    212   STYLE( ltn2_dflt, LTN2_DFLT,
    213          "Latin 2 default style",
    214          AF_WRITING_SYSTEM_LATIN2,
    215          AF_SCRIPT_LATN,
    216          AF_BLUE_STRINGSET_LATN,
    217          AF_COVERAGE_DEFAULT )
    218 #endif
    219 
    220   STYLE( mlym_dflt, MLYM_DFLT,
    221          "Malayalam default style",
    222          AF_WRITING_SYSTEM_LATIN,
    223          AF_SCRIPT_MLYM,
    224          AF_BLUE_STRINGSET_MLYM,
    225          AF_COVERAGE_DEFAULT )
    226 
    227   STYLE( mymr_dflt, MYMR_DFLT,
    228          "Myanmar default style",
    229          AF_WRITING_SYSTEM_LATIN,
    230          AF_SCRIPT_MYMR,
    231          AF_BLUE_STRINGSET_MYMR,
    232          AF_COVERAGE_DEFAULT )
    233 
    234   STYLE( none_dflt, NONE_DFLT,
    235          "no style",
    236          AF_WRITING_SYSTEM_DUMMY,
    237          AF_SCRIPT_NONE,
    238          AF_BLUE_STRINGSET_NONE,
    239          AF_COVERAGE_DEFAULT )
    240 
    241   STYLE( sinh_dflt, SINH_DFLT,
    242          "Sinhala default style",
    243          AF_WRITING_SYSTEM_LATIN,
    244          AF_SCRIPT_SINH,
    245          AF_BLUE_STRINGSET_SINH,
    246          AF_COVERAGE_DEFAULT )
    247 
    248   STYLE( taml_dflt, TAML_DFLT,
    249          "Tamil default style",
    250          AF_WRITING_SYSTEM_LATIN,
    251          AF_SCRIPT_TAML,
    252          AF_BLUE_STRINGSET_TAML,
    253          AF_COVERAGE_DEFAULT )
    254 
    255   STYLE( telu_dflt, TELU_DFLT,
    256          "Telugu default style",
    257          AF_WRITING_SYSTEM_LATIN,
    258          AF_SCRIPT_TELU,
    259          AF_BLUE_STRINGSET_TELU,
    260          AF_COVERAGE_DEFAULT )
    261 
    262   STYLE( thai_dflt, THAI_DFLT,
    263          "Thai default style",
    264          AF_WRITING_SYSTEM_LATIN,
    265          AF_SCRIPT_THAI,
    266          AF_BLUE_STRINGSET_THAI,
    267          AF_COVERAGE_DEFAULT )
    268 
    269 #ifdef AF_CONFIG_OPTION_INDIC
    270 
    271   /* no blue stringset support for the Indic writing system yet */
    272 #undef  STYLE_DEFAULT_INDIC
    273 #define STYLE_DEFAULT_INDIC( s, S, d )    \
    274           STYLE( s ## _dflt, S ## _DFLT,  \
    275                  d " default style",      \
    276                  AF_WRITING_SYSTEM_INDIC, \
    277                  AF_SCRIPT_ ## S,         \
    278                  (AF_Blue_Stringset)0,    \
    279                  AF_COVERAGE_DEFAULT )
    280 
    281   STYLE_DEFAULT_INDIC( limb, LIMB, "Limbu" )
    282   STYLE_DEFAULT_INDIC( orya, ORYA, "Oriya" )
    283   STYLE_DEFAULT_INDIC( sund, SUND, "Sundanese" )
    284   STYLE_DEFAULT_INDIC( sylo, SYLO, "Syloti Nagri" )
    285   STYLE_DEFAULT_INDIC( tibt, TIBT, "Tibetan" )
    286 
    287 #endif /* AF_CONFIG_OPTION_INDIC */
    288 
    289 #ifdef AF_CONFIG_OPTION_CJK
    290 
    291   STYLE( hani_dflt, HANI_DFLT,
    292          "CJKV ideographs default style",
    293          AF_WRITING_SYSTEM_CJK,
    294          AF_SCRIPT_HANI,
    295          AF_BLUE_STRINGSET_HANI,
    296          AF_COVERAGE_DEFAULT )
    297 
    298 #endif /* AF_CONFIG_OPTION_CJK */
    299 
    300 
    301 /* END */
    302