/* ttfautohint-scripts.h */

/*
 * Copyright (C) 2013-2021 by Werner Lemberg.
 *
 * This file is part of the ttfautohint library, and may only be used,
 * modified, and distributed under the terms given in `COPYING'.  By
 * continuing to use, modify, or distribute this file you indicate that you
 * have read `COPYING' and understand and accept it fully.
 *
 * The file `COPYING' mentioned in the previous paragraph is distributed
 * with the ttfautohint library.
 */


/* originally file `afscript.h' (2013-Aug-05) from FreeType */


/* The following part can be included multiple times. */
/* Define `SCRIPT' as needed. */


/*
 * Add new scripts here.  The first and second arguments are the
 * script name in lowercase and uppercase, respectively, followed
 * by a description string.  Then comes the corresponding HarfBuzz
 * script name tag, followed by the default characters (to derive
 * the standard width of stems).
 *
 * Note that fallback scripts only have a default style, thus we
 * use `HB_SCRIPT_INVALID' as the HarfBuzz script name tag for
 * them.
 */

SCRIPT(adlm, ADLM,
       "Adlam",
       HB_SCRIPT_ADLAM,
       HINTING_BOTTOM_TO_TOP,
       "\xF0\x9E\xA4\x8C \xF0\x9E\xA4\xAE") /* 𞤌 𞤮 */

SCRIPT(arab, ARAB,
       "Arabic",
       HB_SCRIPT_ARABIC,
       HINTING_BOTTOM_TO_TOP,
       "\xD9\x84 \xD8\xAD \xD9\x80") /* ل ح ـ */

SCRIPT(armn, ARMN,
       "Armenian",
       HB_SCRIPT_ARMENIAN,
       HINTING_BOTTOM_TO_TOP,
       "\xD5\xBD \xD5\x8D") /* ս Ս */

SCRIPT(avst, AVST,
       "Avestan",
       HB_SCRIPT_AVESTAN,
       HINTING_BOTTOM_TO_TOP,
       "\xF0\x90\xAC\x9A") /* 𐬚 */

SCRIPT(bamu, BAMU,
       "Bamum",
       HB_SCRIPT_BAMUM,
       HINTING_BOTTOM_TO_TOP,
       "\xEA\x9B\x81 \xEA\x9B\xAF") /* ꛁ ꛯ */

/* there are no simple forms for letters; we thus use two digit shapes */
SCRIPT(beng, BENG,
       "Bengali",
       HB_SCRIPT_BENGALI,
       HINTING_TOP_TO_BOTTOM,
       "\xE0\xA7\xA6 \xE0\xA7\xAA") /* ০ ৪*/

SCRIPT(buhd, BUHD,
       "Buhid",
       HB_SCRIPT_BUHID,
       HINTING_BOTTOM_TO_TOP,
       "\xE1\x9D\x8B \xE1\x9D\x8F") /* ᝋ ᝏ */

SCRIPT(cakm, CAKM,
       "Chakma",
       HB_SCRIPT_CHAKMA,
       HINTING_BOTTOM_TO_TOP,
       "\xF0\x91\x84\xA4 \xF0\x91\x84\x89 \xF0\x91\x84\x9B") /* 𑄤 𑄉 𑄛 */

SCRIPT(cans, CANS,
       "Canadian Syllabics",
       HB_SCRIPT_CANADIAN_SYLLABICS,
       HINTING_BOTTOM_TO_TOP,
       "\xE1\x91\x8C \xE1\x93\x9A") /* ᑌ ᓚ */

SCRIPT(cari, CARI,
       "Carian",
       HB_SCRIPT_CARIAN,
       HINTING_BOTTOM_TO_TOP,
       "\xF0\x90\x8A\xAB \xF0\x90\x8B\x89") /* 𐊫 𐋉 */

SCRIPT(cher, CHER,
       "Cherokee",
       HB_SCRIPT_CHEROKEE,
       HINTING_BOTTOM_TO_TOP,
       "\xE1\x8E\xA4 \xE1\x8F\x85 \xEA\xAE\x95") /* Ꭴ Ꮕ ꮕ */

