Constants
BLUE_ACTIVE = (1_u8 << 0)
AF_LATIN_BLUE_* (aflatin.h)
BLUE_ADJUSTMENT = (1_u8 << 4)
BLUE_NEUTRAL = (1_u8 << 3)
BLUE_PROPERTY_CJK_HORIZ = 2_u8
BLUE_PROPERTY_CJK_TOP = 1_u8
AF_BLUE_PROPERTY_CJK_* (afblue.h); CJK_TOP == BLUE_PROPERTY_LATIN_TOP
BLUE_PROPERTY_LATIN_LONG = 16_u8
BLUE_PROPERTY_LATIN_NEUTRAL = 4_u8
BLUE_PROPERTY_LATIN_SUB_TOP = 2_u8
BLUE_PROPERTY_LATIN_TOP = 1_u8
af_blue_stringset properties (afblue.h)
BLUE_PROPERTY_LATIN_X_HEIGHT = 8_u8
BLUE_STRINGS = {0 => "𞤌 𞤅 𞤈 𞤏 𞤔 𞤚", 30 => "𞤂 𞤖", 40 => "𞤬 𞤮 𞤻 𞤼 𞤾", 65 => "𞤤 𞤨 𞤩 𞤭 𞤴 𞤸 𞤺 𞥀", 105 => "ا إ ل ك ط ظ", 123 => "ت ث ط ظ ك", 138 => "ـ", 141 => "Ա Մ Ւ Ս Բ Գ Դ Օ", 165 => "Ւ Ո Դ Ճ Շ Ս Տ Օ", 189 => "ե է ի մ վ ֆ ճ", 210 => "ա յ ւ ս գ շ ր օ", 234 => "հ ո ճ ա ե ծ ս օ", 258 => "բ ը ի լ ղ պ փ ց", 282 => "𐬀 𐬁 𐬐 𐬛", 302 => "𐬀 𐬁", 312 => "ꚧ ꚨ ꛛ ꛉ ꛁ ꛈ ꛫ ꛯ", 344 => "ꚭ ꚳ ꚶ ꛬ ꚢ ꚽ ꛯ ꛲", 376 => "অ ড ত ন ব ভ ল ক", 408 => "ই ট ঠ ি ী ৈ ৗ", 436 => "ও এ ড ত ন ব ল ক", 468 => "ᝐ ᝈ", 476 => "ᝅ ᝊ ᝎ", 488 => "ᝂ ᝃ ᝉ ᝌ", 504 => "ᝀ ᝃ ᝆ ᝉ ᝋ ᝏ ᝑ", 532 => "ᗜ ᖴ ᐁ ᒣ ᑫ ᑎ ᔑ ᗰ", 564 => "ᗶ ᖵ ᒧ ᐃ ᑌ ᒍ ᔑ ᗢ", 596 => "ᓓ ᓕ ᓀ ᓂ ᓄ ᕄ ᕆ ᘣ", 628 => "ᕃ ᓂ ᓀ ᕂ ᓗ ᓚ ᕆ ᘣ", 660 => "ᐪ ᙆ ᣘ ᐢ ᒾ ᣗ ᔆ", 688 => "ᙆ ᗮ ᒻ ᐞ ᔆ ᒡ ᒢ ᓑ", 720 => "𐊧 𐊫 𐊬 𐊭 𐊱 𐊺 𐊼 𐊿", 760 => "𐊣 𐊧 𐊷 𐋀 𐊫 𐊸 𐋉", 795 => "𑄃 𑄅 𑄉 𑄙 𑄗", 820 => "𑄅 𑄛 𑄝 𑄗 𑄓", 845 => "𑄖𑄳𑄢 𑄘𑄳𑄢 𑄙𑄳𑄢 𑄤𑄳𑄢 𑄥𑄳𑄢", 910 => "Ꮖ Ꮋ Ꭼ Ꮓ Ꭴ Ꮳ Ꭶ Ꮥ", 942 => "ꮒ ꮤ ꮶ ꭴ ꭾ ꮗ ꮝ ꮿ", 974 => "ꮖ ꭼ ꮓ ꮠ ꮳ ꭶ ꮥ ꮻ", 1006 => "ᏸ ꮐ ꭹ ꭻ", 1022 => "Ⲍ Ⲏ Ⲡ Ⳟ Ⲟ Ⲑ Ⲥ Ⳋ", 1054 => "Ⳑ Ⳙ Ⳟ Ⲏ Ⲟ Ⲑ Ⳝ Ⲱ", 1086 => "ⲍ ⲏ ⲡ ⳟ ⲟ ⲑ ⲥ ⳋ", 1118 => "ⳑ ⳙ ⳟ ⲏ ⲟ ⲑ ⳝ Ⳓ", 1150 => "𐠍 𐠙 𐠳 𐠱 𐠅 𐠓 𐠣 𐠦", 1190 => "𐠃 𐠊 𐠛 𐠣 𐠳 𐠵 𐠐", 1225 => "𐠈 𐠏 𐠖", 1240 => "Б В Е П З О С Э", 1264 => "Б В Е Ш З О С Э", 1288 => "х п н ш е з о с", 1312 => "р у ф", 1321 => "𐐂 𐐄 𐐋 𐐗 𐐑", 1346 => "𐐀 𐐂 𐐄 𐐗 𐐛", 1371 => "𐐪 𐐬 𐐳 𐐿 𐐹", 1396 => "𐐨 𐐪 𐐬 𐐿 𐑃", 1421 => "क न म उ छ ट ठ ड", 1453 => "ई ऐ ओ औ ि ी ो ौ", 1485 => "क म अ आ थ ध भ श", 1517 => "ु ृ", 1525 => "ሀ ሃ ዘ ፐ ማ በ ዋ ዐ", 1557 => "ለ ሐ በ ዘ ሀ ሪ ዐ ጨ", 1589 => "გ დ ე ვ თ ი ო ღ", 1621 => "ა ზ მ ს შ ძ ხ პ", 1653 => "ს ხ ქ ზ მ შ ჩ წ", 1685 => "ე ვ ჟ ტ უ ფ ქ ყ", 1717 => "Ⴑ Ⴇ Ⴙ Ⴜ Ⴄ Ⴅ Ⴓ Ⴚ", 1749 => "Ⴄ Ⴅ Ⴇ Ⴈ Ⴆ Ⴑ Ⴊ Ⴋ", 1781 => "ⴁ ⴗ ⴂ ⴄ ⴅ ⴇ ⴔ ⴖ", 1813 => "ⴈ ⴌ ⴖ ⴎ ⴃ ⴆ ⴋ ⴢ", 1845 => "ⴐ ⴑ ⴓ ⴕ ⴙ ⴛ ⴡ ⴣ", 1877 => "ⴄ ⴅ ⴔ ⴕ ⴁ ⴂ ⴘ ⴝ", 1909 => "Ნ Ჟ Ჳ Ჸ Გ Ე Ო Ჴ", 1941 => "Ი Ჲ Ო Ჩ Მ Შ Ჯ Ჽ", 1973 => "Ⰵ Ⱄ Ⱚ Ⰴ Ⰲ Ⰺ Ⱛ Ⰻ", 2005 => "Ⰵ Ⰴ Ⰲ Ⱚ Ⱎ Ⱑ Ⰺ Ⱄ", 2037 => "ⰵ ⱄ ⱚ ⰴ ⰲ ⰺ ⱛ ⰻ", 2069 => "ⰵ ⰴ ⰲ ⱚ ⱎ ⱑ ⰺ ⱄ", 2101 => "𐌲 𐌶 𐍀 𐍄 𐌴 𐍃 𐍈 𐌾", 2141 => "𐌶 𐌴 𐍃 𐍈", 2161 => "Γ Β Ε Ζ Θ Ο Ω", 2182 => "Β Δ Ζ Ξ Θ Ο", 2200 => "β θ δ ζ λ ξ", 2218 => "α ε ι ο π σ τ ω", 2242 => "β γ η μ ρ φ χ ψ", 2266 => "ત ન ઋ ઌ છ ટ ર ૦", 2298 => "ખ ગ ઘ ઞ ઇ ઈ ઠ જ", 2330 => "ઈ ઊ િ ી લી શ્ચિ જિ સી", 2380 => "ુ ૃ ૄ ખુ છૃ છૄ", 2413 => "૦ ૧ ૨ ૩ ૭", 2433 => "ਕ ਗ ਙ ਚ ਜ ਤ ਧ ਸ", 2465 => "ਕ ਗ ਙ ਚ ਜ ਤ ਧ ਸ", 2497 => "ਇ ਈ ਉ ਏ ਓ ੳ ਿ ੀ", 2529 => "ਅ ਏ ਓ ਗ ਜ ਠ ਰ ਸ", 2561 => "੦ ੧ ੨ ੩ ੭", 2581 => "ב ד ה ח ך כ ם ס", 2605 => "ב ט כ ם ס צ", 2623 => "ק ך ן ף ץ", 2638 => "ಇ ಊ ಐ ಣ ಸಾ ನಾ ದಾ ರಾ", 2682 => "ಅ ಉ ಎ ಲ ೦ ೨ ೬ ೭", 2714 => "꤅ ꤏ ꤁ ꤋ ꤀ ꤍ", 2738 => "꤈ ꤘ ꤀ ꤍ ꤢ", 2758 => "ꤖ ꤡ", 2766 => "ꤑ ꤜ ꤞ", 2778 => "ꤑ꤬ ꤜ꤭ ꤔ꤬", 2799 => "ខ ទ ន ឧ ឩ ា", 2823 => "ក្ក ក្ខ ក្គ ក្ថ", 2863 => "ខ ឃ ច ឋ ប ម យ ឲ", 2895 => "ត្រ រៀ ឲ្យ អឿ", 2929 => "ន្ត្រៃ ង្ខ្យ ក្បៀ ច្រៀ ន្តឿ ល្បឿ", 3016 => "᧠ ᧡", 3024 => "᧶ ᧹", 3032 => "າ ດ ອ ມ ລ ວ ຣ ງ", 3064 => "າ ອ ບ ຍ ຣ ຮ ວ ຢ", 3096 => "ປ ຢ ຟ ຝ", 3112 => "ໂ ໄ ໃ", 3124 => "ງ ຊ ຖ ຽ ໆ ຯ", 3148 => "T H E Z O C Q S", 3164 => "H E Z L O C U S", 3180 => "f i j k d b h", 3194 => "u v x z o e s c", 3210 => "n r x z o e s c", 3226 => "p q g j y", 3236 => "₀ ₃ ₅ ₇ ₈", 3256 => "₀ ₁ ₂ ₃ ₈", 3276 => "ᵢ ⱼ ₕ ₖ ₗ", 3296 => "ₐ ₑ ₒ ₓ ₙ ₛ ᵥ ᵤ ᵣ", 3332 => "ᵦ ᵧ ᵨ ᵩ ₚ", 3352 => "⁰ ³ ⁵ ⁷ ᵀ ᴴ ᴱ ᴼ", 3383 => "⁰ ¹ ² ³ ᴱ ᴸ ᴼ ᵁ", 3412 => "ᵇ ᵈ ᵏ ʰ ʲ ᶠ ⁱ", 3438 => "ᵉ ᵒ ʳ ˢ ˣ ᶜ ᶻ", 3463 => "ᵖ ʸ ᵍ", 3474 => "ꓡ ꓧ ꓱ ꓶ ꓩ ꓚ ꓵ ꓳ", 3506 => "ꓕ ꓜ ꓞ ꓡ ꓛ ꓢ ꓳ ꓴ", 3538 => "ഒ ട ഠ റ ച പ ച്ച പ്പ", 3582 => "ട ഠ ധ ശ ഘ ച ഥ ല", 3614 => "𖹀 𖹁 𖹂 𖹃 𖹏 𖹚 𖹟", 3649 => "𖹀 𖹁 𖹂 𖹃 𖹏 𖹚 𖹒 𖹓", 3689 => "𖹤 𖹬 𖹧 𖹴 𖹶 𖹾", 3719 => "𖹠 𖹡 𖹢 𖹹 𖹳 𖹮", 3749 => "𖹠 𖹡 𖹢 𖹳 𖹭 𖹽", 3779 => "𖹥 𖹨 𖹩", 3794 => "𖺀 𖺅 𖺈 𖺄 𖺍", 3819 => "ᠳ ᠴ ᠶ ᠽ ᡂ ᡊ \u200Dᡡ\u200D \u200Dᡳ\u200D", 3863 => "ᡃ", 3867 => "ခ ဂ င ဒ ဝ ၥ ၊ ။", 3899 => "င ဎ ဒ ပ ဗ ဝ ၊ ။", 3931 => "ဩ ြ ၍ ၏ ၆ ါ ိ", 3959 => "ဉ ည ဥ ဩ ဨ ၂ ၅ ၉", 3991 => "ߐ ߉ ߒ ߟ ߖ ߜ ߠ ߥ", 4015 => "߀ ߘ ߡ ߠ ߥ", 4030 => "ߏ ߛ ߋ", 4039 => "ߎ ߏ ߛ ߋ", 4051 => "ᱛ ᱜ ᱝ ᱡ ᱢ ᱥ", 4075 => "𐰗 𐰘 𐰧", 4090 => "𐰉 𐰗 𐰦 𐰧", 4110 => "𐒾 𐓍 𐓒 𐓓 𐒻 𐓂 𐒵 𐓆", 4150 => "𐒰 𐓍 𐓂 𐒿 𐓎 𐒹", 4180 => "𐒼 𐒽 𐒾", 4195 => "𐓵 𐓶 𐓺 𐓻 𐓝 𐓣 𐓪 𐓮", 4235 => "𐓘 𐓚 𐓣 𐓵 𐓡 𐓧 𐓪 𐓶", 4275 => "𐓤 𐓦 𐓸 𐓹 𐓛", 4300 => "𐓤 𐓥 𐓦", 4315 => "𐒆 𐒉 𐒐 𐒒 𐒘 𐒛 𐒠 𐒣", 4355 => "𐒀 𐒂 𐒆 𐒈 𐒊 𐒒 𐒠 𐒩", 4395 => "𐴃 𐴀 𐴆 𐴖 𐴕", 4420 => "𐴔 𐴖 𐴕 𐴑 𐴐", 4445 => "ـ", 4448 => "ꢜ ꢞ ꢳ ꢂ ꢖ ꢒ ꢝ ꢛ", 4480 => "ꢂ ꢨ ꢺ ꢤ ꢎ", 4500 => "𐑕 𐑙", 4510 => "𐑔 𐑖 𐑗 𐑹 𐑻", 4535 => "𐑟 𐑣", 4545 => "𐑱 𐑲 𐑳 𐑴 𐑸 𐑺 𐑼", 4580 => "𐑴 𐑻 𐑹", 4595 => "ඉ ක ඝ ඳ ප ය ල ෆ", 4627 => "එ ඔ ඝ ජ ට ථ ධ ර", 4659 => "ද ඳ උ ල තූ තු බු දු", 4703 => "ᮋ ᮞ ᮮ ᮽ ᮰ ᮈ", 4727 => "ᮄ ᮔ ᮕ ᮗ ᮰ ᮆ ᮈ ᮉ", 4759 => "ᮼ ᳄", 4767 => "ꪆ ꪔ ꪒ ꪖ ꪫ", 4787 => "ꪉ ꪫ ꪮ", 4799 => "உ ஒ ஓ ற ஈ க ங ச", 4831 => "க ச ல ஶ உ ங ட ப", 4863 => "ఇ ఌ ఙ ఞ ణ ఱ ౯", 4891 => "అ క చ ర ఽ ౨ ౬", 4919 => "บ เ แ อ ก า", 4943 => "บ ป ษ ฯ อ ย ฮ", 4971 => "ป ฝ ฟ", 4983 => "โ ใ ไ", 4995 => "ฎ ฏ ฤ ฦ", 5011 => "ญ ฐ", 5019 => "๐ ๑ ๓", 5031 => "ⵔ ⵙ ⵛ ⵞ ⴵ ⴼ ⴹ ⵎ", 5063 => "ꗍ ꘖ ꘙ ꘜ ꖜ ꖝ ꔅ ꕢ", 5095 => "ꗍ ꘖ ꘙ ꗞ ꔅ ꕢ ꖜ ꔆ", 5127 => "他 们 你 來 們 到 和 地 对 對 就 席 我 时 時 會 来 為 能 舰 說 说 这 這 齊 | 军 同 已 愿 既 星 是 景 民 照 现 現 理 用 置 要 軍 那 配 里 開 雷 露 面 顾", 5329 => "个 为 人 他 以 们 你 來 個 們 到 和 大 对 對 就 我 时 時 有 来 為 要 說 说 | 主 些 因 它 想 意 理 生 當 看 着 置 者 自 著 裡 过 还 进 進 過 道 還 里 面", 5531 => " 些 们 你 來 們 到 和 地 她 将 將 就 年 得 情 最 样 樣 理 能 說 说 这 這 通 | 即 吗 吧 听 呢 品 响 嗎 师 師 收 断 斷 明 眼 間 间 际 陈 限 除 陳 随 際 隨", 5734 => "事 前 學 将 將 情 想 或 政 斯 新 样 樣 民 沒 没 然 特 现 現 球 第 經 谁 起 | 例 別 别 制 动 動 吗 嗎 增 指 明 朝 期 构 物 确 种 調 调 費 费 那 都 間 间"}
offset in the C `af_blue_strings' array => the UTF-8 string
BLUE_STRINGSETS = {:adlm => 0, :arab => 5, :armn => 9, :avst => 16, :bamu => 19, :beng => 22, :buhd => 27, :cakm => 32, :cans => 36, :cari => 43, :cher => 46, :copt => 53, :cprt => 58, :cyrl => 63, :deva => 69, :dsrt => 75, :ethi => 80, :geor => 83, :geok => 90, :glag => 97, :goth => 102, :grek => 105, :gujr => 112, :guru => 118, :hani => 262, :hebr => 124, :knda => 128, :kali => 131, :khmr => 137, :khms => 143, :lao => 146, :latn => 152, :latb => 159, :latp => 166, :lisu => 173, :mlym => 176, :medf => 179, :mong => 187, :mymr => 190, :nkoo => 195, :none => 200, :olck => 201, :orkh => 204, :osge => 207, :osma => 215, :rohg => 218, :saur => 222, :shaw => 225, :sinh => 231, :sund => 235, :taml => 239, :tavt => 242, :telu => 245, :thai => 248, :tfng => 256, :vaii => 259}
AF_BLUE_STRINGSET_* (as symbols) => start index into STRINGSETS
BLUE_SUB_TOP = (1_u8 << 2)
CJK_BLUE_ACTIVE = (1_u8 << 0)
AF_CJK_BLUE_* (afcjk.h); the values coincide with AF_LATIN_BLUE_*,
so the shared LatinBlue flags field is reused.
CJK_BLUE_ADJUSTMENT = (1_u8 << 2)
CJK_BLUE_TOP = (1_u8 << 1)
DEFAULT_STYLE = STYLE_CLASSES.index do |s| s.name == (:latn) end.not_nil!
module->default_script = AF_SCRIPT_LATN; with the CJK writing
system ported, the fallback style is HANI_DFLT (afglobal.h:
AF_STYLE_FALLBACK == AF_STYLE_HANI_DFLT when AF_CONFIG_OPTION_CJK
is defined — the default of distribution builds), otherwise
NONE_DFLT.
EDGE_NEUTRAL = (1_u8 << 3)
FALLBACK_STYLE = STYLE_CLASSES.index do |s| s.name == (:hani) end.not_nil!
The fixed-point helpers shared with the bytecode loader (FT_MulFix and
friends, TT::Fixed): the port spells them the way afhints.c does.
FLAG_CONIC = (1_u16 << 0)
FLAG_CONTROL = FLAG_CONIC | FLAG_CUBIC
FLAG_CUBIC = (1_u16 << 1)
FLAG_TOUCH_X = (1_u16 << 2)
AF_FLAG_CONTROL = FLAG_CONIC | FLAG_CUBIC
FLAG_TOUCH_Y = (1_u16 << 3)
FLAG_WEAK_INTERPOLATION = (1_u16 << 4)
LATIN_HINTS_HORZ_SNAP = (1_u32 << 0)
AF_LATIN_HINTS_* (aflatin.h)
LATIN_HINTS_MONO = (1_u32 << 3)
LATIN_HINTS_STEM_ADJUST = (1_u32 << 2)
LATIN_HINTS_VERT_SNAP = (1_u32 << 1)
LIGHT_MODE_MAX_DELTA_ABS = 14
LIGHT_MODE_MAX_HORZ_GAP = 9
af_light_mode_max_* (afcjk.c); used by af_hint_normal_stem when the
stem adjust flag is off (light mode — outside the NORMAL scope but
ported for faithfulness).
LIGHT_MODE_MAX_VERT_GAP = 15
NONBASE_ADLM = [{121156, 125258}] of ::Tuple(Int32, Int32)
NONBASE_ARAB = [{1536, 1541}, {1552, 1562}, {1611, 1631}, {1648, 1648}, {1750, 1756}, {1759, 1764}, {1767, 1768}, {1770, 1773}, {2260, 2273}, {2259, 2303}, {64434, 64449}, {65136, 65136}, {65138, 65138}, {65140, 65140}, {65142, 65142}, {65144, 65144}, {65146, 65146}, {65148, 65148}, {65150, 65150}] of ::Tuple(Int32, Int32)
NONBASE_ARMN = [{1369, 1375}] of ::Tuple(Int32, Int32)
NONBASE_AVST = [{68409, 68415}] of ::Tuple(Int32, Int32)
NONBASE_BAMU = [{42736, 42737}] of ::Tuple(Int32, Int32)
NONBASE_BENG = [{2433, 2433}, {2492, 2492}, {2497, 2500}, {2509, 2509}, {2530, 2531}, {2558, 2558}] of ::Tuple(Int32, Int32)
NONBASE_BUHD = [{5970, 5971}] of ::Tuple(Int32, Int32)
NONBASE_CAKM = [{69888, 69890}, {69927, 69940}, {69958, 69958}] of ::Tuple(Int32, Int32)
NONBASE_CANS = [] of ::Tuple(Int32, Int32)
NONBASE_CARI = [] of ::Tuple(Int32, Int32)
NONBASE_CHER = [] of ::Tuple(Int32, Int32)
NONBASE_COPT = [{11503, 11505}] of ::Tuple(Int32, Int32)
NONBASE_CPRT = [] of ::Tuple(Int32, Int32)
NONBASE_CYRL = [{1155, 1161}, {11744, 11775}, {42607, 42623}, {42654, 42655}] of ::Tuple(Int32, Int32)
NONBASE_DEVA = [{2304, 2306}, {2362, 2362}, {2369, 2376}, {2381, 2381}, {2387, 2391}, {2402, 2403}, {43232, 43249}, {43263, 43263}] of ::Tuple(Int32, Int32)
NONBASE_DSRT = [] of ::Tuple(Int32, Int32)
NONBASE_ETHI = [{4957, 4959}] of ::Tuple(Int32, Int32)
NONBASE_GEOK = [] of ::Tuple(Int32, Int32)
NONBASE_GEOR = [] of ::Tuple(Int32, Int32)
NONBASE_GLAG = [{122880, 122927}] of ::Tuple(Int32, Int32)
NONBASE_GOTH = [] of ::Tuple(Int32, Int32)
NONBASE_GREK = [{890, 890}, {900, 901}, {8125, 8129}, {8141, 8143}, {8157, 8159}, {8173, 8175}, {8189, 8190}] of ::Tuple(Int32, Int32)
NONBASE_GUJR = [{2689, 2690}, {2748, 2748}, {2753, 2760}, {2765, 2765}, {2786, 2787}, {2810, 2815}] of ::Tuple(Int32, Int32)
NONBASE_GURU = [{2561, 2562}, {2620, 2620}, {2625, 2641}, {2672, 2673}, {2677, 2677}] of ::Tuple(Int32, Int32)
NONBASE_HANI = [{12330, 12335}, {12688, 12703}] of ::Tuple(Int32, Int32)
NONBASE_HEBR = [{1425, 1471}, {1473, 1474}, {1476, 1477}, {1479, 1479}, {64286, 64286}] of ::Tuple(Int32, Int32)
NONBASE_KALI = [{43302, 43309}] of ::Tuple(Int32, Int32)
NONBASE_KHMR = [{6071, 6077}, {6086, 6086}, {6089, 6099}, {6109, 6109}] of ::Tuple(Int32, Int32)
NONBASE_KHMS = [] of ::Tuple(Int32, Int32)
NONBASE_KNDA = [{3201, 3201}, {3260, 3260}, {3263, 3263}, {3270, 3270}, {3276, 3277}, {3298, 3299}] of ::Tuple(Int32, Int32)
NONBASE_LAO = [{3761, 3761}, {3764, 3772}, {3784, 3789}] of ::Tuple(Int32, Int32)
NONBASE_LATB = [] of ::Tuple(Int32, Int32)
NONBASE_LATN = [{94, 96}, {126, 126}, {168, 169}, {174, 176}, {180, 180}, {184, 184}, {188, 190}, {697, 735}, {741, 767}, {768, 879}, {6832, 6846}, {7616, 7679}, {8215, 8215}, {8254, 8254}, {42888, 42888}, {43000, 43002}] of ::Tuple(Int32, Int32)
NONBASE_LATP = [] of ::Tuple(Int32, Int32)
NONBASE_LIMB = [{6432, 6434}, {6439, 6452}, {6455, 6459}] of ::Tuple(Int32, Int32)
NONBASE_LISU = [] of ::Tuple(Int32, Int32)
NONBASE_MEDF = [] of ::Tuple(Int32, Int32)
NONBASE_MLYM = [{3328, 3329}, {3387, 3388}, {3405, 3406}, {3426, 3427}] of ::Tuple(Int32, Int32)
NONBASE_MONG = [{6277, 6278}, {6313, 6313}] of ::Tuple(Int32, Int32)
NONBASE_MYMR = [{4141, 4144}, {4146, 4151}, {4154, 4154}, {4157, 4158}, {4184, 4185}, {4190, 4192}, {4209, 4212}, {4226, 4226}, {4229, 4230}, {4237, 4237}, {43493, 43493}, {43644, 43644}] of ::Tuple(Int32, Int32)
NONBASE_NKOO = [{2027, 2037}, {2045, 2045}] of ::Tuple(Int32, Int32)
NONBASE_NONE = [] of ::Tuple(Int32, Int32)
NONBASE_OLCK = [] of ::Tuple(Int32, Int32)
NONBASE_ORKH = [] of ::Tuple(Int32, Int32)
NONBASE_ORYA = [{2817, 2818}, {2876, 2876}, {2879, 2879}, {2881, 2884}, {2893, 2902}, {2914, 2915}] of ::Tuple(Int32, Int32)
NONBASE_OSGE = [] of ::Tuple(Int32, Int32)
NONBASE_OSMA = [] of ::Tuple(Int32, Int32)
NONBASE_ROHG = [] of ::Tuple(Int32, Int32)
NONBASE_SAUR = [{43136, 43137}, {43188, 43205}] of ::Tuple(Int32, Int32)
NONBASE_SHAW = [] of ::Tuple(Int32, Int32)
NONBASE_SINH = [{3530, 3530}, {3538, 3542}] of ::Tuple(Int32, Int32)
NONBASE_SUND = [{7040, 7042}, {7073, 7085}] of ::Tuple(Int32, Int32)
NONBASE_SYLO = [{43010, 43010}, {43014, 43014}, {43019, 43019}, {43045, 43046}] of ::Tuple(Int32, Int32)
NONBASE_TAML = [{2946, 2946}, {3008, 3010}, {3021, 3021}] of ::Tuple(Int32, Int32)
NONBASE_TAVT = [{43696, 43696}, {43698, 43700}, {43703, 43704}, {43710, 43711}, {43713, 43713}] of ::Tuple(Int32, Int32)
NONBASE_TELU = [{3072, 3072}, {3076, 3076}, {3134, 3136}, {3142, 3158}, {3170, 3171}] of ::Tuple(Int32, Int32)
NONBASE_TFNG = [] of ::Tuple(Int32, Int32)
NONBASE_THAI = [{3633, 3633}, {3636, 3642}, {3655, 3662}] of ::Tuple(Int32, Int32)
NONBASE_TIBT = [{3864, 3865}, {3893, 3893}, {3895, 3895}, {3897, 3897}, {3902, 3903}, {3953, 3966}, {3968, 3972}, {3974, 3975}, {3981, 4028}] of ::Tuple(Int32, Int32)
NONBASE_VAII = [] of ::Tuple(Int32, Int32)
R0 = [] of ::Tuple(Int32, Int32)
RANGES_ADLM = [{125184, 125279}] of ::Tuple(Int32, Int32)
RANGES_ARAB = [{1536, 1791}, {1872, 2047}, {2208, 2303}, {64336, 65023}, {65136, 65279}, {126464, 126719}] of ::Tuple(Int32, Int32)
RANGES_ARMN = [{1328, 1423}, {64275, 64279}] of ::Tuple(Int32, Int32)
RANGES_AVST = [{68352, 68415}] of ::Tuple(Int32, Int32)
RANGES_BAMU = [{42656, 42751}, {92160, 92735}] of ::Tuple(Int32, Int32)
RANGES_BENG = [{2432, 2559}] of ::Tuple(Int32, Int32)
RANGES_BUHD = [{5952, 5983}] of ::Tuple(Int32, Int32)
RANGES_CAKM = [{69888, 69967}] of ::Tuple(Int32, Int32)
RANGES_CANS = [{5120, 5759}, {6320, 6399}] of ::Tuple(Int32, Int32)
RANGES_CARI = [{66208, 66271}] of ::Tuple(Int32, Int32)
RANGES_CHER = [{5024, 5119}, {43888, 43967}] of ::Tuple(Int32, Int32)
RANGES_COPT = [{11392, 11519}] of ::Tuple(Int32, Int32)
RANGES_CPRT = [{67584, 67647}] of ::Tuple(Int32, Int32)
RANGES_CYRL = [{1024, 1279}, {1280, 1327}, {11744, 11775}, {42560, 42655}, {7296, 7311}] of ::Tuple(Int32, Int32)
RANGES_DEVA = [{2304, 2363}, {2365, 2384}, {2387, 2403}, {2406, 2431}, {8377, 8377}, {43232, 43263}] of ::Tuple(Int32, Int32)
RANGES_DSRT = [{66560, 66639}] of ::Tuple(Int32, Int32)
RANGES_ETHI = [{4608, 4991}, {4992, 5023}, {11648, 11743}, {43776, 43823}] of ::Tuple(Int32, Int32)
RANGES_GEOK = [{4256, 4301}, {11520, 11565}] of ::Tuple(Int32, Int32)
RANGES_GEOR = [{4304, 4351}, {7312, 7359}] of ::Tuple(Int32, Int32)
RANGES_GLAG = [{11264, 11359}, {122880, 122927}] of ::Tuple(Int32, Int32)
RANGES_GOTH = [{66352, 66383}] of ::Tuple(Int32, Int32)
RANGES_GREK = [{880, 1023}, {7936, 8191}] of ::Tuple(Int32, Int32)
RANGES_GUJR = [{2688, 2815}] of ::Tuple(Int32, Int32)
RANGES_GURU = [{2560, 2687}] of ::Tuple(Int32, Int32)
RANGES_HANI = [{4352, 4607}, {11904, 12031}, {12032, 12255}, {12272, 12287}, {12288, 12351}, {12352, 12447}, {12448, 12543}, {12544, 12591}, {12592, 12687}, {12688, 12703}, {12704, 12735}, {12736, 12783}, {12784, 12799}, {13056, 13311}, {13312, 19903}, {19904, 19967}, {19968, 40959}, {43360, 43391}, {44032, 55215}, {55216, 55295}, {63744, 64255}, {65040, 65055}, {65072, 65103}, {65280, 65519}, {110592, 110847}, {110848, 110895}, {119552, 119647}, {131072, 173791}, {173824, 177983}, {177984, 178207}, {178208, 183983}, {183984, 191471}, {194560, 195103}] of ::Tuple(Int32, Int32)
RANGES_HEBR = [{1424, 1535}, {64285, 64335}] of ::Tuple(Int32, Int32)
RANGES_KALI = [{43264, 43311}] of ::Tuple(Int32, Int32)
RANGES_KHMR = [{6016, 6143}] of ::Tuple(Int32, Int32)
RANGES_KHMS = [{6624, 6655}] of ::Tuple(Int32, Int32)
RANGES_KNDA = [{3200, 3327}] of ::Tuple(Int32, Int32)
RANGES_LAO = [{3712, 3839}] of ::Tuple(Int32, Int32)
RANGES_LATB = [{7522, 7530}, {8320, 8348}, {11388, 11388}] of ::Tuple(Int32, Int32)
RANGES_LATN = [{32, 127}, {160, 169}, {171, 177}, {180, 184}, {187, 255}, {256, 383}, {384, 591}, {592, 687}, {697, 735}, {741, 767}, {768, 879}, {6832, 6846}, {7424, 7467}, {7531, 7543}, {7545, 7551}, {7552, 7578}, {7616, 7679}, {7680, 7935}, {8192, 8303}, {8352, 8376}, {8378, 8399}, {8528, 8591}, {11360, 11387}, {11390, 11391}, {11776, 11903}, {42784, 42863}, {42865, 42999}, {43002, 43007}, {43824, 43867}, {43872, 43887}, {64256, 64262}, {119808, 120831}] of ::Tuple(Int32, Int32)
RANGES_LATP = [{170, 170}, {178, 179}, {185, 186}, {688, 696}, {736, 740}, {7468, 7521}, {7544, 7544}, {7579, 7615}, {8304, 8319}, {11389, 11389}, {42864, 42864}, {43000, 43001}, {43868, 43871}] of ::Tuple(Int32, Int32)
RANGES_LIMB = [{6400, 6479}] of ::Tuple(Int32, Int32)
RANGES_LISU = [{42192, 42239}] of ::Tuple(Int32, Int32)
RANGES_MEDF = [{93760, 93855}] of ::Tuple(Int32, Int32)
RANGES_MLYM = [{3328, 3455}] of ::Tuple(Int32, Int32)
RANGES_MONG = [{6144, 6319}, {71264, 71295}] of ::Tuple(Int32, Int32)
RANGES_MYMR = [{4096, 4255}, {43488, 43519}, {43616, 43647}] of ::Tuple(Int32, Int32)
RANGES_NKOO = [{1984, 2047}] of ::Tuple(Int32, Int32)
RANGES_NONE = [] of ::Tuple(Int32, Int32)
RANGES_OLCK = [{7248, 7295}] of ::Tuple(Int32, Int32)
RANGES_ORKH = [{68608, 68687}] of ::Tuple(Int32, Int32)
RANGES_ORYA = [{2816, 2943}] of ::Tuple(Int32, Int32)
RANGES_OSGE = [{66736, 66815}] of ::Tuple(Int32, Int32)
RANGES_OSMA = [{66688, 66735}] of ::Tuple(Int32, Int32)
RANGES_ROHG = [{68864, 68927}] of ::Tuple(Int32, Int32)
RANGES_SAUR = [{43136, 43231}] of ::Tuple(Int32, Int32)
RANGES_SHAW = [{66640, 66687}] of ::Tuple(Int32, Int32)
RANGES_SINH = [{3456, 3583}] of ::Tuple(Int32, Int32)
RANGES_SUND = [{7040, 7103}, {7360, 7375}] of ::Tuple(Int32, Int32)
RANGES_SYLO = [{43008, 43055}] of ::Tuple(Int32, Int32)
RANGES_TAML = [{2944, 3071}] of ::Tuple(Int32, Int32)
RANGES_TAVT = [{43648, 43743}] of ::Tuple(Int32, Int32)
RANGES_TELU = [{3072, 3199}] of ::Tuple(Int32, Int32)
RANGES_TFNG = [{11568, 11647}] of ::Tuple(Int32, Int32)
RANGES_THAI = [{3584, 3711}] of ::Tuple(Int32, Int32)
RANGES_TIBT = [{3840, 4095}] of ::Tuple(Int32, Int32)
RANGES_VAII = [{42240, 42559}] of ::Tuple(Int32, Int32)
SCALER_FLAG_NO_ADVANCE = 4_u32
SCALER_FLAG_NO_HORIZONTAL = 1_u32
AF_SCALER_FLAG_* (aftypes.h)
SCALER_FLAG_NO_VERTICAL = 2_u32
STANDARD_CHARSTRINGS = {:adlm => "𞤌 𞤮", :arab => "ل ح ـ", :armn => "ս Ս", :avst => "𐬚", :bamu => "ꛁ ꛯ", :beng => "০ ৪", :buhd => "ᝋ ᝏ", :cakm => "𑄤 𑄉 𑄛", :cans => "ᑌ ᓚ", :cari => "𐊫 𐋉", :cher => "Ꭴ Ꮕ ꮕ", :copt => "Ⲟ ⲟ", :cprt => "𐠅 𐠣", :cyrl => "о О", :deva => "ठ व ट", :dsrt => "𐐄 𐐬", :ethi => "ዐ", :geor => "ი ე ა Ჿ", :geok => "Ⴖ Ⴑ ⴙ", :glag => "Ⱅ ⱅ", :goth => "𐌴 𐌾 𐍃", :grek => "ο Ο", :gujr => "ટ ૦", :guru => "ਠ ਰ ੦", :hebr => "ם", :kali => "ꤍ ꤀", :khmr => "០", :khms => "᧡ ᧪", :knda => "೦ ಬ", :lao => "໐", :latn => "o O 0", :latb => "ₒ ₀", :latp => "ᵒ ᴼ ⁰", :lisu => "ꓳ", :mlym => "ഠ റ", :medf => "𖹡 𖹛 𖹯", :mong => "ᡂ ᠪ", :mymr => "ဝ င ဂ", :nkoo => "ߋ ߀", :none => "", :olck => "ᱛ", :orkh => "𐰗", :osge => "𐓂 𐓪", :osma => "𐒆 𐒠", :rohg => "𐴰", :saur => "ꢝ ꣐", :shaw => "𐑴", :sinh => "ට", :sund => "᮰", :taml => "௦", :tavt => "ꪒ ꪫ", :telu => "౦ ౧", :tfng => "ⵔ", :thai => "า ๅ ๐", :vaii => "ꘓ ꖜ ꖴ", :limb => "o", :orya => "o", :sylo => "o", :tibt => "o", :hani => "田 囗"}
standard_charstring of the ported scripts (afscript.h)
STRINGSETS = [{0, 1_u8}, {30, 0_u8}, {40, 9_u8}, {65, 0_u8}, {-1, 0_u8}, {105, 1_u8}, {123, 0_u8}, {138, 4_u8}, {-1, 0_u8}, {141, 1_u8}, {165, 0_u8}, {189, 1_u8}, {210, 9_u8}, {234, 0_u8}, {258, 0_u8}, {-1, 0_u8}, {282, 1_u8}, {302, 0_u8}, {-1, 0_u8}, {312, 1_u8}, {344, 0_u8}, {-1, 0_u8}, {408, 1_u8}, {436, 1_u8}, {376, 13_u8}, {376, 0_u8}, {-1, 0_u8}, {468, 1_u8}, {476, 1_u8}, {488, 9_u8}, {504, 0_u8}, {-1, 0_u8}, {795, 1_u8}, {820, 0_u8}, {845, 0_u8}, {-1, 0_u8}, {532, 1_u8}, {564, 0_u8}, {596, 9_u8}, {628, 0_u8}, {660, 1_u8}, {688, 0_u8}, {-1, 0_u8}, {720, 1_u8}, {760, 0_u8}, {-1, 0_u8}, {910, 1_u8}, {910, 0_u8}, {942, 1_u8}, {974, 9_u8}, {974, 0_u8}, {1006, 0_u8}, {-1, 0_u8}, {1022, 1_u8}, {1054, 0_u8}, {1086, 9_u8}, {1118, 0_u8}, {-1, 0_u8}, {1150, 1_u8}, {1190, 0_u8}, {1225, 1_u8}, {1225, 0_u8}, {-1, 0_u8}, {1240, 1_u8}, {1264, 0_u8}, {1288, 9_u8}, {1288, 0_u8}, {1312, 0_u8}, {-1, 0_u8}, {1453, 1_u8}, {1485, 1_u8}, {1421, 13_u8}, {1421, 0_u8}, {1517, 0_u8}, {-1, 0_u8}, {1321, 1_u8}, {1346, 0_u8}, {1371, 9_u8}, {1396, 0_u8}, {-1, 0_u8}, {1525, 1_u8}, {1557, 0_u8}, {-1, 0_u8}, {1589, 9_u8}, {1621, 0_u8}, {1653, 1_u8}, {1685, 0_u8}, {1909, 1_u8}, {1941, 0_u8}, {-1, 0_u8}, {1717, 1_u8}, {1749, 0_u8}, {1781, 9_u8}, {1813, 0_u8}, {1845, 1_u8}, {1877, 0_u8}, {-1, 0_u8}, {1973, 1_u8}, {2005, 0_u8}, {2037, 9_u8}, {2069, 0_u8}, {-1, 0_u8}, {2101, 1_u8}, {2141, 0_u8}, {-1, 0_u8}, {2161, 1_u8}, {2182, 0_u8}, {2200, 1_u8}, {2218, 9_u8}, {2218, 0_u8}, {2242, 0_u8}, {-1, 0_u8}, {2266, 9_u8}, {2298, 0_u8}, {2330, 1_u8}, {2380, 0_u8}, {2413, 1_u8}, {-1, 0_u8}, {2497, 1_u8}, {2465, 1_u8}, {2433, 13_u8}, {2529, 0_u8}, {2561, 1_u8}, {-1, 0_u8}, {2581, 17_u8}, {2605, 0_u8}, {2623, 0_u8}, {-1, 0_u8}, {2638, 1_u8}, {2682, 0_u8}, {-1, 0_u8}, {2714, 9_u8}, {2738, 0_u8}, {2758, 1_u8}, {2766, 0_u8}, {2778, 0_u8}, {-1, 0_u8}, {2799, 9_u8}, {2823, 2_u8}, {2863, 0_u8}, {2895, 0_u8}, {2929, 0_u8}, {-1, 0_u8}, {3016, 9_u8}, {3024, 0_u8}, {-1, 0_u8}, {3032, 9_u8}, {3064, 0_u8}, {3096, 1_u8}, {3112, 1_u8}, {3124, 0_u8}, {-1, 0_u8}, {3148, 1_u8}, {3164, 0_u8}, {3180, 1_u8}, {3194, 9_u8}, {3210, 0_u8}, {3226, 0_u8}, {-1, 0_u8}, {3236, 1_u8}, {3256, 0_u8}, {3276, 1_u8}, {3296, 9_u8}, {3296, 0_u8}, {3332, 0_u8}, {-1, 0_u8}, {3352, 1_u8}, {3383, 0_u8}, {3412, 1_u8}, {3438, 9_u8}, {3438, 0_u8}, {3463, 0_u8}, {-1, 0_u8}, {3474, 1_u8}, {3506, 0_u8}, {-1, 0_u8}, {3538, 1_u8}, {3582, 0_u8}, {-1, 0_u8}, {3614, 1_u8}, {3649, 0_u8}, {3689, 1_u8}, {3719, 9_u8}, {3749, 0_u8}, {3779, 0_u8}, {3794, 1_u8}, {-1, 0_u8}, {3819, 1_u8}, {3863, 0_u8}, {-1, 0_u8}, {3867, 9_u8}, {3899, 0_u8}, {3931, 1_u8}, {3959, 0_u8}, {-1, 0_u8}, {3991, 1_u8}, {4015, 0_u8}, {4030, 9_u8}, {4039, 0_u8}, {-1, 0_u8}, {-1, 0_u8}, {4051, 1_u8}, {4051, 0_u8}, {-1, 0_u8}, {4075, 1_u8}, {4090, 0_u8}, {-1, 0_u8}, {4110, 1_u8}, {4150, 0_u8}, {4180, 0_u8}, {4195, 9_u8}, {4235, 0_u8}, {4275, 1_u8}, {4300, 0_u8}, {-1, 0_u8}, {4315, 1_u8}, {4355, 0_u8}, {-1, 0_u8}, {4395, 1_u8}, {4420, 0_u8}, {4445, 4_u8}, {-1, 0_u8}, {4448, 1_u8}, {4480, 0_u8}, {-1, 0_u8}, {4500, 1_u8}, {4510, 0_u8}, {4535, 0_u8}, {4545, 9_u8}, {4580, 0_u8}, {-1, 0_u8}, {4595, 1_u8}, {4627, 0_u8}, {4659, 0_u8}, {-1, 0_u8}, {4703, 1_u8}, {4727, 0_u8}, {4759, 0_u8}, {-1, 0_u8}, {4799, 1_u8}, {4831, 0_u8}, {-1, 0_u8}, {4767, 1_u8}, {4787, 0_u8}, {-1, 0_u8}, {4863, 1_u8}, {4891, 0_u8}, {-1, 0_u8}, {4919, 9_u8}, {4943, 0_u8}, {4971, 1_u8}, {4983, 1_u8}, {4995, 0_u8}, {5011, 0_u8}, {5019, 0_u8}, {-1, 0_u8}, {5031, 1_u8}, {5031, 0_u8}, {-1, 0_u8}, {5063, 1_u8}, {5095, 0_u8}, {-1, 0_u8}, {5127, 1_u8}, {5329, 0_u8}, {-1, 0_u8}]
flat array of {string offset, properties}; a BLUE_STRING_MAX entry
terminates each stringset
STYLE_CLASSES = [StyleClass.new(:adlm, Ws::Latin, :adlm, RANGES_ADLM, NONBASE_ADLM), StyleClass.new(:arab, Ws::Latin, :arab, RANGES_ARAB, NONBASE_ARAB), StyleClass.new(:armn, Ws::Latin, :armn, RANGES_ARMN, NONBASE_ARMN), StyleClass.new(:avst, Ws::Latin, :avst, RANGES_AVST, NONBASE_AVST), StyleClass.new(:bamu, Ws::Latin, :bamu, RANGES_BAMU, NONBASE_BAMU), StyleClass.new(:beng, Ws::Latin, :beng, RANGES_BENG, NONBASE_BENG), StyleClass.new(:buhd, Ws::Latin, :buhd, RANGES_BUHD, NONBASE_BUHD), StyleClass.new(:cakm, Ws::Latin, :cakm, RANGES_CAKM, NONBASE_CAKM), StyleClass.new(:cans, Ws::Latin, :cans, RANGES_CANS, NONBASE_CANS), StyleClass.new(:cari, Ws::Latin, :cari, RANGES_CARI, NONBASE_CARI), StyleClass.new(:cher, Ws::Latin, :cher, RANGES_CHER, NONBASE_CHER), StyleClass.new(:copt, Ws::Latin, :copt, RANGES_COPT, NONBASE_COPT), StyleClass.new(:cprt, Ws::Latin, :cprt, RANGES_CPRT, NONBASE_CPRT), StyleClass.new(:cyrl, Ws::Latin, :cyrl, RANGES_CYRL, NONBASE_CYRL), StyleClass.new(:deva, Ws::Latin, :deva, RANGES_DEVA, NONBASE_DEVA), StyleClass.new(:dsrt, Ws::Latin, :dsrt, RANGES_DSRT, NONBASE_DSRT), StyleClass.new(:ethi, Ws::Latin, :ethi, RANGES_ETHI, NONBASE_ETHI), StyleClass.new(:geor, Ws::Latin, :geor, RANGES_GEOR, NONBASE_GEOR), StyleClass.new(:geok, Ws::Latin, :geok, RANGES_GEOK, NONBASE_GEOK), StyleClass.new(:glag, Ws::Latin, :glag, RANGES_GLAG, NONBASE_GLAG), StyleClass.new(:goth, Ws::Latin, :goth, RANGES_GOTH, NONBASE_GOTH), StyleClass.new(:grek, Ws::Latin, :grek, RANGES_GREK, NONBASE_GREK), StyleClass.new(:gujr, Ws::Latin, :gujr, RANGES_GUJR, NONBASE_GUJR), StyleClass.new(:guru, Ws::Latin, :guru, RANGES_GURU, NONBASE_GURU), StyleClass.new(:hebr, Ws::Latin, :hebr, RANGES_HEBR, NONBASE_HEBR), StyleClass.new(:kali, Ws::Latin, :kali, RANGES_KALI, NONBASE_KALI), StyleClass.new(:khmr, Ws::Latin, :khmr, RANGES_KHMR, NONBASE_KHMR), StyleClass.new(:khms, Ws::Latin, :khms, RANGES_KHMS, NONBASE_KHMS), StyleClass.new(:knda, Ws::Latin, :knda, RANGES_KNDA, NONBASE_KNDA), StyleClass.new(:lao, Ws::Latin, :lao, RANGES_LAO, NONBASE_LAO), StyleClass.new(:latn, Ws::Latin, :latn, RANGES_LATN, NONBASE_LATN), StyleClass.new(:latb, Ws::Latin, :latb, RANGES_LATB, NONBASE_LATB), StyleClass.new(:latp, Ws::Latin, :latp, RANGES_LATP, NONBASE_LATP), StyleClass.new(:lisu, Ws::Latin, :lisu, RANGES_LISU, NONBASE_LISU), StyleClass.new(:mlym, Ws::Latin, :mlym, RANGES_MLYM, NONBASE_MLYM), StyleClass.new(:medf, Ws::Latin, :medf, RANGES_MEDF, NONBASE_MEDF), StyleClass.new(:mong, Ws::Latin, :mong, RANGES_MONG, NONBASE_MONG), StyleClass.new(:mymr, Ws::Latin, :mymr, RANGES_MYMR, NONBASE_MYMR), StyleClass.new(:nkoo, Ws::Latin, :nkoo, RANGES_NKOO, NONBASE_NKOO), StyleClass.new(:none, Ws::Dummy, nil, R0, R0), StyleClass.new(:olck, Ws::Latin, :olck, RANGES_OLCK, NONBASE_OLCK), StyleClass.new(:orkh, Ws::Latin, :orkh, RANGES_ORKH, NONBASE_ORKH), StyleClass.new(:osge, Ws::Latin, :osge, RANGES_OSGE, NONBASE_OSGE), StyleClass.new(:osma, Ws::Latin, :osma, RANGES_OSMA, NONBASE_OSMA), StyleClass.new(:rohg, Ws::Latin, :rohg, RANGES_ROHG, NONBASE_ROHG), StyleClass.new(:saur, Ws::Latin, :saur, RANGES_SAUR, NONBASE_SAUR), StyleClass.new(:shaw, Ws::Latin, :shaw, RANGES_SHAW, NONBASE_SHAW), StyleClass.new(:sinh, Ws::Latin, :sinh, RANGES_SINH, NONBASE_SINH), StyleClass.new(:sund, Ws::Latin, :sund, RANGES_SUND, NONBASE_SUND), StyleClass.new(:taml, Ws::Latin, :taml, RANGES_TAML, NONBASE_TAML), StyleClass.new(:tavt, Ws::Latin, :tavt, RANGES_TAVT, NONBASE_TAVT), StyleClass.new(:telu, Ws::Latin, :telu, RANGES_TELU, NONBASE_TELU), StyleClass.new(:tfng, Ws::Latin, :tfng, RANGES_TFNG, NONBASE_TFNG), StyleClass.new(:thai, Ws::Latin, :thai, RANGES_THAI, NONBASE_THAI), StyleClass.new(:vaii, Ws::Latin, :vaii, RANGES_VAII, NONBASE_VAII), StyleClass.new(:limb, Ws::Latin, nil, RANGES_LIMB, NONBASE_LIMB), StyleClass.new(:orya, Ws::Latin, nil, RANGES_ORYA, NONBASE_ORYA), StyleClass.new(:sylo, Ws::Latin, nil, RANGES_SYLO, NONBASE_SYLO), StyleClass.new(:tibt, Ws::Latin, nil, RANGES_TIBT, NONBASE_TIBT), StyleClass.new(:hani, Ws::Cjk, :hani, RANGES_HANI, NONBASE_HANI)] of StyleClass
af_style_classes in afstyles.h order (DEFAULT-coverage styles only;
the feature-based styles (smcp, sups, ...) never get coverage without
harfbuzz and are skipped at scan time anyway).
STYLE_UNASSIGNED = 16383_u16
glyph_styles bits (afglobal.h: AF_STYLE_MASK 0x3FFF, AF_NONBASE
0x4000, AF_DIGIT 0x8000; unassigned == the style mask itself)