mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
The DerivedBidiClass.txt format (among others) has changed, with multiple @missing lines for a single property now being used. This means that the text file itself has many fewer explicit entries, and consequently the :bidi-class test (if left alone) would be substantially less rigorous. Adapt the test to keep track of which characters have been checked already; parse the @missing lines; and use a separate test to check the un-tested characters against the specifications in the parsed @missing lines.
51 lines
3 KiB
Plaintext
51 lines
3 KiB
Plaintext
;; Mappings of the general categories and bidi classes to integers
|
|
;; Letter classes go first to optimize certain cl character type checks
|
|
;; BN is the first BIDI class so that unallocated characters are BN
|
|
;; Uppercase in the CL sense must have GC = 0, lowercase must GC = 1
|
|
((*general-categories*
|
|
("Lu" "Ll" "Lt" "Lm" "Lo" "Cc" "Cf" "Co" "Cs" "Cn"
|
|
"Mc" "Me" "Mn" "Nd" "Nl" "No" "Pc" "Pd" "Pe" "Pf"
|
|
"Pi" "Po" "Ps" "Sc" "Sk" "Sm" "So" "Zl" "Zp" "Zs"))
|
|
|
|
(*bidi-classes*
|
|
("BN" "AL" "AN" "B" "CS" "EN" "ES" "ET" "L" "LRE" "LRO"
|
|
"NSM" "ON" "PDF" "R" "RLE" "RLO" "S" "WS" "LRI" "RLI"
|
|
"FSI" "PDI"))
|
|
|
|
(*east-asian-widths* ("N" "A" "H" "W" "F" "Na"))
|
|
|
|
(*scripts*
|
|
("Unknown" "Common" "Latin" "Greek" "Cyrillic" "Armenian" "Hebrew" "Arabic"
|
|
"Syriac" "Thaana" "Devanagari" "Bengali" "Gurmukhi" "Gujarati" "Oriya"
|
|
"Tamil" "Telugu" "Kannada" "Malayalam" "Sinhala" "Thai" "Lao" "Tibetan"
|
|
"Myanmar" "Georgian" "Hangul" "Ethiopic" "Cherokee" "Canadian_Aboriginal"
|
|
"Ogham" "Runic" "Khmer" "Mongolian" "Hiragana" "Katakana" "Bopomofo" "Han"
|
|
"Yi" "Old_Italic" "Gothic" "Deseret" "Inherited" "Tagalog" "Hanunoo" "Buhid"
|
|
"Tagbanwa" "Limbu" "Tai_Le" "Linear_B" "Ugaritic" "Shavian" "Osmanya"
|
|
"Cypriot" "Braille" "Buginese" "Coptic" "New_Tai_Lue" "Glagolitic"
|
|
"Tifinagh" "Syloti_Nagri" "Old_Persian" "Kharoshthi" "Balinese" "Cuneiform"
|
|
"Phoenician" "Phags_Pa" "Nko" "Sundanese" "Lepcha" "Ol_Chiki" "Vai"
|
|
"Saurashtra" "Kayah_Li" "Rejang" "Lycian" "Carian" "Lydian" "Cham"
|
|
"Tai_Tham" "Tai_Viet" "Avestan" "Egyptian_Hieroglyphs" "Samaritan" "Lisu"
|
|
"Bamum" "Javanese" "Meetei_Mayek" "Imperial_Aramaic" "Old_South_Arabian"
|
|
"Inscriptional_Parthian" "Inscriptional_Pahlavi" "Old_Turkic" "Kaithi"
|
|
"Batak" "Brahmi" "Mandaic" "Chakma" "Meroitic_Cursive"
|
|
"Meroitic_Hieroglyphs" "Miao" "Sharada" "Sora_Sompeng" "Takri"
|
|
"Bassa_Vah" "Mahajani" "Pahawh_Hmong" "Caucasian_Albanian" "Manichaean"
|
|
"Palmyrene" "Duployan" "Mende_Kikakui" "Pau_Cin_Hau" "Elbasan" "Modi"
|
|
"Psalter_Pahlavi" "Grantha" "Mro" "Siddham" "Khojki" "Nabataean" "Tirhuta"
|
|
"Khudawadi" "Old_North_Arabian" "Warang_Citi" "Linear_A" "Old_Permic"
|
|
"Ahom" "Anatolian_Hieroglyphs" "Hatran" "Multani" "Old_Hungarian"
|
|
"SignWriting" "Adlam" "Bhaiksuki" "Marchen" "Newa" "Osage" "Tangut"
|
|
"Masaram_Gondi" "Nushu" "Soyombo" "Zanabazar_Square" "Dogra" "Gunjala_Gondi"
|
|
"Makasar" "Medefaidrin" "Hanifi_Rohingya" "Sogdian" "Old_Sogdian"
|
|
"Elymaic" "Nandinagari" "Nyiakeng_Puachue_Hmong" "Wancho"
|
|
"Chorasmian" "Dives_Akuru" "Khitan_Small_Script" "Yezidi"
|
|
"Cypro_Minoan" "Old_Uyghur" "Tangsa" "Toto" "Vithkuqi"
|
|
"Kawi" "Nag_Mundari"))
|
|
|
|
(*line-break-classes*
|
|
("XX" "AI" "AL" "B2" "BA" "BB" "BK" "CB" "CJ" "CL" "CM" "CP" "CR" "EB" "EM"
|
|
"EX" "GL" "HL" "HY" "ID" "IN" "IS" "LF" "NL" "NS" "NU" "OP" "PO" "PR" "QU"
|
|
"RI" "SA" "SG" "SP" "SY" "WJ" "ZW" "ZWJ")))
|