SCRIPT(copt, COPT,
       "Coptic",
       HB_SCRIPT_COPTIC,
       HINTING_BOTTOM_TO_TOP,
       "\xE2\xB2\x9E \xE2\xB2\x9F") /* Ⲟ ⲟ */

SCRIPT(cprt, CPRT,
       "Cypriot",
       HB_SCRIPT_CYPRIOT,
       HINTING_BOTTOM_TO_TOP,
       "\xF0\x90\xA0\x85 \xF0\x90\xA0\xA3") /* 𐠅 𐠣 */

SCRIPT(cyrl, CYRL,
       "Cyrillic",
       HB_SCRIPT_CYRILLIC,
       HINTING_BOTTOM_TO_TOP,
       "\xD0\xBE \xD0\x9E") /* о О */

SCRIPT(deva, DEVA,
       "Devanagari",
       HB_SCRIPT_DEVANAGARI,
       HINTING_TOP_TO_BOTTOM,
       "\xE0\xA4\xA0 \xE0\xA4\xB5 \xE0\xA4\x9F") /* ठ व ट */

SCRIPT(dsrt, DSRT,
       "Deseret",
       HB_SCRIPT_DESERET,
       HINTING_BOTTOM_TO_TOP,
       "\xF0\x90\x90\x84 \xF0\x90\x90\xAC") /* 𐐄 𐐬 */

SCRIPT(ethi, ETHI,
       "Ethiopic",
       HB_SCRIPT_ETHIOPIC,
       HINTING_BOTTOM_TO_TOP,
       "\xE1\x8B\x90") /* ዐ */

SCRIPT(geor, GEOR,
       "Georgian (Mkhedruli)",
       HB_SCRIPT_GEORGIAN,
       HINTING_BOTTOM_TO_TOP,
       "\xE1\x83\x98 \xE1\x83\x94 \xE1\x83\x90 \xE1\xB2\xBF") /* ი ე ა Ი */

SCRIPT(geok, GEOK,
       "Georgian (Khutsuri)",
       HB_SCRIPT_INVALID,
       HINTING_BOTTOM_TO_TOP,
       "\xE1\x82\xB6 \xE1\x82\xB1 \xE2\xB4\x99") /* Ⴖ Ⴑ ⴙ */

SCRIPT(glag, GLAG,
       "Glagolitic",
       HB_SCRIPT_GLAGOLITIC,
       HINTING_BOTTOM_TO_TOP,
       "\xE2\xB0\x95 \xE2\xB1\x85") /* Ⱅ ⱅ */

SCRIPT(goth, GOTH,
       "Gothic",
       HB_SCRIPT_GOTHIC,
       HINTING_TOP_TO_BOTTOM,
       "\xF0\x90\x8C\xB4 \xF0\x90\x8C\xBE \xF0\x90\x8D\x83") /* 𐌴 𐌾 𐍃 */

SCRIPT(grek, GREK,
       "Greek",
       HB_SCRIPT_GREEK,
       HINTING_BOTTOM_TO_TOP,
       "\xCE\xBF \xCE\x9F") /* ο Ο */

SCRIPT(gujr, GUJR,
       "Gujarati",
       HB_SCRIPT_GUJARATI,
       HINTING_BOTTOM_TO_TOP,
       "\xE0\xAA\x9F \xE0\xAB\xA6") /* ટ ૦ */

SCRIPT(guru, GURU,
       "Gurmukhi",
       HB_SCRIPT_GURMUKHI,
       HINTING_TOP_TO_BOTTOM,
       "\xE0\xA8\xA0 \xE0\xA8\xB0 \xE0\xA9\xA6") /* ਠ ਰ ੦*/

SCRIPT(hebr, HEBR,
       "Hebrew",
       HB_SCRIPT_HEBREW,
       HINTING_BOTTOM_TO_TOP,
       "\xD7\x9D") /* ם */

SCRIPT(hmnp, HMNP,
       "Nyiakeng Puachue Hmong",
       HB_SCRIPT_NYIAKENG_PUACHUE_HMONG,
       HINTING_BOTTOM_TO_TOP,
       "\xef\xbf\xbd") /* 𞄨 */

