NAME_IDS = {
    0: "Copyright Notice",
    1: "Family name",
    2: "Subfamily name",
    3: "Unique identifier",
    4: "Full font name",
    5: "Version string",
    6: "PostScript name",
    7: "Trademark",
    8: "Manufacturer Name",
    9: "Designer",
    10: "Description",
    11: "URL Vendor",
    12: "URL Designer",
    13: "License Description",
    14: "License Info URL",
    15: "Reserved",
    16: "Typographic Family",
    17: "Typographic Subfamily",
    18: "Compatible Full (Mac)",
    19: "Sample text",
    20: "PS CID font name",
    21: "WWS Family Name",
    22: "WWS Subfamily Name",
    23: "Light Background Palette",
    24: "Dark Background Palette",
    25: "Variations PSName Pref",
}

PLATFORMS = {
    0: "Unicode",
    1: "Macintosh",
    2: "ISO (deprecated)",
    3: "Windows",
    4: "Custom",
}

MAC_ENCODING_IDS = {
    0: "Roman",
    1: "Japanese",
    2: "Chinese (Traditional)",
    3: "Korean",
    4: "Arabic",
    5: "Hebrew",
    6: "Greek",
    7: "Russian",
    8: "RSymbol",
    9: "Devanagari",
    10: "Gurmukhi",
    11: "Gujarati",
    12: "Oriya",
    13: "Bengali",
    14: "Tamil",
    15: "Telugu",
    16: "Kannada",
    17: "Malayalam",
    18: "Sinhalese",
    19: "Burmese",
    20: "Khmer",
    21: "Thai",
    22: "Laotian",
    23: "Georgian",
    24: "Armenian",
    25: "Chinese (Simplified)",
    26: "Tibetan",
    27: "Mongolian",
    28: "Geez",
    29: "Slavic",
    30: "Vietnamese",
    31: "Sindhi",
    32: "Uninterpreted",
}

WINDOWS_ENCODING_IDS = {
    0: "Symbol",
    1: "Unicode",
    2: "ShiftJIS",
    3: "PRC",
    4: "Big5",
    5: "Wansung",
    6: "Johab",
    7: "Reserved",
    8: "Reserved",
    9: "Reserved",
    10: "UCS4",
}

EMBED_LEVEL_STRINGS = {
    0: "Installable embedding",
    2: "Restricted License embedding",
    4: "Preview & Print embedding",
    8: "Editable embedding",
}

MAX_FAMILY_NAME_LEN = 27
MAX_FULL_NAME_LEN = 31
MAX_POSTSCRIPT_NAME_LEN = 29

language_codes = """
MACINTOSH LANGUAGE CODES: af, am, ar, as, ay, az, az-arab, az-cyrl, be, bg, bn, bo, br, ca, cy, cz, da, de, dz, el, 
el-polyton, en, eo, es, eu, fa, fi, fo, fr, ga, gd, gl, gn, gu, gv, he, hi, hr, hu, hy, id, is, it, iu, ja, jv, ka, kk, 
kl, km, kn, ko, ks, ku, ky, la, lo, lt, lv, mg, mk, ml, mn, mn-cn, mo, mr, ms, ms-arab, mt, my, ne, nl, nl-be, nn, no, 
ny, om, or, pa, pl, ps, pt, qu, rn, ro, ru, rw, sa, sd, se, si, sk, sl, so, sq, sr, su, sv, sw, ta, te, tg, th, ti, tk, 
tl, to, tr, tt, ug, uk, ur, uz, vi, yi, zh, zh-hant 

WINDOWS LANGUAGE CODES: aeb, af, am, ar, ar-ae, ar-bh, ar-dz, ar-iq, ar-jo, ar-kw, ar-lb, ar-ly, ar-om, ar-qa, ar-sa, 
ar-sy, ar-ye, arn, ary, as, az, az-cyrl, ba, be, bg, bn, bn-in, bo, br, bs, bs-cyrl, ca, co, cs, cy, da, de, de-at, 
de-ch, de-li, de-lu, dsb, dv, el, en, en-029, en-au, en-bz, en-ca, en-gb, en-ie, en-in, en-jm, en-my, en-nz, en-ph, 
en-sg, en-tt, en-za, en-zw, es, es-ar, es-bo, es-cl, es-co, es-cr, es-do, es-ec, es-gt, es-hn, es-mx, es-ni, es-pa, 
es-pe, es-pr, es-py, es-sv, es-us, es-uy, es-ve, et, eu, fi, fil, fo, fr, fr-be, fr-ca, fr-ch, fr-lu, fr-mc, fy, ga,  
gl, gsw, gu, ha, he, hi, hr, hr-ba, hsb, hu, hy, id, ig, ii, is, it, it-ch, iu, iu-latn, ja, ka, kk, kl, km, kn, ko, 
kok, ky, lb, lo, lt, lv, mi, mk, ml, mn, mn-cn, moh, mr, ms, ms-bn, mt, nb, ne, nl, nl-be, nn, nso, oc, or, pa, pl, 
prs, ps, pt, pt-pt, qu, qu-bo, qu-ec, quc, rm, ro, ru, rw, sa, sah, se, se-fi, se-se, si, sk, sl, sma-no, smj, 
smj-no, smn, sms, sq, sr, sr-cyrl-ba, sr-latn, sr-latn-ba, sv, sv-fi, sw, syr, ta, te, tg, th, tk, tn, tr, tt, tzm, 
ug, uk, ur, uz, uz-cyrl, vi, wo, xh, yo, zh, zh-hk, zh-mo, zh-sg, zh-tw, zu
"""
