"Fossies" - the Fresh Open Source Software Archive

Member "SDL2_ttf-2.20.2/external/freetype/src/autofit/afscript.h" (25 May 2022, 11464 Bytes) of package /linux/misc/SDL2_ttf-2.20.2.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "afscript.h" see the Fossies "Dox" file reference documentation.

    1 /****************************************************************************
    2  *
    3  * afscript.h
    4  *
    5  *   Auto-fitter scripts (specification only).
    6  *
    7  * Copyright (C) 2013-2022 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 `SCRIPT' as needed.                         */
   21 
   22 
   23   /* Add new scripts here.  The first and second arguments are the    */
   24   /* script name in lowercase and uppercase, respectively, followed   */
   25   /* by a description string.  Then comes the corresponding HarfBuzz  */
   26   /* script name tag, followed by a string of standard characters (to */
   27   /* derive the standard width and height of stems).                  */
   28   /*                                                                  */
   29   /* Note that fallback scripts only have a default style, thus we    */
   30   /* use `HB_SCRIPT_INVALID' as the HarfBuzz script name tag for      */
   31   /* them.                                                            */
   32 
   33   SCRIPT( adlm, ADLM,
   34           "Adlam",
   35           HB_SCRIPT_ADLAM,
   36           HINTING_BOTTOM_TO_TOP,
   37           "\xF0\x9E\xA4\x8C \xF0\x9E\xA4\xAE" ) /* 𞤌 𞤮 */
   38 
   39   SCRIPT( arab, ARAB,
   40           "Arabic",
   41           HB_SCRIPT_ARABIC,
   42           HINTING_BOTTOM_TO_TOP,
   43           "\xD9\x84 \xD8\xAD \xD9\x80" ) /* ل ح ـ */
   44 
   45   SCRIPT( armn, ARMN,
   46           "Armenian",
   47           HB_SCRIPT_ARMENIAN,
   48           HINTING_BOTTOM_TO_TOP,
   49           "\xD5\xBD \xD5\x8D" ) /* ս Ս */
   50 
   51   SCRIPT( avst, AVST,
   52           "Avestan",
   53           HB_SCRIPT_AVESTAN,
   54           HINTING_BOTTOM_TO_TOP,
   55           "\xF0\x90\xAC\x9A" ) /* 𐬚 */
   56 
   57   SCRIPT( bamu, BAMU,
   58           "Bamum",
   59           HB_SCRIPT_BAMUM,
   60           HINTING_BOTTOM_TO_TOP,
   61           "\xEA\x9B\x81 \xEA\x9B\xAF" ) /* ꛁ ꛯ */
   62 
   63   /* there are no simple forms for letters; we thus use two digit shapes */
   64   SCRIPT( beng, BENG,
   65           "Bengali",
   66           HB_SCRIPT_BENGALI,
   67           HINTING_TOP_TO_BOTTOM,
   68           "\xE0\xA7\xA6 \xE0\xA7\xAA" ) /* ০ ৪ */
   69 
   70   SCRIPT( buhd, BUHD,
   71           "Buhid",
   72           HB_SCRIPT_BUHID,
   73           HINTING_BOTTOM_TO_TOP,
   74           "\xE1\x9D\x8B \xE1\x9D\x8F" ) /* ᝋ ᝏ */
   75 
   76   SCRIPT( cakm, CAKM,
   77           "Chakma",
   78           HB_SCRIPT_CHAKMA,
   79           HINTING_BOTTOM_TO_TOP,
   80           "\xF0\x91\x84\xA4 \xF0\x91\x84\x89 \xF0\x91\x84\x9B" ) /* 𑄤 𑄉 𑄛 */
   81 
   82   SCRIPT( cans, CANS,
   83           "Canadian Syllabics",
   84           HB_SCRIPT_CANADIAN_SYLLABICS,
   85           HINTING_BOTTOM_TO_TOP,
   86           "\xE1\x91\x8C \xE1\x93\x9A" ) /* ᑌ ᓚ */
   87 
   88   SCRIPT( cari, CARI,
   89           "Carian",
   90           HB_SCRIPT_CARIAN,
   91           HINTING_BOTTOM_TO_TOP,
   92           "\xF0\x90\x8A\xAB \xF0\x90\x8B\x89" ) /* 𐊫 𐋉 */
   93 
   94   SCRIPT( cher, CHER,
   95           "Cherokee",
   96           HB_SCRIPT_CHEROKEE,
   97           HINTING_BOTTOM_TO_TOP,
   98           "\xE1\x8E\xA4 \xE1\x8F\x85 \xEA\xAE\x95" ) /* Ꭴ Ꮕ ꮕ */
   99 
  100   SCRIPT( copt, COPT,
  101           "Coptic",
  102           HB_SCRIPT_COPTIC,
  103           HINTING_BOTTOM_TO_TOP,
  104           "\xE2\xB2\x9E \xE2\xB2\x9F" ) /* Ⲟ ⲟ */
  105 
  106   SCRIPT( cprt, CPRT,
  107           "Cypriot",
  108           HB_SCRIPT_CYPRIOT,
  109           HINTING_BOTTOM_TO_TOP,
  110           "\xF0\x90\xA0\x85 \xF0\x90\xA0\xA3" ) /* 𐠅 𐠣 */
  111 
  112   SCRIPT( cyrl, CYRL,
  113           "Cyrillic",
  114           HB_SCRIPT_CYRILLIC,
  115           HINTING_BOTTOM_TO_TOP,
  116           "\xD0\xBE \xD0\x9E" ) /* о О */
  117 
  118   SCRIPT( deva, DEVA,
  119           "Devanagari",
  120           HB_SCRIPT_DEVANAGARI,
  121           HINTING_TOP_TO_BOTTOM,
  122           "\xE0\xA4\xA0 \xE0\xA4\xB5 \xE0\xA4\x9F" ) /* ठ व ट */
  123 
  124   SCRIPT( dsrt, DSRT,
  125           "Deseret",
  126           HB_SCRIPT_DESERET,
  127           HINTING_BOTTOM_TO_TOP,
  128           "\xF0\x90\x90\x84 \xF0\x90\x90\xAC" ) /* 𐐄 𐐬 */
  129 
  130   SCRIPT( ethi, ETHI,
  131           "Ethiopic",
  132           HB_SCRIPT_ETHIOPIC,
  133           HINTING_BOTTOM_TO_TOP,
  134           "\xE1\x8B\x90" ) /* ዐ */
  135 
  136   SCRIPT( geor, GEOR,
  137           "Georgian (Mkhedruli)",
  138           HB_SCRIPT_GEORGIAN,
  139           HINTING_BOTTOM_TO_TOP,
  140           "\xE1\x83\x98 \xE1\x83\x94 \xE1\x83\x90 \xE1\xB2\xBF" ) /* ი ე ა Ი */
  141 
  142   SCRIPT( geok, GEOK,
  143           "Georgian (Khutsuri)",
  144           HB_SCRIPT_INVALID,
  145           HINTING_BOTTOM_TO_TOP,
  146           "\xE1\x82\xB6 \xE1\x82\xB1 \xE2\xB4\x99" ) /* Ⴖ Ⴑ ⴙ */
  147 
  148   SCRIPT( glag, GLAG,
  149           "Glagolitic",
  150           HB_SCRIPT_GLAGOLITIC,
  151           HINTING_BOTTOM_TO_TOP,
  152           "\xE2\xB0\x95 \xE2\xB1\x85" ) /* Ⱅ ⱅ */
  153 
  154   SCRIPT( goth, GOTH,
  155           "Gothic",
  156           HB_SCRIPT_GOTHIC,
  157           HINTING_TOP_TO_BOTTOM,
  158           "\xF0\x90\x8C\xB4 \xF0\x90\x8C\xBE \xF0\x90\x8D\x83" ) /* 𐌴 𐌾 𐍃 */
  159 
  160   SCRIPT( grek, GREK,
  161           "Greek",
  162           HB_SCRIPT_GREEK,
  163           HINTING_BOTTOM_TO_TOP,
  164           "\xCE\xBF \xCE\x9F" ) /* ο Ο */
  165 
  166   SCRIPT( gujr, GUJR,
  167           "Gujarati",
  168           HB_SCRIPT_GUJARATI,
  169           HINTING_BOTTOM_TO_TOP,
  170           "\xE0\xAA\x9F \xE0\xAB\xA6" ) /* ટ ૦ */
  171 
  172   SCRIPT( guru, GURU,
  173           "Gurmukhi",
  174           HB_SCRIPT_GURMUKHI,
  175           HINTING_TOP_TO_BOTTOM,
  176           "\xE0\xA8\xA0 \xE0\xA8\xB0 \xE0\xA9\xA6" ) /* ਠ ਰ ੦ */
  177 
  178   SCRIPT( hebr, HEBR,
  179           "Hebrew",
  180           HB_SCRIPT_HEBREW,
  181           HINTING_BOTTOM_TO_TOP,
  182           "\xD7\x9D" ) /* ם */
  183 
  184   SCRIPT( kali, KALI,
  185           "Kayah Li",
  186           HB_SCRIPT_KAYAH_LI,
  187           HINTING_BOTTOM_TO_TOP,
  188           "\xEA\xA4\x8D \xEA\xA4\x80" ) /* ꤍ ꤀ */
  189 
  190   /* only digit zero has a simple shape in the Khmer script */
  191   SCRIPT( khmr, KHMR,
  192           "Khmer",
  193           HB_SCRIPT_KHMER,
  194           HINTING_BOTTOM_TO_TOP,
  195           "\xE1\x9F\xA0" ) /* ០ */
  196 
  197   SCRIPT( khms, KHMS,
  198           "Khmer Symbols",
  199           HB_SCRIPT_INVALID,
  200           HINTING_BOTTOM_TO_TOP,
  201           "\xE1\xA7\xA1 \xE1\xA7\xAA" ) /* ᧡ ᧪ */
  202 
  203   SCRIPT( knda, KNDA,
  204           "Kannada",
  205           HB_SCRIPT_KANNADA,
  206           HINTING_BOTTOM_TO_TOP,
  207           "\xE0\xB3\xA6 \xE0\xB2\xAC" ) /* ೦ ಬ */
  208 
  209   /* only digit zero has a simple shape in the Lao script */
  210   SCRIPT( lao, LAO,
  211           "Lao",
  212           HB_SCRIPT_LAO,
  213           HINTING_BOTTOM_TO_TOP,
  214           "\xE0\xBB\x90" ) /* ໐ */
  215 
  216   SCRIPT( latn, LATN,
  217           "Latin",
  218           HB_SCRIPT_LATIN,
  219           HINTING_BOTTOM_TO_TOP,
  220           "o O 0" )
  221 
  222   SCRIPT( latb, LATB,
  223           "Latin Subscript Fallback",
  224           HB_SCRIPT_INVALID,
  225           HINTING_BOTTOM_TO_TOP,
  226           "\xE2\x82\x92 \xE2\x82\x80" ) /* ₒ ₀ */
  227 
  228   SCRIPT( latp, LATP,
  229           "Latin Superscript Fallback",
  230           HB_SCRIPT_INVALID,
  231           HINTING_BOTTOM_TO_TOP,
  232           "\xE1\xB5\x92 \xE1\xB4\xBC \xE2\x81\xB0" ) /* ᵒ ᴼ ⁰ */
  233 
  234   SCRIPT( lisu, LISU,
  235           "Lisu",
  236           HB_SCRIPT_LISU,
  237           HINTING_BOTTOM_TO_TOP,
  238           "\xEA\x93\xB3" ) /* ꓳ */
  239 
  240   SCRIPT( mlym, MLYM,
  241           "Malayalam",
  242           HB_SCRIPT_MALAYALAM,
  243           HINTING_BOTTOM_TO_TOP,
  244           "\xE0\xB4\xA0 \xE0\xB4\xB1" ) /* ഠ റ */
  245 
  246   SCRIPT( medf, MEDF,
  247           "Medefaidrin",
  248           HB_SCRIPT_MEDEFAIDRIN,
  249           HINTING_BOTTOM_TO_TOP,
  250           "\xF0\x96\xB9\xA1 \xF0\x96\xB9\x9B \xF0\x96\xB9\xAF" ) /* 𖹡 𖹛 𖹯 */
  251 
  252   SCRIPT( mong, MONG,
  253           "Mongolian",
  254           HB_SCRIPT_MONGOLIAN,
  255           HINTING_TOP_TO_BOTTOM,
  256           "\xE1\xA1\x82 \xE1\xA0\xAA" ) /* ᡂ ᠪ */
  257 
  258   SCRIPT( mymr, MYMR,
  259           "Myanmar",
  260           HB_SCRIPT_MYANMAR,
  261           HINTING_BOTTOM_TO_TOP,
  262           "\xE1\x80\x9D \xE1\x80\x84 \xE1\x80\x82" ) /* ဝ င ဂ */
  263 
  264   SCRIPT( nkoo, NKOO,
  265           "N'Ko",
  266           HB_SCRIPT_NKO,
  267           HINTING_BOTTOM_TO_TOP,
  268           "\xDF\x8B \xDF\x80" ) /* ߋ ߀ */
  269 
  270   SCRIPT( none, NONE,
  271           "no script",
  272           HB_SCRIPT_INVALID,
  273           HINTING_BOTTOM_TO_TOP,
  274           "" )
  275 
  276   SCRIPT( olck, OLCK,
  277           "Ol Chiki",
  278           HB_SCRIPT_OL_CHIKI,
  279           HINTING_BOTTOM_TO_TOP,
  280           "\xE1\xB1\x9B" ) /* ᱛ */
  281 
  282   SCRIPT( orkh, ORKH,
  283           "Old Turkic",
  284           HB_SCRIPT_OLD_TURKIC,
  285           HINTING_BOTTOM_TO_TOP,
  286           "\xF0\x90\xB0\x97" ) /* 𐰗 */
  287 
  288   SCRIPT( osge, OSGE,
  289           "Osage",
  290           HB_SCRIPT_OSAGE,
  291           HINTING_BOTTOM_TO_TOP,
  292           "\xF0\x90\x93\x82 \xF0\x90\x93\xAA" ) /* 𐓂 𐓪 */
  293 
  294   SCRIPT( osma, OSMA,
  295           "Osmanya",
  296           HB_SCRIPT_OSMANYA,
  297           HINTING_BOTTOM_TO_TOP,
  298           "\xF0\x90\x92\x86 \xF0\x90\x92\xA0" ) /* 𐒆 𐒠 */
  299 
  300   SCRIPT( rohg, ROHG,
  301           "Hanifi Rohingya",
  302           HB_SCRIPT_HANIFI_ROHINGYA,
  303           HINTING_BOTTOM_TO_TOP,
  304           "\xF0\x90\xB4\xB0" ) /* 𐴰 */
  305 
  306   SCRIPT( saur, SAUR,
  307           "Saurashtra",
  308           HB_SCRIPT_SAURASHTRA,
  309           HINTING_BOTTOM_TO_TOP,
  310           "\xEA\xA2\x9D \xEA\xA3\x90" ) /* ꢝ ꣐ */
  311 
  312   SCRIPT( shaw, SHAW,
  313           "Shavian",
  314           HB_SCRIPT_SHAVIAN,
  315           HINTING_BOTTOM_TO_TOP,
  316           "\xF0\x90\x91\xB4" ) /* 𐑴 */
  317 
  318   SCRIPT( sinh, SINH,
  319           "Sinhala",
  320           HB_SCRIPT_SINHALA,
  321           HINTING_BOTTOM_TO_TOP,
  322           "\xE0\xB6\xA7" ) /* ට */
  323 
  324   /* only digit zero has a simple (round) shape in the Sundanese script */
  325   SCRIPT( sund, SUND,
  326           "Sundanese",
  327           HB_SCRIPT_SUNDANESE,
  328           HINTING_BOTTOM_TO_TOP,
  329           "\xE1\xAE\xB0" ) /* ᮰ */
  330 
  331   /* only digit zero has a simple (round) shape in the Tamil script */
  332   SCRIPT( taml, TAML,
  333           "Tamil",
  334           HB_SCRIPT_TAMIL,
  335           HINTING_BOTTOM_TO_TOP,
  336           "\xE0\xAF\xA6" ) /* ௦ */
  337 
  338   SCRIPT( tavt, TAVT,
  339           "Tai Viet",
  340           HB_SCRIPT_TAI_VIET,
  341           HINTING_BOTTOM_TO_TOP,
  342           "\xEA\xAA\x92 \xEA\xAA\xAB" ) /* ꪒ ꪫ */
  343 
  344   /* there are no simple forms for letters; we thus use two digit shapes */
  345   SCRIPT( telu, TELU,
  346           "Telugu",
  347           HB_SCRIPT_TELUGU,
  348           HINTING_BOTTOM_TO_TOP,
  349           "\xE0\xB1\xA6 \xE0\xB1\xA7" ) /* ౦ ౧ */
  350 
  351   SCRIPT( tfng, TFNG,
  352           "Tifinagh",
  353           HB_SCRIPT_TIFINAGH,
  354           HINTING_BOTTOM_TO_TOP,
  355           "\xE2\xB5\x94" ) /* ⵔ */
  356 
  357   SCRIPT( thai, THAI,
  358           "Thai",
  359           HB_SCRIPT_THAI,
  360           HINTING_BOTTOM_TO_TOP,
  361           "\xE0\xB8\xB2 \xE0\xB9\x85 \xE0\xB9\x90" ) /* า ๅ ๐ */
  362 
  363   SCRIPT( vaii, VAII,
  364           "Vai",
  365           HB_SCRIPT_VAI,
  366           HINTING_BOTTOM_TO_TOP,
  367           "\xEA\x98\x93 \xEA\x96\x9C \xEA\x96\xB4" ) /* ꘓ ꖜ ꖴ */
  368 
  369 #ifdef AF_CONFIG_OPTION_INDIC
  370 
  371   SCRIPT( limb, LIMB,
  372           "Limbu",
  373           HB_SCRIPT_LIMBU,
  374           HINTING_BOTTOM_TO_TOP,
  375           "o" ) /* XXX */
  376 
  377   SCRIPT( orya, ORYA,
  378           "Oriya",
  379           HB_SCRIPT_ORIYA,
  380           HINTING_BOTTOM_TO_TOP,
  381           "o" ) /* XXX */
  382 
  383   SCRIPT( sylo, SYLO,
  384           "Syloti Nagri",
  385           HB_SCRIPT_SYLOTI_NAGRI,
  386           HINTING_BOTTOM_TO_TOP,
  387           "o" ) /* XXX */
  388 
  389   SCRIPT( tibt, TIBT,
  390           "Tibetan",
  391           HB_SCRIPT_TIBETAN,
  392           HINTING_BOTTOM_TO_TOP,
  393           "o" ) /* XXX */
  394 
  395 #endif /* AF_CONFIG_OPTION_INDIC */
  396 
  397 #ifdef AF_CONFIG_OPTION_CJK
  398 
  399   SCRIPT( hani, HANI,
  400           "CJKV ideographs",
  401           HB_SCRIPT_HAN,
  402           HINTING_BOTTOM_TO_TOP,
  403           "\xE7\x94\xB0 \xE5\x9B\x97" ) /* 田 囗 */
  404 
  405 #endif /* AF_CONFIG_OPTION_CJK */
  406 
  407 
  408 /* END */