SCRIPT(kali, KALI,
       "Kayah Li",
       HB_SCRIPT_KAYAH_LI,
       HINTING_BOTTOM_TO_TOP,
       "\xEA\xA4\x8D \xEA\xA4\x80") /* ꤍ ꤀ */

/* only digit zero has a simple shape in the Khmer script */
SCRIPT(khmr, KHMR,
       "Khmer",
       HB_SCRIPT_KHMER,
       HINTING_BOTTOM_TO_TOP,
       "\xE1\x9F\xA0") /* ០ */

SCRIPT(khms, KHMS,
       "Khmer Symbols",
       HB_SCRIPT_INVALID,
       HINTING_BOTTOM_TO_TOP,
       "\xE1\xA7\xA1 \xE1\xA7\xAA") /* ᧡ ᧪ */

SCRIPT(knda, KNDA,
       "Kannada",
       HB_SCRIPT_KANNADA,
       HINTING_BOTTOM_TO_TOP,
       "\xE0\xB3\xA6 \xE0\xB2\xAC") /* ೦ ಬ */

/* only digit zero has a simple shape in the Lao script */
SCRIPT(lao, LAO,
       "Lao",
       HB_SCRIPT_LAO,
       HINTING_BOTTOM_TO_TOP,
       "\xE0\xBB\x90") /* ໐ */

SCRIPT(latn, LATN,
       "Latin",
       HB_SCRIPT_LATIN,
       HINTING_BOTTOM_TO_TOP,
       "o O 0")

SCRIPT(latb, LATB,
       "Latin Subscript Fallback",
       HB_SCRIPT_INVALID,
       HINTING_BOTTOM_TO_TOP,
       "\xE2\x82\x92 \xE2\x82\x80") /* ₒ ₀ */

SCRIPT(latp, LATP,
       "Latin Superscript Fallback",
       HB_SCRIPT_INVALID,
       HINTING_BOTTOM_TO_TOP,
       "\xE1\xB5\x92 \xE1\xB4\xBC \xE2\x81\xB0") /* ᵒ ᴼ ⁰ */

SCRIPT(lisu, LISU,
       "Lisu",
       HB_SCRIPT_LISU,
       HINTING_BOTTOM_TO_TOP,
       "\xEA\x93\xB3") /* ꓳ */

SCRIPT(mlym, MLYM,
       "Malayalam",
       HB_SCRIPT_MALAYALAM,
       HINTING_BOTTOM_TO_TOP,
       "\xE0\xB4\xA0 \xE0\xB4\xB1") /* ഠ റ */

SCRIPT(medf, MEDF,
       "Medefaidrin",
       HB_SCRIPT_MEDEFAIDRIN,
       HINTING_BOTTOM_TO_TOP,
       "\xF0\x96\xB9\xA1 \xF0\x96\xB9\x9B \xF0\x96\xB9\xAF") /* 𖹡 𖹛 𖹯 */

SCRIPT(mong, MONG,
       "Mongolian",
       HB_SCRIPT_MONGOLIAN,
       HINTING_TOP_TO_BOTTOM,
       "\xE1\xA1\x82 \xE1\xA0\xAA") /* ᡂ ᠪ */

SCRIPT(mymr, MYMR,
       "Myanmar",
       HB_SCRIPT_MYANMAR,
       HINTING_BOTTOM_TO_TOP,
       "\xE1\x80\x9D \xE1\x80\x84 \xE1\x80\x82") /* ဝ င ဂ */

SCRIPT(nkoo, NKOO,
       "N'Ko",
       HB_SCRIPT_NKO,
       HINTING_BOTTOM_TO_TOP,
       "\xDF\x8B \xDF\x80") /* ߋ ߀ */

SCRIPT(olck, OLCK,
       "Ol Chiki",
       HB_SCRIPT_OL_CHIKI,
       HINTING_BOTTOM_TO_TOP,
       "\xE1\xB1\x9B") /* ᱛ */

