// afblue.dat
//
// Auto-fitter data for blue strings.
//
// Copyright (C) 2013-2019 by
// David Turner, Robert Wilhelm, and Werner Lemberg.
//
// This file is part of the FreeType project, and may only be used,
// modified, and distributed under the terms of the FreeType project
// license, LICENSE.TXT. By continuing to use, modify, or distribute
// this file you indicate that you have read the license and
// understand and accept it fully.
// This file contains data specific to blue zones. It gets processed by
// a script to simulate `jagged arrays', with enumeration values holding
// offsets into the arrays.
//
// The format of the file is rather simple: A section starts with three
// labels separated by whitespace and followed by a colon (everything in a
// single line); the first label gives the name of the enumeration template,
// the second the name of the array template, and the third the name of the
// `maximum' template. The script then fills the corresponding templates
// (indicated by `@' characters around the name).
//
// A section contains one or more data records. Each data record consists
// of two or more lines. The first line holds the enumeration name, and the
// remaining lines the corresponding array data.
//
// There are two possible representations for array data.
//
// - A string of characters or character clusters (for example, representing
// Aksharas, Devanagari syllables) in UTF-8 encoding enclosed in double
// quotes, using C syntax, where the elements are separated by spaces.
// There can be only one string per line, thus the starting and ending
// double quote must be the first and last character in the line,
// respectively, ignoring whitespace before and after the string. If
// there are multiple strings (in multiple lines), they are concatenated
// to a single string. In the output, a string gets represented as a
// series of singles bytes, followed by a zero byte. The enumeration
// values simply hold byte offsets to the start of the corresponding
// strings.
//
// For strings, the `maximum' template holds the maximum number of
// non-space characters in all strings.
//
// - Data blocks enclosed in balanced braces, which get copied verbatim and
// which can span multiple lines. The opening brace of a block must be
// the first character of a line (ignoring whitespace), and the closing
// brace the last (ignoring whitespace also). The script appends a comma
// character after each block and counts the number of blocks to set the
// enumeration values.
//
// For data blocks, the `maximum' template holds the maximum number of
// array elements.
//
// A section can contain either strings only or data blocks only.
//
// A comment line starts with `//'; it gets removed. A preprocessor
// directive line (using the standard syntax of `cpp') starts with `#' and
// gets copied verbatim to both the enumeration and the array. Whitespace
// outside of a string is insignificant.
//
// Preprocessor directives are ignored while the script computes maximum
// values; this essentially means that the maximum values can easily be too
// large. Given that the purpose of those values is to create local
// fixed-size arrays at compile time for further processing of the blue zone
// data, this isn't a problem. Note the final zero byte of a string is not
// counted. Note also that the count holds the number of UTF-8 encoded
// characters, not bytes.
// The blue zone string data, to be used in the blue stringsets below.
AF_BLUE_STRING_ENUM AF_BLUE_STRINGS_ARRAY AF_BLUE_STRING_MAX_LEN:
AF_BLUE_STRING_ADLAM_CAPITAL_TOP
"馂 馂 馂 馂 馂 馂"
AF_BLUE_STRING_ADLAM_CAPITAL_BOTTOM
"馂 馂"
AF_BLUE_STRING_ADLAM_SMALL_TOP
"馂が 馂ぎ 馂せ 馂ぜ 馂ぞ"
AF_BLUE_STRING_ADLAM_SMALL_BOTTOM
"馂い 馂え 馂ぉ 馂き 馂ご 馂じ 馂ず 馂"
AF_BLUE_STRING_ARABIC_TOP
"丕 廿 賱 賰 胤 馗"
AF_BLUE_STRING_ARABIC_BOTTOM
"鬲 孬 胤 馗 賰"
// We don't necessarily have access to medial forms via Unicode in case
// Arabic presentational forms are missing. The only character that is
// guaranteed to have the same vertical position with joining (this is,
// non-isolated) forms is U+0640, ARABIC TATWEEL, which must join both
// round and flat curves.
AF_BLUE_STRING_ARABIC_JOIN
"賭"
AF_BLUE_STRING_ARMENIAN_CAPITAL_TOP
"员 談 諕 諐 圆 猿 源 諘"
AF_BLUE_STRING_ARMENIAN_CAPITAL_BOTTOM
"諕 請 源 諆 諊 諐 諒 諘"
AF_BLUE_STRING_ARMENIAN_SMALL_ASCENDER
"榨 乍 斋 沾 站 謫 粘"
AF_BLUE_STRING_ARMENIAN_SMALL_TOP
"铡 盏 謧 战 眨 辗 謤 謪"
AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM
"瞻 崭 粘 铡 榨 债 战 謪"
AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER
"闸 炸 斋 宅 詹 蘸 謨 謥"
AF_BLUE_STRING_AVESTAN_TOP
"饜瑎 饜瑏 饜瑦 饜瑳"
AF_BLUE_STRING_AVESTAN_BOTTOM
"饜瑎 饜瑏"
AF_BLUE_STRING_BAMUM_TOP
"隁� 隁� 隂� 隂� 隂� 隂� 隂� 隂�"
AF_BLUE_STRING_BAMUM_BOTTOM
"隁� 隁� 隁� 隂� 隁� 隁� 隂� 隂�"
AF_BLUE_STRING_BENGALI_BASE
"唳� 唳� 唳� 唳� 唳� 唳� 唳� 唳�"
AF_BLUE_STRING_BENGALI_TOP
"唳� 唳� 唳� 唳� 唰� 唰� 唰�"
AF_BLUE_STRING_BENGALI_HEAD
"唳� 唳� 唳� 唳� 唳� 唳� 唳� 唳�"
AF_BLUE_STRING_BUHID_TOP
"釢� 釢�"
AF_BLUE_STRING_BUHID_LARGE
"釢� 釢� 釢�"
AF_BLUE_STRING_BUHID_SMALL
"釢� 釢� 釢� 釢�"
AF_BLUE_STRING_BUHID_BOTTOM
"釢� 釢� 釢� 釢� 釢� 釢� 釢�"
AF_BLUE_STRING_CANADIAN_SYLLABICS_TOP
"釛� 釚� 釔� 釖� 釕� 釕� 釘� 釛�"
AF_BLUE_STRING_CANADIAN_SYLLABICS_BOTTOM
"釛� 釚� 釖� 釔� 釕� 釖� 釘� 釛�"
AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_TOP
"釗� 釗� 釗� 釗� 釗� 釙� 釙� 針�"
AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_BOTTOM
"釙� 釗� 釗� 釙� 釗� 釗� 釙� 針�"
AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_TOP
"釔� 釞� 幔� 釔� 釖� 幔� 釘�"
AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_BOTTOM
"釞� 釛� 釖� 釔� 釘� 釖� 釖� 釗�"
AF_BLUE_STRING_CARIAN_TOP
"饜姧 饜姭 饜姮 饜姯 饜姳 饜姾 饜娂 饜娍"
AF_BLUE_STRING_CARIAN_BOTTOM
"饜姡 饜姧 饜姺 饜媭 饜姭 饜姼 饜媺"
AF_BLUE_STRING_CHAKMA_TOP
"饝剝 饝剠 饝剦 饝剻 饝剹"
AF_BLUE_STRING_CHAKMA_BOTTOM
"饝剠 饝剾 饝劃 饝剹 饝創"
AF_BLUE_STRING_CHAKMA_DESCENDER
"饝剸饝劤饝劉 饝剺饝劤饝劉 饝剻饝劤饝劉 饝劋饝劤饝劉 饝劌饝劤饝劉"
AF_BLUE_STRING_CHEROKEE_CAPITAL
"釓� 釒� 釒� 釓� 釒� 釓� 釒� 釓�"
AF_BLUE_STRING_CHEROKEE_SMALL_ASCENDER
"戤� 戤� 戤� 戥� 戥� 戤� 戤� 戤�"
AF_BLUE_STRING_CHEROKEE_SMALL
"戤� 戥� 戤� 戤� 戤� 戥� 戤� 戤�"
AF_BLUE_STRING_CHEROKEE_SMALL_DESCENDER
"釓� 戤� 戥� 戥�"
AF_BLUE_STRING_COPTIC_CAPITAL_TOP
"獠� 獠� 獠� 獬� 獠� 獠� 獠� 獬�"
AF_BLUE_STRING_COPTIC_CAPITAL_BOTTOM
"獬� 獬� 獬� 獠� 獠� 獠� 獬� 獠�"
AF_BLUE_STRING_COPTIC_SMALL_TOP
"獠� 獠� 獠� 獬� 獠� 獠� 獠� 獬�"
AF_BLUE_STRING_COPTIC_SMALL_BOTTOM
"獬� 獬� 獬� 獠� 獠� 獠� 獬� 獬�"
AF_BLUE_STRING_CYPRIOT_TOP
"饜爫 饜牂 饜牫 饜牨 饜爡 饜爴 饜牐 饜牔"
AF_BLUE_STRING_CYPRIOT_BOTTOM
"饜爟 饜爦 饜牄 饜牐 饜牫 饜牭 饜爯"
AF_BLUE_STRING_CYPRIOT_SMALL
"饜爤 饜爮 饜爾"
AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP
"袘 袙 袝 袩 袟 袨 小 协"
AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM
"袘 袙 袝 楔 袟 袨 小 协"
AF_BLUE_STRING_CYRILLIC_SMALL
"褏 锌 薪 褕 械 蟹 芯 褋"
AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER
"褉 褍 褎"
AF_BLUE_STRING_DESERET_CAPITAL_TOP
"饜悅 饜悇 饜悑 饜悧 饜悜"
AF_BLUE_STRING_DESERET_CAPITAL_BOTTOM
"饜悁 饜悅 饜悇 饜悧 饜悰"
AF_BLUE_STRING_DESERET_SMALL_TOP
"饜惇 饜惉 饜惓 饜惪 饜惞"
AF_BLUE_STRING_DESERET_SMALL_BOTTOM
"饜惃 饜惇 饜惉 饜惪 饜憙"
AF_BLUE_STRING_DEVANAGARI_BASE
"啶� 啶� 啶� 啶� 啶� 啶� 啶� 啶�"
AF_BLUE_STRING_DEVANAGARI_TOP
"啶� 啶� 啶� 啶� 啶� 啷� 啷� 啷�"
// note that some fonts have extreme variation in the height of the
// round head elements; for this reason we also define the `base'
// blue zone, which must be always present
AF_BLUE_STRING_DEVANAGARI_HEAD
"啶� 啶� 啶� 啶� 啶� 啶� 啶� 啶�"
AF_BLUE_STRING_DEVANAGARI_BOTTOM
"啷� 啷�"
AF_BLUE_STRING_ETHIOPIC_TOP
"釄� 釄� 釈� 釐� 釄� 釅� 釈� 釈�"
AF_BLUE_STRING_ETHIOPIC_BOTTOM
"釄� 釄� 釅� 釈� 釄� 釄� 釈� 釋�"
AF_BLUE_STRING_GEORGIAN_MKHEDRULI_TOP
"醿� 醿� 醿� 醿� 醿� 醿� 醿� 醿�"
AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM
"醿� 醿� 醿� 醿� 醿� 醿� 醿� 醿�"
AF_BLUE_STRING_GEORGIAN_MKHEDRULI_ASCENDER
"醿� 醿� 醿� 醿� 醿� 醿� 醿� 醿�"
AF_BLUE_STRING_GEORGIAN_MKHEDRULI_DESCENDER
"醿� 醿� 醿� 醿� 醿� 醿� 醿� 醿�"
AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_TOP
"醾� 醾� 醾� 醾� 醾� 醾� 醾� 醾�"
AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_BOTTOM
"醾� 醾� 醾� 醾� 醾� 醾� 醾� 醾�"
AF_BLUE_STRING_GEORGIAN_NUSKHURI_TOP
"獯� 獯� 獯� 獯� 獯� 獯� 獯� 獯�"
AF_BLUE_STRING_GEORGIAN_NUSKHURI_BOTTOM
"獯� 獯� 獯� 獯� 獯� 獯� 獯� 獯�"
AF_BLUE_STRING_GEORGIAN_NUSKHURI_ASCENDER
"獯� 獯� 獯� 獯� 獯� 獯� 獯� 獯�"
AF_BLUE_STRING_GEORGIAN_NUSKHURI_DESCENDER
"獯� 獯� 獯� 獯� 獯� 獯� 獯� 獯�"
AF_BLUE_STRING_GEORGIAN_MTAVRULI_TOP
"岵� 岵� 岵� 岵� 岵� 岵� 岵� 岵�"
AF_BLUE_STRING_GEORGIAN_MTAVRULI_BOTTOM
"岵� 岵� 岵� 岵� 岵� 岵� 岵� 岵�"
AF_BLUE_STRING_GLAGOLITIC_CAPITAL_TOP
"獍� 獍� 獍� 獍� 獍� 獍� 獍� 獍�"
AF_BLUE_STRING_GLAGOLITIC_CAPITAL_BOTTOM
"獍� 獍� 獍� 獍� 獍� 獍� 獍� 獍�"
AF_BLUE_STRING_GLAGOLITIC_SMALL_TOP
"獍� 獗� 獗� 獍� 獍� 獍� 獗� 獍�"
AF_BLUE_STRING_GLAGOLITIC_SMALL_BOTTOM
"獍� 獍� 獍� 獗� 獗� 獗� 獍� 獗�"
AF_BLUE_STRING_GOTHIC_TOP
"饜尣 饜尪 饜崁 饜崉 饜尨 饜崈 饜崍 饜尵"
AF_BLUE_STRING_GOTHIC_BOTTOM
"饜尪 饜尨 饜崈 饜崍"
AF_BLUE_STRING_GREEK_CAPITAL_TOP
"螕 螔 螘 螙 螛 螣 惟"
AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM
"螔 螖 螙 螢 螛 螣"
AF_BLUE_STRING_GREEK_SMALL_BETA_TOP
"尾 胃 未 味 位 尉"
AF_BLUE_STRING_GREEK_SMALL
"伪 蔚 喂 慰 蟺 蟽 蟿 蠅"
AF_BLUE_STRING_GREEK_SMALL_DESCENDER
"尾 纬 畏 渭 蟻 蠁 蠂 蠄"
AF_BLUE_STRING_GUJARATI_TOP
"嗒� 嗒� 嗒� 嗒� 嗒� 嗒� 嗒� 喃�"
AF_BLUE_STRING_GUJARATI_BOTTOM
"嗒� 嗒� 嗒� 嗒� 嗒� 嗒� 嗒� 嗒�"
AF_BLUE_STRING_GUJARATI_ASCENDER
"嗒� 嗒� 嗒� 喃� 嗒侧珋 嗒多珝嗒氞 嗒溹 嗒膏珋"
AF_BLUE_STRING_GUJARATI_DESCENDER
"喃� 喃� 喃� 嗒栢珌 嗒涏珒 嗒涏珓"
AF_BLUE_STRING_GUJARATI_DIGIT_TOP
"喃� 喃� 喃� 喃� 喃�"
AF_BLUE_STRING_GURMUKHI_BASE
"啜� 啜� 啜� 啜� 啜� 啜� 啜� 啜�"
AF_BLUE_STRING_GURMUKHI_HEAD
"啜� 啜� 啜� 啜� 啜� 啜� 啜� 啜�"
AF_BLUE_STRING_GURMUKHI_TOP
"啜� 啜� 啜� 啜� 啜� 喋� 啜� 喋�"
AF_BLUE_STRING_GURMUKHI_BOTTOM
"啜� 啜� 啜� 啜� 啜� 啜� 啜� 啜�"
AF_BLUE_STRING_GURMUKHI_DIGIT_TOP
"喋� 喋� 喋� 喋� 喋�"
AF_BLUE_STRING_HEBREW_TOP
"讘 讚 讛 讞 讱 讻 诐 住"
AF_BLUE_STRING_HEBREW_BOTTOM
"讘 讟 讻 诐 住 爪"
AF_BLUE_STRING_HEBREW_DESCENDER
"拽 讱 谉 祝 抓"
AF_BLUE_STRING_KANNADA_TOP
"嗖� 嗖� 嗖� 嗖� 嗖膏簿 嗖ㄠ簿 嗖︵簿 嗖班簿"
AF_BLUE_STRING_KANNADA_BOTTOM
"嗖� 嗖� 嗖� 嗖� 喑� 喑� 喑� 喑�"
AF_BLUE_STRING_KAYAH_LI_TOP
"辘� 辘� 辘� 辘� 辘� 辘�"
AF_BLUE_STRING_KAYAH_LI_BOTTOM
"辘� 辘� 辘� 辘� 辘�"
AF_BLUE_STRING_KAYAH_LI_ASCENDER
"辘� 辘�"
AF_BLUE_STRING_KAYAH_LI_DESCENDER
"辘� 辘� 辘�"
AF_BLUE_STRING_KAYAH_LI_LARGE_DESCENDER
"辘戧が 辘滉き 辘旉が"
AF_BLUE_STRING_KHMER_TOP
"釣� 釣� 釣� 釣� 釣� 釣�"
AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP
"釣�釤掅瀫 釣�釤掅瀬 釣�釤掅瀭 釣�釤掅瀽"
AF_BLUE_STRING_KHMER_BOTTOM
"釣� 釣� 釣� 釣� 釣� 釣� 釣� 釣�"
AF_BLUE_STRING_KHMER_DESCENDER
"釣忈煉釣� 釣氠焵 釣册煉釣� 釣⑨灴"
AF_BLUE_STRING_KHMER_LARGE_DESCENDER
"釣撫煉釣忈煉釣氠焹 釣勧煉釣佱煉釣� 釣�釤掅灁釤� 釣呩煉釣氠焵 釣撫煉釣忈灴 釣涐煉釣斸灴"
AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP
"岌� 岌�"
AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM
"岌� 岌�"
AF_BLUE_STRING_LAO_TOP
"嗪� 嗪� 嗪� 嗪� 嗪� 嗪� 嗪� 嗪�"
AF_BLUE_STRING_LAO_BOTTOM
"嗪� 嗪� 嗪� 嗪� 嗪� 嗪� 嗪� 嗪�"
AF_BLUE_STRING_LAO_ASCENDER
"嗪� 嗪� 嗪� 嗪�"
AF_BLUE_STRING_LAO_LARGE_ASCENDER
"嗷� 嗷� 嗷�"
AF_BLUE_STRING_LAO_DESCENDER
"嗪� 嗪� 嗪� 嗪� 嗷� 嗪�"
AF_BLUE_STRING_LATIN_CAPITAL_TOP
"T H E Z O C Q S"
AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM
"H E Z L O C U S"
AF_BLUE_STRING_LATIN_SMALL_F_TOP
"f i j k d b h"
AF_BLUE_STRING_LATIN_SMALL_TOP
"u v x z o e s c"
AF_BLUE_STRING_LATIN_SMALL_BOTTOM
"n r x z o e s c"
AF_BLUE_STRING_LATIN_SMALL_DESCENDER
"p q g j y"
// we assume that both the subscript and superscript ranges
// don't contain oldstyle digits (actually, most fonts probably
// have digits only in those ranges)
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP
"鈧� 鈧� 鈧� 鈧� 鈧�"
AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM
"鈧� 鈧� 鈧� 鈧� 鈧�"
AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP
"岬� 獗� 鈧� 鈧� 鈧�"
AF_BLUE_STRING_LATIN_SUBS_SMALL
"鈧� 鈧� 鈧� 鈧� 鈧� 鈧� 岬� 岬� 岬�"
AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER
"岬� 岬� 岬� 岬� 鈧�"
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP
"鈦� 鲁 鈦� 鈦� 岬� 岽� 岽� 岽�"
AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM
"鈦� 鹿 虏 鲁 岽� 岽� 岽� 岬�"
AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP
"岬� 岬� 岬� 拾 什 岫� 鈦�"
AF_BLUE_STRING_LATIN_SUPS_SMALL
"岬� 岬� 食 刷 耍 岫� 岫�"
AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER
"岬� 矢 岬�"
AF_BLUE_STRING_LISU_TOP
"険� 険� 険� 険� 険� 険� 険� 険�"
AF_BLUE_STRING_LISU_BOTTOM
"険� 険� 険� 険� 険� 険� 険� 険�"
AF_BLUE_STRING_MALAYALAM_TOP
"啻� 啻� 啻� 啻� 啻� 啻� 啻氞祶啻� 啻祶啻�"
AF_BLUE_STRING_MALAYALAM_BOTTOM
"啻� 啻� 啻� 啻� 啻� 啻� 啻� 啻�"
AF_BLUE_STRING_MONGOLIAN_TOP_BASE
"釥� 釥� 釥� 釥� 帷� 帷� 鈥嶀 鈥� 鈥嶀〕鈥�"
AF_BLUE_STRING_MONGOLIAN_BOTTOM_BASE
"帷�"
AF_BLUE_STRING_MYANMAR_TOP
"醼� 醼� 醼� 醼� 醼� 醽� 醽� 醽�"
AF_BLUE_STRING_MYANMAR_BOTTOM
"醼� 醼� 醼� 醼� 醼� 醼� 醽� 醽�"
AF_BLUE_STRING_MYANMAR_ASCENDER
"醼� 醼� 醽� 醽� 醽� 醼� 醼�"
AF_BLUE_STRING_MYANMAR_DESCENDER
"醼� 醼� 醼� 醼� 醼� 醽� 醽� 醽�"
AF_BLUE_STRING_NKO_TOP
"邜 邏 邟 邿 邧 邷 郀 撺"
AF_BLUE_STRING_NKO_BOTTOM
"還 邩 摺 郀 撺"
AF_BLUE_STRING_NKO_SMALL_TOP
"邚 邲 邒"
AF_BLUE_STRING_NKO_SMALL_BOTTOM
"邘 邚 邲 邒"
AF_BLUE_STRING_OL_CHIKI
"岜� 岜� 岜� 岜� 岜� 岜�"
AF_BLUE_STRING_OLD_TURKIC_TOP
"饜皸 饜皹 饜哀"
AF_BLUE_STRING_OLD_TURKIC_BOTTOM
"饜皦 饜皸 饜唉 饜哀"
AF_BLUE_STRING_OSAGE_CAPITAL_TOP
"饜捑 饜搷 饜搾 饜摀 饜捇 饜搨 饜挼 饜搯"
AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM
"饜挵 饜搷 饜搨 饜捒 饜搸 饜捁"
AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER
"饜捈 饜捊 饜捑"
AF_BLUE_STRING_OSAGE_SMALL_TOP
"饜摰 饜摱 饜摵 饜摶 饜摑 饜摚 饜摢 饜摦"
AF_BLUE_STRING_OSAGE_SMALL_BOTTOM
"饜摌 饜摎 饜摚 饜摰 饜摗 饜摟 饜摢 饜摱"
AF_BLUE_STRING_OSAGE_SMALL_ASCENDER
"饜摛 饜摝 饜摳 饜摴 饜摏"
AF_BLUE_STRING_OSAGE_SMALL_DESCENDER
"饜摛 饜摜 饜摝"
AF_BLUE_STRING_OSMANYA_TOP
"饜拞 饜拤 饜拹 饜拻 饜挊 饜挍 饜挔 饜挘"
AF_BLUE_STRING_OSMANYA_BOTTOM
"饜拃 饜拏 饜拞 饜拡 饜拪 饜拻 饜挔 饜挬"
AF_BLUE_STRING_SAURASHTRA_TOP
"辎� 辎� 辎� 辎� 辎� 辎� 辎� 辎�"
AF_BLUE_STRING_SAURASHTRA_BOTTOM
"辎� 辎� 辎� 辎� 辎�"
AF_BLUE_STRING_SHAVIAN_TOP
"饜憰 饜憴"
AF_BLUE_STRING_SHAVIAN_BOTTOM
"饜憯 饜憱 饜憲 饜懝 饜懟"
AF_BLUE_STRING_SHAVIAN_DESCENDER
"饜憻 饜懀"
AF_BLUE_STRING_SHAVIAN_SMALL_TOP
"饜懕 饜懖 饜懗 饜懘 饜懜 饜懞 饜懠"
AF_BLUE_STRING_SHAVIAN_SMALL_BOTTOM
"饜懘 饜懟 饜懝"
AF_BLUE_STRING_SINHALA_TOP
"喽� 喽� 喽� 喽� 喽� 喽� 喽� 喾�"
AF_BLUE_STRING_SINHALA_BOTTOM
"喽� 喽� 喽� 喽� 喽� 喽� 喽� 喽�"
AF_BLUE_STRING_SINHALA_DESCENDER
"喽� 喽� 喽� 喽� 喽窎 喽窋 喽多窋 喽窋"
AF_BLUE_STRING_SUNDANESE_TOP
"岙� 岙� 岙� 岙� 岙� 岙�"
AF_BLUE_STRING_SUNDANESE_BOTTOM
"岙� 岙� 岙� 岙� 岙� 岙� 岙� 岙�"
AF_BLUE_STRING_SUNDANESE_DESCENDER
"岙� 岢�"
AF_BLUE_STRING_TAI_VIET_TOP
"戟� 戟� 戟� 戟� 戟�"
AF_BLUE_STRING_TAI_VIET_BOTTOM
"戟� 戟� 戟�"
AF_BLUE_STRING_TAMIL_TOP
"喈� 喈� 喈� 喈� 喈� 喈� 喈� 喈�"
AF_BLUE_STRING_TAMIL_BOTTOM
"喈� 喈� 喈� 喈� 喈� 喈� 喈� 喈�"
AF_BLUE_STRING_TELUGU_TOP
"喟� 喟� 喟� 喟� 喟� 喟� 啾�"
AF_BLUE_STRING_TELUGU_BOTTOM
"喟� 喟� 喟� 喟� 喟� 啾� 啾�"
AF_BLUE_STRING_THAI_TOP
"喔� 喙� 喙� 喔� 喔� 喔�"
AF_BLUE_STRING_THAI_BOTTOM
"喔� 喔� 喔� 喔� 喔� 喔� 喔�"
AF_BLUE_STRING_THAI_ASCENDER
"喔� 喔� 喔�"
AF_BLUE_STRING_THAI_LARGE_ASCENDER
"喙� 喙� 喙�"
AF_BLUE_STRING_THAI_DESCENDER
"喔� 喔� 喔� 喔�"
AF_BLUE_STRING_THAI_LARGE_DESCENDER
"喔� 喔�"
AF_BLUE_STRING_THAI_DIGIT_TOP
"喙� 喙� 喙�"
AF_BLUE_STRING_TIFINAGH
"獾� 獾� 獾� 獾� 獯� 獯� 獯� 獾�"
AF_BLUE_STRING_VAI_TOP
"陾� 陿� 陿� 陿� 陽� 陽� 陻� 陼�"
AF_BLUE_STRING_VAI_BOTTOM
"陾� 陿� 陿� 陾� 陻� 陼� 陽� 陻�"
#ifdef AF_CONFIG_OPTION_CJK
AF_BLUE_STRING_CJK_TOP
"浠� 浠� 浣� 渚� 鍊� 鍒� 鍜� 鍦�"
" 瀵� 灏� 灏� 甯� 鎴� 鏃� 鏅� 鏈�"
" 鏉� 鐐� 鑳� 鑸� 瑾� 璇� 杩� 閫�"
" 榻� |"
" 鍐� 鍚� 宸� 鎰� 鏃� 鏄� 鏄� 鏅�"
" 姘� 鐓� 鐜� 鐝� 鐞� 鐢� 缃� 瑕�"
" 杌� 閭� 閰� 閲� 闁� 闆� 闇� 闈�"
" 椤�"
AF_BLUE_STRING_CJK_BOTTOM
"涓� 涓� 浜� 浠� 浠� 浠� 浣� 渚�"
" 鍊� 鍊� 鍒� 鍜� 澶� 瀵� 灏� 灏�"
" 鎴� 鏃� 鏅� 鏈� 鏉� 鐐� 瑕� 瑾�"
" 璇� |"
" 涓� 浜� 鍥� 瀹� 鎯� 鎰� 鐞� 鐢�"
" 鐣� 鐪� 鐫� 缃� 鑰� 鑷� 钁� 瑁�"
" 杩� 杩� 杩� 閫� 閬� 閬� 閭� 閲�"
" 闈�"
#ifdef AF_CONFIG_OPTION_CJK_BLUE_HANI_VERT
AF_BLUE_STRING_CJK_LEFT
" 浜� 浠� 浣� 渚� 鍊� 鍒� 鍜� 鍦�"
" 濂� 灏� 灏� 灏� 骞� 寰� 鎯� 鏈�"
" 鏍� 妯� 鐞� 鑳� 瑾� 璇� 杩� 閫�"
" 閫� |"
" 鍗� 鍚� 鍚� 鍚� 鍛� 鍝� 鍝� 鍡�"
" 甯� 甯� 鏀� 鏂� 鏂� 鏄� 鐪� 闁�"
" 闂� 闄� 闄� 闄� 闄� 闄� 闅� 闅�"
" 闅�"
AF_BLUE_STRING_CJK_RIGHT
"浜� 鍓� 瀛� 灏� 灏� 鎯� 鎯� 鎴�"
" 鏀� 鏂� 鏂� 鏍� 妯� 姘� 娌� 娌�"
" 鐒� 鐗� 鐜� 鐝� 鐞� 绗� 缍� 璋�"
" 璧� |"
" 渚� 鍒� 鍒� 鍒� 鍔� 鍕� 鍚� 鍡�"
" 澧� 鎸� 鏄� 鏈� 鏈� 鏋� 鐗� 纭�"
" 绉� 瑾� 璋� 璨� 璐� 閭� 閮� 闁�"
" 闂�"
#endif /* AF_CONFIG_OPTION_CJK_BLUE_HANI_VERT */
#endif /* AF_CONFIG_OPTION_CJK */
// The blue zone stringsets, as used in the script styles, cf. `afstyles.h'.
//
// The AF_BLUE_PROPERTY_XXX flags are defined in `afblue.h'; here some
// explanations.
//
// A blue zone in general is defined by a reference and an overshoot line.
// During the hinting process, all coordinate values between those two lines
// are set equal to the reference value, provided that the blue zone is not
// wider than 0.75 pixels (otherwise the blue zone gets ignored). All
// entries must have `AF_BLUE_STRING_MAX' as the final line.
//
// During the glyph analysis, edges are sorted from bottom to top, and then
// sequentially checked, edge by edge, against the blue zones in the order
// given below.
//
//
// latin auto-hinter
// -----------------
//
// Characters in a blue string are automatically classified as having a flat
// (reference) or a round (overshoot) extremum. The blue zone is then set
// up by the mean values of all flat extrema and all round extrema,
// respectively. Only horizontal blue zones (i.e., adjusting vertical
// coordinate values) are supported.
//
// Some scripts like Khmer need character composition to get all necessary
// blue zones, since Unicode only provides an abstract data model that
// doesn't represent all possible glyph shapes. For such character
// clusters, the HarfBuzz library is used to convert them into the
// corresponding glyphs. The largest glyph element (where `largest' can be
// either `largest ascender' or `largest descender') then defines the
// corresponding flat or round extremum.
//
// For the latin auto-hinter, the overshoot should be larger than the
// reference for top zones, and vice versa for bottom zones.
//
// LATIN_TOP
// Take the maximum flat and round coordinate values of the blue string
// characters for computing the blue zone's reference and overshoot
// values.
//
// If not set, take the minimum values.
//
// Mutually exclusive with `LATIN_SUB_TOP'.
//
// LATIN_SUB_TOP
// For all glyphs of a character cluster, compute the maximum flat
// and round coordinate values of each component, then take the
// smallest of the maximum values. The idea is to get the top of
// subscript glyphs, as used in Khmer, for example. Note that
// this mechanism doesn't work for ordinary ligatures.
//
// This flags indicates a secondary blue zone: It gets removed if
// there is a non-LATIN_SUB_TOP blue zone at the same coordinate
// value (after scaling).
//
// Mutually exclusive with `LATIN_TOP'.
//
// LATIN_NEUTRAL
// Ignore round extrema and define the blue zone with flat values only.
// Both top and bottom of contours can match. This is useful for
// scripts like Devanagari where vowel signs attach to the base
// character and are implemented as components of composite glyphs.
//
// If not set, both round and flat extrema are taken into account.
// Additionally, only the top or the bottom of a contour can match,
// depending on the LATIN_TOP flag.
//
// Neutral blue zones should always follow non-neutral blue zones.
//
// LATIN_X_HEIGHT
// Scale all glyphs vertically from the corresponding script to make the
// reference line of this blue zone align on the grid. The scaling
// takes place before all other blue zones get aligned to the grid.
// Only one blue character string of a script style can have this flag.
//
// LATIN_LONG
// Apply an additional constraint for blue zone values: Don't
// necessarily use the extremum as-is but a segment of the topmost (or
// bottommost) contour that is longer than a heuristic threshold, and
// which is not too far away vertically from the real extremum. This
// ensures that small bumps in the outline are ignored (for example, the
// `vertical serifs' found in many Hebrew glyph designs).
//
// The segment must be at least EM/25 font units long, and the distance
// to the extremum must be smaller than EM/4.
//
//
// cjk auto-hinter
// ---------------
//
// Characters in a blue string are *not* automatically classified. Instead,
// first come the characters used for the overshoot value, then the
// character `|', then the characters used for the reference value
// (everything separated by space characters). The blue zone is then set up
// by the mean values of all reference values and all overshoot values,
// respectively. Both horizontal and vertical blue zones (i.e., adjusting
// vertical and horizontal coordinate values, respectively) are supported.
//
// For the cjk auto-hinter, the overshoot should be smaller than the
// reference for top zones, and vice versa for bottom zones.
//
// CJK_TOP
// Take the maximum flat and round coordinate values of the blue string
// characters. If not set, take the minimum values.
//
// CJK_RIGHT
// A synonym for CJK_TOP. If CJK_HORIZ is set, this flag indicates the
// right blue zone, taking horizontal maximum values.
//
// CJK_HORIZ
// Define a blue zone for horizontal hinting (i.e., vertical blue
// zones). If not set, this is a blue zone for vertical hinting.
AF_BLUE_STRINGSET_ENUM AF_BLUE_STRINGSETS_ARRAY AF_BLUE_STRINGSET_MAX_LEN:
AF_BLUE_STRINGSET_ADLM
{ AF_BLUE_STRING_ADLAM_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_ADLAM_CAPITAL_BOTTOM, 0 }
{ AF_BLUE_STRING_ADLAM_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_ADLAM_SMALL_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_ARAB
{ AF_BLUE_STRING_ARABIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_ARABIC_BOTTOM, 0 }
{ AF_BLUE_STRING_ARABIC_JOIN, AF_BLUE_PROPERTY_LATIN_NEUTRAL }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_ARMN
{ AF_BLUE_STRING_ARMENIAN_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_ARMENIAN_CAPITAL_BOTTOM, 0 }
{ AF_BLUE_STRING_ARMENIAN_SMALL_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_ARMENIAN_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_ARMENIAN_SMALL_BOTTOM, 0 }
{ AF_BLUE_STRING_ARMENIAN_SMALL_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_AVST
{ AF_BLUE_STRING_AVESTAN_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_AVESTAN_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_BAMU
{ AF_BLUE_STRING_BAMUM_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_BAMUM_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_BENG
{ AF_BLUE_STRING_BENGALI_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_BENGALI_HEAD, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_BENGALI_BASE, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_NEUTRAL |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_BENGALI_BASE, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_BUHD
{ AF_BLUE_STRING_BUHID_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_BUHID_LARGE, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_BUHID_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_BUHID_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_CAKM
{ AF_BLUE_STRING_CHAKMA_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_CHAKMA_BOTTOM, 0 }
{ AF_BLUE_STRING_CHAKMA_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_CANS
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_BOTTOM, 0 }
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_SMALL_BOTTOM, 0 }
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_CANADIAN_SYLLABICS_SUPS_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_CARI
{ AF_BLUE_STRING_CARIAN_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_CARIAN_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_CHER
{ AF_BLUE_STRING_CHEROKEE_CAPITAL, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_CHEROKEE_CAPITAL, 0 }
{ AF_BLUE_STRING_CHEROKEE_SMALL_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_CHEROKEE_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_CHEROKEE_SMALL, 0 }
{ AF_BLUE_STRING_CHEROKEE_SMALL_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_COPT
{ AF_BLUE_STRING_COPTIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_COPTIC_CAPITAL_BOTTOM, 0 }
{ AF_BLUE_STRING_COPTIC_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_COPTIC_SMALL_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_CPRT
{ AF_BLUE_STRING_CYPRIOT_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_CYPRIOT_BOTTOM, 0 }
{ AF_BLUE_STRING_CYPRIOT_SMALL, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_CYPRIOT_SMALL, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_CYRL
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_CYRILLIC_CAPITAL_BOTTOM, 0 }
{ AF_BLUE_STRING_CYRILLIC_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_CYRILLIC_SMALL, 0 }
{ AF_BLUE_STRING_CYRILLIC_SMALL_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_DEVA
{ AF_BLUE_STRING_DEVANAGARI_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_DEVANAGARI_HEAD, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_DEVANAGARI_BASE, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_NEUTRAL |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_DEVANAGARI_BASE, 0 }
{ AF_BLUE_STRING_DEVANAGARI_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_DSRT
{ AF_BLUE_STRING_DESERET_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_DESERET_CAPITAL_BOTTOM, 0 }
{ AF_BLUE_STRING_DESERET_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_DESERET_SMALL_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_ETHI
{ AF_BLUE_STRING_ETHIOPIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_ETHIOPIC_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_GEOR
{ AF_BLUE_STRING_GEORGIAN_MKHEDRULI_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_GEORGIAN_MKHEDRULI_BOTTOM, 0 }
{ AF_BLUE_STRING_GEORGIAN_MKHEDRULI_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_GEORGIAN_MKHEDRULI_DESCENDER, 0 }
{ AF_BLUE_STRING_GEORGIAN_MTAVRULI_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_GEORGIAN_MTAVRULI_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_GEOK
{ AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_GEORGIAN_ASOMTAVRULI_BOTTOM, 0 }
{ AF_BLUE_STRING_GEORGIAN_NUSKHURI_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_GEORGIAN_NUSKHURI_BOTTOM, 0 }
{ AF_BLUE_STRING_GEORGIAN_NUSKHURI_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_GEORGIAN_NUSKHURI_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_GLAG
{ AF_BLUE_STRING_GLAGOLITIC_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_GLAGOLITIC_CAPITAL_BOTTOM, 0 }
{ AF_BLUE_STRING_GLAGOLITIC_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_GLAGOLITIC_SMALL_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_GOTH
{ AF_BLUE_STRING_GOTHIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_GOTHIC_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_GREK
{ AF_BLUE_STRING_GREEK_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_GREEK_CAPITAL_BOTTOM, 0 }
{ AF_BLUE_STRING_GREEK_SMALL_BETA_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_GREEK_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_GREEK_SMALL, 0 }
{ AF_BLUE_STRING_GREEK_SMALL_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_GUJR
{ AF_BLUE_STRING_GUJARATI_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_GUJARATI_BOTTOM, 0 }
{ AF_BLUE_STRING_GUJARATI_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_GUJARATI_DESCENDER, 0 }
{ AF_BLUE_STRING_GUJARATI_DIGIT_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_GURU
{ AF_BLUE_STRING_GURMUKHI_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_GURMUKHI_HEAD, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_GURMUKHI_BASE, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_NEUTRAL |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_GURMUKHI_BOTTOM, 0 }
{ AF_BLUE_STRING_GURMUKHI_DIGIT_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_HEBR
{ AF_BLUE_STRING_HEBREW_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_LONG }
{ AF_BLUE_STRING_HEBREW_BOTTOM, 0 }
{ AF_BLUE_STRING_HEBREW_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_KALI
{ AF_BLUE_STRING_KAYAH_LI_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_KAYAH_LI_BOTTOM, 0 }
{ AF_BLUE_STRING_KAYAH_LI_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_KAYAH_LI_DESCENDER, 0 }
{ AF_BLUE_STRING_KAYAH_LI_LARGE_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_KHMR
{ AF_BLUE_STRING_KHMER_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_KHMER_SUBSCRIPT_TOP, AF_BLUE_PROPERTY_LATIN_SUB_TOP }
{ AF_BLUE_STRING_KHMER_BOTTOM, 0 }
{ AF_BLUE_STRING_KHMER_DESCENDER, 0 }
{ AF_BLUE_STRING_KHMER_LARGE_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_KHMS
{ AF_BLUE_STRING_KHMER_SYMBOLS_WAXING_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_KHMER_SYMBOLS_WANING_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_KNDA
{ AF_BLUE_STRING_KANNADA_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_KANNADA_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_LAO
{ AF_BLUE_STRING_LAO_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_LAO_BOTTOM, 0 }
{ AF_BLUE_STRING_LAO_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_LAO_LARGE_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_LAO_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_LATN
{ AF_BLUE_STRING_LATIN_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_LATIN_CAPITAL_BOTTOM, 0 }
{ AF_BLUE_STRING_LATIN_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_LATIN_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_LATIN_SMALL_BOTTOM, 0 }
{ AF_BLUE_STRING_LATIN_SMALL_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_LATB
{ AF_BLUE_STRING_LATIN_SUBS_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_LATIN_SUBS_CAPITAL_BOTTOM, 0 }
{ AF_BLUE_STRING_LATIN_SUBS_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_LATIN_SUBS_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_LATIN_SUBS_SMALL, 0 }
{ AF_BLUE_STRING_LATIN_SUBS_SMALL_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_LATP
{ AF_BLUE_STRING_LATIN_SUPS_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_LATIN_SUPS_CAPITAL_BOTTOM, 0 }
{ AF_BLUE_STRING_LATIN_SUPS_SMALL_F_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_LATIN_SUPS_SMALL, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_LATIN_SUPS_SMALL, 0 }
{ AF_BLUE_STRING_LATIN_SUPS_SMALL_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_LISU
{ AF_BLUE_STRING_LISU_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_LISU_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_MLYM
{ AF_BLUE_STRING_MALAYALAM_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_MALAYALAM_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_MONG
{ AF_BLUE_STRING_MONGOLIAN_TOP_BASE, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_MONGOLIAN_BOTTOM_BASE, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_MYMR
{ AF_BLUE_STRING_MYANMAR_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_MYANMAR_BOTTOM, 0 }
{ AF_BLUE_STRING_MYANMAR_ASCENDER, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_MYANMAR_DESCENDER, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_NKOO
{ AF_BLUE_STRING_NKO_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_NKO_BOTTOM, 0 }
{ AF_BLUE_STRING_NKO_SMALL_TOP, AF_BLUE_PROPERTY_LATIN_TOP |
AF_BLUE_PROPERTY_LATIN_X_HEIGHT }
{ AF_BLUE_STRING_NKO_SMALL_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_NONE
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_OLCK
{ AF_BLUE_STRING_OL_CHIKI, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_OL_CHIKI, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_ORKH
{ AF_BLUE_STRING_OLD_TURKIC_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_OLD_TURKIC_BOTTOM, 0 }
{ AF_BLUE_STRING_MAX, 0 }
AF_BLUE_STRINGSET_OSGE
{ AF_BLUE_STRING_OSAGE_CAPITAL_TOP, AF_BLUE_PROPERTY_LATIN_TOP }
{ AF_BLUE_STRING_OSAGE_CAPITAL_BOTTOM, 0 }
{ AF_BLUE_STRING_OSAGE_CAPITAL_DESCENDER, 0 }
/**代码未完, 请加载全部代码(NowJava.com).**/