summaryrefslogtreecommitdiff
path: root/thirdparty/freetype
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2022-05-17 22:31:05 +0200
committerRémi Verschelde <rverschelde@gmail.com>2022-05-17 22:31:05 +0200
commit03ff10de8a29dc937a6b686b25580dffb5d25df0 (patch)
tree62a6c17901eed02856daee182538ca01b8a62751 /thirdparty/freetype
parentd5c1de784ccd622ce9d62613eaf604a8b163d592 (diff)
FreeType: Cleanup some unused files
Diffstat (limited to 'thirdparty/freetype')
-rw-r--r--thirdparty/freetype/src/autofit/afblue.dat1121
-rw-r--r--thirdparty/freetype/src/base/ftver.rc61
-rw-r--r--thirdparty/freetype/src/bdf/README152
-rw-r--r--thirdparty/freetype/src/gxvalid/README532
-rw-r--r--thirdparty/freetype/src/gzip/README.freetype22
-rw-r--r--thirdparty/freetype/src/gzip/patches/freetype-zlib.diff372
-rw-r--r--thirdparty/freetype/src/pcf/README96
-rw-r--r--thirdparty/freetype/src/psnames/rules.mk73
-rw-r--r--thirdparty/freetype/src/raster/module.mk23
9 files changed, 0 insertions, 2452 deletions
diff --git a/thirdparty/freetype/src/autofit/afblue.dat b/thirdparty/freetype/src/autofit/afblue.dat
deleted file mode 100644
index 201acc4f6f..0000000000
--- a/thirdparty/freetype/src/autofit/afblue.dat
+++ /dev/null
@@ -1,1121 +0,0 @@
-// 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
diff --git a/thirdparty/freetype/src/base/ftver.rc b/thirdparty/freetype/src/base/ftver.rc
deleted file mode 100644
index eb6090ecc2..0000000000
--- a/thirdparty/freetype/src/base/ftver.rc
+++ /dev/null
@@ -1,61 +0,0 @@
-/***************************************************************************/
-/* */
-/* ftver.rc */
-/* */
-/* FreeType VERSIONINFO resource for Windows DLLs. */
-/* */
-/* Copyright (C) 2018-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. */
-/* */
-/***************************************************************************/
-
-
-#include<windows.h>
-
-#define FT_VERSION 2,12,1,0
-#define FT_VERSION_STR "2.12.1"
-
-VS_VERSION_INFO VERSIONINFO
-FILEVERSION FT_VERSION
-PRODUCTVERSION FT_VERSION
-FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
-#ifdef _DEBUG
-FILEFLAGS VS_FF_DEBUG
-#endif
-#ifdef DLL_EXPORT
-FILETYPE VFT_DLL
-#define FT_FILENAME "freetype.dll"
-#else
-FILETYPE VFT_STATIC_LIB
-#define FT_FILENAME "freetype.lib"
-#endif
-BEGIN
- BLOCK "StringFileInfo"
- BEGIN
- BLOCK "040904E4"
- BEGIN
- VALUE "CompanyName", "The FreeType Project"
- VALUE "FileDescription", "Font Rendering Library"
- VALUE "FileVersion", FT_VERSION_STR
- VALUE "ProductName", "FreeType"
- VALUE "ProductVersion", FT_VERSION_STR
- VALUE "LegalCopyright", "\251 2000-2022 The FreeType Project www.freetype.org. All rights reserved."
- VALUE "InternalName", "freetype"
- VALUE "OriginalFilename", FT_FILENAME
- END
- END
-
- BLOCK "VarFileInfo"
- BEGIN
- /* The following line should only be modified for localized versions. */
- /* It consists of any number of WORD,WORD pairs, with each pair */
- /* describing a "language,codepage" combination supported by the file. */
- VALUE "Translation", 0x409, 1252
- END
-END
diff --git a/thirdparty/freetype/src/bdf/README b/thirdparty/freetype/src/bdf/README
deleted file mode 100644
index d7cb8c14ef..0000000000
--- a/thirdparty/freetype/src/bdf/README
+++ /dev/null
@@ -1,152 +0,0 @@
- FreeType font driver for BDF fonts
-
- Francesco Zappa Nardelli
- <francesco.zappa.nardelli@ens.fr>
-
-
-Introduction
-************
-
-BDF (Bitmap Distribution Format) is a bitmap font format defined by Adobe,
-which is intended to be easily understood by both humans and computers.
-This code implements a BDF driver for the FreeType library, following the
-Adobe Specification V 2.2. The specification of the BDF font format is
-available from Adobe's web site:
-
- https://adobe-type-tools.github.io/font-tech-notes/pdfs/5005.BDF_Spec.pdf
-
-Many good bitmap fonts in bdf format come with XFree86 (www.XFree86.org).
-They do not define vertical metrics, because the X Consortium BDF
-specification has removed them.
-
-
-Encodings
-*********
-
-[This section is out of date, retained for historical reasons. BDF
- properties can be retrieved with `FT_Get_BDF_Property`, character set ID
- values with `FT_Get_BDF_Charset_ID`.]
-
-The variety of encodings that accompanies bdf fonts appears to encompass the
-small set defined in freetype.h. On the other hand, two properties that
-specify encoding and registry are usually defined in bdf fonts.
-
-I decided to make these two properties directly accessible, leaving to the
-client application the work of interpreting them. For instance:
-
-
- #include FT_INTERNAL_BDF_TYPES_H
-
- FT_Face face;
- BDF_Public_Face bdfface;
-
-
- FT_New_Face( library, ..., &face );
-
- bdfface = (BDF_Public_Face)face;
-
- if ( ( bdfface->charset_registry == "ISO10646" ) &&
- ( bdfface->charset_encoding == "1" ) )
- [..]
-
-
-Thus the driver always exports `ft_encoding_none' as face->charmap.encoding.
-FT_Get_Char_Index's behavior is unmodified, that is, it converts the ULong
-value given as argument into the corresponding glyph number.
-
-If the two properties are not available, Adobe Standard Encoding should be
-assumed.
-
-
-Anti-Aliased Bitmaps
-********************
-
-The driver supports an extension to the BDF format as used in Mark Leisher's
-xmbdfed bitmap font editor. Microsoft's SBIT tool expects bitmap fonts in
-that format for adding anti-aliased them to TrueType fonts. It introduces a
-fourth field to the `SIZE' keyword which gives the bpp value (bits per
-pixel) of the glyph data in the font. Possible values are 1 (the default),
-2 (four gray levels), 4 (16 gray levels), and 8 (256 gray levels). The
-driver returns either a bitmap with 1 bit per pixel or a pixmap with 8bits
-per pixel (using 4, 16, and 256 gray levels, respectively).
-
-
-Known problems
-**************
-
-- A font is entirely loaded into memory. Obviously, this is not the Right
- Thing(TM). If you have big fonts I suggest you convert them into PCF
- format (using the bdftopcf utility): the PCF font drive of FreeType can
- perform incremental glyph loading.
-
-When I have some time, I will implement on-demand glyph parsing.
-
-- Except for encodings properties, client applications have no visibility of
- the PCF_Face object. This means that applications cannot directly access
- font tables and must trust FreeType.
-
-- Currently, glyph names are ignored.
-
- I plan to give full visibility of the BDF_Face object in an upcoming
- revision of the driver, thus implementing also glyph names.
-
-- As I have never seen a BDF font that defines vertical metrics, vertical
- metrics are (parsed and) discarded. If you own a BDF font that defines
- vertical metrics, please let me know (I will implement them in 5-10
- minutes).
-
-
-License
-*******
-
-Copyright (C) 2001-2002 by Francesco Zappa Nardelli
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*** Portions of the driver (that is, bdflib.c and bdf.h):
-
-Copyright 2000 Computing Research Labs, New Mexico State University
-Copyright 2001-2002, 2011 Francesco Zappa Nardelli
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-THE COMPUTING RESEARCH LAB OR NEW MEXICO STATE UNIVERSITY BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
-OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
-THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-Credits
-*******
-
-This driver is based on excellent Mark Leisher's bdf library. If you
-find something good in this driver you should probably thank him, not
-me.
diff --git a/thirdparty/freetype/src/gxvalid/README b/thirdparty/freetype/src/gxvalid/README
deleted file mode 100644
index 921b3ac92e..0000000000
--- a/thirdparty/freetype/src/gxvalid/README
+++ /dev/null
@@ -1,532 +0,0 @@
-gxvalid: TrueType GX validator
-==============================
-
-
-1. What is this
----------------
-
- `gxvalid' is a module to validate TrueType GX tables: a collection of
- additional tables in TrueType font which are used by `QuickDraw GX
- Text', Apple Advanced Typography (AAT). In addition, gxvalid can
- validates `kern' tables which have been extended for AAT. Like the
- otvalid module, gxvalid uses FreeType 2's validator framework
- (ftvalid).
-
- You can link gxvalid with your program; before running your own layout
- engine, gxvalid validates a font file. As the result, you can remove
- error-checking code from the layout engine. It is also possible to
- use gxvalid as a stand-alone font validator; the `ftvalid' test
- program included in the ft2demo bundle calls gxvalid internally.
- A stand-alone font validator may be useful for font developers.
-
- This documents documents the following issues.
-
- - supported TrueType GX tables
- - fundamental validation limitations
- - permissive error handling of broken GX tables
- - `kern' table issue.
-
-
-2. Supported tables
--------------------
-
- The following GX tables are currently supported.
-
- bsln
- feat
- just
- kern(*)
- lcar
- mort
- morx
- opbd
- prop
- trak
-
- The following GX tables are currently unsupported.
-
- cvar
- fdsc
- fmtx
- fvar
- gvar
- Zapf
-
- The following GX tables won't be supported.
-
- acnt(**)
- hsty(***)
-
- The following undocumented tables in TrueType fonts designed for Apple
- platform aren't handled either.
-
- addg
- CVTM
- TPNM
- umif
-
-
- *) The `kern' validator handles both the classic and the new kern
- formats; the former is supported on both Microsoft and Apple
- platforms, while the latter is supported on Apple platforms.
-
- **) `acnt' tables are not supported by currently available Apple font
- tools.
-
- ***) There is one more Apple extension, `hsty', but it is for
- Newton-OS, not GX (Newton-OS is a platform by Apple, but it can
- use sfnt- housed bitmap fonts only). Therefore, it should be
- excluded from `Apple platform' in the context of TrueType.
- gxvalid ignores it as Apple font tools do so.
-
-
- We have checked 183 fonts bundled with MacOS 9.1, MacOS 9.2, MacOS
- 10.0, MacOS X 10.1, MSIE for MacOS, and AppleWorks 6.0. In addition,
- we have checked 67 Dynalab fonts (designed for MacOS) and 189 Ricoh
- fonts (designed for Windows and MacOS dual platforms). The number of
- fonts including TrueType GX tables are as follows.
-
- bsln: 76
- feat: 191
- just: 84
- kern: 59
- lcar: 4
- mort: 326
- morx: 19
- opbd: 4
- prop: 114
- trak: 16
-
- Dynalab and Ricoh fonts don't have GX tables except of `feat' and
- `mort'.
-
-
-3. Fundamental validation limitations
--------------------------------------
-
- TrueType GX provides layout information to libraries for font
- rasterizers and text layout. gxvalid can check whether the layout
- data in a font is conformant to the TrueType GX format specified by
- Apple. But gxvalid cannot check a how QuickDraw GX/AAT renderer uses
- the stored information.
-
- 3-1. Validation of State Machine activity
- -----------------------------------------
-
- QuickDraw GX/AAT uses a `State Machine' to provide `stateful' layout
- features, and TrueType GX stores the state transition diagram of
- this `State Machine' in a `StateTable' data structure. While the
- State Machine receives a series of glyph IDs, the State Machine
- starts with `start of text' state, walks around various states and
- generates various layout information to the renderer, and finally
- reaches the `end of text' state.
-
- gxvalid can check essential errors like:
-
- - possibility of state transitions to undefined states
- - existence of glyph IDs that the State Machine doesn't know how
- to handle
- - the State Machine cannot compute the layout information from
- given diagram
-
- These errors can be checked within finite steps, and without the
- State Machine itself, because these are `expression' errors of state
- transition diagram.
-
- There is no limitation about how long the State Machine walks
- around, so validation of the algorithm in the state transition
- diagram requires infinite steps, even if we had a State Machine in
- gxvalid. Therefore, the following errors and problems cannot be
- checked.
-
- - existence of states which the State Machine never transits to
- - the possibility that the State Machine never reaches `end of
- text'
- - the possibility of stack underflow/overflow in the State Machine
- (in ligature and contextual glyph substitutions, the State
- Machine can store 16 glyphs onto its stack)
-
- In addition, gxvalid doesn't check `temporary glyph IDs' used in the
- chained State Machines (in `mort' and `morx' tables). If a layout
- feature is implemented by a single State Machine, a glyph ID
- converted by the State Machine is passed to the glyph renderer, thus
- it should not point to an undefined glyph ID. But if a layout
- feature is implemented by chained State Machines, a component State
- Machine (if it is not the final one) is permitted to generate
- undefined glyph IDs for temporary use, because it is handled by next
- component State Machine and not by the glyph renderer. To validate
- such temporary glyph IDs, gxvalid must stack all undefined glyph IDs
- which can occur in the output of the previous State Machine and
- search them in the `ClassTable' structure of the current State
- Machine. It is too complex to list all possible glyph IDs from the
- StateTable, especially from a ligature substitution table.
-
- 3-2. Validation of relationship between multiple layout features
- ----------------------------------------------------------------
-
- gxvalid does not validate the relationship between multiple layout
- features at all.
-
- If multiple layout features are defined in TrueType GX tables,
- possible interactions, overrides, and conflicts between layout
- features are implicitly given in the font too. For example, there
- are several predefined spacing control features:
-
- - Text Spacing (Proportional/Monospace/Half-width/Normal)
- - Number Spacing (Monospaced-numbers/Proportional-numbers)
- - Kana Spacing (Full-width/Proportional)
- - Ideographic Spacing (Full-width/Proportional)
- - CJK Roman Spacing (Half-width/Proportional/Default-roman
- /Full-width-roman/Proportional)
-
- If all layout features are independently managed, we can activate
- inconsistent typographic rules like `Text Spacing=Monospace' and
- `Ideographic Spacing=Proportional' at the same time.
-
- The combinations of layout features is managed by a 32bit integer
- (one bit each for selector setting), so we can define relationships
- between up to 32 features, theoretically. But if one feature
- setting affects another feature setting, we need typographic
- priority rules to validate the relationship. Unfortunately, the
- TrueType GX format specification does not give such information even
- for predefined features.
-
-
-4. Permissive error handling of broken GX tables
-------------------------------------------------
-
- When Apple's font rendering system finds an inconsistency, like a
- specification violation or an unspecified value in a TrueType GX
- table, it does not always return error. In most cases, the rendering
- engine silently ignores such wrong values or even whole tables. In
- fact, MacOS is shipped with fonts including broken GX/AAT tables, but
- no harmful effects due to `officially broken' fonts are observed by
- end-users.
-
- gxvalid is designed to continue the validation process as long as
- possible. When gxvalid find wrong values, gxvalid warns it at least,
- and takes a fallback procedure if possible. The fallback procedure
- depends on the debug level.
-
- We used the following three tools to investigate Apple's error handling.
-
- - FontValidator (for MacOS 8.5 - 9.2) resource fork font
- - ftxvalidator (for MacOS X 10.1 -) dfont or naked-sfnt
- - ftxdumperfuser (for MacOS X 10.1 -) dfont or naked-sfnt
-
- However, all tests were done on a PowerPC based Macintosh; at present,
- we have not checked those tools on a m68k-based Macintosh.
-
- In total, we checked 183 fonts bundled to MacOS 9.1, MacOS 9.2, MacOS
- 10.0, MacOS X 10.1, MSIE for MacOS, and AppleWorks 6.0. These fonts
- are distributed officially, but many broken GX/AAT tables were found
- by Apple's font tools. In the following, we list typical violation of
- the GX specification, in fonts officially distributed with those Apple
- systems.
-
- 4-1. broken BinSrchHeader (19/183)
- ----------------------------------
-
- `BinSrchHeader' is a header of a data array for m68k platforms to
- access memory efficiently. Although there are only two independent
- parameters for real (`unitSize' and `nUnits'), BinSrchHeader has
- three additional parameters which can be calculated from `unitSize'
- and `nUnits', for fast setup. Apple font tools ignore them
- silently, so gxvalid warns if it finds and inconsistency, and always
- continues validation. The additional parameters are ignored
- regardless of the consistency.
-
- 19 fonts include such inconsistencies; all breaks are in the
- BinSrchHeader structure of the `kern' table.
-
- 4-2. too-short LookupTable (5/183)
- ----------------------------------
-
- LookupTable format 0 is a simple array to get a value from a given
- GID (glyph ID); the index of this array is a GID too. Therefore,
- the length of the array is expected to be same as the maximum GID
- value defined in the `maxp' table, but there are some fonts whose
- LookupTable format 0 is too short to cover all GIDs. FontValidator
- ignores this error silently, ftxvalidator and ftxdumperfuser both
- warn and continue. Similar problems are found in format 3 subtables
- of `kern'. gxvalid warns always and abort if the validation level
- is set to FT_VALIDATE_PARANOID.
-
- 5 fonts include too-short kern format 0 subtables.
- 1 font includes too-short kern format 3 subtable.
-
- 4-3. broken LookupTable format 2 (1/183)
- ----------------------------------------
-
- LookupTable format 2, subformat 4 covers the GID space by a
- collection of segments which are specified by `firstGlyph' and
- `lastGlyph'. Some fonts store `firstGlyph' and `lastGlyph' in
- reverse order, so the segment specification is broken. Apple font
- tools ignore this error silently; a broken segment is ignored as if
- it did not exist. gxvalid warns and normalize the segment at
- FT_VALIDATE_DEFAULT, or ignore the segment at FT_VALIDATE_TIGHT, or
- abort at FT_VALIDATE_PARANOID.
-
- 1 font includes broken LookupTable format 2, in the `just' table.
-
- *) It seems that all fonts manufactured by ITC for AppleWorks have
- this error.
-
- 4-4. bad bracketing in glyph property (14/183)
- ----------------------------------------------
-
- GX/AAT defines a `bracketing' property of the glyphs in the `prop'
- table, to control layout features of strings enclosed inside and
- outside of brackets. Some fonts give inappropriate bracket
- properties to glyphs. Apple font tools warn about this error;
- gxvalid warns too and aborts at FT_VALIDATE_PARANOID.
-
- 14 fonts include wrong bracket properties.
-
-
- 4-5. invalid feature number (117/183)
- -------------------------------------
-
- The GX/AAT extension can include 255 different layout features,
- but popular layout features are predefined (see
- https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html).
- Some fonts include feature numbers which are incompatible with the
- predefined feature registry.
-
- In our survey, there are 140 fonts including `feat' table.
-
- a) 67 fonts use a feature number which should not be used.
- b) 117 fonts set the wrong feature range (nSetting). This is mostly
- found in the `mort' and `morx' tables.
-
- Apple font tools give no warning, although they cannot recognize
- what the feature is. At FT_VALIDATE_DEFAULT, gxvalid warns but
- continues in both cases (a, b). At FT_VALIDATE_TIGHT, gxvalid warns
- and aborts for (a), but continues for (b). At FT_VALIDATE_PARANOID,
- gxvalid warns and aborts in both cases (a, b).
-
- 4-6. invalid prop version (10/183)
- ----------------------------------
-
- As most TrueType GX tables, the `prop' table must start with a 32bit
- version identifier: 0x00010000, 0x00020000 or 0x00030000. But some
- fonts store nonsense binary data instead. When Apple font tools
- find them, they abort the processing immediately, and the data which
- follows is unhandled. gxvalid does the same.
-
- 10 fonts include broken `prop' version.
-
- All of these fonts are classic TrueType fonts for the Japanese
- script, manufactured by Apple.
-
- 4-7. unknown resource name (2/183)
- ------------------------------------
-
- NOTE: THIS IS NOT A TRUETYPE GX ERROR.
-
- If a TrueType font is stored in the resource fork or in dfont
- format, the data must be tagged as `sfnt' in the resource fork index
- to invoke TrueType font handler for the data. But the TrueType font
- data in `Keyboard.dfont' is tagged as `kbd', and that in
- `LastResort.dfont' is tagged as `lst'. Apple font tools can detect
- that the data is in TrueType format and successfully validate them.
- Maybe this is possible because they are known to be dfont. The
- current implementation of the resource fork driver of FreeType
- cannot do that, thus gxvalid cannot validate them.
-
- 2 fonts use an unknown tag for the TrueType font resource.
-
-5. `kern' table issues
-----------------------
-
- In common terminology of TrueType, `kern' is classified as a basic and
- platform-independent table. But there are Apple extensions of `kern',
- and there is an extension which requires a GX state machine for
- contextual kerning. Therefore, gxvalid includes a special validator
- for `kern' tables. Unfortunately, there is no exact algorithm to
- check Apple's extension, so gxvalid includes a heuristic algorithm to
- find the proper validation routines for all possible data formats,
- including the data format for Microsoft. By calling
- classic_kern_validate() instead of gxv_validate(), you can specify the
- `kern' format explicitly. However, current FreeType2 uses Microsoft
- `kern' format only, others are ignored (and should be handled in a
- library one level higher than FreeType).
-
- 5-1. History
- ------------
-
- The original 16bit version of `kern' was designed by Apple in the
- pre-GX era, and it was also approved by Microsoft. Afterwards,
- Apple designed a new 32bit version of the `kern' table. According
- to the documentation, the difference between the 16bit and 32bit
- version is only the size of variables in the `kern' header. In the
- following, we call the original 16bit version as `classic', and
- 32bit version as `new'.
-
- 5-2. Versions and dialects which should be differentiated
- ---------------------------------------------------------
-
- The `kern' table consists of a table header and several subtables.
- The version number which identifies a `classic' or a `new' version
- is explicitly written in the table header, but there are
- undocumented differences between Microsoft's and Apple's formats.
- It is called a `dialect' in the following. There are three cases
- which should be handled: the new Apple-dialect, the classic
- Apple-dialect, and the classic Microsoft-dialect. An analysis of
- the formats and the auto detection algorithm of gxvalid is described
- in the following.
-
- 5-2-1. Version detection: classic and new kern
- ----------------------------------------------
-
- According to Apple TrueType specification, there are only two
- differences between the classic and the new:
-
- - The `kern' table header starts with the version number.
- The classic version starts with 0x0000 (16bit),
- the new version starts with 0x00010000 (32bit).
-
- - In the `kern' table header, the number of subtables follows
- the version number.
- In the classic version, it is stored as a 16bit value.
- In the new version, it is stored as a 32bit value.
-
- From Apple font tool's output (DumpKERN is also tested in addition
- to the three Apple font tools in above), there is another
- undocumented difference. In the new version, the subtable header
- includes a 16bit variable named `tupleIndex' which does not exist
- in the classic version.
-
- The new version can store all subtable formats (0, 1, 2, and 3),
- but the Apple TrueType specification does not mention the subtable
- formats available in the classic version.
-
- 5-2-2. Available subtable formats in classic version
- ----------------------------------------------------
-
- Although the Apple TrueType specification recommends to use the
- classic version in the case if the font is designed for both the
- Apple and Microsoft platforms, it does not document the available
- subtable formats in the classic version.
-
- According to the Microsoft TrueType specification, the subtable
- format assured for Windows and OS/2 support is only subtable
- format 0. The Microsoft TrueType specification also describes
- subtable format 2, but does not mention which platforms support
- it. Subtable formats 1, 3, and higher are documented as reserved
- for future use. Therefore, the classic version can store subtable
- formats 0 and 2, at least. `ttfdump.exe', a font tool provided by
- Microsoft, ignores the subtable format written in the subtable
- header, and parses the table as if all subtables are in format 0.
-
- `kern' subtable format 1 uses a StateTable, so it cannot be
- utilized without a GX State Machine. Therefore, it is reasonable
- to assume that format 1 (and 3) were introduced after Apple had
- introduced GX and moved to the new 32bit version.
-
- 5-2-3. Apple and Microsoft dialects
- -----------------------------------
-
- The `kern' subtable has a 16bit `coverage' field to describe
- kerning attributes, but bit interpretations by Apple and Microsoft
- are different: For example, Apple uses bits 0-7 to identify the
- subtable, while Microsoft uses bits 8-15.
-
- In addition, due to the output of DumpKERN and FontValidator,
- Apple's bit interpretations of coverage in classic and new version
- are incompatible also. In summary, there are three dialects:
- classic Apple dialect, classic Microsoft dialect, and new Apple
- dialect. The classic Microsoft dialect and the new Apple dialect
- are documented by each vendors' TrueType font specification, but
- the documentation for classic Apple dialect is not available.
-
- For example, in the new Apple dialect, bit 15 is documented as
- `set to 1 if the kerning is vertical'. On the other hand, in
- classic Microsoft dialect, bit 1 is documented as `set to 1 if the
- kerning is horizontal'. From the outputs of DumpKERN and
- FontValidator, classic Apple dialect recognizes 15 as `set to 1
- when the kerning is horizontal'. From the results of similar
- experiments, classic Apple dialect seems to be the Endian reverse
- of the classic Microsoft dialect.
-
- As a conclusion it must be noted that no font tool can identify
- classic Apple dialect or classic Microsoft dialect automatically.
-
- 5-2-4. gxvalid auto dialect detection algorithm
- -----------------------------------------------
-
- The first 16 bits of the `kern' table are enough to identify the
- version:
-
- - if the first 16 bits are 0x0000, the `kern' table is in
- classic Apple dialect or classic Microsoft dialect
- - if the first 16 bits are 0x0001, and next 16 bits are 0x0000,
- the kern table is in new Apple dialect.
-
- If the `kern' table is a classic one, the 16bit `coverage' field
- is checked next. Firstly, the coverage bits are decoded for the
- classic Apple dialect using the following bit masks (this is based
- on DumpKERN output):
-
- 0x8000: 1=horizontal, 0=vertical
- 0x4000: not used
- 0x2000: 1=cross-stream, 0=normal
- 0x1FF0: reserved
- 0x000F: subtable format
-
- If any of reserved bits are set or the subtable bits is
- interpreted as format 1 or 3, we take it as `impossible in classic
- Apple dialect' and retry, using the classic Microsoft dialect.
-
- The most popular coverage in new Apple-dialect: 0x8000,
- The most popular coverage in classic Apple-dialect: 0x0000,
- The most popular coverage in classic Microsoft dialect: 0x0001.
-
- 5-3. Tested fonts
- -----------------
-
- We checked 59 fonts bundled with MacOS and 38 fonts bundled with
- Windows, where all font include a `kern' table.
-
- - fonts bundled with MacOS
- * new Apple dialect
- format 0: 18
- format 2: 1
- format 3: 1
- * classic Apple dialect
- format 0: 14
- * classic Microsoft dialect
- format 0: 15
-
- - fonts bundled with Windows
- * classic Microsoft dialect
- format 0: 38
-
- It looks strange that classic Microsoft-dialect fonts are bundled to
- MacOS: they come from MSIE for MacOS, except of MarkerFelt.dfont.
-
-
- ACKNOWLEDGEMENT
- ---------------
-
- Some parts of gxvalid are derived from both the `gxlayout' module and
- the `otvalid' module. Development of gxlayout was supported by the
- Information-technology Promotion Agency(IPA), Japan.
-
- The detailed analysis of undefined glyph ID utilization in `mort' and
- `morx' tables is provided by George Williams.
-
-------------------------------------------------------------------------
-
-Copyright (C) 2004-2022 by
-suzuki toshiya, Masatake YAMATO, Red hat K.K.,
-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.
-
-
---- end of README ---
diff --git a/thirdparty/freetype/src/gzip/README.freetype b/thirdparty/freetype/src/gzip/README.freetype
deleted file mode 100644
index 493b807198..0000000000
--- a/thirdparty/freetype/src/gzip/README.freetype
+++ /dev/null
@@ -1,22 +0,0 @@
-Name: zlib
-Short Name: zlib
-URL: http://zlib.net/
-Version: 1.2.12
-License: see `zlib.h`
-
-Description:
-"A massively spiffy yet delicately unobtrusive compression library."
-
-'zlib' is a free, general-purpose, legally unencumbered lossless
-data-compression library. 'zlib' implements the "deflate" compression
-algorithm described by RFC 1951, which combines the LZ77 (Lempel-Ziv)
-algorithm with Huffman coding. zlib also implements the zlib (RFC 1950) and
-gzip (RFC 1952) wrapper formats.
-
-Local Modifications:
-The files in this directory have been prepared as follows.
-
- - Take the unmodified source code files from the zlib distribution that are
- included by `ftgzip.c`.
- - Run zlib's `zlib2ansi` script on all `.c` files.
- - Apply the diff file(s) in the `patches` folder.
diff --git a/thirdparty/freetype/src/gzip/patches/freetype-zlib.diff b/thirdparty/freetype/src/gzip/patches/freetype-zlib.diff
deleted file mode 100644
index 20d84293f3..0000000000
--- a/thirdparty/freetype/src/gzip/patches/freetype-zlib.diff
+++ /dev/null
@@ -1,372 +0,0 @@
-[zlib] Fix zlib sources for compilation with FreeType
-
-We must ensure that they do not issue compiler errors or warnings when they
-are compiled as part of `src/gzip/ftgzip.c`.
-
-* src/gzip/adler32.c: Do not define unused functions when `Z_FREETYPE`
-is set.
-
-* src/gzip/gzguts.h (COPY): Rename to...
-(COPY__): ... this since `COPY` and `COPY_` conflict with enum values,
-which have the same name in `zlib.h`.
-
-* src/gzip/inflate.c, src/gzip/adler32.c: Omit unused function
-declarations when `Z_FREETYPE` is defined.
-
-* src/gzip/zlib.h: Include `ftzconf.h` instead of `zconf.h` to avoid
-conflicts with system-installed headers.
-Omit unused function declarations when `Z_FREETYPE` is defined.
-
-* src/gzip/zutil.h: Use `ft_memxxx` functions instead of `memxxx`.
-Omit unused function declarations when `Z_FREETYPE` is defined.
-
-* src/gzip/inflate.h, src/gzip/inftrees.h: Add header guard macros to
-prevent compiler errors.
-
-diff --git a/src/gzip/adler32.c b/src/gzip/adler32.c
-index be5e8a247..aa032e1dd 100644
---- a/src/gzip/adler32.c
-+++ b/src/gzip/adler32.c
-@@ -7,7 +7,9 @@
-
- #include "zutil.h"
-
-+#ifndef Z_FREETYPE
- local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2));
-+#endif
-
- #define BASE 65521U /* largest prime smaller than 65536 */
- #define NMAX 5552
-@@ -139,6 +141,8 @@ uLong ZEXPORT adler32(
- return adler32_z(adler, buf, len);
- }
-
-+#ifndef Z_FREETYPE
-+
- /* ========================================================================= */
- local uLong adler32_combine_(
- uLong adler1,
-@@ -184,3 +188,5 @@ uLong ZEXPORT adler32_combine64(
- {
- return adler32_combine_(adler1, adler2, len2);
- }
-+
-+#endif /* !Z_FREETYPE */
-diff --git a/src/gzip/gzguts.h b/src/gzip/gzguts.h
-index 57faf3716..4f09a52a7 100644
---- a/src/gzip/gzguts.h
-+++ b/src/gzip/gzguts.h
-@@ -163,7 +163,7 @@
-
- /* values for gz_state how */
- #define LOOK 0 /* look for a gzip header */
--#define COPY 1 /* copy input directly */
-+#define COPY__ 1 /* copy input directly */
- #define GZIP 2 /* decompress a gzip stream */
-
- /* internal gzip file state data structure */
-diff --git a/src/gzip/inflate.c b/src/gzip/inflate.c
-index 4375557b4..5bf5b815e 100644
---- a/src/gzip/inflate.c
-+++ b/src/gzip/inflate.c
-@@ -99,8 +99,10 @@ local int updatewindow OF((z_streamp strm, const unsigned char FAR *end,
- #ifdef BUILDFIXED
- void makefixed OF((void));
- #endif
-+#ifndef Z_FREETYPE
- local unsigned syncsearch OF((unsigned FAR *have, const unsigned char FAR *buf,
- unsigned len));
-+#endif
-
- local int inflateStateCheck(
- z_streamp strm)
-@@ -245,6 +247,8 @@ int ZEXPORT inflateInit_(
- return inflateInit2_(strm, DEF_WBITS, version, stream_size);
- }
-
-+#ifndef Z_FREETYPE
-+
- int ZEXPORT inflatePrime(
- z_streamp strm,
- int bits,
-@@ -266,6 +270,8 @@ int ZEXPORT inflatePrime(
- return Z_OK;
- }
-
-+#endif /* !Z_FREETYPE */
-+
- /*
- Return state with length and distance decoding tables and index sizes set to
- fixed code decoding. Normally this returns fixed tables from inffixed.h.
-@@ -1312,6 +1318,8 @@ int ZEXPORT inflateEnd(
- return Z_OK;
- }
-
-+#ifndef Z_FREETYPE
-+
- int ZEXPORT inflateGetDictionary(
- z_streamp strm,
- Bytef *dictionary,
-@@ -1471,6 +1479,8 @@ int ZEXPORT inflateSync(
- return Z_OK;
- }
-
-+#endif /* !Z_FREETYPE */
-+
- /*
- Returns true if inflate is currently at the end of a block generated by
- Z_SYNC_FLUSH or Z_FULL_FLUSH. This function is used by one PPP
-@@ -1489,6 +1499,8 @@ int ZEXPORT inflateSyncPoint(
- return state->mode == STORED && state->bits == 0;
- }
-
-+#ifndef Z_FREETYPE
-+
- int ZEXPORT inflateCopy(
- z_streamp dest,
- z_streamp source)
-@@ -1536,6 +1548,8 @@ int ZEXPORT inflateCopy(
- return Z_OK;
- }
-
-+#endif /* !Z_FREETYPE */
-+
- int ZEXPORT inflateUndermine(
- z_streamp strm,
- int subvert)
-@@ -1569,6 +1583,8 @@ int ZEXPORT inflateValidate(
- return Z_OK;
- }
-
-+#ifndef Z_FREETYPE
-+
- long ZEXPORT inflateMark(
- z_streamp strm)
- {
-@@ -1590,3 +1606,5 @@ unsigned long ZEXPORT inflateCodesUsed(
- state = (struct inflate_state FAR *)strm->state;
- return (unsigned long)(state->next - state->codes);
- }
-+
-+#endif /* !Z_FREETYPE */
-diff --git a/src/gzip/inflate.h b/src/gzip/inflate.h
-index f127b6b1f..c6f5a52e1 100644
---- a/src/gzip/inflate.h
-+++ b/src/gzip/inflate.h
-@@ -3,6 +3,9 @@
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-+#ifndef INFLATE_H
-+#define INFLATE_H
-+
- /* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
-@@ -124,3 +127,5 @@ struct inflate_state {
- int back; /* bits back of last unprocessed length/lit */
- unsigned was; /* initial length of match */
- };
-+
-+#endif /* INFLATE_H */
-diff --git a/src/gzip/inftrees.h b/src/gzip/inftrees.h
-index baa53a0b1..c94eb78b5 100644
---- a/src/gzip/inftrees.h
-+++ b/src/gzip/inftrees.h
-@@ -3,6 +3,9 @@
- * For conditions of distribution and use, see copyright notice in zlib.h
- */
-
-+#ifndef INFTREES_H
-+#define INFTREES_H
-+
- /* WARNING: this file should *not* be used by applications. It is
- part of the implementation of the compression library and is
- subject to change. Applications should only use zlib.h.
-@@ -60,3 +63,5 @@ typedef enum {
- int ZLIB_INTERNAL inflate_table OF((codetype type, unsigned short FAR *lens,
- unsigned codes, code FAR * FAR *table,
- unsigned FAR *bits, unsigned short FAR *work));
-+
-+#endif /* INFTREES_H_ */
-diff --git a/src/gzip/zlib.h b/src/gzip/zlib.h
-index 4a98e38bf..d760140c2 100644
---- a/src/gzip/zlib.h
-+++ b/src/gzip/zlib.h
-@@ -31,7 +31,7 @@
- #ifndef ZLIB_H
- #define ZLIB_H
-
--#include "zconf.h"
-+#include "ftzconf.h"
-
- #ifdef __cplusplus
- extern "C" {
-@@ -211,6 +211,8 @@ typedef gz_header FAR *gz_headerp;
-
- #define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
-
-+#ifndef Z_FREETYPE
-+
- #define zlib_version zlibVersion()
- /* for compatibility with versions < 1.0.2 */
-
-@@ -246,7 +248,6 @@ ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
- this will be done by deflate().
- */
-
--
- ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
- /*
- deflate compresses as much data as possible, and stops when the input
-@@ -373,6 +374,7 @@ ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
- deallocated).
- */
-
-+#endif /* !Z_FREETYPE */
-
- /*
- ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
-@@ -534,6 +536,8 @@ ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
- The following functions are needed only in some special applications.
- */
-
-+#ifndef Z_FREETYPE
-+
- /*
- ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
- int level,
-@@ -956,6 +960,8 @@ ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
- destination.
- */
-
-+#endif /* !Z_FREETYPE */
-+
- ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
- /*
- This function is equivalent to inflateEnd followed by inflateInit,
-@@ -980,6 +986,8 @@ ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm,
- the windowBits parameter is invalid.
- */
-
-+#ifndef Z_FREETYPE
-+
- ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm,
- int bits,
- int value));
-@@ -1069,6 +1077,8 @@ ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm,
- stream state was inconsistent.
- */
-
-+#endif /* !Z_FREETYPE */
-+
- /*
- ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
- unsigned char FAR *window));
-@@ -1095,6 +1105,8 @@ typedef unsigned (*in_func) OF((void FAR *,
- z_const unsigned char FAR * FAR *));
- typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
-
-+#ifndef Z_FREETYPE
-+
- ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
- in_func in, void FAR *in_desc,
- out_func out, void FAR *out_desc));
-@@ -1214,6 +1226,8 @@ ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
- 27-31: 0 (reserved)
- */
-
-+#endif /* !Z_FREETYPE */
-+
- #ifndef Z_SOLO
-
- /* utility functions */
-@@ -1742,6 +1756,8 @@ ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
- if (crc != original_crc) error();
- */
-
-+#ifndef Z_FREETYPE
-+
- ZEXTERN uLong ZEXPORT crc32_z OF((uLong crc, const Bytef *buf,
- z_size_t len));
- /*
-@@ -1822,6 +1838,19 @@ ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
- ZLIB_VERSION, (int)sizeof(z_stream))
- #endif
-
-+#else /* Z_FREETYPE */
-+
-+
-+ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
-+ const char *version, int stream_size));
-+
-+# define inflateInit2(strm, windowBits) \
-+ inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
-+ (int)sizeof(z_stream))
-+
-+#endif /* Z_FREETYPE */
-+
-+
- #ifndef Z_SOLO
-
- /* gzgetc() macro and its supporting function and exposed data structure. Note
-@@ -1901,13 +1930,16 @@ ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
-
- #else /* Z_SOLO */
-
-+#ifndef Z_FREETYPE
- ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
- ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
- ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t));
-+#endif
-
- #endif /* !Z_SOLO */
-
- /* undocumented functions */
-+#ifndef Z_FREETYPE
- ZEXTERN const char * ZEXPORT zError OF((int));
- ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
- ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table OF((void));
-@@ -1927,6 +1959,7 @@ ZEXTERN int ZEXPORTVA gzvprintf Z_ARG((gzFile file,
- va_list va));
- # endif
- #endif
-+#endif /* !Z_FREETYPE */
-
- #ifdef __cplusplus
- }
-diff --git a/src/gzip/zutil.h b/src/gzip/zutil.h
-index d9a20ae1b..14f0f1a85 100644
---- a/src/gzip/zutil.h
-+++ b/src/gzip/zutil.h
-@@ -188,6 +188,8 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
- #pragma warn -8066
- #endif
-
-+#ifndef Z_FREETYPE
-+
- /* provide prototypes for these when building zlib without LFS */
- #if !defined(_WIN32) && \
- (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
-@@ -195,6 +197,8 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
- ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
- #endif
-
-+#endif /* !Z_FREETYPE */
-+
- /* common defaults */
-
- #ifndef OS_CODE
-@@ -226,9 +230,9 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
- # define zmemcmp _fmemcmp
- # define zmemzero(dest, len) _fmemset(dest, 0, len)
- # else
--# define zmemcpy memcpy
--# define zmemcmp memcmp
--# define zmemzero(dest, len) memset(dest, 0, len)
-+# define zmemcpy ft_memcpy
-+# define zmemcmp ft_memcmp
-+# define zmemzero(dest, len) ft_memset(dest, 0, len)
- # endif
- #else
- void ZLIB_INTERNAL zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
diff --git a/thirdparty/freetype/src/pcf/README b/thirdparty/freetype/src/pcf/README
deleted file mode 100644
index 09ea970eda..0000000000
--- a/thirdparty/freetype/src/pcf/README
+++ /dev/null
@@ -1,96 +0,0 @@
- FreeType font driver for PCF fonts
-
- Francesco Zappa Nardelli
- <francesco.zappa.nardelli@ens.fr>
-
-
-Introduction
-************
-
-PCF (Portable Compiled Format) is a binary bitmap font format, largely used
-in X world. This code implements a PCF driver for the FreeType library.
-Glyph images are loaded into memory only on demand, thus leading to a small
-memory footprint.
-
-Information on the PCF font format can only be worked out from
-`pcfread.c', and `pcfwrite.c', to be found, for instance, in the XFree86
-(www.xfree86.org) source tree (xc/lib/font/bitmap/).
-
-Many good bitmap fonts in bdf format come with XFree86: they can be
-compiled into the pcf format using the `bdftopcf' utility.
-
-
-Supported hardware
-******************
-
-The driver has been tested on linux/x86 and sunos5.5/sparc. In both
-cases the compiler was gcc. When back in Paris, I will test it also
-on linux/alpha.
-
-
-Encodings
-*********
-
-Use `FT_Get_BDF_Charset_ID' to access the encoding and registry.
-
-The driver always exports `ft_encoding_none' as face->charmap.encoding.
-FT_Get_Char_Index() behavior is unmodified, that is, it converts the ULong
-value given as argument into the corresponding glyph number.
-
-
-Known problems
-**************
-
-- dealing explicitly with encodings breaks the uniformity of FreeType 2
- API.
-
-- except for encodings properties, client applications have no
- visibility of the PCF_Face object. This means that applications
- cannot directly access font tables and are obliged to trust
- FreeType.
-
-- currently, glyph names and ink_metrics are ignored.
-
-I plan to give full visibility of the PCF_Face object in the next
-release of the driver, thus implementing also glyph names and
-ink_metrics.
-
-- height is defined as (ascent - descent). Is this correct?
-
-- if unable to read size information from the font, PCF_Init_Face
- sets available_size->width and available_size->height to 12.
-
-- too many english grammar errors in the readme file :-(
-
-
-License
-*******
-
-Copyright (C) 2000 by Francesco Zappa Nardelli
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-Credits
-*******
-
-Keith Packard wrote the pcf driver found in XFree86. His work is at
-the same time the specification and the sample implementation of the
-PCF format. Undoubtedly, this driver is inspired from his work.
diff --git a/thirdparty/freetype/src/psnames/rules.mk b/thirdparty/freetype/src/psnames/rules.mk
deleted file mode 100644
index 3768e2f1d8..0000000000
--- a/thirdparty/freetype/src/psnames/rules.mk
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-# FreeType 2 psnames driver configuration rules
-#
-
-
-# Copyright (C) 1996-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.
-
-
-# psnames driver directory
-#
-PSNAMES_DIR := $(SRC_DIR)/psnames
-
-
-# compilation flags for the driver
-#
-PSNAMES_COMPILE := $(CC) $(ANSIFLAGS) \
- $I$(subst /,$(COMPILER_SEP),$(PSNAMES_DIR)) \
- $(INCLUDE_FLAGS) \
- $(FT_CFLAGS)
-
-
-# psnames driver sources (i.e., C files)
-#
-PSNAMES_DRV_SRC := $(PSNAMES_DIR)/psmodule.c
-
-
-# psnames driver headers
-#
-PSNAMES_DRV_H := $(PSNAMES_DRV_SRC:%.c=%.h) \
- $(PSNAMES_DIR)/psnamerr.h \
- $(PSNAMES_DIR)/pstables.h
-
-
-# psnames driver object(s)
-#
-# PSNAMES_DRV_OBJ_M is used during `multi' builds
-# PSNAMES_DRV_OBJ_S is used during `single' builds
-#
-PSNAMES_DRV_OBJ_M := $(PSNAMES_DRV_SRC:$(PSNAMES_DIR)/%.c=$(OBJ_DIR)/%.$O)
-PSNAMES_DRV_OBJ_S := $(OBJ_DIR)/psnames.$O
-
-# psnames driver source file for single build
-#
-PSNAMES_DRV_SRC_S := $(PSNAMES_DIR)/psnames.c
-
-
-# psnames driver - single object
-#
-$(PSNAMES_DRV_OBJ_S): $(PSNAMES_DRV_SRC_S) $(PSNAMES_DRV_SRC) \
- $(FREETYPE_H) $(PSNAMES_DRV_H)
- $(PSNAMES_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(PSNAMES_DRV_SRC_S))
-
-
-# psnames driver - multiple objects
-#
-$(OBJ_DIR)/%.$O: $(PSNAMES_DIR)/%.c $(FREETYPE_H) $(PSNAMES_DRV_H)
- $(PSNAMES_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
-
-
-# update main driver object lists
-#
-DRV_OBJS_S += $(PSNAMES_DRV_OBJ_S)
-DRV_OBJS_M += $(PSNAMES_DRV_OBJ_M)
-
-
-# EOF
diff --git a/thirdparty/freetype/src/raster/module.mk b/thirdparty/freetype/src/raster/module.mk
deleted file mode 100644
index b56a4902ba..0000000000
--- a/thirdparty/freetype/src/raster/module.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# FreeType 2 renderer module definition
-#
-
-
-# Copyright (C) 1996-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.
-
-
-FTMODULE_H_COMMANDS += RASTER_MODULE
-
-define RASTER_MODULE
-$(OPEN_DRIVER) FT_Renderer_Class, ft_raster1_renderer_class $(CLOSE_DRIVER)
-$(ECHO_DRIVER)raster $(ECHO_DRIVER_DESC)monochrome bitmap renderer$(ECHO_DRIVER_DONE)
-endef
-
-# EOF