SCRIPT(orkh, ORKH,
       "Old Turkic",
       HB_SCRIPT_OLD_TURKIC,
       HINTING_BOTTOM_TO_TOP,
       "\xF0\x90\xB0\x97") /* 𐰗 */

SCRIPT(osge, OSGE,
       "Osage",
       HB_SCRIPT_OSAGE,
       HINTING_BOTTOM_TO_TOP,
       "\xF0\x90\x93\x82 \xF0\x90\x93\xAA") /* 𐓂 𐓪 */

SCRIPT(osma, OSMA,
       "Osmanya",
       HB_SCRIPT_OSMANYA,
       HINTING_BOTTOM_TO_TOP,
       "\xF0\x90\x92\x86 \xF0\x90\x92\xA0") /* 𐒆 𐒠 */

SCRIPT(rohg, ROHG,
       "Hanifi Rohingya",
       HB_SCRIPT_HANIFI_ROHINGYA,
       HINTING_BOTTOM_TO_TOP,
       "\xF0\x90\xB4\xB0") /* 𐴰 */

SCRIPT(saur, SAUR,
       "Saurashtra",
       HB_SCRIPT_SAURASHTRA,
       HINTING_BOTTOM_TO_TOP,
       "\xEA\xA2\x9D \xEA\xA3\x90") /* ꢝ ꣐ */

SCRIPT(shaw, SHAW,
       "Shavian",
       HB_SCRIPT_SHAVIAN,
       HINTING_BOTTOM_TO_TOP,
       "\xF0\x90\x91\xB4") /* 𐑴 */

SCRIPT(sinh, SINH,
       "Sinhala",
       HB_SCRIPT_SINHALA,
       HINTING_BOTTOM_TO_TOP,
       "\xE0\xB6\xA7") /* ට */

/* only digit zero has a simple (round) shape in the Sundanese script */
SCRIPT(sund, SUND,
       "Sundanese",
       HB_SCRIPT_SUNDANESE,
       HINTING_BOTTOM_TO_TOP,
       "\xE1\xAE\xB0") /* ᮰ */

/* only digit zero has a simple (round) shape in the Tamil script */
SCRIPT(taml, TAML,
       "Tamil",
       HB_SCRIPT_TAMIL,
       HINTING_BOTTOM_TO_TOP,
       "\xE0\xAF\xA6") /* ௦ */

SCRIPT(tavt, TAVT,
       "Tai Viet",
       HB_SCRIPT_TAI_VIET,
       HINTING_BOTTOM_TO_TOP,
       "\xEA\xAA\x92 \xEA\xAA\xAB") /* ꪒ ꪫ */

/* there are no simple forms for letters; we thus use two digit shapes */
SCRIPT(telu, TELU,
       "Telugu",
       HB_SCRIPT_TELUGU,
       HINTING_BOTTOM_TO_TOP,
       "\xE0\xB1\xA6 \xE0\xB1\xA7") /* ౦ ౧ */

SCRIPT(tfng, TFNG,
       "Tifinagh",
       HB_SCRIPT_TIFINAGH,
       HINTING_BOTTOM_TO_TOP,
       "\xE2\xB5\x94") /* ⵔ */

SCRIPT(thai, THAI,
       "Thai",
       HB_SCRIPT_THAI,
       HINTING_BOTTOM_TO_TOP,
       "\xE0\xB8\xB2 \xE0\xB9\x85 \xE0\xB9\x90") /* า ๅ ๐ */

SCRIPT(vaii, VAII,
       "Vai",
       HB_SCRIPT_VAI,
       HINTING_BOTTOM_TO_TOP,
       "\xEA\x98\x93 \xEA\x96\x9C \xEA\x96\xB4") /* ꘓ ꖜ ꖴ */

SCRIPT(yezi, YEZI,
       "Yezidi",
       HB_SCRIPT_YEZIDI,
       HINTING_BOTTOM_TO_TOP,
       "\xf0\x90\xba\x8b \xf0\x90\xba\xa6") /* 𐺋 𐺦 */

SCRIPT(none, NONE,
       "no script",
       HB_SCRIPT_INVALID,
       HINTING_BOTTOM_TO_TOP,
       "")

/* end of ttfautohint-scripts.h */
