anbani
Version:
Multifunctional javascript toolkit for Georgian Alphabet - Anbani
301 lines (256 loc) • 13.2 kB
JavaScript
export default {
alphabets: {
// Modern unicameral Georgian script developed in 10th century
// ან ბან გან დონ ენ ვინ ზენ თან ინ კან ლას მან ნარ ონ პარ ჟან რაე სან ტარ უნ ფარ ქან ღან ყარ შინ ჩინ ცან ძილ წილ ჭარ ხან ჯან ჰაე
names: [
"ან", "ბან", "გან", "დონ", "ენ", "ვინ", "ზენ", "თან", "ინ", "კან", "ლას",
"მან", "ნარ", "ონ", "პარ", "ჟან", "რაე", "სან", "ტარ", "უნ", "ფარ", "ქან",
"ღან", "ყარ", "შინ", "ჩინ", "ცან", "ძილ", "წილ", "ჭარ", "ხან", "ჯან", "ჰაე",
"ეჲ", "ჲე", "ჳე", "ჴარ", "ჰოე",
"ჶი", "ჷნ", "ჸინ", "გან ამოტრიალებული", "აინ ამოტრიალებული",
"გამყოფი", "ნარ მოდიფიკატორი", "აენ", "სიმაგრის ნიშანი", "ლაბიალიზაციის ნიშანი",
"ა-უმლაუტი", "ა-მაკრონი", "ა-მაკრონ-უმლაუტი", "ე-მაკრონი", "ი-მაკრონი",
"ო-უმლაუტი", "ო-მაკრონი", "ო-მაკრონ-უმლაუტი", "უ-უმლაუტი", "უ-მაკრონი",
"უ-მაკრონ-უმლაუტი", "უ-ბრჯგუ", "ჷნ-მაკრონი",
"წერტილი", "მძიმე", "კითხვის ნიშანი", "ძახილის ნიშანი", "წერტილ-მძიმე", "ორწერტილი",
],
// Modern unicameral Georgian script developed in 10th century
mkhedruli: [
"ა", "ბ", "გ", "დ", "ე", "ვ", "ზ", "თ", "ი", "კ", "ლ",
"მ", "ნ", "ო", "პ", "ჟ", "რ", "ს", "ტ", "უ", "ფ", "ქ",
"ღ", "ყ", "შ", "ჩ", "ც", "ძ", "წ", "ჭ", "ხ", "ჯ", "ჰ",
"ჱ", "ჲ", "ჳ", "ჴ", "ჵ",
"ჶ", "ჷ", "ჸ", "ჹ", "ჺ",
"჻", "ჼ", "ჽ", "ჾ", "ჿ",
"ა̈", "ა̄", "ა̄̈", "ე̄", "ი̄",
"ო̈", "ო̄", "ო̄̈", "უ̈", "უ̄",
"უ̄̈", "უ̂", "ჷ̄",
".", ",", "?", "!", ";", ":",
],
// Modern unicameral derivative script of Mkhedruli only used for headlines in all-caps
mtavruli: [
"Ა", "Ბ", "Გ", "Დ", "Ე", "Ვ", "Ზ", "Თ", "Ი", "Კ", "Ლ",
"Მ", "Ნ", "Ო", "Პ", "Ჟ", "Რ", "Ს", "Ტ", "Უ", "Ფ", "Ქ",
"Ღ", "Ყ", "Შ", "Ჩ", "Ც", "Ძ", "Წ", "Ჭ", "Ხ", "Ჯ", "Ჰ",
"Ჱ", "Ჲ", "Ჳ", "Ჴ", "Ჵ",
"Ჶ", "Ჷ", "Ჸ", "Ჹ", "Ჺ",
"", "", "Ჽ", "Ჾ", "Ჿ",
"", "", "", "", "",
"", "", "", "", "",
"", "", "",
".", ",", "?", "!", ";", ":",
],
// Original Georgian alphabet from 5th century
asomtavruli: [
"Ⴀ", "Ⴁ", "Ⴂ", "Ⴃ", "Ⴄ", "Ⴅ", "Ⴆ", "Ⴇ", "Ⴈ", "Ⴉ", "Ⴊ",
"Ⴋ", "Ⴌ", "Ⴍ", "Ⴎ", "Ⴏ", "Ⴐ", "Ⴑ", "Ⴒ", "Ⴓ", "Ⴔ", "Ⴕ",
"Ⴖ", "Ⴗ", "Ⴘ", "Ⴙ", "Ⴚ", "Ⴛ", "Ⴜ", "Ⴝ", "Ⴞ", "Ⴟ", "Ⴠ",
"Ⴡ", "Ⴢ", "Ⴣ", "Ⴤ", "Ⴥ",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "",
".", ",", "?", "!", ";", ":",
],
// Second script of Georgian alphabet first appearing in 9th century
nuskhuri: [
"ⴀ", "ⴁ", "ⴂ", "ⴃ", "ⴄ", "ⴅ", "ⴆ", "ⴇ", "ⴈ", "ⴉ", "ⴊ",
"ⴋ", "ⴌ", "ⴍ", "ⴎ", "ⴏ", "ⴐ", "ⴑ", "ⴒ", "ⴓ", "ⴔ", "ⴕ",
"ⴖ", "ⴗ", "ⴘ", "ⴙ", "ⴚ", "ⴛ", "ⴜ", "ⴝ", "ⴞ", "ⴟ", "ⴠ",
"ⴡ", "ⴢ", "ⴣ", "ⴤ", "ⴥ",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "",
".", ",", "?", "!", ";", ":",
],
// Collection of letters from all around the world that resemble Mkhedruli
homoglyph: [
"১", "ꝺ", "\u2068𞥖\u2069", "\u2068𐬉\u2069", "᪅", "ꝫ", "ፄ", "ᦎ", "ᨣ", "𑑇", "ⴝ",
"𖬖", "б", "ᰔ", "Ჴ", "𑈎", "ᦝ", "Ꮣ", "𐐃", "ᩂ", "ᦜ", "𑐋",
"ꨈ", "𐔤", "Ϡ", "Ᏺ", "ᨴ", "ᖙ", "ꨓ", "ꞎ", "ᱠ", "ƾ", "𑇓",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "",
".", ",", "?", "!", ";", ":",
],
// Zalgo crazy text using diacritics
// zalgo : [],
// International Phonetic Association (IPA)
phonetic: [
"ɑ", "b", "g", "d", "ɛ", "v", "z", "tʰ", "i", "k'", "l",
"m", "n", "ɔ", "p'", "ʒ", "r", "s", "t'", "u", "pʰ", "kʰ",
"ʁ", "q'", "ʃ", "t͡ʃ", "t͡s", "d͡z", "t͡sʼ", "t͡ʃʼ", "χ", "d͡ʒ", "h",
"eɪ", "j", "w", "qʰ", "oː",
"f", "ə", "ʔ", "ɢ", "ʕ",
"", "◌̃", "ə", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "",
".", ",", "?", "!", ";", ":",
],
// Braille https://en.wikipedia.org/wiki/Georgian_Braille
braille: [
"⠁", "⠃", "⠛", "⠙", "⠑", "⠺", "⠵", "⠋", "⠊", "⠅", "⠇",
"⠍", "⠝", "⠕", "⠏", "⠚", "⠗", "⠎", "⠞", "⠥", "⠧", "⠻",
"⠫", "⠮", "⠱", "⠟", "⠉", "⠽", "⠹", "⠭", "⠓", "⠪", "⠯",
"", "", "", "", "",
"", "", "", "", "",
"⠌", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "",
"⠲", "⠂", "⠦", "⠖", "⠆", "⠒",
],
// Commonly adopted romanization as seen on social media
common: [
"a", "b", "g", "d", "e", "v", "z", "t", "i", "k", "l",
"m", "n", "o", "p", "zh", "r", "s", "t", "u", "f", "q",
"gh", "y", "sh", "ch", "c", "dz", "ts", "tch", "x", "j", "h",
"e", "i", "ui", "x", "hoi",
"f", "oa", "h", "gh", "rgh",
"", "", "oa", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "",
".", ",", "?", "!", ";", ":",
],
// Georgian alphabet cyrillization
cyrillic: [
"а", "б", "г", "д", "е", "в", "з", "т", "и", "к", "л",
"м", "н", "о", "п", "ж", "р", "с", "т", "у", "ф", "к",
"г", "к", "ш", "ч", "ц", "дз", "тц", "тч", "х", "дж", "х",
"е", "й", "уй", "х", "хо",
"ф", "оа", "х", "г", "рг",
"", "", "оа", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "",
".", ",", "?", "!", ";", ":",
],
// Georgian alphabet hellenization
greek: [
"α", "μπ", "γγ", "ντ", "ε", "β", "ζ", "τ", "η", "κ", "λ",
"μ", "ν", "ο", "π", "ζͱ", "ρ", "σ", "τ", "ου", "ψ", "κ",
"γ", "κͱ", "σͱ", "τσ", "τσ", "δζ", "τσ", "τσͱ", "γχ", "τζ", "ͱ",
"ε", "ι", "υι", "κχ", "ͱοι",
"φ", "οα", "ͱ", "γ", "ργ",
"", "", "οα", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "",
".", ",", "?", "!", ";", ":",
],
// Georgian alphabet armenianization
armenian: [
"ա", "բ", "գ", "դ", "է", "վ", "զ", "թ", "ի", "կ", "լ",
"մ", "ն", "օ", "պ", "ժ", "ռ", "ս", "տ", "ու", "փ", "ք",
"ղ", "կհ", "շ", "չ", "ց", "ձ", "ծ", "ճ", "խ", "ջ", "հ",
"է", "ի", "ուի", "խ", "հօի",
"ֆ", "ը", "հ", "ղ", "ռղ",
"", "", "ը", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "",
".", ",", "?", "!", ";", ":",
],
// International Standards Organization (http://www.iso.ch) as shown in Apridonidze et al. and UNGEGN
iso_9984: [
"a", "b", "g", "d", "e", "v", "z", "t'", "i", "k", "l",
"m", "n", "o", "p", "ž", "r", "s", "t", "u", "p'", "k'",
"ḡ", "q", "š", "č'", "c'", "j", "c", "č", "x", "ǰ", "h",
"ē", "y", "w", "ẖ'", "ō",
"f", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "",
".", ",", "?", "!", ";", ":",
],
// The national system of romanization adopted in February 2002 by the State Department of Geodesy and Cartography of Georgia and the Institute of Linguistics, Georgian Academy of Sciences
national: [
"a", "b", "g", "d", "e", "v", "z", "t", "i", "k'", "l",
"m", "n", "o", "p'", "zh", "r", "s", "t'", "u", "p", "k",
"gh", "q'", "sh", "ch", "ts", "dz", "ts'", "ch'", "kh", "j", "h",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "",
".", ",", "?", "!", ";", ":",
],
// Iberiul-K’avk’asiuri enatmetsnierebis ts’elits’deuli [Annual of Ibero-Caucasian Linguistics] as shown in The World’s Writing Systems. Variant forms separated with a slash
// ike : [],
// American Library Association/Library of Congress.
// ala_lc : [],
// Kohanimeandmebaas (Place Names Database) of Eesti Keele Instituut (Institute of the Estonian Language) (http://www.eki.ee).
// knab : [],
// United States Board on Geographic Names and the Permanent Committee on Geographical Names for British Official Use
bgn: [
"a", "b", "g", "d", "e", "v", "z", "t'", "i", "k", "l",
"m", "n", "o", "p", "zh", "r", "s", "t", "u", "p'", "k'",
"gh", "q", "sh", "ch'", "ts'", "dz", "ts", "ch", "kh", "j", "h",
"ey", "j", "", "q'", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "",
".", ",", "?", "!", ";", ":",
],
// The transliterating system TITUS was introduced by the journal "Georgika" in Jena and was adapted by Jost Gippert for TITUS (https://titus.uni-frankfurt.de/).
titus : [
"a", "b", "g", "d", "e", "v", "z", "t", "i", "ḳ", "l",
"m", "n", "o", "ṗ", "ž", "r", "s", "ṭ", "u", "p", "k",
"ġ", "q̇", "š", "č", "c", "ӡ", "c̣", "č̣", "x", "ǯ", "h",
"ē", "y", "w", "q", "ō",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "",
".", ",", "?", "!", ";", ":",
],
// Latin to Georgian QWERTY keyboard mapping used for older fonts
qwerty: [
"a", "b", "g", "d", "e", "v", "z", "T", "i", "k", "l",
"m", "n", "o", "p", "J", "r", "s", "t", "u", "f", "q",
"R", "y", "S", "C", "c", "Z", "w", "W", "x", "j", "h",
"E", "I", "V", "X", "H",
"F", "D", "Y", "G", "L",
">", "N", "<", "{", "}",
"", "", "", "", "",
"", "", "", "", "",
"", "", "",
".", ",", "?", "!", ";", ":",
],
// Numeric values
numeric: [
"1", "2", "3", "4", "5", "6", "7", "9", "10", "20", "30",
"40", "50", "70", "80", "90", "100", "200", "300", "400", "500", "600",
"700", "800", "900", "1000", "2000", "3000", "4000", "5000", "6000", "8000", "9000",
"8", "60", "400", "7000", "10000",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "", "", "",
"", "", "",
".", ",", "?", "!", ";", ":",
],
// See also http://transliteration.eki.ee/pdf/Georgian.pdf
},
regex: {
mkhedruli: /[ა-ჿ]/,
mtavruli: /[Ა-Ჿ]/,
asomtavruli: /[Ⴀ-Ⴥ]/,
nuskhuri: /[ⴀ-ⴥ]/,
latin: /[a-zA-Z]/,
cyrillic: /[А-Яа-я]/
}
}