// afblue.dat
//
//   Auto-fitter data for blue strings.
//
// Copyright (C) 2013-2022 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_MEDEFAIDRIN_CAPITAL_TOP
    "𖹀 𖹁 𖹂 𖹃 𖹏 𖹚 𖹟"
  AF_BLUE_STRING_MEDEFAIDRIN_CAPITAL_BOTTOM
    "𖹀 𖹁 𖹂 𖹃 𖹏 𖹚 𖹒 𖹓"
  AF_BLUE_STRING_MEDEFAIDRIN_SMALL_F_TOP
    "𖹤 𖹬 𖹧 𖹴 𖹶 𖹾"
  AF_BLUE_STRING_MEDEFAIDRIN_SMALL_TOP
    "𖹠 𖹡 𖹢 𖹹 𖹳 𖹮"
  AF_BLUE_STRING_MEDEFAIDRIN_SMALL_BOTTOM
    "𖹠 𖹡 𖹢 𖹳 𖹭 𖹽"
  AF_BLUE_STRING_MEDEFAIDRIN_SMALL_DESCENDER
    "𖹥 𖹨 𖹩"
  AF_BLUE_STRING_MEDEFAIDRIN_DIGIT_TOP
    "𖺀 𖺅 𖺈 𖺄 𖺍"

  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_ROHINGYA_TOP
    "𐴃 𐴀 𐴆 𐴖 𐴕"
  AF_BLUE_STRING_ROHINGYA_BOTTOM
    "𐴔 𐴖 𐴕 𐴑 𐴐"
  AF_BLUE_STRING_ROHINGYA_JOIN
    "ـ"

  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_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_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_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_MEDF
    { AF_BLUE_STRING_MEDEFAIDRIN_CAPITAL_TOP,     AF_BLUE_PROPERTY_LATIN_TOP        }
    { AF_BLUE_STRING_MEDEFAIDRIN_CAPITAL_BOTTOM,  0                                 }
    { AF_BLUE_STRING_MEDEFAIDRIN_SMALL_F_TOP,     AF_BLUE_PROPERTY_LATIN_TOP        }
    { AF_BLUE_STRING_MEDEFAIDRIN_SMALL_TOP,       AF_BLUE_PROPERTY_LATIN_TOP      |
                                                  AF_BLUE_PROPERTY_LATIN_X_HEIGHT   }
    { AF_BLUE_STRING_MEDEFAIDRIN_SMALL_BOTTOM,    0                                 }
    { AF_BLUE_STRING_MEDEFAIDRIN_SMALL_DESCENDER, 0                                 }
    { AF_BLUE_STRING_MEDEFAIDRIN_DIGIT_TOP,       AF_BLUE_PROPERTY_LATIN_TOP        }
    { 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                                }
    { AF_BLUE_STRING_OSAGE_SMALL_TOP,         AF_BLUE_PROPERTY_LATIN_TOP     |
                                              AF_BLUE_PROPERTY_LATIN_X_HEIGHT  }
    { AF_BLUE_STRING_OSAGE_SMALL_BOTTOM,      0                                }
    { AF_BLUE_STRING_OSAGE_SMALL_ASCENDER,    AF_BLUE_PROPERTY_LATIN_TOP       }
    { AF_BLUE_STRING_OSAGE_SMALL_DESCENDER,   0                                }
    { AF_BLUE_STRING_MAX,                     0                                }

  AF_BLUE_STRINGSET_OSMA
    { AF_BLUE_STRING_OSMANYA_TOP,    AF_BLUE_PROPERTY_LATIN_TOP }
    { AF_BLUE_STRING_OSMANYA_BOTTOM, 0                          }
    { AF_BLUE_STRING_MAX,            0                          }

  AF_BLUE_STRINGSET_ROHG
    { AF_BLUE_STRING_ROHINGYA_TOP,    AF_BLUE_PROPERTY_LATIN_TOP     }
    { AF_BLUE_STRING_ROHINGYA_BOTTOM, 0                              }
    { AF_BLUE_STRING_ROHINGYA_JOIN,   AF_BLUE_PROPERTY_LATIN_NEUTRAL }
    { AF_BLUE_STRING_MAX,             0                              }

  AF_BLUE_STRINGSET_SAUR
    { AF_BLUE_STRING_SAURASHTRA_TOP,    AF_BLUE_PROPERTY_LATIN_TOP }
    { AF_BLUE_STRING_SAURASHTRA_BOTTOM, 0                          }
    { AF_BLUE_STRING_MAX,               0                          }

  AF_BLUE_STRINGSET_SHAW
    { AF_BLUE_STRING_SHAVIAN_TOP,          AF_BLUE_PROPERTY_LATIN_TOP        }
    { AF_BLUE_STRING_SHAVIAN_BOTTOM,       0                                 }
    { AF_BLUE_STRING_SHAVIAN_DESCENDER,    0                                 }
    { AF_BLUE_STRING_SHAVIAN_SMALL_TOP,    AF_BLUE_PROPERTY_LATIN_TOP      |
                                           AF_BLUE_PROPERTY_LATIN_X_HEIGHT   }
    { AF_BLUE_STRING_SHAVIAN_SMALL_BOTTOM, 0                                 }
    { AF_BLUE_STRING_MAX,                  0                                 }

  AF_BLUE_STRINGSET_SINH
    { AF_BLUE_STRING_SINHALA_TOP,       AF_BLUE_PROPERTY_LATIN_TOP }
    { AF_BLUE_STRING_SINHALA_BOTTOM,    0                          }
    { AF_BLUE_STRING_SINHALA_DESCENDER, 0                          }
    { AF_BLUE_STRING_MAX,               0                          }

  AF_BLUE_STRINGSET_SUND
    { AF_BLUE_STRING_SUNDANESE_TOP,       AF_BLUE_PROPERTY_LATIN_TOP }
    { AF_BLUE_STRING_SUNDANESE_BOTTOM,    0                          }
    { AF_BLUE_STRING_SUNDANESE_DESCENDER, 0                          }
    { AF_BLUE_STRING_MAX,                 0                          }

  AF_BLUE_STRINGSET_TAML
    { AF_BLUE_STRING_TAMIL_TOP,    AF_BLUE_PROPERTY_LATIN_TOP }
    { AF_BLUE_STRING_TAMIL_BOTTOM, 0                          }
    { AF_BLUE_STRING_MAX,          0                          }

  AF_BLUE_STRINGSET_TAVT
    { AF_BLUE_STRING_TAI_VIET_TOP,    AF_BLUE_PROPERTY_LATIN_TOP }
    { AF_BLUE_STRING_TAI_VIET_BOTTOM, 0                          }
    { AF_BLUE_STRING_MAX,             0                          }

  AF_BLUE_STRINGSET_TELU
    { AF_BLUE_STRING_TELUGU_TOP,    AF_BLUE_PROPERTY_LATIN_TOP }
    { AF_BLUE_STRING_TELUGU_BOTTOM, 0                          }
    { AF_BLUE_STRING_MAX,           0                          }

  AF_BLUE_STRINGSET_THAI
    { AF_BLUE_STRING_THAI_TOP,             AF_BLUE_PROPERTY_LATIN_TOP      |
                                           AF_BLUE_PROPERTY_LATIN_X_HEIGHT   }
    { AF_BLUE_STRING_THAI_BOTTOM,          0                                 }
    { AF_BLUE_STRING_THAI_ASCENDER,        AF_BLUE_PROPERTY_LATIN_TOP        }
    { AF_BLUE_STRING_THAI_LARGE_ASCENDER,  AF_BLUE_PROPERTY_LATIN_TOP        }
    { AF_BLUE_STRING_THAI_DESCENDER,       0                                 }
    { AF_BLUE_STRING_THAI_LARGE_DESCENDER, 0                                 }
    { AF_BLUE_STRING_THAI_DIGIT_TOP,       0                                 }
    { AF_BLUE_STRING_MAX,                  0                                 }

  AF_BLUE_STRINGSET_TFNG
    { AF_BLUE_STRING_TIFINAGH, AF_BLUE_PROPERTY_LATIN_TOP }
    { AF_BLUE_STRING_TIFINAGH, 0                          }
    { AF_BLUE_STRING_MAX,      0                          }

  AF_BLUE_STRINGSET_VAII
    { AF_BLUE_STRING_VAI_TOP,    AF_BLUE_PROPERTY_LATIN_TOP }
    { AF_BLUE_STRING_VAI_BOTTOM, 0                          }
    { AF_BLUE_STRING_MAX,        0                          }

#ifdef AF_CONFIG_OPTION_CJK

  AF_BLUE_STRINGSET_HANI
    { AF_BLUE_STRING_CJK_TOP,    AF_BLUE_PROPERTY_CJK_TOP     }
    { AF_BLUE_STRING_CJK_BOTTOM, 0                            }
#ifdef AF_CONFIG_OPTION_CJK_BLUE_HANI_VERT
    { AF_BLUE_STRING_CJK_LEFT,   AF_BLUE_PROPERTY_CJK_HORIZ   }
    { AF_BLUE_STRING_CJK_RIGHT,  AF_BLUE_PROPERTY_CJK_HORIZ |
                                 AF_BLUE_PROPERTY_CJK_RIGHT   }
#endif /* AF_CONFIG_OPTION_CJK_BLUE_HANI_VERT */
    { AF_BLUE_STRING_MAX,        0                            }

#endif /* AF_CONFIG_OPTION_CJK                */


// END
