ဝိစ်သိဉ်နရီ blkwiktionary https://blk.wiktionary.org/wiki/%E1%80%A1%E1%80%93%E1%80%AD%E1%80%80%E1%80%9C%E1%80%AD%E1%80%90%E1%80%BA%E1%80%99%E1%80%B2%E1%80%B7%E1%80%84%E1%80%AB MediaWiki 1.45.0-wmf.7 case-sensitive မီဒီယာ တဲးဝါး အိုင်ကိုမ်ဒေါ့ꩻရီ ကေားသုင်ꩻသား ကေားသုင်ꩻသား အိုင်ကိုမ်ဒေါ့ꩻရီ ဝိစ်သိဉ်နရီ ဝိစ်သိဉ်နရီ အိုင်ကိုမ်ဒေါ့ꩻရီ ဖုဲင် ဖုဲင် အိုင်ကိုမ်ဒေါ့ꩻရီ မီဒီယာဝီခီ မီဒီယာဝီခီ အိုင်ကိုမ်ဒေါ့ꩻရီ တမ်းပလေက် တမ်းပလေက် အိုင်ကိုမ်ဒေါ့ꩻရီ စွဲးကမ်းကို စွဲးကမ်းကို အိုင်ကိုမ်ဒေါ့ꩻရီ ကဏ္ဍ ကဏ္ဍ အိုင်ကိုမ်ဒေါ့ꩻရီ သွုပ်ဆုဲင်ꩻ သွုပ်ဆုဲင်ꩻ အိုင်ကိုမ်ဒေါ့ꩻရီ TimedText TimedText talk မော်ဂျူး မော်ဂျူး ဆွေးနွေးချက် မော်ဂျူး:headword/data 828 188 12810 12384 2025-06-29T16:05:19Z 咽頭べさ 11 12810 Scribunto text/plain local headword_page_module = "Module:headword/page" local list_to_set = require("Module:table").listToSet local data = {} ------ 1. Lists which are converted into sets. ------ -- Zero-plurals (i.e. invariable plurals). local irregular_plurals = list_to_set({ "cmavo", "cmene", "fu'ivla", "gismu", "Han tu", "hanja", "ဟန်သီ", "jyutping", "kana", "kanji", "lujvo", "phrasebook", "ပိဉ်ယိဉ်း", "rafsi", }, function(_, item) return item end) -- Irregular non-zero plurals AND any regular plurals where the singular ends in "s", -- because the module assumes that inputs ending in "s" are plurals. The singular and -- plural both need to be added, as the module will generate a default plural if -- the input doesn't match a key in this table. for sg, pl in next, { mora = "morae" } do irregular_plurals[sg], irregular_plurals[pl] = pl, pl end data.irregular_plurals = irregular_plurals data.lemmas = list_to_set{ "နာမ်ႏ", "နာမ်ႏဆဲင်ႏတဖြာꩻ", "နာမ်ႏဆဲင်ႏလိုꩻအာ", "စိတ္တဇနာမ်ႏ", "အွဉ်ႏနယ်ခြွဉ်းနာမ်ႏ", "ကြိယာႏ", "ကြိယာႏဝိသေသန", "နာမဝိသေသန", "နာမ်ႏတင်", "နာမ်ႏခြွိုင်း", "ဝိဘတ်", "အဆွိုင်ꩻဝင်ꩻ", "အအဲဉ်ႏ", "ရောမ်ဖြုဲင်ꩻ", "အီဒီယမ်", "အာမေဍိတ်", "အက္ခရာႏ", "လိတ်ဖြုံႏ", "ငဝ်းခြွဉ်း", "အမုဲင်စဲဉ်ႏ", "ဂဏန်ꩻ", "ကိန်ꩻဂဏန်ꩻအမုဲင်", "ဒေါ့ꩻရိုꩻသေꩻငဝ်း", "ငဝ်းပွုံႏခွိုင်ꩻ", "ဖပုဒ်အုံယွိုင်းပုဒ်သင်္ကေတ", "အက္ခရာႏ", "အမုဲင်(သင်္ကေတ)", "အဒွေါင်ႏနယ်ꩻ", "ဝိဘတ်", "ကတဲက်ထွားနွောင်ꩻဒါႏ ကြိယာဝိသေသန", "ကတဲက်ထွားနွောင်ꩻဒါႏ နာမဝိသေသန", "အလွိုကဲꩻသွတ်ꩻ ကြိယာဝိသေသန", "အလွိုကဲꩻသွတ်ꩻ နာမဝိသေသန", "အသွုပ်ဆုဲင်ꩻ", "အခြွိုင်း", "ငဝ်းငွါအကွို့ꩻအခဝ်", "abbreviations", "acronyms", "adnominals", "adpositions", "adverbs", "affixes", "ambipositions", "articles", "circumfixes", "circumpositions", "classifiers", "cmavo", "cmavo clusters", "cmene", "combining forms", "comparative adjectives", "comparative adverbs", "conjunctions", "counters", "determiners", "diacritical marks", "equative adjectives", "fu'ivla", "gismu", "Han characters", "Han tu", "hanzi", "hanja", "idioms", "infixes", "interfixes", "initialisms", "interjections", "kanji", "ligatures", "lujvo", "morphemes", "non-constituents", "nouns", "numbers", "numeral symbols", "numerals", "particles", "ငဝ်းစုဗူႏ", "postpositions", "predicatives", "prefixes", "prepositions", "prepositional phrases", "preverbs", "pronominal adverbs", "pronouns", "proverbs", "proper nouns", "punctuation marks", "relatives", "roots", "stems", "suffixes", "superlative adjectives", "superlative adverbs", "syllables", "symbols", } data.nonlemmas = list_to_set{ "active participles", "adjectival participles", "နာမဝိသေသနပုဒ်", "adjective comparative forms", "adjective feminine forms", "adjective equative forms", "adjective plural forms", "adjective superlative forms", "ကြိယာႏဝိသေသနပုဒ်", "adverb comparative forms", "adverb superlative forms", "adverbial participles", "agent participles", "article forms", "circumfix forms", "combined forms", "ငဝ်းအွဉ်ႏဒင်ႏဒွေါင်ႏထိုꩻ", "converbs", "determiner comparative forms", "determiner forms", "determiner superlative forms", "diminutive nouns", "future participles", "gerunds", "infinitive forms", "infinitives", "interjection forms", "jyutping", "kanji readings", "misspellings", "negative participles", "nominal participles", "noun case forms", "noun dual forms", "နာမ်ႏပုဒ်", "နာမ်ႏအအာကိန်ꩻပုံႏစံႏ", "noun possessive forms", "noun singulative forms", "ဂဏန်ꩻပုဒ်", "participles", "participle forms", "particle forms", "passive participles", "past active participles", "past participles", "past participle forms", "past passive participles", "perfect active participles", "perfect participles", "perfect passive participles", "pinyin", "အအာကိန်ꩻ", "postposition forms", "prefix forms", "preposition contractions", "ဝိဘတ်ပုဒ်", "prepositional pronouns", "present active participles", "အွဉ်ႏနယ်အဝ်ႏထွာတွင်ꩻ ကြိယာႏသဏ္ဍာန်ႏ", "present passive participles", "နာမ်ႏတင်ပုဒ်", "pronoun possessive forms", "နာမ်ႏဆဲင်ႏတဖြာꩻပုဒ်", "နာမ်ႏဆဲင်ႏတဖြာꩻ ပုဒ်အအာကိန်ꩻ", "နာမ်ႏဆဲင်ႏတဖြာꩻ ပုဒ်အအာကိန်ꩻ", "rafsi", "လုဲင်ႏတွမ်ႏရောမအက္ခရာႏ", "singulatives", "suffix forms", "ကြိယာႏပုဒ်", "verbal nouns", } -- These langauges will not have links to separate parts of the headword. data.no_multiword_links = list_to_set{ "zh", } -- These languages will not have "LANG multiword terms" categories added. data.no_multiword_cat = list_to_set{ -------- Languages without spaces between words (sometimes spaces between phrases) -------- "blt", -- Tai Dam "ja", -- Japanese "khb", -- Lü "km", -- Khmer "lo", -- Lao "mnw", -- Mon "my", -- Burmese "nan", -- Min Nan (some words in Latin script; hyphens between syllables) "nan-hbl", -- Hokkien (some words in Latin script; hyphens between syllables) "nod", -- Northern Thai "ojp", -- Old Japanese "shn", -- Shan "sou", -- Southern Thai "tdd", -- Tai Nüa "th", -- Thai "tts", -- Isan "twh", -- Tai Dón "txg", -- Tangut "zh", -- Chinese (all varieties with Chinese characters) "zkt", -- Khitan -------- Languages with spaces between syllables -------- "ahk", -- Akha "aou", -- A'ou "atb", -- Zaiwa "byk", -- Biao "cdy", -- Chadong --"duu", -- Drung; not sure --"hmx-pro", -- Proto-Hmong-Mien --"hnj", -- Green Hmong; not sure "huq", -- Tsat "ium", -- Iu Mien --"lis", -- Lisu; not sure "mtq", -- Muong --"mww", -- White Hmong; not sure "onb", -- Lingao --"sit-gkh", -- Gokhy; not sure --"swi", -- Sui; not sure "tbq-lol-pro", -- Proto-Loloish "tdh", -- Thulung "ukk", -- Muak Sa-aak "vi", -- Vietnamese "yig", -- Wusa Nasu "zng", -- Mang -------- Languages with ~ with surrounding spaces used to separate variants -------- "mkh-ban-pro", -- Proto-Bahnaric "sit-pro", -- Proto-Sino-Tibetan; listed above -------- Other weirdnesses -------- "mul", -- Translingual; gestures, Morse code, etc. "aot", -- Atong (India); bullet is a letter -------- All sign languages -------- "ads", "aed", "aen", "afg", "ase", "asf", "asp", "asq", "asw", "bfi", "bfk", "bog", "bqn", "bqy", "bvl", "bzs", "cds", "csc", "csd", "cse", "csf", "csg", "csl", "csn", "csq", "csr", "doq", "dse", "dsl", "ecs", "esl", "esn", "eso", "eth", "fcs", "fse", "fsl", "fss", "gds", "gse", "gsg", "gsm", "gss", "gus", "hab", "haf", "hds", "hks", "hos", "hps", "hsh", "hsl", "icl", "iks", "ils", "inl", "ins", "ise", "isg", "isr", "jcs", "jhs", "jls", "jos", "jsl", "jus", "kgi", "kvk", "lbs", "lls", "lsl", "lso", "lsp", "lst", "lsy", "lws", "mdl", "mfs", "mre", "msd", "msr", "mzc", "mzg", "mzy", "nbs", "ncs", "nsi", "nsl", "nsp", "nsr", "nzs", "okl", "pgz", "pks", "prl", "prz", "psc", "psd", "psg", "psl", "pso", "psp", "psr", "pys", "rms", "rsl", "rsm", "sdl", "sfb", "sfs", "sgg", "sgx", "slf", "sls", "sqk", "sqs", "ssp", "ssr", "svk", "swl", "syy", "tse", "tsm", "tsq", "tss", "tsy", "tza", "ugn", "ugy", "ukl", "uks", "vgt", "vsi", "vsl", "vsv", "xki", "xml", "xms", "ygs", "ysl", "zib", "zsl", } -- In these languages, the hyphen is not considered a word separator for the "multiword terms" category. data.hyphen_not_multiword_sep = list_to_set{ "akk", -- Akkadian; hyphens between syllables "akl", -- Aklanon; hyphens for mid-word glottal stops "ber-pro", -- Proto-Berber; morphemes separated by hyphens "ceb", -- Cebuano; hyphens for mid-word glottal stops "cnk", -- Khumi Chin; hyphens used in single words "cpi", -- Chinese Pidgin English; Chinese-derived words with hyphens between syllables "de", -- too many false positives "esx-esk-pro", -- hyphen used to separate morphemes "fi", -- Finnish; hyphen used to separate components in compound words if the final and initial vowels match, respectively "hil", -- Hiligaynon; hyphens for mid-word glottal stops "hnn", -- Hanunoo; too many false positives "ilo", -- Ilocano; hyphens for mid-word glottal stops "kne", -- Kankanaey; hyphens for mid-word glottal stops "lcp", -- Western Lawa; dash as syllable joiner "lwl", -- Eastern Lawa; dash as syllable joiner "mfa", -- Pattani Malay in Thai script; dash as syllable joiner "mkh-vie-pro", -- Proto-Vietic; morphemes separated by hyphens "msb", -- Masbatenyo; too many false positives "tl", -- Tagalog; too many false positives "war", -- Waray-Waray; too many false positives "yo", -- Yoruba; hyphens used to show lengthened nasal vowels } -- These languages will not have "LANG masculine nouns" and similar categories added. data.no_gender_cat = list_to_set{ -- Languages without gender but which use the gender field for other purposes "ja", "th", } data.notranslit = list_to_set{ "ams", "az", "bbc", "bug", "cdo", "cia", "cjm", "cjy", "cmn", "cnp", "cpi", "cpx", "csp", "czh", "czo", "gan", "hak", "hnm", "hsn", "ja", "kzg", "lad", "ltc", "luh", "lzh", "mnp", "ms", "mul", "mvi", "nan", "nan-dat", "nan-hbl", "nan-hlh", "nan-lnx", "nan-tws", "nan-zhe", "nan-zsh", "och", "oj", "okn", "ryn", "rys", "ryu", "sh", "sjc", "tgt", "th", "tkn", "tly", "txg", "und", "vi", "wuu", "xug", "yoi", "yox", "yue", "za", "zh", "zhx-sic", "zhx-tai", } -- Script codes for which a script-tagged display title will be added. data.toBeTagged = list_to_set{ "Ahom", "Arab", "fa-Arab", "glk-Arab", "kk-Arab", "ks-Arab", "ku-Arab", "mzn-Arab", "ms-Arab", "ota-Arab", "pa-Arab", "ps-Arab", "sd-Arab", "tt-Arab", "ug-Arab", "ur-Arab", "Armi", "Armn", "Avst", "Bali", "Bamu", "Batk", "Beng", "as-Beng", "Bopo", "Brah", "Brai", "Bugi", "Buhd", "Cakm", "Cans", "Cari", "Cham", "Cher", "Copt", "Cprt", "Cyrl", "Cyrs", "Deva", "Dsrt", "Egyd", "Egyp", "Ethi", "Geok", "Geor", "Glag", "Goth", "Grek", "Polyt", "polytonic", "Gujr", "Guru", "Hang", "Hani", "Hano", "Hebr", "Hira", "Hluw", "Ital", "Java", "Kali", "Kana", "Khar", "Khmr", "Knda", "Kthi", "Lana", "Laoo", "Latn", "Latf", "Latg", "Latnx", "Latinx", "pjt-Latn", "Lepc", "Limb", "Linb", "Lisu", "Lyci", "Lydi", "Mand", "Mani", "Marc", "Merc", "Mero", "Mlym", "Mong", "mnc-Mong", "sjo-Mong", "xwo-Mong", "Mtei", "Mymr", "Narb", "Nkoo", "Nshu", "Ogam", "Olck", "Orkh", "Orya", "Osma", "Ougr", "Palm", "Phag", "Phli", "Phlv", "Phnx", "Plrd", "Prti", "Rjng", "Runr", "Samr", "Sarb", "Saur", "Sgnw", "Shaw", "Shrd", "Sinh", "Sora", "Sund", "Sylo", "Syrc", "Tagb", "Tale", "Talu", "Taml", "Tang", "Tavt", "Telu", "Tfng", "Tglg", "Thaa", "Thai", "Tibt", "Ugar", "Vaii", "Xpeo", "Xsux", "Yiii", "Zmth", "Zsym", "Ipach", "Music", "Rumin", } -- Parts of speech which will not be categorised in categories like "English terms spelled with É" if -- the term is the character in question (e.g. the letter entry for English [[é]]). This contrasts with -- entries like the French adjective [[m̂]], which is a one-letter word spelled with the letter. data.pos_not_spelled_with_self = list_to_set{ "diacritical marks", "Han characters", "Han tu", "hanja", "hanzi", "iteration marks", "kana", "kanji", "letters", "ligatures", "logograms", "morae", "numeral symbols", "numerals", "punctuation marks", "syllables", "symbols", } ------ 2. Lists not converted into sets. ------ -- Recognized aliases for parts of speech (param 2=). Key is the short form and value is the canonical singular (not -- pluralized) form. It is singular so that the same table can be used in [[Module:form of]] for the p=/POS= param -- and [[Module:links]] for the pos= param. data.pos_aliases = { a = "နာမဝိသေသန", adj = "နာမဝိသေသန", adjective = "နာမဝိသေသန", adjectives = "နာမဝိသေသန", ["adjective forms"] = "နာမဝိသေသနပုဒ်", adv = "ကြိယာႏဝိသေသန", adverb = "ကြိယာႏဝိသေသန", adverbs = "ကြိယာႏဝိသေသန", ["adverb forms"] = "ကြိယာႏဝိသေသနပုဒ်", art = "article", det = "determiner", compadj = "comparative adjective", compadv = "comparative adverb", conj = "conjunction", conv = "converb", int = "အာမေဍိတ်", interj = "အာမေဍိတ်", intj = "အာမေဍိတ်", interjection = "အာမေဍိတ်", interjections = "အာမေဍိတ်", ["interjection forms"] = "အာမေဍိတ်ပုဒ်", n = "နာမ်ႏ", noun = "နာမ်ႏ", nouns = "နာမ်ႏ", ["noun forms"] = "နာမ်ႏပုဒ်", ["noun form"] = "နာမ်ႏပုဒ်", -- the next two support Algonquian languages; see also vii/vai/vti/vta below na = "animate noun", ni = "inanimate noun", num = "ဂဏန်ꩻ", numeral = "ဂဏန်ꩻ", numerals = "ဂဏန်ꩻ", ["numeral forms"] = "ဂဏန်ꩻပုဒ်", part = "participle", pcl = "particle", phr = "ငဝ်းစုဗူႏ", phrase = "ငဝ်းစုဗူႏ", phrases = "ငဝ်းစုဗူႏ", ["phrase forms"] = "ငဝ်းစုဗူႏပုဒ်", pn = "နာမ်ႏဆဲင်ႏတဖြာꩻ", ["proper noun"] = "နာမ်ႏဆဲင်ႏတဖြာꩻ", ["proper nouns"] = "နာမ်ႏဆဲင်ႏတဖြာꩻ", ["proper noun forms"] = "နာမ်ႏဆဲင်ႏတဖြာꩻပုဒ်", postp = "postposition", pref = "prefix", prep = "ဝိဘတ်", preposition = "ဝိဘတ်", prepositions = "ဝိဘတ်", ["preposition forms"] = "ဝိဘတ်ပုဒ်", pron = "နာမ်ႏတင်", pronoun = "နာမ်ႏတင်", pronouns = "နာမ်ႏတင်", ["pronoun forms"] = "နာမ်ႏတင်ပုဒ်", prop = "နာမ်ႏဆဲင်ႏတဖြာꩻ", proper = "နာမ်ႏဆဲင်ႏတဖြာꩻ", propn = "နာမ်ႏဆဲင်ႏတဖြာꩻ", rom = "လုဲင်ႏတွမ်ႏရောမအက္ခရာႏ", romanization = "လုဲင်ႏတွမ်ႏရောမအက္ခရာႏ", romanizations = "လုဲင်ႏတွမ်ႏရောမအက္ခရာႏ", suf = "suffix", supadj = "superlative adjective", supadv = "superlative adverb", v = "verb", verb = "ကြိယာႏ", verbs = "ကြိယာႏ", ["verb forms"] = "ကြိယာႏပုဒ်", vb = "ကြိယာႏ", hanzi = "ဟန်သီ", pinyin = "ပိဉ်ယိဉ်း", vi = "intransitive verb", vt = "transitive verb", -- the next four support Algonquian languages vii = "inanimate intransitive verb", vai = "animate intransitive verb", vti = "transitive inanimate verb", vta = "transitive animate verb", } -- Parts of speech for which categories like "German masculine nouns" or "Russian imperfective verbs" -- will be generated if the headword is of the appropriate gender/number. data.pos_for_gender_number_cat = { ["နာမ်ႏဖုံႏ"] = "နာမ်ႏဖုံႏ", ["proper nouns"] = "နာမ်ႏဖုံႏ", ["အသွုပ်ဆုဲင်ꩻ"] = "အသွုပ်ဆုဲင်ꩻ", -- We include verbs because impf and pf are valid "genders". ["ကြိယာႏဖုံႏ"] = "ကြိယာႏဖုံႏ", } ------ 3. Page-wide processing (so that it only needs to be done once per page). ------ data.page = require(headword_page_module).process_page() -- Fuckme, random references to data.pagename and data.encoded_pagename are scattered throughout the codebase. FIXME! data.pagename = data.page.pagename data.encoded_pagename = data.page.encoded_pagename return data 7pugv2pri2ho1jc5ot3uzgidzilhw3b မော်ဂျူး:scripts/data 828 231 12798 11464 2025-06-29T14:46:00Z 咽頭べさ 11 12798 Scribunto text/plain --[=[ When adding new scripts to this file, please don't forget to add style definitons for the script in [[MediaWiki:Gadget-LanguagesAndScripts.css]]. ]=] local concat = table.concat local insert = table.insert local ipairs = ipairs local next = next local remove = table.remove local select = select local sort = table.sort -- Loaded on demand, as it may not be needed (depending on the data). local function u(...) u = require("Module:string utilities").char return u(...) end ------------------------------------------------------------------------------------ -- -- Helper functions -- ------------------------------------------------------------------------------------ -- Note: a[2] > b[2] means opens are sorted before closes if otherwise equal. local function sort_ranges(a, b) return a[1] < b[1] or a[1] == b[1] and a[2] > b[2] end -- Returns the union of two or more range tables. local function union(...) local ranges = {} for i = 1, select("#", ...) do local argt = select(i, ...) for j, v in ipairs(argt) do insert(ranges, {v, j % 2 == 1 and 1 or -1}) end end sort(ranges, sort_ranges) local ret, i = {}, 0 for _, range in ipairs(ranges) do i = i + range[2] if i == 0 and range[2] == -1 then -- close insert(ret, range[1]) elseif i == 1 and range[2] == 1 then -- open if ret[#ret] and range[1] <= ret[#ret] + 1 then remove(ret) -- merge adjacent ranges else insert(ret, range[1]) end end end return ret end -- Adds the `characters` key, which is determined by a script's `ranges` table. local function process_ranges(sc) local ranges, chars = sc.ranges, {} for i = 2, #ranges, 2 do if ranges[i] == ranges[i - 1] then insert(chars, u(ranges[i])) else insert(chars, u(ranges[i - 1])) if ranges[i] > ranges[i - 1] + 1 then insert(chars, "-") end insert(chars, u(ranges[i])) end end sc.characters = concat(chars) ranges.n = #ranges return sc end local function handle_normalization_fixes(fixes) local combiningClasses = fixes.combiningClasses if combiningClasses then local chars, i = {}, 0 for char in next, combiningClasses do i = i + 1 chars[i] = char end fixes.combiningClassCharacters = concat(chars) end return fixes end ------------------------------------------------------------------------------------ -- -- Data -- ------------------------------------------------------------------------------------ local m = {} m["Adlm"] = process_ranges{ "Adlam", 19606346, "alphabet", ranges = { 0x061F, 0x061F, 0x0640, 0x0640, 0x1E900, 0x1E94B, 0x1E950, 0x1E959, 0x1E95E, 0x1E95F, }, capitalized = true, direction = "rtl", } m["Afak"] = { "Afaka", 382019, "syllabary", -- Not in Unicode } m["Aghb"] = process_ranges{ "Caucasian Albanian", 2495716, "alphabet", ranges = { 0x10530, 0x10563, 0x1056F, 0x1056F, }, } m["Ahom"] = process_ranges{ "Ahom", 2839633, "abugida", ranges = { 0x11700, 0x1171A, 0x1171D, 0x1172B, 0x11730, 0x11746, }, } m["Arab"] = process_ranges{ "Arabic", 1828555, "abjad", -- more precisely, impure abjad varieties = {"Jawi", {"Nastaliq", "Nastaleeq"}}, ranges = { 0x0600, 0x06FF, 0x0750, 0x077F, 0x0870, 0x088E, 0x0890, 0x0891, 0x0897, 0x08E1, 0x08E3, 0x08FF, 0xFB50, 0xFBC2, 0xFBD3, 0xFD8F, 0xFD92, 0xFDC7, 0xFDCF, 0xFDCF, 0xFDF0, 0xFDFF, 0xFE70, 0xFE74, 0xFE76, 0xFEFC, 0x102E0, 0x102FB, 0x10E60, 0x10E7E, 0x10EC2, 0x10EC4, 0x10EFC, 0x10EFF, 0x1EE00, 0x1EE03, 0x1EE05, 0x1EE1F, 0x1EE21, 0x1EE22, 0x1EE24, 0x1EE24, 0x1EE27, 0x1EE27, 0x1EE29, 0x1EE32, 0x1EE34, 0x1EE37, 0x1EE39, 0x1EE39, 0x1EE3B, 0x1EE3B, 0x1EE42, 0x1EE42, 0x1EE47, 0x1EE47, 0x1EE49, 0x1EE49, 0x1EE4B, 0x1EE4B, 0x1EE4D, 0x1EE4F, 0x1EE51, 0x1EE52, 0x1EE54, 0x1EE54, 0x1EE57, 0x1EE57, 0x1EE59, 0x1EE59, 0x1EE5B, 0x1EE5B, 0x1EE5D, 0x1EE5D, 0x1EE5F, 0x1EE5F, 0x1EE61, 0x1EE62, 0x1EE64, 0x1EE64, 0x1EE67, 0x1EE6A, 0x1EE6C, 0x1EE72, 0x1EE74, 0x1EE77, 0x1EE79, 0x1EE7C, 0x1EE7E, 0x1EE7E, 0x1EE80, 0x1EE89, 0x1EE8B, 0x1EE9B, 0x1EEA1, 0x1EEA3, 0x1EEA5, 0x1EEA9, 0x1EEAB, 0x1EEBB, 0x1EEF0, 0x1EEF1, }, direction = "rtl", normalizationFixes = handle_normalization_fixes{ from = {"ٳ"}, to = {"اٟ"} }, } m["fa-Arab"] = { "Arabic", 744068, m["Arab"][3], ranges = m["Arab"].ranges, characters = m["Arab"].characters, otherNames = {"Perso-Arabic"}, direction = "rtl", parent = "Arab", normalizationFixes = m["Arab"].normalizationFixes, } m["kk-Arab"] = { "Arabic", 90681452, m["Arab"][3], ranges = m["Arab"].ranges, characters = m["Arab"].characters, direction = "rtl", parent = "Arab", normalizationFixes = m["Arab"].normalizationFixes, } m["ks-Arab"] = m["fa-Arab"] m["ku-Arab"] = m["fa-Arab"] m["ms-Arab"] = m["kk-Arab"] m["mzn-Arab"] = m["fa-Arab"] m["ota-Arab"] = m["fa-Arab"] m["pa-Arab"] = { "Shahmukhi", 133800, m["Arab"][3], ranges = m["Arab"].ranges, characters = m["Arab"].characters, otherNames = {"Arabic"}, direction = "rtl", parent = "Arab", normalizationFixes = m["Arab"].normalizationFixes, } m["ps-Arab"] = m["fa-Arab"] m["sd-Arab"] = m["fa-Arab"] m["tt-Arab"] = m["fa-Arab"] m["ug-Arab"] = m["fa-Arab"] m["ur-Arab"] = m["fa-Arab"] -- Aran (Nastaliq) is subsumed into Arab m["Armi"] = process_ranges{ "Imperial Aramaic", 26978, "abjad", ranges = { 0x10840, 0x10855, 0x10857, 0x1085F, }, direction = "rtl", } m["Armn"] = process_ranges{ "Armenian", 11932, "alphabet", ranges = { 0x0531, 0x0556, 0x0559, 0x058A, 0x058D, 0x058F, 0xFB13, 0xFB17, }, capitalized = true, } m["Avst"] = process_ranges{ "Avestan", 790681, "alphabet", ranges = { 0x10B00, 0x10B35, 0x10B39, 0x10B3F, }, direction = "rtl", } m["pal-Avst"] = { "Pazend", 4925073, m["Avst"][3], ranges = m["Avst"].ranges, characters = m["Avst"].characters, direction = "rtl", parent = "Avst", } m["Bali"] = process_ranges{ "Balinese", 804984, "abugida", ranges = { 0x1B00, 0x1B4C, 0x1B4E, 0x1B7F, }, } m["Bamu"] = process_ranges{ "Bamum", 806024, "syllabary", ranges = { 0xA6A0, 0xA6F7, 0x16800, 0x16A38, }, } m["Bass"] = process_ranges{ "Bassa", 810458, "alphabet", aliases = {"Bassa Vah", "Vah"}, ranges = { 0x16AD0, 0x16AED, 0x16AF0, 0x16AF5, }, } m["Batk"] = process_ranges{ "Batak", 51592, "abugida", ranges = { 0x1BC0, 0x1BF3, 0x1BFC, 0x1BFF, }, } m["Beng"] = process_ranges{ "Bengali", 756802, "abugida", ranges = { 0x0951, 0x0952, 0x0964, 0x0965, 0x0980, 0x0983, 0x0985, 0x098C, 0x098F, 0x0990, 0x0993, 0x09A8, 0x09AA, 0x09B0, 0x09B2, 0x09B2, 0x09B6, 0x09B9, 0x09BC, 0x09C4, 0x09C7, 0x09C8, 0x09CB, 0x09CE, 0x09D7, 0x09D7, 0x09DC, 0x09DD, 0x09DF, 0x09E3, 0x09E6, 0x09EF, 0x09F2, 0x09FE, 0x1CD0, 0x1CD0, 0x1CD2, 0x1CD2, 0x1CD5, 0x1CD6, 0x1CD8, 0x1CD8, 0x1CE1, 0x1CE1, 0x1CEA, 0x1CEA, 0x1CED, 0x1CED, 0x1CF2, 0x1CF2, 0x1CF5, 0x1CF7, 0xA8F1, 0xA8F1, }, normalizationFixes = handle_normalization_fixes{ from = {"অা", "ঋৃ", "ঌৢ"}, to = {"আ", "ৠ", "ৡ"} }, } m["as-Beng"] = process_ranges{ "Assamese", 191272, m["Beng"][3], otherNames = {"Eastern Nagari"}, ranges = { 0x0951, 0x0952, 0x0964, 0x0965, 0x0980, 0x0983, 0x0985, 0x098C, 0x098F, 0x0990, 0x0993, 0x09A8, 0x09AA, 0x09AF, 0x09B2, 0x09B2, 0x09B6, 0x09B9, 0x09BC, 0x09C4, 0x09C7, 0x09C8, 0x09CB, 0x09CE, 0x09D7, 0x09D7, 0x09DC, 0x09DD, 0x09DF, 0x09E3, 0x09E6, 0x09FE, 0x1CD0, 0x1CD0, 0x1CD2, 0x1CD2, 0x1CD5, 0x1CD6, 0x1CD8, 0x1CD8, 0x1CE1, 0x1CE1, 0x1CEA, 0x1CEA, 0x1CED, 0x1CED, 0x1CF2, 0x1CF2, 0x1CF5, 0x1CF7, 0xA8F1, 0xA8F1, }, normalizationFixes = m["Beng"].normalizationFixes, } m["Bhks"] = process_ranges{ "Bhaiksuki", 17017839, "abugida", ranges = { 0x11C00, 0x11C08, 0x11C0A, 0x11C36, 0x11C38, 0x11C45, 0x11C50, 0x11C6C, }, } m["Blis"] = { "Blissymbolic", 609817, "logography", aliases = {"Blissymbols"}, -- Not in Unicode } m["Bopo"] = process_ranges{ "Zhuyin", 198269, "semisyllabary", aliases = {"Zhuyin Fuhao", "Bopomofo"}, ranges = { 0x02EA, 0x02EB, 0x3001, 0x3003, 0x3008, 0x3011, 0x3013, 0x301F, 0x302A, 0x302D, 0x3030, 0x3030, 0x3037, 0x3037, 0x30FB, 0x30FB, 0x3105, 0x312F, 0x31A0, 0x31BF, 0xFE45, 0xFE46, 0xFF61, 0xFF65, }, } m["Brah"] = process_ranges{ "Brahmi", 185083, "abugida", ranges = { 0x11000, 0x1104D, 0x11052, 0x11075, 0x1107F, 0x1107F, }, normalizationFixes = handle_normalization_fixes{ from = {"𑀅𑀸", "𑀋𑀾", "𑀏𑁂"}, to = {"𑀆", "𑀌", "𑀐"} }, } m["Brai"] = process_ranges{ "Braille", 79894, "alphabet", ranges = { 0x2800, 0x28FF, }, } m["Bugi"] = process_ranges{ "Lontara", 1074947, "abugida", aliases = {"Buginese"}, ranges = { 0x1A00, 0x1A1B, 0x1A1E, 0x1A1F, 0xA9CF, 0xA9CF, }, } m["Buhd"] = process_ranges{ "Buhid", 1002969, "abugida", ranges = { 0x1735, 0x1736, 0x1740, 0x1751, 0x1752, 0x1753, }, } m["Cakm"] = process_ranges{ "Chakma", 1059328, "abugida", ranges = { 0x09E6, 0x09EF, 0x1040, 0x1049, 0x11100, 0x11134, 0x11136, 0x11147, }, } m["Cans"] = process_ranges{ "Canadian syllabic", 2479183, "abugida", ranges = { 0x1400, 0x167F, 0x18B0, 0x18F5, 0x11AB0, 0x11ABF, }, } m["Cari"] = process_ranges{ "Carian", 1094567, "alphabet", ranges = { 0x102A0, 0x102D0, }, } m["Cham"] = process_ranges{ "Cham", 1060381, "abugida", ranges = { 0xAA00, 0xAA36, 0xAA40, 0xAA4D, 0xAA50, 0xAA59, 0xAA5C, 0xAA5F, }, } m["Cher"] = process_ranges{ "Cherokee", 26549, "syllabary", ranges = { 0x13A0, 0x13F5, 0x13F8, 0x13FD, 0xAB70, 0xABBF, }, } m["Chis"] = { "Chisoi", 123173777, "abugida", -- Not in Unicode } m["Chrs"] = process_ranges{ "Khwarezmian", 72386710, "abjad", aliases = {"Chorasmian"}, ranges = { 0x10FB0, 0x10FCB, }, direction = "rtl", } m["Copt"] = process_ranges{ "Coptic", 321083, "alphabet", ranges = { 0x03E2, 0x03EF, 0x2C80, 0x2CF3, 0x2CF9, 0x2CFF, 0x102E0, 0x102FB, }, capitalized = true, } m["Cpmn"] = process_ranges{ "Cypro-Minoan", 1751985, "syllabary", aliases = {"Cypro Minoan"}, ranges = { 0x10100, 0x10101, 0x12F90, 0x12FF2, }, } m["Cprt"] = process_ranges{ "Cypriot", 1757689, "syllabary", ranges = { 0x10100, 0x10102, 0x10107, 0x10133, 0x10137, 0x1013F, 0x10800, 0x10805, 0x10808, 0x10808, 0x1080A, 0x10835, 0x10837, 0x10838, 0x1083C, 0x1083C, 0x1083F, 0x1083F, }, direction = "rtl", } m["Cyrl"] = process_ranges{ "Cyrillic", 8209, "alphabet", ranges = { 0x0400, 0x052F, 0x1C80, 0x1C8A, 0x1D2B, 0x1D2B, 0x1D78, 0x1D78, 0x1DF8, 0x1DF8, 0x2DE0, 0x2DFF, 0x2E43, 0x2E43, 0xA640, 0xA69F, 0xFE2E, 0xFE2F, 0x1E030, 0x1E06D, 0x1E08F, 0x1E08F, }, capitalized = true, } m["Cyrs"] = { "Old Cyrillic", 442244, m["Cyrl"][3], aliases = {"Early Cyrillic"}, ranges = m["Cyrl"].ranges, characters = m["Cyrl"].characters, capitalized = m["Cyrl"].capitalized, wikipedia_article = "Early Cyrillic alphabet", normalizationFixes = handle_normalization_fixes{ from = {"Ѹ", "ѹ"}, to = {"Ꙋ", "ꙋ"} }, } m["Deva"] = process_ranges{ "Devanagari", 38592, "abugida", ranges = { 0x0900, 0x097F, 0x1CD0, 0x1CF6, 0x1CF8, 0x1CF9, 0x20F0, 0x20F0, 0xA830, 0xA839, 0xA8E0, 0xA8FF, 0x11B00, 0x11B09, }, normalizationFixes = handle_normalization_fixes{ from = {"ॆॆ", "ेे", "ाॅ", "ाॆ", "ाꣿ", "ॊॆ", "ाे", "ाै", "ोे", "ाऺ", "ॖॖ", "अॅ", "अॆ", "अा", "एॅ", "एॆ", "एे", "एꣿ", "ऎॆ", "अॉ", "आॅ", "अॊ", "आॆ", "अो", "आे", "अौ", "आै", "ओे", "अऺ", "अऻ", "आऺ", "अाꣿ", "आꣿ", "ऒॆ", "अॖ", "अॗ", "ॶॖ", "्‍?ा"}, to = {"ꣿ", "ै", "ॉ", "ॊ", "ॏ", "ॏ", "ो", "ौ", "ौ", "ऻ", "ॗ", "ॲ", "ऄ", "आ", "ऍ", "ऎ", "ऐ", "ꣾ", "ꣾ", "ऑ", "ऑ", "ऒ", "ऒ", "ओ", "ओ", "औ", "औ", "औ", "ॳ", "ॴ", "ॴ", "ॵ", "ॵ", "ॵ", "ॶ", "ॷ", "ॷ"} }, } m["Diak"] = process_ranges{ "Dhives Akuru", 3307073, "abugida", aliases = {"Dhivehi Akuru", "Dives Akuru", "Divehi Akuru"}, ranges = { 0x11900, 0x11906, 0x11909, 0x11909, 0x1190C, 0x11913, 0x11915, 0x11916, 0x11918, 0x11935, 0x11937, 0x11938, 0x1193B, 0x11946, 0x11950, 0x11959, }, } m["Dogr"] = process_ranges{ "Dogra", 72402987, "abugida", ranges = { 0x0964, 0x096F, 0xA830, 0xA839, 0x11800, 0x1183B, }, } m["Dsrt"] = process_ranges{ "Deseret", 1200582, "alphabet", ranges = { 0x10400, 0x1044F, }, capitalized = true, } m["Dupl"] = process_ranges{ "Duployan", 5316025, "alphabet", ranges = { 0x1BC00, 0x1BC6A, 0x1BC70, 0x1BC7C, 0x1BC80, 0x1BC88, 0x1BC90, 0x1BC99, 0x1BC9C, 0x1BCA3, }, } m["Egyd"] = { "Demotic", 188519, "abjad, logography", -- Not in Unicode } m["Egyh"] = { "Hieratic", 208111, "abjad, logography", -- Unified with Egyptian hieroglyphic in Unicode } m["Egyp"] = process_ranges{ "Egyptian hieroglyphic", 132659, "abjad, logography", ranges = { 0x13000, 0x13455, 0x13460, 0x143FA, }, varieties = {"Hieratic"}, wikipedia_article = "Egyptian hieroglyphs", normalizationFixes = handle_normalization_fixes{ from = {"𓃁", "𓆖"}, to = {"𓃀𓐶𓂝", "𓆓𓐳𓐷𓏏𓐰𓇿𓐸"} }, } m["Elba"] = process_ranges{ "Elbasan", 1036714, "alphabet", ranges = { 0x10500, 0x10527, }, } m["Elym"] = process_ranges{ "Elymaic", 60744423, "abjad", ranges = { 0x10FE0, 0x10FF6, }, direction = "rtl", } m["Ethi"] = process_ranges{ "Ethiopic", 257634, "abugida", aliases = {"Ge'ez", "Geʽez"}, ranges = { 0x1200, 0x1248, 0x124A, 0x124D, 0x1250, 0x1256, 0x1258, 0x1258, 0x125A, 0x125D, 0x1260, 0x1288, 0x128A, 0x128D, 0x1290, 0x12B0, 0x12B2, 0x12B5, 0x12B8, 0x12BE, 0x12C0, 0x12C0, 0x12C2, 0x12C5, 0x12C8, 0x12D6, 0x12D8, 0x1310, 0x1312, 0x1315, 0x1318, 0x135A, 0x135D, 0x137C, 0x1380, 0x1399, 0x2D80, 0x2D96, 0x2DA0, 0x2DA6, 0x2DA8, 0x2DAE, 0x2DB0, 0x2DB6, 0x2DB8, 0x2DBE, 0x2DC0, 0x2DC6, 0x2DC8, 0x2DCE, 0x2DD0, 0x2DD6, 0x2DD8, 0x2DDE, 0xAB01, 0xAB06, 0xAB09, 0xAB0E, 0xAB11, 0xAB16, 0xAB20, 0xAB26, 0xAB28, 0xAB2E, 0x1E7E0, 0x1E7E6, 0x1E7E8, 0x1E7EB, 0x1E7ED, 0x1E7EE, 0x1E7F0, 0x1E7FE, }, } m["Gara"] = process_ranges{ "Garay", 3095302, "alphabet", capitalized = true, direction = "rtl", ranges = { 0x060C, 0x060C, 0x061B, 0x061B, 0x061F, 0x061F, 0x10D40, 0x10D65, 0x10D69, 0x10D85, 0x10D8E, 0x10D8F, }, } m["Geok"] = process_ranges{ "Khutsuri", 1090055, "alphabet", ranges = { -- Ⴀ-Ⴭ is Asomtavruli, ⴀ-ⴭ is Nuskhuri 0x10A0, 0x10C5, 0x10C7, 0x10C7, 0x10CD, 0x10CD, 0x10FB, 0x10FB, 0x2D00, 0x2D25, 0x2D27, 0x2D27, 0x2D2D, 0x2D2D, }, varieties = {"Nuskhuri", "Asomtavruli"}, capitalized = true, } m["Geor"] = process_ranges{ "Georgian", 3317411, "alphabet", ranges = { -- ა-ჿ is lowercase Mkhedruli; Ა-Ჿ is uppercase Mkhedruli (Mtavruli) 0x0589, 0x0589, 0x10D0, 0x10FF, 0x1C90, 0x1CBA, 0x1CBD, 0x1CBF, }, varieties = {"Mkhedruli", "Mtavruli"}, capitalized = true, } m["Glag"] = process_ranges{ "Glagolitic", 145625, "alphabet", ranges = { 0x0484, 0x0484, 0x0487, 0x0487, 0x0589, 0x0589, 0x10FB, 0x10FB, 0x2C00, 0x2C5F, 0x2E43, 0x2E43, 0xA66F, 0xA66F, 0x1E000, 0x1E006, 0x1E008, 0x1E018, 0x1E01B, 0x1E021, 0x1E023, 0x1E024, 0x1E026, 0x1E02A, }, capitalized = true, } m["Gong"] = process_ranges{ "Gunjala Gondi", 18125340, "abugida", ranges = { 0x0964, 0x0965, 0x11D60, 0x11D65, 0x11D67, 0x11D68, 0x11D6A, 0x11D8E, 0x11D90, 0x11D91, 0x11D93, 0x11D98, 0x11DA0, 0x11DA9, }, } m["Gonm"] = process_ranges{ "Masaram Gondi", 16977603, "abugida", ranges = { 0x0964, 0x0965, 0x11D00, 0x11D06, 0x11D08, 0x11D09, 0x11D0B, 0x11D36, 0x11D3A, 0x11D3A, 0x11D3C, 0x11D3D, 0x11D3F, 0x11D47, 0x11D50, 0x11D59, }, } m["Goth"] = process_ranges{ "Gothic", 467784, "alphabet", ranges = { 0x10330, 0x1034A, }, wikipedia_article = "Gothic alphabet", } m["Gran"] = process_ranges{ "Grantha", 1119274, "abugida", ranges = { 0x0951, 0x0952, 0x0964, 0x0965, 0x0BE6, 0x0BF3, 0x1CD0, 0x1CD0, 0x1CD2, 0x1CD3, 0x1CF2, 0x1CF4, 0x1CF8, 0x1CF9, 0x20F0, 0x20F0, 0x11300, 0x11303, 0x11305, 0x1130C, 0x1130F, 0x11310, 0x11313, 0x11328, 0x1132A, 0x11330, 0x11332, 0x11333, 0x11335, 0x11339, 0x1133B, 0x11344, 0x11347, 0x11348, 0x1134B, 0x1134D, 0x11350, 0x11350, 0x11357, 0x11357, 0x1135D, 0x11363, 0x11366, 0x1136C, 0x11370, 0x11374, 0x11FD0, 0x11FD1, 0x11FD3, 0x11FD3, }, } m["Grek"] = process_ranges{ "Greek", 8216, "alphabet", ranges = { 0x0342, 0x0342, 0x0345, 0x0345, 0x0370, 0x0377, 0x037A, 0x037F, 0x0384, 0x038A, 0x038C, 0x038C, 0x038E, 0x03A1, 0x03A3, 0x03E1, 0x03F0, 0x03FF, 0x1D26, 0x1D2A, 0x1D5D, 0x1D61, 0x1D66, 0x1D6A, 0x1DBF, 0x1DBF, 0x2126, 0x2127, 0x2129, 0x2129, 0x213C, 0x2140, 0xAB65, 0xAB65, 0x10140, 0x1018E, 0x101A0, 0x101A0, 0x1D200, 0x1D245, }, capitalized = true, } m["Polyt"] = process_ranges{ "Greek", 1475332, m["Grek"][3], ranges = union(m["Grek"].ranges, { 0x1F00, 0x1F15, 0x1F18, 0x1F1D, 0x1F20, 0x1F45, 0x1F48, 0x1F4D, 0x1F50, 0x1F57, 0x1F59, 0x1F59, 0x1F5B, 0x1F5B, 0x1F5D, 0x1F5D, 0x1F5F, 0x1F7D, 0x1F80, 0x1FB4, 0x1FB6, 0x1FC4, 0x1FC6, 0x1FD3, 0x1FD6, 0x1FDB, 0x1FDD, 0x1FEF, 0x1FF2, 0x1FF4, 0x1FF6, 0x1FFE, }), ietf_subtag = "Grek", capitalized = m["Grek"].capitalized, parent = "Grek", } m["Gujr"] = process_ranges{ "Gujarati", 733944, "abugida", ranges = { 0x0951, 0x0952, 0x0964, 0x0965, 0x0A81, 0x0A83, 0x0A85, 0x0A8D, 0x0A8F, 0x0A91, 0x0A93, 0x0AA8, 0x0AAA, 0x0AB0, 0x0AB2, 0x0AB3, 0x0AB5, 0x0AB9, 0x0ABC, 0x0AC5, 0x0AC7, 0x0AC9, 0x0ACB, 0x0ACD, 0x0AD0, 0x0AD0, 0x0AE0, 0x0AE3, 0x0AE6, 0x0AF1, 0x0AF9, 0x0AFF, 0xA830, 0xA839, }, normalizationFixes = handle_normalization_fixes{ from = {"ઓ", "અાૈ", "અા", "અૅ", "અે", "અૈ", "અૉ", "અો", "અૌ", "આૅ", "આૈ", "ૅા"}, to = {"અાૅ", "ઔ", "આ", "ઍ", "એ", "ઐ", "ઑ", "ઓ", "ઔ", "ઓ", "ઔ", "ૉ"} }, } m["Gukh"] = process_ranges{ "Khema", 110064239, "abugida", aliases = {"Gurung Khema", "Khema Phri", "Khema Lipi"}, ranges = { 0x0965, 0x0965, 0x16100, 0x16139, }, } m["Guru"] = process_ranges{ "Gurmukhi", 689894, "abugida", ranges = { 0x0951, 0x0952, 0x0964, 0x0965, 0x0A01, 0x0A03, 0x0A05, 0x0A0A, 0x0A0F, 0x0A10, 0x0A13, 0x0A28, 0x0A2A, 0x0A30, 0x0A32, 0x0A33, 0x0A35, 0x0A36, 0x0A38, 0x0A39, 0x0A3C, 0x0A3C, 0x0A3E, 0x0A42, 0x0A47, 0x0A48, 0x0A4B, 0x0A4D, 0x0A51, 0x0A51, 0x0A59, 0x0A5C, 0x0A5E, 0x0A5E, 0x0A66, 0x0A76, 0xA830, 0xA839, }, normalizationFixes = handle_normalization_fixes{ from = {"ਅਾ", "ਅੈ", "ਅੌ", "ੲਿ", "ੲੀ", "ੲੇ", "ੳੁ", "ੳੂ", "ੳੋ"}, to = {"ਆ", "ਐ", "ਔ", "ਇ", "ਈ", "ਏ", "ਉ", "ਊ", "ਓ"} }, } m["Hang"] = process_ranges{ "Hangul", 8222, "syllabary", aliases = {"Hangeul"}, ranges = { 0x1100, 0x11FF, 0x3001, 0x3003, 0x3008, 0x3011, 0x3013, 0x301F, 0x302E, 0x3030, 0x3037, 0x3037, 0x30FB, 0x30FB, 0x3131, 0x318E, 0x3200, 0x321E, 0x3260, 0x327E, 0xA960, 0xA97C, 0xAC00, 0xD7A3, 0xD7B0, 0xD7C6, 0xD7CB, 0xD7FB, 0xFE45, 0xFE46, 0xFF61, 0xFF65, 0xFFA0, 0xFFBE, 0xFFC2, 0xFFC7, 0xFFCA, 0xFFCF, 0xFFD2, 0xFFD7, 0xFFDA, 0xFFDC, }, } m["Hani"] = process_ranges{ "ဟန်", 8201, "logography", ranges = { 0x2E80, 0x2E99, 0x2E9B, 0x2EF3, 0x2F00, 0x2FD5, 0x2FF0, 0x2FFF, 0x3001, 0x3003, 0x3005, 0x3011, 0x3013, 0x301F, 0x3021, 0x302D, 0x3030, 0x3030, 0x3037, 0x303F, 0x3190, 0x319F, 0x31C0, 0x31E5, 0x31EF, 0x31EF, 0x3220, 0x3247, 0x3280, 0x32B0, 0x32C0, 0x32CB, 0x30FB, 0x30FB, 0x32FF, 0x32FF, 0x3358, 0x3370, 0x337B, 0x337F, 0x33E0, 0x33FE, 0x3400, 0x4DBF, 0x4E00, 0x9FFF, 0xA700, 0xA707, 0xF900, 0xFA6D, 0xFA70, 0xFAD9, 0xFE45, 0xFE46, 0xFF61, 0xFF65, 0x16FE2, 0x16FE3, 0x16FF0, 0x16FF1, 0x1D360, 0x1D371, 0x1F250, 0x1F251, 0x20000, 0x2A6DF, 0x2A700, 0x2B739, 0x2B740, 0x2B81D, 0x2B820, 0x2CEA1, 0x2CEB0, 0x2EBE0, 0x2EBF0, 0x2EE5D, 0x2F800, 0x2FA1D, 0x30000, 0x3134A, 0x31350, 0x323AF, }, varieties = {"Hanzi", "Kanji", "Hanja", "Chu Nom"}, spaces = false, } m["Hans"] = { "Simplified Han", 185614, m["Hani"][3], ranges = m["Hani"].ranges, characters = m["Hani"].characters, spaces = m["Hani"].spaces, parent = "Hani", } m["Hant"] = { "Traditional Han", 178528, m["Hani"][3], ranges = m["Hani"].ranges, characters = m["Hani"].characters, spaces = m["Hani"].spaces, parent = "Hani", } m["Hano"] = process_ranges{ "Hanunoo", 1584045, "abugida", aliases = {"Hanunó'o", "Hanuno'o"}, ranges = { 0x1720, 0x1736, }, } m["Hatr"] = process_ranges{ "Hatran", 20813038, "abjad", ranges = { 0x108E0, 0x108F2, 0x108F4, 0x108F5, 0x108FB, 0x108FF, }, direction = "rtl", } m["Hebr"] = process_ranges{ "Hebrew", 33513, "abjad", -- more precisely, impure abjad ranges = { 0x0591, 0x05C7, 0x05D0, 0x05EA, 0x05EF, 0x05F4, 0x2135, 0x2138, 0xFB1D, 0xFB36, 0xFB38, 0xFB3C, 0xFB3E, 0xFB3E, 0xFB40, 0xFB41, 0xFB43, 0xFB44, 0xFB46, 0xFB4F, }, direction = "rtl", } m["Hira"] = process_ranges{ "Hiragana", 48332, "syllabary", ranges = { 0x3001, 0x3003, 0x3008, 0x3011, 0x3013, 0x301F, 0x3030, 0x3035, 0x3037, 0x3037, 0x303C, 0x303D, 0x3041, 0x3096, 0x3099, 0x30A0, 0x30FB, 0x30FC, 0xFE45, 0xFE46, 0xFF61, 0xFF65, 0xFF70, 0xFF70, 0xFF9E, 0xFF9F, 0x1B001, 0x1B11F, 0x1B132, 0x1B132, 0x1B150, 0x1B152, 0x1F200, 0x1F200, }, varieties = {"Hentaigana"}, spaces = false, } m["Hluw"] = process_ranges{ "Anatolian hieroglyphic", 521323, "logography, syllabary", ranges = { 0x14400, 0x14646, }, wikipedia_article = "Anatolian hieroglyphs", } m["Hmng"] = process_ranges{ "Pahawh Hmong", 365954, "semisyllabary", aliases = {"Hmong"}, ranges = { 0x16B00, 0x16B45, 0x16B50, 0x16B59, 0x16B5B, 0x16B61, 0x16B63, 0x16B77, 0x16B7D, 0x16B8F, }, } m["Hmnp"] = process_ranges{ "Nyiakeng Puachue Hmong", 33712499, "alphabet", ranges = { 0x1E100, 0x1E12C, 0x1E130, 0x1E13D, 0x1E140, 0x1E149, 0x1E14E, 0x1E14F, }, } m["Hung"] = process_ranges{ "Old Hungarian", 446224, "alphabet", aliases = {"Hungarian runic"}, ranges = { 0x10C80, 0x10CB2, 0x10CC0, 0x10CF2, 0x10CFA, 0x10CFF, }, capitalized = true, direction = "rtl", } m["Ibrnn"] = { "Northeastern Iberian", 1113155, "semisyllabary", ietf_subtag = "Zzzz", -- Not in Unicode } m["Ibrns"] = { "Southeastern Iberian", 2305351, "semisyllabary", ietf_subtag = "Zzzz", -- Not in Unicode } m["Image"] = { -- To be used to avoid any formatting or link processing "Image-rendered", 478798, -- This should not have any characters listed ietf_subtag = "Zyyy", translit = false, character_category = false, -- none } m["Inds"] = { "Indus", 601388, aliases = {"Harappan", "Indus Valley"}, } m["Ipach"] = { "International Phonetic Alphabet", 21204, aliases = {"IPA"}, ietf_subtag = "Latn", } m["Ital"] = process_ranges{ "Old Italic", 4891256, "alphabet", ranges = { 0x10300, 0x10323, 0x1032D, 0x1032F, }, } m["Java"] = process_ranges{ "Javanese", 879704, "abugida", ranges = { 0xA980, 0xA9CD, 0xA9CF, 0xA9D9, 0xA9DE, 0xA9DF, }, } m["Jurc"] = { "Jurchen", 912240, "logography", spaces = false, } m["Kali"] = process_ranges{ "Kayah Li", 4919239, "abugida", ranges = { 0xA900, 0xA92F, }, } m["Kana"] = process_ranges{ "Katakana", 82946, "syllabary", ranges = { 0x3001, 0x3003, 0x3008, 0x3011, 0x3013, 0x301F, 0x3030, 0x3035, 0x3037, 0x3037, 0x303C, 0x303D, 0x3099, 0x309C, 0x30A0, 0x30FF, 0x31F0, 0x31FF, 0x32D0, 0x32FE, 0x3300, 0x3357, 0xFE45, 0xFE46, 0xFF61, 0xFF9F, 0x1AFF0, 0x1AFF3, 0x1AFF5, 0x1AFFB, 0x1AFFD, 0x1AFFE, 0x1B000, 0x1B000, 0x1B120, 0x1B122, 0x1B155, 0x1B155, 0x1B164, 0x1B167, }, spaces = false, } m["Kawi"] = process_ranges{ "Kawi", 975802, "abugida", ranges = { 0x11F00, 0x11F10, 0x11F12, 0x11F3A, 0x11F3E, 0x11F5A, }, } m["Khar"] = process_ranges{ "Kharoshthi", 1161266, "abugida", ranges = { 0x10A00, 0x10A03, 0x10A05, 0x10A06, 0x10A0C, 0x10A13, 0x10A15, 0x10A17, 0x10A19, 0x10A35, 0x10A38, 0x10A3A, 0x10A3F, 0x10A48, 0x10A50, 0x10A58, }, direction = "rtl", } m["Khmr"] = process_ranges{ "Khmer", 1054190, "abugida", ranges = { 0x1780, 0x17DD, 0x17E0, 0x17E9, 0x17F0, 0x17F9, 0x19E0, 0x19FF, }, spaces = false, normalizationFixes = handle_normalization_fixes{ from = {"ឣ", "ឤ"}, to = {"អ", "អា"} }, } m["Khoj"] = process_ranges{ "Khojki", 1740656, "abugida", ranges = { 0x0AE6, 0x0AEF, 0xA830, 0xA839, 0x11200, 0x11211, 0x11213, 0x11241, }, normalizationFixes = handle_normalization_fixes{ from = {"𑈀𑈬𑈱", "𑈀𑈬", "𑈀𑈱", "𑈀𑈳", "𑈁𑈱", "𑈆𑈬", "𑈬𑈰", "𑈬𑈱", "𑉀𑈮"}, to = {"𑈇", "𑈁", "𑈅", "𑈇", "𑈇", "𑈃", "𑈲", "𑈳", "𑈂"} }, } m["Khomt"] = { "Khom Thai", 13023788, "abugida", -- Not in Unicode } m["Kitl"] = { "Khitan large", 6401797, "logography", spaces = false, } m["Kits"] = process_ranges{ "Khitan small", 6401800, "logography, syllabary", ranges = { 0x16FE4, 0x16FE4, 0x18B00, 0x18CD5, 0x18CFF, 0x18CFF, }, spaces = false, } m["Knda"] = process_ranges{ "Kannada", 839666, "abugida", ranges = { 0x0951, 0x0952, 0x0964, 0x0965, 0x0C80, 0x0C8C, 0x0C8E, 0x0C90, 0x0C92, 0x0CA8, 0x0CAA, 0x0CB3, 0x0CB5, 0x0CB9, 0x0CBC, 0x0CC4, 0x0CC6, 0x0CC8, 0x0CCA, 0x0CCD, 0x0CD5, 0x0CD6, 0x0CDD, 0x0CDE, 0x0CE0, 0x0CE3, 0x0CE6, 0x0CEF, 0x0CF1, 0x0CF3, 0x1CD0, 0x1CD0, 0x1CD2, 0x1CD3, 0x1CDA, 0x1CDA, 0x1CF2, 0x1CF2, 0x1CF4, 0x1CF4, 0xA830, 0xA835, }, normalizationFixes = handle_normalization_fixes{ from = {"ಉಾ", "ಋಾ", "ಒೌ"}, to = {"ಊ", "ೠ", "ಔ"} }, } m["Kpel"] = { "Kpelle", 1586299, "syllabary", -- Not in Unicode } m["Krai"] = process_ranges{ "Kirat Rai", 123173834, "abugida", aliases = {"Rai", "Khambu Rai", "Rai Barṇamālā", "Kirat Khambu Rai"}, ranges = { 0x16D40, 0x16D79, }, } m["Kthi"] = process_ranges{ "Kaithi", 1253814, "abugida", ranges = { 0x0966, 0x096F, 0xA830, 0xA839, 0x11080, 0x110C2, 0x110CD, 0x110CD, }, } m["Kulit"] = { "Kulitan", 6443044, "abugida", -- Not in Unicode } m["Lana"] = process_ranges{ "Tai Tham", 1314503, "abugida", aliases = {"Tham", "Tua Mueang", "Lanna"}, ranges = { 0x1A20, 0x1A5E, 0x1A60, 0x1A7C, 0x1A7F, 0x1A89, 0x1A90, 0x1A99, 0x1AA0, 0x1AAD, }, spaces = false, } m["Laoo"] = process_ranges{ "Lao", 1815229, "abugida", ranges = { 0x0E81, 0x0E82, 0x0E84, 0x0E84, 0x0E86, 0x0E8A, 0x0E8C, 0x0EA3, 0x0EA5, 0x0EA5, 0x0EA7, 0x0EBD, 0x0EC0, 0x0EC4, 0x0EC6, 0x0EC6, 0x0EC8, 0x0ECE, 0x0ED0, 0x0ED9, 0x0EDC, 0x0EDF, }, spaces = false, } m["Latn"] = process_ranges{ "Latin", 8229, "alphabet", aliases = {"Roman"}, ranges = { 0x0041, 0x005A, 0x0061, 0x007A, 0x00AA, 0x00AA, 0x00BA, 0x00BA, 0x00C0, 0x00D6, 0x00D8, 0x00F6, 0x00F8, 0x02B8, 0x02C0, 0x02C1, 0x02E0, 0x02E4, 0x0363, 0x036F, 0x0485, 0x0486, 0x0951, 0x0952, 0x10FB, 0x10FB, 0x1D00, 0x1D25, 0x1D2C, 0x1D5C, 0x1D62, 0x1D65, 0x1D6B, 0x1D77, 0x1D79, 0x1DBE, 0x1DF8, 0x1DF8, 0x1E00, 0x1EFF, 0x202F, 0x202F, 0x2071, 0x2071, 0x207F, 0x207F, 0x2090, 0x209C, 0x20F0, 0x20F0, 0x2100, 0x2125, 0x2128, 0x2128, 0x212A, 0x2134, 0x2139, 0x213B, 0x2141, 0x214E, 0x2160, 0x2188, 0x2C60, 0x2C7F, 0xA700, 0xA707, 0xA722, 0xA787, 0xA78B, 0xA7CD, 0xA7D0, 0xA7D1, 0xA7D3, 0xA7D3, 0xA7D5, 0xA7DC, 0xA7F2, 0xA7FF, 0xA92E, 0xA92E, 0xAB30, 0xAB5A, 0xAB5C, 0xAB64, 0xAB66, 0xAB69, 0xFB00, 0xFB06, 0xFF21, 0xFF3A, 0xFF41, 0xFF5A, 0x10780, 0x10785, 0x10787, 0x107B0, 0x107B2, 0x107BA, 0x1DF00, 0x1DF1E, 0x1DF25, 0x1DF2A, }, varieties = {"Rumi", "Romaji", "Rōmaji", "Romaja"}, capitalized = true, translit = false, } m["Latf"] = { "Fraktur", 148443, m["Latn"][3], ranges = m["Latn"].ranges, characters = m["Latn"].characters, otherNames = {"Blackletter"}, -- Blackletter is actually the parent "script" capitalized = m["Latn"].capitalized, translit = m["Latn"].translit, parent = "Latn", } m["Latg"] = { "Gaelic", 1432616, m["Latn"][3], ranges = m["Latn"].ranges, characters = m["Latn"].characters, otherNames = {"Irish"}, capitalized = m["Latn"].capitalized, translit = m["Latn"].translit, parent = "Latn", } m["pjt-Latn"] = { "Latin", nil, m["Latn"][3], ranges = m["Latn"].ranges, characters = m["Latn"].characters, capitalized = m["Latn"].capitalized, translit = m["Latn"].translit, parent = "Latn", } m["Leke"] = { "Leke", 19572613, "abugida", -- Not in Unicode } m["Lepc"] = process_ranges{ "Lepcha", 1481626, "abugida", aliases = {"Róng"}, ranges = { 0x1C00, 0x1C37, 0x1C3B, 0x1C49, 0x1C4D, 0x1C4F, }, } m["Limb"] = process_ranges{ "Limbu", 933796, "abugida", ranges = { 0x0965, 0x0965, 0x1900, 0x191E, 0x1920, 0x192B, 0x1930, 0x193B, 0x1940, 0x1940, 0x1944, 0x194F, }, } m["Lina"] = process_ranges{ "Linear A", 30972, ranges = { 0x10107, 0x10133, 0x10600, 0x10736, 0x10740, 0x10755, 0x10760, 0x10767, }, } m["Linb"] = process_ranges{ "Linear B", 190102, ranges = { 0x10000, 0x1000B, 0x1000D, 0x10026, 0x10028, 0x1003A, 0x1003C, 0x1003D, 0x1003F, 0x1004D, 0x10050, 0x1005D, 0x10080, 0x100FA, 0x10100, 0x10102, 0x10107, 0x10133, 0x10137, 0x1013F, }, } m["Lisu"] = process_ranges{ "Fraser", 1194621, "alphabet", aliases = {"Old Lisu", "Lisu"}, ranges = { 0x300A, 0x300B, 0xA4D0, 0xA4FF, 0x11FB0, 0x11FB0, }, normalizationFixes = handle_normalization_fixes{ from = {"['’]", "[.ꓸ][.ꓸ]", "[.ꓸ][,ꓹ]"}, to = {"ʼ", "ꓺ", "ꓻ"} }, } m["Loma"] = { "Loma", 13023816, "syllabary", -- Not in Unicode } m["Lyci"] = process_ranges{ "Lycian", 913587, "alphabet", ranges = { 0x10280, 0x1029C, }, } m["Lydi"] = process_ranges{ "Lydian", 4261300, "alphabet", ranges = { 0x10920, 0x10939, 0x1093F, 0x1093F, }, direction = "rtl", } m["Mahj"] = process_ranges{ "Mahajani", 6732850, "abugida", ranges = { 0x0964, 0x096F, 0xA830, 0xA839, 0x11150, 0x11176, }, } m["Maka"] = process_ranges{ "Makasar", 72947229, "abugida", aliases = {"Old Makasar"}, ranges = { 0x11EE0, 0x11EF8, }, } m["Mand"] = process_ranges{ "Mandaic", 1812130, aliases = {"Mandaean"}, ranges = { 0x0640, 0x0640, 0x0840, 0x085B, 0x085E, 0x085E, }, direction = "rtl", } m["Mani"] = process_ranges{ "Manichaean", 3544702, "abjad", ranges = { 0x0640, 0x0640, 0x10AC0, 0x10AE6, 0x10AEB, 0x10AF6, }, direction = "rtl", } m["Marc"] = process_ranges{ "Marchen", 72403709, "abugida", ranges = { 0x11C70, 0x11C8F, 0x11C92, 0x11CA7, 0x11CA9, 0x11CB6, }, } m["Maya"] = process_ranges{ "Maya", 211248, aliases = {"Maya hieroglyphic", "Mayan", "Mayan hieroglyphic"}, ranges = { 0x1D2E0, 0x1D2F3, }, } m["Medf"] = process_ranges{ "Medefaidrin", 1519764, aliases = {"Oberi Okaime", "Oberi Ɔkaimɛ"}, ranges = { 0x16E40, 0x16E9A, }, capitalized = true, } m["Mend"] = process_ranges{ "Mende", 951069, aliases = {"Mende Kikakui"}, ranges = { 0x1E800, 0x1E8C4, 0x1E8C7, 0x1E8D6, }, direction = "rtl", } m["Merc"] = process_ranges{ "Meroitic cursive", 73028124, "abugida", ranges = { 0x109A0, 0x109B7, 0x109BC, 0x109CF, 0x109D2, 0x109FF, }, direction = "rtl", } m["Mero"] = process_ranges{ "Meroitic hieroglyphic", 73028623, "abugida", ranges = { 0x10980, 0x1099F, }, direction = "rtl", wikipedia_article = "Meroitic hieroglyphs", } m["Mlym"] = process_ranges{ "Malayalam", 1164129, "abugida", ranges = { 0x0951, 0x0952, 0x0964, 0x0965, 0x0D00, 0x0D0C, 0x0D0E, 0x0D10, 0x0D12, 0x0D44, 0x0D46, 0x0D48, 0x0D4A, 0x0D4F, 0x0D54, 0x0D63, 0x0D66, 0x0D7F, 0x1CDA, 0x1CDA, 0x1CF2, 0x1CF2, 0xA830, 0xA832, }, normalizationFixes = handle_normalization_fixes{ from = {"ഇൗ", "ഉൗ", "എെ", "ഒാ", "ഒൗ", "ക്‍", "ണ്‍", "ന്‍റ", "ന്‍", "മ്‍", "യ്‍", "ര്‍", "ല്‍", "ള്‍", "ഴ്‍", "െെ", "ൻ്റ"}, to = {"ഈ", "ഊ", "ഐ", "ഓ", "ഔ", "ൿ", "ൺ", "ൻറ", "ൻ", "ൔ", "ൕ", "ർ", "ൽ", "ൾ", "ൖ", "ൈ", "ന്റ"} }, } m["Modi"] = process_ranges{ "Modi", 1703713, "abugida", ranges = { 0xA830, 0xA839, 0x11600, 0x11644, 0x11650, 0x11659, }, normalizationFixes = handle_normalization_fixes{ from = {"𑘀𑘹", "𑘀𑘺", "𑘁𑘹", "𑘁𑘺"}, to = {"𑘊", "𑘋", "𑘌", "𑘍"} }, } m["Mong"] = process_ranges{ "Mongolian", 1055705, "alphabet", aliases = {"Mongol bichig", "Hudum Mongol bichig"}, ranges = { 0x1800, 0x1805, 0x180A, 0x1819, 0x1820, 0x1842, 0x1878, 0x1878, 0x1880, 0x1897, 0x18A6, 0x18A6, 0x18A9, 0x18A9, 0x200C, 0x200D, 0x202F, 0x202F, 0x3001, 0x3002, 0x3008, 0x300B, 0x11660, 0x11668, }, direction = "vertical-ltr", } m["mnc-Mong"] = process_ranges{ "Manchu", 122888, m["Mong"][3], ranges = { 0x1801, 0x1801, 0x1804, 0x1804, 0x1808, 0x180F, 0x1820, 0x1820, 0x1823, 0x1823, 0x1828, 0x182A, 0x182E, 0x1830, 0x1834, 0x1838, 0x183A, 0x183A, 0x185D, 0x185D, 0x185F, 0x1861, 0x1864, 0x1869, 0x186C, 0x1871, 0x1873, 0x1877, 0x1880, 0x1888, 0x188F, 0x188F, 0x189A, 0x18A5, 0x18A8, 0x18A8, 0x18AA, 0x18AA, 0x200C, 0x200D, 0x202F, 0x202F, }, direction = "vertical-ltr", parent = "Mong", } m["sjo-Mong"] = process_ranges{ "Xibe", 113624153, m["Mong"][3], aliases = {"Sibe"}, ranges = { 0x1804, 0x1804, 0x1807, 0x1807, 0x180A, 0x180F, 0x1820, 0x1820, 0x1823, 0x1823, 0x1828, 0x1828, 0x182A, 0x182A, 0x182E, 0x1830, 0x1834, 0x1838, 0x183A, 0x183A, 0x185D, 0x1872, 0x200C, 0x200D, 0x202F, 0x202F, }, direction = "vertical-ltr", parent = "mnc-Mong", } m["xwo-Mong"] = process_ranges{ "Clear Script", 529085, m["Mong"][3], aliases = {"Todo", "Todo bichig"}, ranges = { 0x1800, 0x1801, 0x1804, 0x1806, 0x180A, 0x1820, 0x1828, 0x1828, 0x182F, 0x1831, 0x1834, 0x1834, 0x1837, 0x1838, 0x183A, 0x183B, 0x1840, 0x1840, 0x1843, 0x185C, 0x1880, 0x1887, 0x1889, 0x188F, 0x1894, 0x1894, 0x1896, 0x1899, 0x18A7, 0x18A7, 0x200C, 0x200D, 0x202F, 0x202F, 0x11669, 0x1166C, }, direction = "vertical-ltr", parent = "Mong", } m["Moon"] = { "Moon", 918391, "alphabet", aliases = {"Moon System of Embossed Reading", "Moon type", "Moon writing", "Moon alphabet", "Moon code"}, -- Not in Unicode } m["Morse"] = { "Morse code", 79897, ietf_subtag = "Zsym", } m["Mroo"] = process_ranges{ "Mru", 75919253, aliases = {"Mro", "Mrung"}, ranges = { 0x16A40, 0x16A5E, 0x16A60, 0x16A69, 0x16A6E, 0x16A6F, }, } m["Mtei"] = process_ranges{ "Meitei Mayek", 2981413, "abugida", aliases = {"Meetei Mayek", "Manipuri"}, ranges = { 0xAAE0, 0xAAF6, 0xABC0, 0xABED, 0xABF0, 0xABF9, }, } m["Mult"] = process_ranges{ "Multani", 17047906, "abugida", ranges = { 0x0A66, 0x0A6F, 0x11280, 0x11286, 0x11288, 0x11288, 0x1128A, 0x1128D, 0x1128F, 0x1129D, 0x1129F, 0x112A9, }, } m["Music"] = process_ranges{ "musical notation", 233861, "pictography", ranges = { 0x2669, 0x266F, 0x1D100, 0x1D126, 0x1D129, 0x1D1EA, }, ietf_subtag = "Zsym", translit = false, } m["Mymr"] = process_ranges{ "မဲင်ꩻ-မန်း", 43887939, "abugida", aliases = {"Myanmar"}, ranges = { 0x1000, 0x109F, 0xA92E, 0xA92E, 0xA9E0, 0xA9FE, 0xAA60, 0xAA7F, 0x116D0, 0x116E3, }, spaces = false, } m["Nagm"] = process_ranges{ "Mundari Bani", 106917274, "alphabet", aliases = {"Nag Mundari"}, ranges = { 0x1E4D0, 0x1E4F9, }, } m["Nand"] = process_ranges{ "Nandinagari", 6963324, "abugida", ranges = { 0x0964, 0x0965, 0x0CE6, 0x0CEF, 0x1CE9, 0x1CE9, 0x1CF2, 0x1CF2, 0x1CFA, 0x1CFA, 0xA830, 0xA835, 0x119A0, 0x119A7, 0x119AA, 0x119D7, 0x119DA, 0x119E4, }, } m["Narb"] = process_ranges{ "Ancient North Arabian", 1472213, "abjad", aliases = {"Old North Arabian"}, ranges = { 0x10A80, 0x10A9F, }, direction = "rtl", } m["Nbat"] = process_ranges{ "Nabataean", 855624, "abjad", aliases = {"Nabatean"}, ranges = { 0x10880, 0x1089E, 0x108A7, 0x108AF, }, direction = "rtl", } m["Newa"] = process_ranges{ "Newa", 7237292, "abugida", aliases = {"Newar", "Newari", "Prachalit Nepal"}, ranges = { 0x11400, 0x1145B, 0x1145D, 0x11461, }, } m["Nkdb"] = { "Dongba", 1190953, "pictography", aliases = {"Naxi Dongba", "Nakhi Dongba", "Tomba", "Tompa", "Mo-so"}, spaces = false, -- Not in Unicode } m["Nkgb"] = { "Geba", 731189, "syllabary", aliases = {"Nakhi Geba", "Naxi Geba"}, spaces = false, -- Not in Unicode } m["Nkoo"] = process_ranges{ "N'Ko", 1062587, "alphabet", ranges = { 0x060C, 0x060C, 0x061B, 0x061B, 0x061F, 0x061F, 0x07C0, 0x07FA, 0x07FD, 0x07FF, 0xFD3E, 0xFD3F, }, direction = "rtl", } m["None"] = { "unspecified", nil, -- This should not have any characters listed ietf_subtag = "Zyyy", translit = false, character_category = false, -- none } m["Nshu"] = process_ranges{ "Nüshu", 56436, "syllabary", aliases = {"Nushu"}, ranges = { 0x16FE1, 0x16FE1, 0x1B170, 0x1B2FB, }, spaces = false, } m["Ogam"] = process_ranges{ "Ogham", 184661, ranges = { 0x1680, 0x169C, }, } m["Olck"] = process_ranges{ "Ol Chiki", 201688, aliases = {"Ol Chemetʼ", "Ol", "Santali"}, ranges = { 0x1C50, 0x1C7F, }, } m["Onao"] = process_ranges{ "Ol Onal", 108607084, "alphabet", ranges = { 0x0964, 0x0965, 0x1E5D0, 0x1E5FA, 0x1E5FF, 0x1E5FF, }, } m["Orkh"] = process_ranges{ "Old Turkic", 5058305, aliases = {"Orkhon runic"}, ranges = { 0x10C00, 0x10C48, }, direction = "rtl", } m["Orya"] = process_ranges{ "Odia", 1760127, "abugida", aliases = {"Oriya"}, ranges = { 0x0951, 0x0952, 0x0964, 0x0965, 0x0B01, 0x0B03, 0x0B05, 0x0B0C, 0x0B0F, 0x0B10, 0x0B13, 0x0B28, 0x0B2A, 0x0B30, 0x0B32, 0x0B33, 0x0B35, 0x0B39, 0x0B3C, 0x0B44, 0x0B47, 0x0B48, 0x0B4B, 0x0B4D, 0x0B55, 0x0B57, 0x0B5C, 0x0B5D, 0x0B5F, 0x0B63, 0x0B66, 0x0B77, 0x1CDA, 0x1CDA, 0x1CF2, 0x1CF2, }, normalizationFixes = handle_normalization_fixes{ from = {"ଅା", "ଏୗ", "ଓୗ"}, to = {"ଆ", "ଐ", "ଔ"} }, } m["Osge"] = process_ranges{ "Osage", 7105529, ranges = { 0x104B0, 0x104D3, 0x104D8, 0x104FB, }, capitalized = true, } m["Osma"] = process_ranges{ "Osmanya", 1377866, ranges = { 0x10480, 0x1049D, 0x104A0, 0x104A9, }, } m["Ougr"] = process_ranges{ "Old Uyghur", 1998938, "abjad, alphabet", ranges = { 0x0640, 0x0640, 0x10AF2, 0x10AF2, 0x10F70, 0x10F89, }, -- This should ideally be "vertical-ltr", but getting the CSS right is tricky because it's right-to-left horizontally, but left-to-right vertically. Currently, displaying it vertically causes it to display bottom-to-top. direction = "rtl", } m["Palm"] = process_ranges{ "Palmyrene", 17538100, ranges = { 0x10860, 0x1087F, }, direction = "rtl", } m["Pauc"] = process_ranges{ "Pau Cin Hau", 25339852, ranges = { 0x11AC0, 0x11AF8, }, } m["Pcun"] = { "Proto-Cuneiform", 1650699, "pictography", -- Not in Unicode } m["Pelm"] = { "Proto-Elamite", 56305763, "pictography", -- Not in Unicode } m["Perm"] = process_ranges{ "Old Permic", 147899, ranges = { 0x0483, 0x0483, 0x10350, 0x1037A, }, } m["Phag"] = process_ranges{ "Phags-pa", 822836, "abugida", ranges = { 0x1802, 0x1803, 0x1805, 0x1805, 0x200C, 0x200D, 0x202F, 0x202F, 0x3002, 0x3002, 0xA840, 0xA877, }, direction = "vertical-ltr", } m["Phli"] = process_ranges{ "Inscriptional Pahlavi", 24089793, "abjad", ranges = { 0x10B60, 0x10B72, 0x10B78, 0x10B7F, }, direction = "rtl", } m["Phlp"] = process_ranges{ "Psalter Pahlavi", 7253954, "abjad", ranges = { 0x0640, 0x0640, 0x10B80, 0x10B91, 0x10B99, 0x10B9C, 0x10BA9, 0x10BAF, }, direction = "rtl", } m["Phlv"] = { "Book Pahlavi", 72403118, "abjad", direction = "rtl", wikipedia_article = "Pahlavi scripts#Book Pahlavi", -- Not in Unicode } m["Phnx"] = process_ranges{ "Phoenician", 26752, "abjad", ranges = { 0x10900, 0x1091B, 0x1091F, 0x1091F, }, direction = "rtl", } m["Plrd"] = process_ranges{ "Pollard", 601734, "abugida", aliases = {"Miao"}, ranges = { 0x16F00, 0x16F4A, 0x16F4F, 0x16F87, 0x16F8F, 0x16F9F, }, } m["Prti"] = process_ranges{ "Inscriptional Parthian", 13023804, ranges = { 0x10B40, 0x10B55, 0x10B58, 0x10B5F, }, direction = "rtl", } m["Psin"] = { "Proto-Sinaitic", 1065250, "abjad", direction = "rtl", -- Not in Unicode } m["Ranj"] = { "Ranjana", 2385276, "abugida", -- Not in Unicode } m["Rjng"] = process_ranges{ "Rejang", 2007960, "abugida", ranges = { 0xA930, 0xA953, 0xA95F, 0xA95F, }, } m["Rohg"] = process_ranges{ "Hanifi Rohingya", 21028705, "alphabet", ranges = { 0x060C, 0x060C, 0x061B, 0x061B, 0x061F, 0x061F, 0x0640, 0x0640, 0x06D4, 0x06D4, 0x10D00, 0x10D27, 0x10D30, 0x10D39, }, direction = "rtl", } m["Roro"] = { "Rongorongo", 209764, -- Not in Unicode } m["Rumin"] = process_ranges{ "Rumi numerals", nil, ranges = { 0x10E60, 0x10E7E, }, ietf_subtag = "Arab", } m["Runr"] = process_ranges{ "Runic", 82996, "alphabet", ranges = { 0x16A0, 0x16EA, 0x16EE, 0x16F8, }, } m["Samr"] = process_ranges{ "Samaritan", 1550930, "abjad", ranges = { 0x0800, 0x082D, 0x0830, 0x083E, }, direction = "rtl", } m["Sarb"] = process_ranges{ "Ancient South Arabian", 446074, "abjad", aliases = {"Old South Arabian"}, ranges = { 0x10A60, 0x10A7F, }, direction = "rtl", } m["Saur"] = process_ranges{ "Saurashtra", 3535165, "abugida", ranges = { 0xA880, 0xA8C5, 0xA8CE, 0xA8D9, }, } m["Semap"] = { "flag semaphore", 250796, "pictography", ietf_subtag = "Zsym", } m["Sgnw"] = process_ranges{ "SignWriting", 1497335, "pictography", aliases = {"Sutton SignWriting"}, ranges = { 0x1D800, 0x1DA8B, 0x1DA9B, 0x1DA9F, 0x1DAA1, 0x1DAAF, }, translit = false, } m["Shaw"] = process_ranges{ "Shavian", 1970098, aliases = {"Shaw"}, ranges = { 0x10450, 0x1047F, }, } m["Shrd"] = process_ranges{ "Sharada", 2047117, "abugida", ranges = { 0x0951, 0x0951, 0x1CD7, 0x1CD7, 0x1CD9, 0x1CD9, 0x1CDC, 0x1CDD, 0x1CE0, 0x1CE0, 0xA830, 0xA835, 0xA838, 0xA838, 0x11180, 0x111DF, }, } m["Shui"] = { "Sui", 752854, "logography", spaces = false, -- Not in Unicode } m["Sidd"] = process_ranges{ "Siddham", 250379, "abugida", ranges = { 0x11580, 0x115B5, 0x115B8, 0x115DD, }, } m["Sidt"] = { "Sidetic", 36659, "alphabet", direction = "rtl", -- Not in Unicode } m["Sind"] = process_ranges{ "Khudabadi", 6402810, "abugida", aliases = {"Khudawadi"}, ranges = { 0x0964, 0x0965, 0xA830, 0xA839, 0x112B0, 0x112EA, 0x112F0, 0x112F9, }, normalizationFixes = handle_normalization_fixes{ from = {"𑊰𑋠", "𑊰𑋥", "𑊰𑋦", "𑊰𑋧", "𑊰𑋨"}, to = {"𑊱", "𑊶", "𑊷", "𑊸", "𑊹"} }, } m["Sinh"] = process_ranges{ "Sinhalese", 1574992, "abugida", aliases = {"Sinhala"}, ranges = { 0x0964, 0x0965, 0x0D81, 0x0D83, 0x0D85, 0x0D96, 0x0D9A, 0x0DB1, 0x0DB3, 0x0DBB, 0x0DBD, 0x0DBD, 0x0DC0, 0x0DC6, 0x0DCA, 0x0DCA, 0x0DCF, 0x0DD4, 0x0DD6, 0x0DD6, 0x0DD8, 0x0DDF, 0x0DE6, 0x0DEF, 0x0DF2, 0x0DF4, 0x1CF2, 0x1CF2, 0x111E1, 0x111F4, }, normalizationFixes = handle_normalization_fixes{ from = {"අා", "අැ", "අෑ", "උෟ", "ඍෘ", "ඏෟ", "එ්", "එෙ", "ඔෟ", "ෘෘ"}, to = {"ආ", "ඇ", "ඈ", "ඌ", "ඎ", "ඐ", "ඒ", "ඓ", "ඖ", "ෲ"} }, } m["Sogd"] = process_ranges{ "Sogdian", 578359, "abjad", ranges = { 0x0640, 0x0640, 0x10F30, 0x10F59, }, direction = "rtl", } m["Sogo"] = process_ranges{ "Old Sogdian", 72403254, "abjad", ranges = { 0x10F00, 0x10F27, }, direction = "rtl", } m["Sora"] = process_ranges{ "Sorang Sompeng", 7563292, aliases = {"Sora Sompeng"}, ranges = { 0x110D0, 0x110E8, 0x110F0, 0x110F9, }, } m["Soyo"] = process_ranges{ "Soyombo", 8009382, "abugida", ranges = { 0x11A50, 0x11AA2, }, } m["Sund"] = process_ranges{ "Sundanese", 51589, "abugida", ranges = { 0x1B80, 0x1BBF, 0x1CC0, 0x1CC7, }, } m["Sunu"] = process_ranges{ "Sunuwar", 109984965, "alphabet", ranges = { 0x11BC0, 0x11BE1, 0x11BF0, 0x11BF9, }, } m["Sylo"] = process_ranges{ "Sylheti Nagri", 144128, "abugida", aliases = {"Sylheti Nāgarī", "Syloti Nagri"}, ranges = { 0x0964, 0x0965, 0x09E6, 0x09EF, 0xA800, 0xA82C, }, } m["Syrc"] = process_ranges{ "Syriac", 26567, "abjad", -- more precisely, impure abjad ranges = { 0x060C, 0x060C, 0x061B, 0x061C, 0x061F, 0x061F, 0x0640, 0x0640, 0x064B, 0x0655, 0x0670, 0x0670, 0x0700, 0x070D, 0x070F, 0x074A, 0x074D, 0x074F, 0x0860, 0x086A, 0x1DF8, 0x1DF8, 0x1DFA, 0x1DFA, }, direction = "rtl", } -- Syre, Syrj, Syrn are apparently subsumed into Syrc; discuss if this causes issues m["Tagb"] = process_ranges{ "Tagbanwa", 977444, "abugida", ranges = { 0x1735, 0x1736, 0x1760, 0x176C, 0x176E, 0x1770, 0x1772, 0x1773, }, } m["Takr"] = process_ranges{ "Takri", 759202, "abugida", ranges = { 0x0964, 0x0965, 0xA830, 0xA839, 0x11680, 0x116B9, 0x116C0, 0x116C9, }, normalizationFixes = handle_normalization_fixes{ from = {"𑚀𑚭", "𑚀𑚴", "𑚀𑚵", "𑚆𑚲"}, to = {"𑚁", "𑚈", "𑚉", "𑚇"} }, } m["Tale"] = process_ranges{ "Tai Nüa", 2566326, "abugida", aliases = {"Tai Nuea", "New Tai Nüa", "New Tai Nuea", "Dehong Dai", "Tai Dehong", "Tai Le"}, ranges = { 0x1040, 0x1049, 0x1950, 0x196D, 0x1970, 0x1974, }, spaces = false, } m["Talu"] = process_ranges{ "New Tai Lue", 3498863, "abugida", ranges = { 0x1980, 0x19AB, 0x19B0, 0x19C9, 0x19D0, 0x19DA, 0x19DE, 0x19DF, }, spaces = false, } m["Taml"] = process_ranges{ "Tamil", 26803, "abugida", ranges = { 0x0951, 0x0952, 0x0964, 0x0965, 0x0B82, 0x0B83, 0x0B85, 0x0B8A, 0x0B8E, 0x0B90, 0x0B92, 0x0B95, 0x0B99, 0x0B9A, 0x0B9C, 0x0B9C, 0x0B9E, 0x0B9F, 0x0BA3, 0x0BA4, 0x0BA8, 0x0BAA, 0x0BAE, 0x0BB9, 0x0BBE, 0x0BC2, 0x0BC6, 0x0BC8, 0x0BCA, 0x0BCD, 0x0BD0, 0x0BD0, 0x0BD7, 0x0BD7, 0x0BE6, 0x0BFA, 0x1CDA, 0x1CDA, 0xA8F3, 0xA8F3, 0x11301, 0x11301, 0x11303, 0x11303, 0x1133B, 0x1133C, 0x11FC0, 0x11FF1, 0x11FFF, 0x11FFF, }, normalizationFixes = handle_normalization_fixes{ from = {"அூ", "ஸ்ரீ"}, to = {"ஆ", "ஶ்ரீ"} }, } m["Tang"] = process_ranges{ "Tangut", 1373610, "logography, syllabary", ranges = { 0x31EF, 0x31EF, 0x16FE0, 0x16FE0, 0x17000, 0x187F7, 0x18800, 0x18AFF, 0x18D00, 0x18D08, }, spaces = false, } m["Tavt"] = process_ranges{ "Tai Viet", 11818517, "abugida", ranges = { 0xAA80, 0xAAC2, 0xAADB, 0xAADF, }, spaces = false, } m["Tayo"] = { "Lai Tay", 16306701, "abugida", aliases = {"Tai Yo"}, direction = "vertical-rtl", -- Not in Unicode } m["Telu"] = process_ranges{ "Telugu", 570450, "abugida", ranges = { 0x0951, 0x0952, 0x0964, 0x0965, 0x0C00, 0x0C0C, 0x0C0E, 0x0C10, 0x0C12, 0x0C28, 0x0C2A, 0x0C39, 0x0C3C, 0x0C44, 0x0C46, 0x0C48, 0x0C4A, 0x0C4D, 0x0C55, 0x0C56, 0x0C58, 0x0C5A, 0x0C5D, 0x0C5D, 0x0C60, 0x0C63, 0x0C66, 0x0C6F, 0x0C77, 0x0C7F, 0x1CDA, 0x1CDA, 0x1CF2, 0x1CF2, }, normalizationFixes = handle_normalization_fixes{ from = {"ఒౌ", "ఒౕ", "ిౕ", "ెౕ", "ొౕ"}, to = {"ఔ", "ఓ", "ీ", "ే", "ో"} }, } m["Teng"] = { "Tengwar", 473725, } m["Tfng"] = process_ranges{ "Tifinagh", 208503, "abjad, alphabet", ranges = { 0x2D30, 0x2D67, 0x2D6F, 0x2D70, 0x2D7F, 0x2D7F, }, otherNames = {"Libyco-Berber", "Berber"}, -- per Wikipedia, Libyco-Berber is the parent } m["Tglg"] = process_ranges{ "Baybayin", 812124, "abugida", aliases = {"Tagalog"}, varieties = {"Kur-itan"}, ranges = { 0x1700, 0x1715, 0x171F, 0x171F, 0x1735, 0x1736, }, } m["Thaa"] = process_ranges{ "Thaana", 877906, "abugida", ranges = { 0x060C, 0x060C, 0x061B, 0x061C, 0x061F, 0x061F, 0x0660, 0x0669, 0x0780, 0x07B1, 0xFDF2, 0xFDF2, 0xFDFD, 0xFDFD, }, direction = "rtl", } m["Thai"] = process_ranges{ "Thai", 236376, "abugida", ranges = { 0x0E01, 0x0E3A, 0x0E40, 0x0E5B, }, spaces = false, } m["Tibt"] = process_ranges{ "Tibetan", 46861, "abugida", ranges = { 0x0F00, 0x0F47, 0x0F49, 0x0F6C, 0x0F71, 0x0F97, 0x0F99, 0x0FBC, 0x0FBE, 0x0FCC, 0x0FCE, 0x0FD4, 0x0FD9, 0x0FDA, 0x3008, 0x300B, }, normalizationFixes = handle_normalization_fixes{ combiningClasses = {["༹"] = 1}, from = {"ཷ", "ཹ"}, to = {"ྲཱྀ", "ླཱྀ"} }, } m["sit-tam-Tibt"] = { "Tamyig", 109875213, m["Tibt"][3], ranges = m["Tibt"].ranges, characters = m["Tibt"].characters, parent = "Tibt", normalizationFixes = m["Tibt"].normalizationFixes, } m["Tirh"] = process_ranges{ "Tirhuta", 1765752, "abugida", ranges = { 0x0951, 0x0952, 0x0964, 0x0965, 0x1CF2, 0x1CF2, 0xA830, 0xA839, 0x11480, 0x114C7, 0x114D0, 0x114D9, }, normalizationFixes = handle_normalization_fixes{ from = {"𑒁𑒰", "𑒋𑒺", "𑒍𑒺", "𑒪𑒵", "𑒪𑒶"}, to = {"𑒂", "𑒌", "𑒎", "𑒉", "𑒊"} }, } m["Tnsa"] = process_ranges{ "Tangsa", 105576311, "alphabet", ranges = { 0x16A70, 0x16ABE, 0x16AC0, 0x16AC9, }, } m["Todr"] = process_ranges{ "Todhri", 10274731, "alphabet", direction = "rtl", ranges = { 0x105C0, 0x105F3, }, } m["Tols"] = { "Tolong Siki", 4459822, "alphabet", -- Not in Unicode } m["Toto"] = process_ranges{ "Toto", 104837516, "abugida", ranges = { 0x1E290, 0x1E2AE, }, } m["Tutg"] = process_ranges{ "Tigalari", 2604990, "abugida", aliases = {"Tulu"}, ranges = { 0x1CF2, 0x1CF2, 0x1CF4, 0x1CF4, 0xA8F1, 0xA8F1, 0x11380, 0x11389, 0x1138B, 0x1138B, 0x1138E, 0x1138E, 0x11390, 0x113B5, 0x113B7, 0x113C0, 0x113C2, 0x113C2, 0x113C5, 0x113C5, 0x113C7, 0x113CA, 0x113CC, 0x113D5, 0x113D7, 0x113D8, 0x113E1, 0x113E2, }, } m["Ugar"] = process_ranges{ "Ugaritic", 332652, "abjad", ranges = { 0x10380, 0x1039D, 0x1039F, 0x1039F, }, } m["Vaii"] = process_ranges{ "Vai", 523078, "syllabary", ranges = { 0xA500, 0xA62B, }, } m["Visp"] = { "Visible Speech", 1303365, "alphabet", -- Not in Unicode } m["Vith"] = process_ranges{ "Vithkuqi", 3301993, "alphabet", ranges = { 0x10570, 0x1057A, 0x1057C, 0x1058A, 0x1058C, 0x10592, 0x10594, 0x10595, 0x10597, 0x105A1, 0x105A3, 0x105B1, 0x105B3, 0x105B9, 0x105BB, 0x105BC, }, capitalized = true, } m["Wara"] = process_ranges{ "Varang Kshiti", 79199, aliases = {"Warang Citi"}, ranges = { 0x118A0, 0x118F2, 0x118FF, 0x118FF, }, capitalized = true, } m["Wcho"] = process_ranges{ "Wancho", 33713728, "alphabet", ranges = { 0x1E2C0, 0x1E2F9, 0x1E2FF, 0x1E2FF, }, } m["Wole"] = { "Woleai", 6643710, "syllabary", -- Not in Unicode } m["Xpeo"] = process_ranges{ "Old Persian", 1471822, ranges = { 0x103A0, 0x103C3, 0x103C8, 0x103D5, }, } m["Xsux"] = process_ranges{ "Cuneiform", 401, aliases = {"Sumero-Akkadian Cuneiform"}, ranges = { 0x12000, 0x12399, 0x12400, 0x1246E, 0x12470, 0x12474, 0x12480, 0x12543, }, } m["Yezi"] = process_ranges{ "Yezidi", 13175481, "alphabet", ranges = { 0x060C, 0x060C, 0x061B, 0x061B, 0x061F, 0x061F, 0x0660, 0x0669, 0x10E80, 0x10EA9, 0x10EAB, 0x10EAD, 0x10EB0, 0x10EB1, }, direction = "rtl", } m["Yiii"] = process_ranges{ "Yi", 1197646, "syllabary", ranges = { 0x3001, 0x3002, 0x3008, 0x3011, 0x3014, 0x301B, 0x30FB, 0x30FB, 0xA000, 0xA48C, 0xA490, 0xA4C6, 0xFF61, 0xFF65, }, } m["Zanb"] = process_ranges{ "Zanabazar Square", 50809208, "abugida", ranges = { 0x11A00, 0x11A47, }, } m["Zmth"] = process_ranges{ "mathematical notation", 1140046, ranges = { 0x00AC, 0x00AC, 0x00B1, 0x00B1, 0x00D7, 0x00D7, 0x00F7, 0x00F7, 0x03D0, 0x03D2, 0x03D5, 0x03D5, 0x03F0, 0x03F1, 0x03F4, 0x03F6, 0x0606, 0x0608, 0x2016, 0x2016, 0x2032, 0x2034, 0x2040, 0x2040, 0x2044, 0x2044, 0x2052, 0x2052, 0x205F, 0x205F, 0x2061, 0x2064, 0x207A, 0x207E, 0x208A, 0x208E, 0x20D0, 0x20DC, 0x20E1, 0x20E1, 0x20E5, 0x20E6, 0x20EB, 0x20EF, 0x2102, 0x2102, 0x2107, 0x2107, 0x210A, 0x2113, 0x2115, 0x2115, 0x2118, 0x211D, 0x2124, 0x2124, 0x2128, 0x2129, 0x212C, 0x212D, 0x212F, 0x2131, 0x2133, 0x2138, 0x213C, 0x2149, 0x214B, 0x214B, 0x2190, 0x21A7, 0x21A9, 0x21AE, 0x21B0, 0x21B1, 0x21B6, 0x21B7, 0x21BC, 0x21DB, 0x21DD, 0x21DD, 0x21E4, 0x21E5, 0x21F4, 0x22FF, 0x2308, 0x230B, 0x2320, 0x2321, 0x237C, 0x237C, 0x239B, 0x23B5, 0x23B7, 0x23B7, 0x23D0, 0x23D0, 0x23DC, 0x23E2, 0x25A0, 0x25A1, 0x25AE, 0x25B7, 0x25BC, 0x25C1, 0x25C6, 0x25C7, 0x25CA, 0x25CB, 0x25CF, 0x25D3, 0x25E2, 0x25E2, 0x25E4, 0x25E4, 0x25E7, 0x25EC, 0x25F8, 0x25FF, 0x2605, 0x2606, 0x2640, 0x2640, 0x2642, 0x2642, 0x2660, 0x2663, 0x266D, 0x266F, 0x27C0, 0x27FF, 0x2900, 0x2AFF, 0x2B30, 0x2B44, 0x2B47, 0x2B4C, 0xFB29, 0xFB29, 0xFE61, 0xFE66, 0xFE68, 0xFE68, 0xFF0B, 0xFF0B, 0xFF1C, 0xFF1E, 0xFF3C, 0xFF3C, 0xFF3E, 0xFF3E, 0xFF5C, 0xFF5C, 0xFF5E, 0xFF5E, 0xFFE2, 0xFFE2, 0xFFE9, 0xFFEC, 0x1D400, 0x1D454, 0x1D456, 0x1D49C, 0x1D49E, 0x1D49F, 0x1D4A2, 0x1D4A2, 0x1D4A5, 0x1D4A6, 0x1D4A9, 0x1D4AC, 0x1D4AE, 0x1D4B9, 0x1D4BB, 0x1D4BB, 0x1D4BD, 0x1D4C3, 0x1D4C5, 0x1D505, 0x1D507, 0x1D50A, 0x1D50D, 0x1D514, 0x1D516, 0x1D51C, 0x1D51E, 0x1D539, 0x1D53B, 0x1D53E, 0x1D540, 0x1D544, 0x1D546, 0x1D546, 0x1D54A, 0x1D550, 0x1D552, 0x1D6A5, 0x1D6A8, 0x1D7CB, 0x1D7CE, 0x1D7FF, 0x1EE00, 0x1EE03, 0x1EE05, 0x1EE1F, 0x1EE21, 0x1EE22, 0x1EE24, 0x1EE24, 0x1EE27, 0x1EE27, 0x1EE29, 0x1EE32, 0x1EE34, 0x1EE37, 0x1EE39, 0x1EE39, 0x1EE3B, 0x1EE3B, 0x1EE42, 0x1EE42, 0x1EE47, 0x1EE47, 0x1EE49, 0x1EE49, 0x1EE4B, 0x1EE4B, 0x1EE4D, 0x1EE4F, 0x1EE51, 0x1EE52, 0x1EE54, 0x1EE54, 0x1EE57, 0x1EE57, 0x1EE59, 0x1EE59, 0x1EE5B, 0x1EE5B, 0x1EE5D, 0x1EE5D, 0x1EE5F, 0x1EE5F, 0x1EE61, 0x1EE62, 0x1EE64, 0x1EE64, 0x1EE67, 0x1EE6A, 0x1EE6C, 0x1EE72, 0x1EE74, 0x1EE77, 0x1EE79, 0x1EE7C, 0x1EE7E, 0x1EE7E, 0x1EE80, 0x1EE89, 0x1EE8B, 0x1EE9B, 0x1EEA1, 0x1EEA3, 0x1EEA5, 0x1EEA9, 0x1EEAB, 0x1EEBB, 0x1EEF0, 0x1EEF1, }, translit = false, } m["Zsym"] = process_ranges{ "symbolic", 80071, "pictography", ranges = { 0x20DD, 0x20E0, 0x20E2, 0x20E4, 0x20E7, 0x20EA, 0x20F0, 0x20F0, 0x2100, 0x2101, 0x2103, 0x2106, 0x2108, 0x2109, 0x2114, 0x2114, 0x2116, 0x2117, 0x211E, 0x2123, 0x2125, 0x2127, 0x212A, 0x212B, 0x212E, 0x212E, 0x2132, 0x2132, 0x2139, 0x213B, 0x214A, 0x214A, 0x214C, 0x214F, 0x21A8, 0x21A8, 0x21AF, 0x21AF, 0x21B2, 0x21B5, 0x21B8, 0x21BB, 0x21DC, 0x21DC, 0x21DE, 0x21E3, 0x21E6, 0x21F3, 0x2300, 0x2307, 0x230C, 0x231F, 0x2322, 0x237B, 0x237D, 0x239A, 0x23B6, 0x23B6, 0x23B8, 0x23CF, 0x23D1, 0x23DB, 0x23E3, 0x23FF, 0x2500, 0x259F, 0x25A2, 0x25AD, 0x25B8, 0x25BB, 0x25C2, 0x25C5, 0x25C8, 0x25C9, 0x25CC, 0x25CE, 0x25D4, 0x25E1, 0x25E3, 0x25E3, 0x25E5, 0x25E6, 0x25ED, 0x25F7, 0x2600, 0x2604, 0x2607, 0x263F, 0x2641, 0x2641, 0x2643, 0x265F, 0x2664, 0x266C, 0x2670, 0x27BF, 0x2B00, 0x2B2F, 0x2B45, 0x2B46, 0x2B4D, 0x2B73, 0x2B76, 0x2B95, 0x2B97, 0x2BFF, 0x4DC0, 0x4DFF, 0x1F000, 0x1F02B, 0x1F030, 0x1F093, 0x1F0A0, 0x1F0AE, 0x1F0B1, 0x1F0BF, 0x1F0C1, 0x1F0CF, 0x1F0D1, 0x1F0F5, 0x1F300, 0x1F6D7, 0x1F6DC, 0x1F6EC, 0x1F6F0, 0x1F6FC, 0x1F700, 0x1F776, 0x1F77B, 0x1F7D9, 0x1F7E0, 0x1F7EB, 0x1F7F0, 0x1F7F0, 0x1F800, 0x1F80B, 0x1F810, 0x1F847, 0x1F850, 0x1F859, 0x1F860, 0x1F887, 0x1F890, 0x1F8AD, 0x1F8B0, 0x1F8B1, 0x1F900, 0x1FA53, 0x1FA60, 0x1FA6D, 0x1FA70, 0x1FA7C, 0x1FA80, 0x1FA88, 0x1FA90, 0x1FABD, 0x1FABF, 0x1FAC5, 0x1FACE, 0x1FADB, 0x1FAE0, 0x1FAE8, 0x1FAF0, 0x1FAF8, 0x1FB00, 0x1FB92, 0x1FB94, 0x1FBCA, 0x1FBF0, 0x1FBF9, }, translit = false, character_category = false, -- none } m["Zyyy"] = { "undetermined", 104839687, -- This should not have any characters listed, probably translit = false, character_category = false, -- none } m["Zzzz"] = { "uncoded", 104839675, -- This should not have any characters listed translit = false, character_category = false, -- none } -- These should be defined after the scripts they are composed of. m["Hrkt"] = process_ranges{ "Kana", 187659, "syllabary", aliases = {"Japanese syllabaries"}, ranges = union( m["Hira"].ranges, m["Kana"].ranges ), spaces = false, } m["Jpan"] = process_ranges{ "Japanese", 190502, "logography, syllabary", ranges = union( m["Hrkt"].ranges, m["Hani"].ranges, m["Latn"].ranges ), spaces = false, sort_by_scraping = true, } m["Kore"] = process_ranges{ "Korean", 711797, "logography, syllabary", ranges = union( m["Hang"].ranges, m["Hani"].ranges, m["Latn"].ranges ), } return require("Module:languages").finalizeData(m, "script") 6x9k7si8f785i8hnw56xikz6jtmke99 圆桌 0 3370 12799 7572 2025-06-29T15:11:43Z 咽頭べさ 11 အကြောင်းအရာ "==ခယ်ႏ== {{zh-see|圓桌}}" ဖြင့် အစားထိုးခဲ့သည် 12799 wikitext text/x-wiki ==ခယ်ႏ== {{zh-see|圓桌}} 1v0rtikvylkcxvdffr3dyq4sjjy947y 橙盖鹅膏菌 0 3427 12831 7645 2025-06-29T17:18:46Z 咽頭べさ 11 12831 wikitext text/x-wiki ==ခယ်ႏ== ===အငေါဝ်းထန်ႏ=== {{zh-pron |m=chéng gài é gāo jūn |cat=n,a }} ===နာမ်ႏ=== {{head|zh|နာမ်ႏ}} * [[သွန်ꩻအို့ꩻတောင်ꩻ]] ===နပ်တွက်ဗျာႏ=== * ဗာႏ 7a3sxqviwu3auy1et42ysidv6agd43p 爸爸 0 3445 12832 7670 2025-06-29T17:20:45Z 咽頭べさ 11 12832 wikitext text/x-wiki ==ခယ်ႏ== {{zh-forms|alt=把拔-bǎbá; eye dialect}} ===အငဝ်းထန်ႏ=== {{zh-pron |m=bàba,bǎbá,1nb=standard in Mainland and Taiwan,2nb=variant in Taiwan |m-s=ba2ba2-1 |dg=ба1ба2 |c=baa1-4 baa1,baa1 baa1 |ca=LL-Q9186-Luilui6666-爸爸.wav |c_note=baa1-4 baa1 - vernacular; baa1 baa1 - literary |j=ba3 ba3-2 |mn=zz,tp,tn,kh,mg:pa-pa/tn:pa-pah/xm:pā-pâ/xm:pā-pā/xm,qz,ph:pâ-pâ/hc,tc:pá-pah |mn-t=ba5 ba5 |w=sh:1pa pa;sz:1pa pa1 |x-h=ba2 ba/ba1 ba |ma=y |cat=n }} ===နာမ်ႏ=== {{zh-noun}} # ဖာ။ ပေါး။ ====နပ်တွက်ဗျာႏ==== * ဖြာꩻ l536fzv89kg80m1tdadhooy58wz86kw 牛车 0 3446 12833 7678 2025-06-29T17:25:15Z 咽頭べさ 11 အကြောင်းအရာ "{{also|牛車}} ==ခယ်ႏ== {{zh-see|牛車}}" ဖြင့် အစားထိုးခဲ့သည် 12833 wikitext text/x-wiki {{also|牛車}} ==ခယ်ႏ== {{zh-see|牛車}} fkl0g2ul2uqomz9tykxikxrbru1t8l6 眉毛 0 3449 12835 7684 2025-06-29T17:28:23Z 咽頭べさ 11 12835 wikitext text/x-wiki ==ခယ်ႏ== ===အငဝ်းထန်ႏ=== {{zh-pron |m=méimáo,tl=y |m-s=mi2mao2-1 |dg=ми1мо2 |c=mei4 mou4 |ca=LL-Q9186-Luilui6666-眉毛.wav |g=mi4 mau |j=mi1 mau1 |mb=mi̿-ma̿u |md=mì-mò̤ |w=sh:6mi mau |x=mei2 mau2 |cat=n }} ===နာမ်ႏ=== * [[မဲ့ကူႏ]] ===နပ်တွက်ဗျာႏ=== * ပင် l20eojqsrv3v9vkn1ytdewf89d3uzud 12836 12835 2025-06-29T17:29:13Z 咽頭べさ 11 12836 wikitext text/x-wiki ==ခယ်ႏ== ===အငဝ်းထန်ႏ=== {{zh-pron |m=méimáo,tl=y |m-s=mi2mao2-1 |dg=ми1мо2 |c=mei4 mou4 |ca=LL-Q9186-Luilui6666-眉毛.wav |g=mi4 mau |j=mi1 mau1 |mb=mi̿-ma̿u |md=mì-mò̤ |w=sh:6mi mau |x=mei2 mau2 |cat=n }} ===နာမ်ႏ=== {{head|zh|noun}} * [[မဲ့ကူႏ]] ===နပ်တွက်ဗျာႏ=== * ပင် 6fooowcr5oq6n7qoczru1v49hnxow00 语言 0 3561 12827 8219 2025-06-29T17:03:07Z 咽頭べさ 11 အကြောင်းအရာ "{{also|語言}} ==ခယ်ႏ== {{zh-see|語言}}" ဖြင့် အစားထိုးခဲ့သည် 12827 wikitext text/x-wiki {{also|語言}} ==ခယ်ႏ== {{zh-see|語言}} teh4eltx1bxzyvqookk73f4154rfg8a 0 4683 12826 10612 2025-06-29T16:59:23Z 咽頭べさ 11 12826 wikitext text/x-wiki {{also|大|太}} {{character info}} {{character info|⽝}} ==ခယ်ႏ== ===အငဝ်းထန်ႏ=== {{zh-pron |m=quǎn |m-s=quan3 |dg= |c=hyun2 |ca=LL-Q9186-Luilui6666-犬.wav |c-t=hun2 |g=qyon3 |h=pfs=khién;hrs=h:kienˊ;gd=kian3 |j=qye1 |mb=kṳǐng |md=kēng |mn=ml,jj,tw:khián |mn-t=kiêng2/kiang2 |mn-t_note=kiêng2 - Chaozhou; kiang2 - Shantou |px=pt,jk,nr,yy:koeng3/xy:kyoeng3/ft:kieng3 |w=sh:5chioe |x=qye3 |mc=y |oc=y |cat=n }} ===နာမ်ႏ=== {{zh-noun}} # [[ထွီႏ]] # ကအူႏ၊ ကအဲင်ႏဒါႏလိုꩻ တရိစ္ဆာန်ႏ လွူးလမ်းတမျိုꩻ။ ==ဂျပန်== ===အငဝ်းထန်ႏ=== {{ja-pron|いぬ|acc=2|acc_ref=DJR,NHK|a=Ja-inu-anglonative.oga}} ===နာမ်ႏ=== {{ja-noun|count=匹|いぬ|イヌ}} # [[ထွီႏ]] # ကအူႏ၊ ကအဲင်ႏဒါႏလိုꩻ တရိစ္ဆာန်ႏ လွူးလမ်းတမျိုꩻ။ 4d82hu0t91en7fbwo7220yeylcn9u76 家具 0 4703 12822 10671 2025-06-29T16:51:27Z 咽頭べさ 11 12822 wikitext text/x-wiki {{also|家俱|傢俱|傢具}} ==ခယ်ႏ== {{zh-forms|t2=傢具|t3=家俱|t4=傢俱}} {{zh-wp|zh|wuu|gan}} ===အငဝ်းထန်ႏ=== {{zh-pron |m=jiājù |ma=Zh-jiajù.ogg |c=gaa1 geoi6 |ca=LL-Q9186-Luilui6666-家具.wav |g='ga1 qy5 |h=pfs=kâ-khí;hrs=h:gaˋ ki˖ |j=jia1 jy3 |mn=xm,qz,tw:ka-kū/zz:kee-kī/twv:ka-khū |w=sh:1ka jiu,1cia jiu |x=jia1 jy4 |cat=n }} ===နာမ်ႏ=== {{head|zh|noun}} # တခြိုꩻအသုင်ꩻအဆောင်ႏ၊ ပရိဘောဂ။ ==ဂျပန်== ===အငဝ်းထန်ႏ=== {{ja-pron|かぐ|acc=a}} * ရိုမစိ - kagu * ဟိရဂန - かぐ * ပအိုဝ်ႏ - ကဂု ===နာမ်ႏ=== {{ja-noun|かぐ}} # [[တခြိုꩻ]]အသုင်ꩻအဆောင်ႏ။ [[ပရိဘောဂ]] paykwwv75oz3gkxxrlbmackl93h40sb 木耳 0 4905 12829 11045 2025-06-29T17:08:22Z 咽頭べさ 11 12829 wikitext text/x-wiki ==ခယ်ႏ== {{zh-forms|alt=木米-Hakka,木栮-Eastern Min}} ===အငဝ်းထန်ႏ=== {{zh-pron |m=mù'ěr |m-x=mǔ'er |m-nj=můq'ěr |c=muk6 ji5 |c-yj=muk6 ji2 |g=muh6 'eo3 |h=pfs=muk-mí;hrs=h:mug miˊ;gd=mug5 mi3 |j=meh4 er2 |mb=mù-nèng |md=mŭk-mī |mn=xm,tp,kh,tn,lk,sx,km,mg,hc,tc,wq,pn,ph:bo̍k-ní/qz,lk,wh,ph:bo̍k-lí/zz,yl:bo̍k-jí/yl:bo̍k-jíⁿ/tc,tt:bo̍k-gí/twv:bo̍k-mí |mn-t=bhag8 re2 |px=pt,jk,nr,xy,yy,ft:borh7 zi3 |sp=moek5 nji2 |w=sh:8moq gher6;sh,sz:8moq gni6;hz:8moq er3;nb:8moq er6 |w-j=8moq er3 |cat=n }} ===နာမ်ႏ=== {{head|zh|noun}} # [[သွန်ꩻနားလာႏ]] ==ဂျပန်== {{ja-kanjitab|yomi=k,i|sort=きくらげ}} [[Image:Auricularia auricula-judae JPG.jpg|250px|thumb|{{lang|ja|木耳。}}]] ===အငဝ်းထန်ႏ=== {{ja-pron|きくらげ}} * ပအိုဝ်ႏ - ခိခုရဂဲ ===နာမ်ႏ=== {{ja-noun|きくらげ|キクラゲ}} * [[သွန်ꩻနားလာႏ]] jm53dptbcqlol9fsajriyj9m1icjf80 0 4921 12814 11051 2025-06-29T16:18:50Z 咽頭べさ 11 12814 wikitext text/x-wiki {{also|岛|嶋|嶌|嶹|鳥|烏}} {{character info}} ==ခယ်ႏ== ===အငဝ်းထန်ႏ=== {{zh-pron |m=dǎo |m-x=dào |dg=до3 |c=dou2 |c-dg=dou2 |c-t=au2 |g=dau3 |h=pfs=tó;hrs=h:doˊ;gd=do3 |j=dau2 |mb=dǒ̤/dǎu |md=dō̤ |mn=xm,zz,tn,kh,km,tc:tó/qz,jj,tp,hc,yl,mg,lk,sx:tó͘ |mn-t=dao2 |mn-l=dao2 |px=pt,xy:dor3 |sp=daau2 |w=sh,sz:5tau;jd,sj,cm,ks,cz,jx,hz,sx,nb,zs:3tau |x=dau3 |mc=y |oc=y |ma=y |cat=n,pn }} ===နာမ်ႏ=== {{zh-noun}} # [[ကြွန်]]။ ** ထီပင်ႏလယ်ႏ သမုဒ္ဒရာႏကို ကအဝ်ႏဒါႏ ဟံႏအစုအဗူႏ။ ==ဂျပန်== ===အငဝ်းထန်ႏ=== {{ja-pron|しま|acc=2|acc_ref=NHK}} ===နာမ်ႏ=== {{ja-noun}} # [[ကြွန်]]။ ** ထီပင်ႏလယ်ႏ သမုဒ္ဒရာႏကို ကအဝ်ႏဒါႏ ဟံႏအစုအဗူႏ။ ===အာႏကွိုꩻ=== <references/> kuxuqav6kzbhotjhitijv5nvpbdkt9c 0 4927 12809 11062 2025-06-29T16:00:14Z 咽頭べさ 11 12809 wikitext text/x-wiki {{character info}} ==ခယ်ႏ== ====အငဝ်းထန်ႏ==== {{zh-pron |m=qī |m-s= |c=cai1 |c-t= |g= |h=pfs=chhî |j= |mb=chí |md=chă̤ |mn=chhe/qz,xm,zz:chhoe |mn_note=chhe - literary; chhoe - vernacular |mn-t=ci1 |px=pt,xy:ce1 |w=sh:1chi |x= |mc=1 |oc=1,1 |cat=n }} ====Definitions==== {{head|zh|hanzi}} # [[မာ]]၊ [[မာမူႏ]] # [[လမ်းသား]]မာမူႏ။ ==ဂျပန်== ===အရွီးခိုႏ ၁=== {{ja-kanjitab|yomi=k|つま}} ====အငဝ်းထန်ႏ==== * {{ja-pron|つま|acc=1|acc_ref=DJR}} * ဟိရဂန - [[つま]] * ရိုမစိ - tsuma * ပအိုဝ်ႏ - သွတ်မ ===နာမ်ႏ=== {{ja-noun|つま}} # [[မာ]]၊ [[မာမူႏ]] # [[လမ်းသား]] bxery9onk6goo7ohr609k0ytw22owr6 0 4928 12830 11065 2025-06-29T17:13:18Z 咽頭べさ 11 12830 wikitext text/x-wiki {{also|鬆}} {{character info}} ==ခယ်ႏ== {{zh-forms|alt=枩,柗,梥-ancient,枀}} ===အငေါဝ်းထန်ႏ=== {{zh-pron |m=sōng |m-s=song1 |c=cung4 |h=pfs=chhiùng;gd=qiung2 |mb=cě̤ng |md=sṳ̀ng |mn=xm,qz:chêng/chhêng/siông |mn_note=chêng/chhêng - vernacular (chêng is more common in Xiamen and Quanzhou); siông - literary |mn-t=sêng5/song5 |mn-t_note=sêng5 - vernacular; song5 - literary |w=sh,sz,hz:1son |x=zong2 |mc=y |oc=y |cat=n,pn }} ===နာမ်ႏ=== {{head|zh|hanzi}} # [[ငို]], သေင်ႏငိုမွူး။ # ခယ်ႏလိုꩻမျိုꩻသီး ကသုင်ꩻဒါႏ [[ခွိုꩻမိဉ်ꩻ]]အကို အမုဲင်(၂၁၆)ကို ကအဝ်ႏဒါႏ ခွိုꩻမိဉ်ꩻတဗာႏ။ ==ဂျပန်== {{ja-kanji forms-IVS |vs1=01 |vs2=03 |col-vs1=aj |col-vs2=hdmj |pic-shin=U677e-j.svg |pic-kyu=U677e-kyu.svg |ref={{R:Jitsu}} |ref2={{R:ja:KDJ|1112|607}} |ref3={{R:ja:SKJ|669|347}} }} ===အရွီးခိုႏ=== * {{ja-kanjitab|まつ|yomi=k}} ===အငဝ်းထန်ႏ=== {{ja-pron|まつ|acc=1|acc_ref=<ref name="KDJ2O"/>,DJR,NHK,SMK7}} * ဟိရဂန - [[まつ]] * ရိုမစိ - matsu * ပအိုဝ်ႏ - မသွတ် ===နာမ်ႏ=== {{ja-noun|まつ|hhira=まつ}} # [[ငို]]၊ သေင်ႏငိုမွူး rhqwi1ztn1xqko9zb9ji13ktfcsv4df 免許 0 4966 12818 11162 2025-06-29T16:40:39Z 咽頭べさ 11 12818 wikitext text/x-wiki ==ခယ်ႏ== {{zh-forms|s=免许}} ===အငဝ်းထန်ႏ=== {{zh-pron |m=miǎnxǔ |mn=bián-hú/zz:bián-hí |cat=n }} ===နာမ်ႏ=== {{head|zh|noun}} * [[လုဲင်သိဉ်]] * ပါမစ်။ ====ဘာႏသာႏလင်==== * မန်း : [[လိုင်စင်]]၊ [[ပါမစ်]] * အိန်းကလေတ် : [[license]]; [[permit]] ====ဆွိုက်စပ်အသုင်ꩻ==== * {{zh-l|執照}} ==ဂျပန်== {{ja-kanjitab|めん|きょ|yomi=on}} {{wikipedia|menkyo}} ===အငဝ်းထန်ႏ=== * ဟိရဂန - [[めんきょ]] * ရိုမစိ - menkyo * ပအိုဝ်ႏ - မဲဉ်းကျေား ===နာမ်ႏ=== {{ja-noun|めんきょ}} * [[လုဲင်သိဉ်]] ====ဘာႏသာႏလင်==== * မန်း : [[လိုင်စင်]] * အိန်းကလေတ် : [[license]]. ===အခရာႏပီ လိတ်ဖြုံႏကွာႏ=== * [[免許証]] 03eemhcto6bvzgm77ccx8fvevefe4fg 12819 12818 2025-06-29T16:41:30Z 咽頭べさ 11 12819 wikitext text/x-wiki {{also|免许}} ==ခယ်ႏ== {{zh-forms|s=免许}} ===အငဝ်းထန်ႏ=== {{zh-pron |m=miǎnxǔ |mn=bián-hú/zz:bián-hí |cat=n }} ===နာမ်ႏ=== {{head|zh|noun}} * [[လုဲင်သိဉ်]] * ပါမစ်။ ====ဘာႏသာႏလင်==== * မန်း : [[လိုင်စင်]]၊ [[ပါမစ်]] * အိန်းကလေတ် : [[license]]; [[permit]] ====ဆွိုက်စပ်အသုင်ꩻ==== * {{zh-l|執照}} ==ဂျပန်== {{ja-kanjitab|めん|きょ|yomi=on}} {{wikipedia|menkyo}} ===အငဝ်းထန်ႏ=== * ဟိရဂန - [[めんきょ]] * ရိုမစိ - menkyo * ပအိုဝ်ႏ - မဲဉ်းကျေား ===နာမ်ႏ=== {{ja-noun|めんきょ}} * [[လုဲင်သိဉ်]] ====ဘာႏသာႏလင်==== * မန်း : [[လိုင်စင်]] * အိန်းကလေတ် : [[license]]. ===အခရာႏပီ လိတ်ဖြုံႏကွာႏ=== * [[免許証]] q8l4mp3qgsejz3kho55swo842jqouby 赤字 0 4976 12821 11189 2025-06-29T16:44:32Z 咽頭べさ 11 12821 wikitext text/x-wiki ==ခယ်ႏ== {{zh-forms|lit=red character}} {{zh-wp}} ===အငဝ်းထန်ႏ=== {{zh-pron |m=chìzì |c=cek3 zi6,cik3 zi6 |ca=LL-Q9186 (yue)-Luilui6666-赤字.wav |mn=qz,tp,xm:chhiah-lī/kh,zz:chhiah-jī |mn-t=ciah4 ri7 |ma=y |cat=n }} ===နာမ်ႏ=== {{head|zh|noun}} # [[အသွုမ်ꩻ]], [[အယွမ်ꩻ]] (စီꩻပွာꩻရေꩻ၊ အစိုႏရ အသုင်ꩻ) ==ဂျပန်== {{ja-kanjitab|あか|じ|yomi=y}} ===အငဝ်းထန်ႏ=== {{ja-pron|あかじ|acc=0|acc_ref=DJR}} * ဟိရဂန- [[あかじ]] * ရိုမစိ - [[akaji]] * ပအိုဝ်ႏ - အကစိ ===နာမ်ႏ=== {{ja-noun|あかじ}} * [[အသွုမ်ꩻ]], [[အယွမ်ꩻ]] * လိတ်ဖြုံႏတနျာႏ။ * ဖျင်အမာႏ ====အခရာႏတဗန်ႏ==== * [[黒字]] ([[くろじ]]) p5swmgaefccz15z01d39jdi1ph5vspx မော်ဂျူး:zh-pron 828 4977 12801 12769 2025-06-29T15:40:47Z 咽頭べさ 11 12801 Scribunto text/plain local m_str_utils = require("Module:string utilities") local codepoint = m_str_utils.codepoint local concat = table.concat local explode_chars = require("Module:Hani").explode_chars local find = m_str_utils.find local format = string.format local gmatch = m_str_utils.gmatch local gsub = m_str_utils.gsub local insert = table.insert local ipairs = ipairs local match = m_str_utils.match local pairs = pairs local split = m_str_utils.split local gsplit = m_str_utils.gsplit local export = {} local hanzi = require("Module:scripts").getByCode("Hani"):getCharacters() local bopomofo = require("Module:scripts").getByCode("Bopo"):getCharacters() local langname = { ["cdo"] = "မိဉ်ဒုံခဝ်ကွဉ်ႏ", ["cjy"] = "စိဉ်", ["cpx"] = "ပုဆီအန်းမိဉ်", ["cmn"] = "မန်ဒရိဉ်း", ["csp"] = "ဖိဉ်းဂွါခဝ်နဝ်", ["dng"] = "ဒုန်ဂန်", ["gan"] = "ဂန်", ["hak"] = "ဟက်ကာ", ["hsn"] = "သျင်", ["hsn-lou"] = "သျင်", ["hsn-hya"] = "သျင်", ["luh"] = "လဲစိုးမိဉ်", ["mnp"] = "မိဉ်ခဝ်ကွဉ်ႏ", ["nan-hbl"] = "ဟောက်ခိအဲဉ်း", ["nan-tws"] = "တဝ်းဆွေး", ["wuu"] = "ဝူ", ["wuu-jih"] = "ဝူ", ["yue"] = "ကန်တုံ", ["zhx-sic"] = "သီဆွင်", ["zhx-tai"] = "တုဲင်းသျန်", } local langname_abbr = { ["m"] = "မန်ဒရိဉ်း", ["m-s"] = "သီဆွင်", ["m-x"] = "မန်ဒရိဉ်း", ["m-nj"] = "မန်ဒရိဉ်း", ["dg"] = "Dungan", ["c"] = "ကန်တုံ", ["c-dg"] = "ကန်တုံ", ["c-t"] = "တုဲင်းသျန်", ["c-yj"] = "ကန်တုံ", ["g"] = "ဂန်", ["h"] = "ဟက်ကာ", ["j"] = "စိဉ်", ["mb"] = "မိဉ်ခဝ်ကွဉ်ႏ", ["mc"] = "ခယ်ႏစိုးထာႏဝ", ["md"] = "မိဉ်ဒုံခဝ်ကွဉ်ႏ", ["mn"] = "ဟောက်ခိအဲဉ်း", ["mn-t"] = "တဝ်းဆွေး", ["mn-l"] = "လဲစိုးမိဉ်", ["oc"] = "ခယ်ႏကရီးခါ", ["px"] = "ပုဆီအန်းမိဉ်", ["sp"] = "ဖိဉ်းဂွါခဝ်နဝ်", ["w"] = "ဝူ", ["w-j"] = "ဝူ", ["x"] = "သျင်", ["x-l"] = "Loudi Xiang", ["x-h"] = "Hengyang Xiang", } local pos_aliases_cat = { ["n"]="နာမ်ႏ", ["noun"]="နာမ်ႏ", ["nouns"]="နာမ်ႏ", ["pn"]="နာမ်ႏဆဲင်ႏတဖြာꩻ", ["propn"]="နာမ်ႏဆဲင်ႏတဖြာꩻ", ["proper"]="နာမ်ႏဆဲင်ႏတဖြာꩻ", ["proper noun"]="နာမ်ႏဆဲင်ႏတဖြာꩻ", ["proper nouns"]="နာမ်ႏဆဲင်ႏတဖြာꩻ", ["pron"]="နာမ်ႏတင်", ["pronoun"]="နာမ်ႏတင်", ["pronouns"]="နာမ်ႏတင်", ["v"]="ကြိယာႏ", ["verb"]="ကြိယာႏ", ["verbs"]="ကြိယာႏ", ["a"]="နာမဝိသေသန", ["adj"]="နာမဝိသေသန", ["adjective"]="နာမဝိသေသန", ["adjectives"]="နာမဝိသေသန", ["adv"]="ကြိယာႏဝိသေသန", ["adverb"]="ကြိယာႏဝိသေသန", ["adverbs"]="ကြိယာႏဝိသေသန", ["prep"]="ဝိဘတ်", ["pre"]="ဝိဘတ်", ["preposition"]="ဝိဘတ်", ["prepositions"]="ဝိဘတ်", ["postp"] = "postpositions", ["post"] = "postpositions", ["con"] = "conjunctions", ["conj"] = "conjunctions", ["conjunction"] = "conjunctions", ["part"] = "particles", ["particle"] = "particles", ["pref"] = "prefixes", ["prefix"] = "prefixes", ["suf"] = "suffixes", ["suffix"] = "suffixes", ["infix"] = "infixes", ["prov"] = "proverbs", ["proverb"] = "proverbs", ["id"] = "idioms", ["idiom"] = "idioms", ["ch"] = "chengyu", ["cy"] = "chengyu", ["4ci"] = "chengyu", ["ph"]="ငဝ်းစုဗူႏ", ["phrase"]="ငဝ်းစုဗူႏ", ["phrases"]="ငဝ်းစုဗူႏ", ["intj"]="အာမေဍိတ်", ["interj"]="အာမေဍိတ်", ["interjection"]="အာမေဍိတ်", ["interjections"]="အာမေဍိတ်", ["cl"] = "classifiers", ["cls"] = "classifiers", ["classifier"] = "classifiers", ["num"]="ဂဏန်ꩻ", ["numeral"]="ဂဏန်ꩻ", ["numerals"]="ဂဏန်ꩻ", ["abb"] = "abbreviations", ["abbreviation"] = "abbreviations", ["det"] = "determiners", ["deter"] = "determiners", ["determiner"] = "determiners", ["syl"] = "syllables", ["syll"] = "syllables", ["syllable"] = "syllables", } local function make_note(text) if find(text, ": ") then text = "\n*" .. gsub(gsub(text, "\n", ".\n*"), "([:;]) ", "%1\n**") elseif find(text, "; ") then text = "\n*" .. gsub(text, "; ", ";\n*") end text = gsub(text, "“([^”]+)”", function (a) return "“" .. gsub(a, ";\n%*+", "; ") .. "”" end) -- fix bug about indentation levels (see https://en.wiktionary.org/w/index.php?oldid=78848651) local last_level = ("\n"..text):match("\n(%**)[^*\n][^\n]*$") local append = last_level:gsub("%*","<ul>") return "\n<div style=\"border: 1px solid var(--wikt-palette-forestgreen, #235923); padding: 4px; margin: 8px; background: var(--wikt-palette-lightyellow, #ffffe0); font-size: 85%\">'''Note''': " .. text .. ".</div>" .. append end local function ipa_format(text) local numbers = { ["1"]="¹",["2"]="²",["3"]="³",["4"]="⁴",["5"]="⁵",["0"]="⁰",["-"]="⁻",["/"]="/, /" } return gsub(text,"[0-5%-/]",numbers) end local function Consolas(text) return '<span class="zhpron-monospace">' .. text .. "</span>" end local function format_IPA(text) return '<span class="IPA">' .. text .. "</span>" end function export.make(frame) local parent_args = frame:getParent().args local params = { pagename = {}, namespace = {}, dial = {}, mc = {}, oc = {}, cat = {}, only_cat = {type = "boolean"}, poj_form_zh_see = {type = "boolean"}, } for abbr, _ in pairs(langname_abbr) do params[abbr] = {} params[abbr .. "a"] = {list = true} params[abbr .. "_note"] = {} end local args = require("Module:parameters").process(parent_args, params, nil, "zh-pron", "make") local title = mw.title.getCurrentTitle() local pagename = args.pagename or mw.loadData("Module:headword/data").pagename local sortkey = (require("Module:Hani-sortkey").makeSortKey(pagename)) local is_single_hanzi = find(pagename, "^[" .. hanzi .. "]$") ~= nil local namespace = args.namespace or title.nsText local m_rom = args["m"] local m_s_rom = args["m-s"] local m_x_rom = args["m-x"] local m_nj_rom = args["m-nj"] local dg_rom = args["dg"] local c_rom = args["c"] local c_dg_rom = args["c-dg"] local c_t_rom = args["c-t"] local c_yj_rom = args["c-yj"] local g_rom = args["g"] local h_rom = args["h"] local j_rom = args["j"] local mb_rom = args["mb"] local md_rom = args["md"] local mn_rom = args["mn"] local mn_l_rom = args["mn-l"] local mn_t_rom = args["mn-t"] local px_rom = args["px"] local sp_rom = args["sp"] local w_rom = args["w"] local w_j_rom = args["w-j"] local x_rom = args["x"] local x_l_rom = args["x-l"] local x_h_rom = args["x-h"] local m_audio = args["ma"] local m_s_audio = args["m-sa"] local m_x_audio = args["m-xa"] local m_nj_audio = args["m-nja"] local dg_audio = args["dga"] local c_audio = args["ca"] local c_dg_audio = args["c-dga"] local c_t_audio = args["c-ta"] local c_yj_audio = args["c-yja"] local g_audio = args["ga"] local h_audio = args["ha"] local j_audio = args["ja"] local mb_audio = args["mba"] local md_audio = args["mda"] local mn_audio = args["mna"] local mn_l_audio = args["mn-la"] local mn_t_audio = args["mn-ta"] local px_audio = args["pxa"] local sp_audio = args["spa"] local w_audio = args["wa"] local w_j_audio = args["w-ja"] local x_audio = args["xa"] local x_l_audio = args["x-la"] local x_h_audio = args["x-ha"] local dial = args["dial"] local mc = args["mc"] local oc = args["oc"] local only_cat = args["only_cat"] -- True if arguments exist for the specified variety, using a language param abbreviation. local function has_var(var) return args[var] or #args[var .. "a"] > 0 end local function add_audio(text, audios, lang, show) -- This function has side effects for _, audio in ipairs(audios) do if audio == "y" then audio = format("%s-%s.ogg", lang, title.baseText) end insert(text, "\n*" .. (show and "::" or "**") .. " [[File:") insert(text, audio) insert(text, "]]") end if #audios > 0 then insert(text, "[[ကဏ္ဍ:အငေါဝ်းထန်ႏလိဉ့်တွမ်ႏ") insert(text, langname[lang]) insert(text, "ငေါဝ်းငွါဖုံႏ|" .. sortkey .. "]]") end end local function add_audio_show(text, audios, lang) add_audio(text, audios, lang, "show") end local text = {} --the pronunciation table if not only_cat then --The whole table consists of 4 parts --"textShow" contains Part 1, 3 and 4 local textShow = {'<div class="standard-box zhpron" style="overflow:auto; max-width:500px; font-size:100%">'} --"textHide" is Part 2 local textHide = {} local function show(txt) insert(textShow, txt) end local function hide(txt) insert(textHide, txt) end local function hide_note(var) local note = args[var .. "_note"] if note then hide(make_note(note)) end end show('<div class="vsSwitcher" data-toggle-category="pronunciations">') --Part 1 and 2, "Pronunciation" and "Pronunciation expressed in different romanizations" if m_rom or m_s_rom or m_x_rom or m_nj_rom or dg_rom then show("\n* [[w:en:Mandarin Chinese|မန်ဒရိဉ်း]]") end if has_var("m") then local m_args = {} local m_pron = require("Module:cmn-pron") if m_rom then local str_analysis = m_pron.str_analysis local other_m_vars = has_var("m-s") or has_var("m-x") or has_var("m-nj") or has_var("dg") show("\n" .. str_analysis(m_rom, "head", other_m_vars)) m_args[1] = str_analysis(m_rom, "") for i = 2, 5 do m_args[i] = str_analysis(m_rom, tostring(i)) end local m_args_params_prefixed_with_1 = {"n", "na", "nb", "nc", "nd"} for _, base in ipairs(m_args_params_prefixed_with_1) do for i = 1, 5 do local param = tostring(i) .. base m_args[param] = str_analysis(m_rom, param) end end local m_args_params = {"py", "cap", "tl", "tl2", "tl3", "a", "audio", "er", "ertl", "ertl2", "ertl3", "era", "eraudio"} for _, base in ipairs(m_args_params) do m_args[base] = str_analysis(m_rom, base) for i = 2, 5 do local param = tostring(i) .. base m_args[param] = str_analysis(m_rom, param) end end end for i, audio in ipairs(m_audio) do local ind = i == 1 and "" or tostring(i) m_args[ind .. "a"] = audio end show(m_pron.make_audio(m_args)) hide(m_pron.make_args(m_args)) hide_note("m") end if (not m_rom) and (m_s_rom or m_x_rom or m_nj_rom or dg_rom) then hide("\n* [[w:en:Mandarin Chinese|မန်ဒရိဉ်း]]") end if has_var("m-s") then local m_s_pron = require("Module:zhx-sic-pron") local m_s_processed = gsub(m_s_rom:gsub("/", " / "), "([%d-])([%a])", "%1 %2") :gsub("%d[%d%*%-]*%f[^%d%*]", "<sup>%0</sup>") if m_s_rom then show("\n*: <small>(<i>[[w:Sichuanese dialect|Chengdu]], [[w:Sichuanese Pinyin|Sichuanese Pinyin]]</i>)</small>: ") show(Consolas(m_s_processed)) end add_audio_show(textShow, m_s_audio, "zhx-sic") hide("\n** <small>(<i>[[w:Chengdu|Chengdu]]</i>)</small>") hide("\n*** <small><i>[[w:Sichuanese Pinyin|Sichuanese Pinyin]]</i></small>: ") hide(Consolas(m_s_processed)) local xinwenz = m_s_pron.convert(m_s_rom, "SWZ") if xinwenz then hide("\n*** <small><i>[[w:zh:四川话拉丁化新文字|Scuanxua Ladinxua Xin Wenz]]</i></small>: ") hide(Consolas(m_s_pron.convert(m_s_rom, "SWZ"))) end hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:zh:成都话|key]])</sup></small>: ") hide(format_IPA(m_s_pron.convert(m_s_rom, "IPA"))) hide_note("m-s") end if has_var("m-x") then local m_x_pron = require("Module:cmn-pron-Xian") local m_x_display, m_x_hidden, m_x_ipa = m_x_pron.py_process(m_x_rom) show("\n*: <small>(<i>[[w:Guanzhong dialect|Xi'an]], [[Wiktionary:About Chinese/Xi'an|Guanzhong Pinyin]]</i>)</small>: ") show(Consolas(m_x_display)) add_audio_show(textShow, m_x_audio, "cmn") hide("\n** <small>(<i>[[w:Xi'an|Xi'an]]</i>)</small>") hide("\n*** <small><i>[[Wiktionary:About Chinese/Xi'an|Guanzhong Pinyin]]</i></small>: ") hide(Consolas(m_x_hidden)) hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:Guanzhong dialect|key]])</sup></small>: ") hide(format_IPA(m_x_ipa)) hide_note("m-x") end if has_var("m-nj") then local m_nj_pron = require("Module:cmn-pron-Nanjing") local m_nj_display, m_nj_hidden, m_nj_num, m_nj_ipa = m_nj_pron.py_process(m_nj_rom) show("\n*: <small>(<i>[[w:Nanjing dialect|Nanjing]], [[Wiktionary:About Chinese/Nanjing|Nanjing Pinyin]]</i>)</small>: ") show(Consolas(m_nj_display)) add_audio_show(textShow, m_nj_audio, "cmn") hide("\n** <small>(<i>[[w:Nanjing|Nanjing]]</i>)</small>") hide("\n*** <small><i>[[Wiktionary:About Chinese/Nanjing|Nanjing Pinyin]]</i></small>: ") hide(Consolas(m_nj_hidden)) hide("\n*** <small><i>[[Wiktionary:About Chinese/Nanjing|Nanjing Pinyin]] (numbered)</i></small>: ") hide(Consolas(m_nj_num)) hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:Nanjing dialect|key]])</sup></small>: ") hide(format_IPA(m_nj_ipa)) hide_note("m-nj") end if has_var("dg") then local dg_pron = require("Module:dng-pron") local dg_processed = dg_pron.process(dg_rom) if dg_rom then show("\n*: <small>(<i>[[w:en:Dungan language|ဒုန်ဂန်]], [[w:Dungan alphabet|Cyrillic]] and [[Wiktionary:Dungan transliteration|ဝိစ်သိဉ်နရီ]]</i>)</small>: ") show(Consolas(dg_processed)) end add_audio_show(textShow, dg_audio, "dng") hide("\n** <small>(<i>[[w:en:Dungan language|ဒုန်ဂန်]]</i>)</small>") hide("\n*** <small><i>[[w:Dungan alphabet|Cyrillic]] and [[Wiktionary:Dungan transliteration|ဝိစ်သိဉ်နရီ]]</i></small>: ") hide(Consolas(dg_processed)) hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:Dungan phonology|key]])</sup></small>: ") hide(format_IPA(dg_pron.convert(dg_rom, "IPA")) .. "\n**: <small>(Note: Dungan pronunciation is currently experimental and may be inaccurate.)</small>") hide_note("dg") end if has_var("c") or has_var("c-dg") or has_var("c-t") or has_var("c-yj") then if c_rom or c_dg_rom or c_t_rom or c_yj_rom then local c_count = (c_rom and 1 or 0) + (c_dg_rom and 1 or 0) + (c_t_rom and 1 or 0) + (c_yj_rom and 1 or 0) local c_sep = (c_count == 1) and " " or "\n*: " show("\n* [[w:en:Cantonese|ကန်တုံ]]") hide("\n* [[w:en:Cantonese|ကန်တုံ]]") if c_rom then local c_pron = require("Module:yue-pron") show(c_sep) show("<small>(<i>") if c_count > 1 then show("[[w:Guangzhou Cantonese|Guangzhou]]–[[w:Hong Kong Cantonese|Hong Kong]], ") end show("[[w:Jyutping|Jyutping]]</i>)</small>: ") show(Consolas(c_pron.show_standard(c_rom, is_single_hanzi))) add_audio_show(textShow, c_audio, "yue") hide(c_pron.hide_standard(c_rom, is_single_hanzi)) if not args["c_note"] and is_single_hanzi and (c_rom:find("^[ao]") or c_rom:find(",[ao]")) then args["c_note"] = "The zero initial " .. format_IPA("/∅-/") .. " is commonly pronounced with a ''ng''-initial " .. format_IPA("/ŋ-/") .. " in some varieties of Cantonese, including Hong Kong Cantonese" end hide_note("c") end if c_dg_rom then local c_dg_pron = require("Module:yue-pron/Dongguan") local c_dg_display = c_dg_rom:gsub(","," / ") :gsub("%d[%d%*%-]*%f[^%d%*]", "<sup>%0</sup>") show(c_sep .. "<small>(<i>[[w:zh:東莞話|Dongguan]], [[Wiktionary:About Chinese/Cantonese/Dongguan|Jyutping++]]</i>)</small>: ") show(Consolas(c_dg_display)) add_audio_show(textShow, c_dg_audio, "yue") hide("\n** <small>(<i>[[w:zh:東莞話|Dongguan]], [[w:Guancheng Subdistrict|Guancheng]]</i>)</small>") hide("\n*** <small><i>[[Wiktionary:About Chinese/Cantonese/Dongguan|Jyutping++]]</i></small>: ") hide(Consolas(c_dg_display)) hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:zh:東莞話|key]])</sup></small>: ") hide(format_IPA(c_dg_pron.jpp_to_ipa(c_dg_rom))) hide_note("c-dg") end if c_t_rom then local c_t_pron = require("Module:yue-pron/Taishanese") local c_t_display = c_t_rom:gsub(","," / ") :gsub("%d[%d%*%-]*%f[^%d%*]", "<sup>%0</sup>") show(c_sep .. "<small>(<i>[[w:en:Taishanese|တုဲင်းသျန်]]၊ [[Wiktionary:About Chinese/Cantonese/Taishanese|ဝိစ်သိဉ်နရီ]]</i>)</small>: ") show(Consolas(c_t_display)) add_audio_show(textShow, c_t_audio, "zhx-tai") hide("\n** <small>(<i>[[w:en:Taishanese|တုဲင်းသျန်]], [[w:Taicheng Subdistrict|Taicheng]]</i>)</small>") hide("\n*** <small><i>[[Wiktionary:About Chinese/Cantonese/Taishanese|ဝိစ်သိဉ်နရီ]]</i></small>: ") hide(Consolas(c_t_display)) hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:Taishanese|key]])</sup></small>: ") hide(format_IPA(c_t_pron.hoisanva_to_ipa(c_t_rom))) hide_note("c-t") end if c_yj_rom then local c_yj_pron = require("Module:yue-pron/Yangjiang") local c_yj_display = c_yj_rom:gsub(","," / ") :gsub("%d[%d%*%-]*%f[^%d%*]", "<sup>%0</sup>") show(c_sep .. "<small>(<i>[[w:zh:陽江話|Yangjiang]], [[Wiktionary:About Chinese/Cantonese/Yangjiang|Jyutping++]]</i>)</small>: ") show(Consolas(c_yj_display)) add_audio_show(textShow, c_yj_audio, "yue") hide("\n** <small>(<i>[[w:zh:陽江話|Yangjiang Yue]], [[w:Jiangcheng, Yangjiang|Jiangcheng]]</i>)</small>") hide("\n*** <small><i>[[Wiktionary:About Chinese/Cantonese/Yangjiang|Jyutping++]]</i></small>: ") hide(Consolas(c_yj_display)) hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:Gao–Yang Yue|key]])</sup></small>: ") hide(format_IPA(c_yj_pron.jpp_to_ipa(c_yj_rom))) hide_note("c-yj") end end end if has_var("g") then local g_pron = require("Module:gan-pron") if g_rom then show("\n* [[w:en:Gan Chinese|ဂန်]] <small>(<i>[[Wiktionary:About Chinese/Gan|ဝိစ်သိဉ်နရီ]]</i>)</small>: ") show(Consolas(g_pron.rom(g_rom))) end add_audio_show(textShow, g_audio, "gan") hide("\n* [[w:Gan Chinese|ဂန်]]") hide("\n** <small>(<i>[[w:Nanchang dialect|Nanchang]]</i>)</small>") hide("\n*** <small><i>[[Wiktionary:About Chinese/Gan|ဝိစ်သိဉ်နရီ]]</i></small>: ") hide(Consolas(g_pron.rom(g_rom))) hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:Nanchang dialect|key]])</sup></small>: ") hide(format_IPA("/" .. g_pron.ipa(g_rom) .. "/")) hide_note("g") end if h_rom and (find(h_rom, "pfs=.") or find(h_rom, "gd=.") or find(h_rom, "hrs=.") or find(h_rom, "ct=.")) or #h_audio > 0 then local h_pron = require("Module:hak-pron") if find(h_rom, "pfs=.") or find(h_rom, "gd=.") or find(h_rom, "hrs=.") or find(h_rom, "ct=.") then show("\n* [[w:Hakka Chinese|Hakka]]") show(h_pron.rom_display(h_rom,"yes")) end add_audio_show(textShow, h_audio, "hak") hide("\n* [[Wiktionary:About Chinese/Hakka|ဟက်ကာ]]") if h_rom then hide(h_pron.rom_display(h_rom,"")) end hide_note("h") end if has_var("j") then local j_pron = require("Module:cjy-pron") if j_rom then show("\n* [[w:en:Jin Chinese|စိဉ်]] <small>(<i>[[Wiktionary:About Chinese/Jin|ဝိစ်သိဉ်နရီ]]</i>)</small>: ") show(Consolas(j_pron.rom(j_rom))) end add_audio_show(textShow, j_audio, "cjy") hide("\n* [[w:en:Jin Chinese|စိဉ်]]") hide("\n** <small>(<i>[[w:Taiyuan|Taiyuan]]</i>)<sup>[[:w:zh:太原話|+]]</sup></small>") if j_rom then hide("\n*** <small><i>[[Wiktionary:About Chinese/Jin|ဝိစ်သိဉ်နရီ]]</i></small>: ") hide(Consolas(j_pron.rom(j_rom))) end local no_sandhi = false local roms = split(j_rom, "/") for i = 1, #roms do if find(roms[i], " [^ ]+ ") then no_sandhi = true break end end hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] (<i>old-style" .. (no_sandhi and ", no sandhi" or "") .. "</i>)</small>: ") hide(format_IPA("/" .. j_pron.ipa(j_rom, no_sandhi and "no_sandhi" or "") .. "/")) hide_note("j") end if has_var("mb") then local mb_pron = require("Module:mnp-pron") if mb_rom then show("\n* [[w:en:Northern Min|မိဉ်ခဝ်ကွဉ်ႏ]] <small>(<i>[[w:Kienning Colloquial Romanized|KCR]]</i>)</small>: ") show(Consolas(mb_pron.rom(mb_rom))) end add_audio_show(textShow, mb_audio, "mnp") hide("\n* [[w:en:Northern Min|မိဉ်ခဝ်ကွဉ်ႏ]]") hide("\n** <small>(<i>[[w:Jian'ou dialect|Jian'ou]]</i>)</small>") if mb_rom then hide("\n*** <small><i>[[w:Kienning Colloquial Romanized|Kienning Colloquial Romanized]]</i></small>: ") hide(Consolas(mb_pron.rom(mb_rom))) hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:Jian'ou dialect|key]])</sup></small>: ") hide(format_IPA(mb_pron.ipa(mb_rom))) end hide_note("mb") end if has_var("md") then local md_pron = require("Module:cdo-pron") if md_rom then show("\n* [[w:en:Eastern Min|မိဉ်ဒုံခဝ်ကွဉ်ႏ]] <small>(<i>[[Wiktionary:About Chinese/Eastern Min|BUC]]</i>)</small>: ") show(Consolas(md_pron.rom(md_rom))) end add_audio_show(textShow, md_audio, "cdo") hide("\n* [[w:en:Eastern Min|မိဉ်ဒုံခဝ်ကွဉ်ႏ]]") hide("\n** <small>(<i>[[w:Fuzhou dialect|Fuzhou]]</i>)</small>") if md_rom then hide("\n*** <small><i>[[Wiktionary:About Chinese/Eastern Min|Bàng-uâ-cê]]</i></small>: ") hide(Consolas(md_pron.rom(md_rom))) if not (md_rom and find(md_rom, "([^/]*)-([^/]*)-([^/]*)-([^/]*)-([^/]*)")) then hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:Fuzhou dialect|key]])</sup></small>: ") hide(format_IPA("/" .. md_pron.ipa(md_rom) .. "/")) else hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:Fuzhou dialect|key]])</sup> (<i>no sandhi</i>)</small>: ") hide(format_IPA("/" .. md_pron.ipa(md_rom, "no_sandhi") .. "/")) end end hide_note("md") end if has_var("px") then local px_pron = require("Module:cpx-pron") show("\n* [[w:en:Puxian Min|ပုဆီအန်းမိဉ်]]") show(px_pron.rom_display(px_rom,"brief")) add_audio_show(textShow, px_audio, "cpx") hide("\n* [[Wiktionary:About Chinese/Puxian Min|ပုဆီအန်းမိဉ်]]") if px_rom then hide(px_pron.rom_display(px_rom,"complete")) end hide_note("px") end if has_var("mn") or has_var("mn-l") or has_var("mn-t") then local mn_pron, mn_l_pron if has_var("mn") or has_var("mn-t") then mn_pron = require("Module:nan-pron") end if has_var("mn-l") then mn_l_pron = require("Module:luh-pron") end if mn_rom or mn_t_rom or mn_l_rom then show("\n* [[w:en:Southern Min|မိဉ်ခဝ်ကွဉ်ႏ]]") if mn_rom then show(((mn_l_rom or mn_t_rom) and "\n*:" or "") .. " <small>(<i>[[w:en:Hokkien|ဟောက်ခိအဲဉ်း]], [[w:Pe̍h-ōe-jī|POJ]]</i>)</small>: ") show(Consolas(mn_pron.poj_display(mn_pron.poj_check_invalid(mn_rom)))) add_audio_show(textShow, mn_audio, "nan-hbl") end if mn_t_rom then show(((mn_rom or mn_l_rom) and "\n*:" or "") .. " <small>(<i>[[w:en:Teochew dialect|တဝ်းဆွေး]], [[w:Peng'im|Peng'im]]</i>)</small>: ") show(Consolas(mn_pron.pengim_display(mn_t_rom))) add_audio_show(textShow, mn_t_audio, "nan-tws") end if mn_l_rom then show(((mn_rom or mn_t_rom) and "\n*:" or "") .. " <small>(<i>[[w:Leizhou Min|Leizhou]], Leizhou Pinyin</i>)</small>: ") show(Consolas(mn_l_pron.rom(mn_l_rom))) add_audio_show(textShow, mn_l_audio, "luh") end end hide("\n* [[w:en:Southern Min|မိဉ်ခဝ်ကွဉ်ႏ]]") if has_var("mn") then hide(mn_pron.generate_all(mn_rom)) hide_note("mn") end if has_var("mn-t") then hide("\n** <small>(<i>[[w:en:Teochew dialect|တဝ်းဆွေး]]</i>)</small>") hide("\n*** <small><i>[[w:Peng'im|Peng'im]]</i></small>: ") hide(Consolas(mn_pron.pengim_display(mn_t_rom))) hide("\n*** <small><i>[[w:Pe̍h-ōe-jī|Pe̍h-ōe-jī]]-like</i></small>: ") hide(Consolas(mn_pron.pengim_to_pojlike_conv(mn_t_rom))) hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:zh:潮州話#語音|key]])</sup></small>: ") hide(format_IPA(mn_pron.pengim_to_ipa_conv(mn_t_rom))) hide_note("mn-t") end if has_var("mn-l") then hide("\n** <small>(<i>[[w:Leizhou Min|Leizhou]]</i>)</small>") hide("\n*** <small><i>Leizhou Pinyin</i></small>: ") hide(Consolas(mn_l_pron.rom(mn_l_rom))) hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]]</small>: ") hide(format_IPA(mn_l_pron.ipa(mn_l_rom))) hide_note("mn-l") end end if has_var("sp") then local sp_pron = require("Module:csp-pron") local sp_processed = sp_rom:gsub(",([^ ])",", %1") :gsub("%d[%d%*%-]*%f[^%d%*]", "<sup>%0</sup>") show("\n* [[w:en:Pinghua|ဖိဉ်းဂွါခဝ်နဝ်]] <small>(<i>[[w:Pinghua|Nanning]], [[Wiktionary:About Chinese/Southern Pinghua|Jyutping++]]</i>)</small>: ") show(Consolas(sp_processed)) add_audio_show(textShow, sp_audio, "csp") hide("\n* [[w:en:Pinghua|Southern Pinghua]]") hide("\n** <small>(<i>[[w:en:Pinghua|ဖိဉ်းဂွါခဝ်နဝ်]], [[w:Nanning|Tingzi]]</i>)</small>") hide("\n*** <small><i>[[Wiktionary:About Chinese/Southern Pinghua|Jyutping++]]</i></small>: ") hide(Consolas(sp_processed)) hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:Pinghua#Phonology|key]])</sup></small>: ") hide(format_IPA(sp_pron.jpp_to_ipa(sp_rom))) hide_note("sp") end if has_var("w") or has_var("w-j") then local w_count = (w_rom and 1 or 0) + (w_j_rom and 1 or 0) local w_show, w_hide, w_j_show, w_j_hide if w_rom then w_show, w_hide = require("Module:wuu-pron").make(w_rom, w_count) end if w_j_rom then w_j_show, w_j_hide = require("Module:wuu-pron/Jinhua").make(w_j_rom, w_count) end if w_count > 1 then show("\n* [[w:Wu Chinese|ဝူ]] <small>(<i>[[Wiktionary:About Chinese/Wu|Wugniu]]</i>)</small>") else show("\n* [[w:Wu Chinese|ဝူ]]") end show(w_show) show(w_j_show) add_audio_show(textShow, w_audio, "wuu") hide("\n* [[w:en:Wu Chinese|ဝူ]]") hide(w_hide) hide(w_j_hide) -- add_audio(textHide, w_audio, "wuu") hide_note("w") hide_note("w-j") end if has_var("x") or has_var("x-l") or has_var("x-h") then local x_pron = has_var("x") and require("Module:hsn-pron") or nil local x_l_pron = has_var("x-l") and require("Module:hsn-pron-Loudi") or nil local x_h_pron = has_var("x-h") and require("Module:hsn-pron-Hengyang") or nil if x_rom or x_l_rom or x_h_rom then show("\n* [[w:en:Xiang Chinese|သျင်]]") if x_rom then show(((x_l_rom or x_h_rom) and "\n*:" or "") .. " <small>(<i>[[w:Changsha dialect|Changsha]], [[Wiktionary:About Chinese/Xiang|ဝိစ်သိဉ်နရီ]]</i>)</small>: ") show(Consolas(x_pron.rom(x_rom))) add_audio_show(textShow, x_audio, "hsn") end if x_l_rom then show(((x_rom or x_h_rom) and "\n*:" or "") .. " <small>(<i>[[w:zh:娄底话|Loudi]], [[Wiktionary:About Chinese/Xiang/Loudi|ဝိစ်သိဉ်နရီ]]</i>)</small>: ") show(Consolas(x_l_pron.rom(x_l_rom))) add_audio_show(textShow, x_l_audio, "hsn-lou") end if x_h_rom then show(((x_rom or x_l_rom) and "\n*:" or "") .. " <small>(<i>[[w:Hengyang dialect|Hengyang]], [[Wiktionary:About Chinese/Xiang/Hengyang|ဝိစ်သိဉ်နရီ]]</i>)</small>: ") show(Consolas(x_h_pron.rom(x_h_rom))) add_audio_show(textShow, x_h_audio, "hsn-hya") end end hide("\n* [[:w:en:Xiang Chinese|သျင်]]") if x_rom then local x_diff = x_pron.stylediff(x_rom) hide("\n** <small>(<i>[[w:Changsha dialect|Changsha]]</i>)</small>") hide("\n*** <small><i>[[Wiktionary:About Chinese/Xiang|ဝိစ်သိဉ်နရီ]]</i></small>: ") hide(Consolas(x_pron.rom(x_rom))) hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:Changsha dialect|key]])</sup>") hide(x_diff and " (<i>old-style</i>)" or "") hide("</small>: ") hide(format_IPA("/" .. x_pron.ipa(x_rom) .. "/")) if x_diff then hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:Changsha dialect|key]])</sup> (<i>new-style</i>)</small>: ") hide(format_IPA("/" .. x_pron.ipa(x_rom, "new") .. "/")) end hide_note("x") end if x_l_rom then hide("\n** <small>(<i>[[w:zh:娄底话|Loudi]]</i>)</small>") hide("\n*** <small><i>[[Wiktionary:About Chinese/Xiang/Loudi|ဝိစ်သိဉ်နရီ]]</i></small>: ") hide(Consolas(x_l_pron.rom(x_l_rom))) hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:zh:娄底话|key]])</sup>") hide("</small>: ") hide(format_IPA("/" .. x_l_pron.ipa(x_l_rom) .. "/")) hide_note("x-l") end if x_h_rom then hide("\n** <small>(<i>[[w:Hengyang dialect|Hengyang]]</i>)</small>") hide("\n*** <small><i>[[Wiktionary:About Chinese/Xiang/Hengyang|ဝိစ်သိဉ်နရီ]]</i></small>: ") hide(Consolas(x_h_pron.rom(x_h_rom))) hide("\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[w:Hengyang dialect|key]])</sup>") hide("</small>: ") hide(format_IPA("/" .. x_h_pron.ipa(x_h_rom) .. "/")) hide_note("x-h") end end -- combine textShow and textHide into text text = { concat(textShow), '<span class="vsToggleElement" style="float: right;"></span>\n<div class="vsHide" style="clear:right;">\n<hr>\n', concat(textHide), "</div></div>" } --Part 3 "Dialectal data" if dial ~= "n" and is_single_hanzi then local success, m_dial = pcall(mw.loadData, "Module:zh/data/dial-pron/" .. pagename) if success then local dialPron = {} local temporary = {} if dial and find(dial, "^[0-9\\,]+$") then for element in gsplit(dial, ",") do insert(dialPron, m_dial[tonumber(element)]) end else for _, element in ipairs(m_dial) do insert(dialPron, element) end end for _, set in ipairs(dialPron) do for _, object in ipairs(set[2]) do insert(temporary, object) end end insert(text, '\n<hr style="clear:right;">\n<div class="vsSwitcher" data-toggle-category="pronunciations" style="background-color:var(--wikt-palette-palergreen, #F8FFFA)">\n* ' .. 'Dialectal data' .. '<span class="vsToggleElement" style="float:right; padding:0 0"></span>\n' .. '<div class="vsHide">' ) insert(text, '\n{| class="wikitable" ' .. '" style="width:100%; margin:0; ' .. 'text-align:center; border-collapse: collapse; border-style: hidden; display: table;"') local locStart = "\n|-\n!" local readingStart = concat({'\n!style="background:var(--wikt-palette-indigo-3, #e0defa); width:9em"|', '<div style="float: right; clear: right; font-size:60%"><span class="plainlinks">[', tostring(mw.uri.fullUrl("Module:zh/data/dial-pron/" .. pagename, {["action"]="မွဉ်းဖျင်"})), ' edit]</span></div><span lang="zh" class="Hani">'}) local locEnd = '<span class="IPA">' local headclr = 'style="background:var(--wikt-palette-indigo-3, #e0defa)"|' -- NOTE: -- These colours are duplicated in [[Module:zh-dial-syn]]. -- Make sure the two lists are kept in sync. local mandarinColor = 'style="background:var(--wikt-palette-grey-amber-1, #FCFAF5)"|' local jinColor = 'style="background:var(--wikt-palette-grey-orange-1, #F9F0E8)"|' local wuColor = 'style="background:var(--wikt-palette-grey-purple-1, #F5F0FC)"|' local huiColor = 'style="background:var(--wikt-palette-grey-yellow-1, #FCFAF5)"|' local xiangColor = 'style="background:var(--wikt-palette-grey-blue-1, #ECF2FC)"|' local ganColor = 'style="background:var(--wikt-palette-grey-teal-1, #EAF4EF)"|' local hakkaColor = 'style="background:var(--wikt-palette-grey-blue-1, #ECF2FC)"|' local cantoneseColor = 'style="background:var(--wikt-palette-grey-cyan-1, #EBF3F5)"|' local minColor = 'style="background:var(--wikt-palette-grey-green-1, #EDF4EA)"|' local clrList = { mandarinColor, mandarinColor, mandarinColor, mandarinColor, mandarinColor, mandarinColor, mandarinColor, mandarinColor, mandarinColor, mandarinColor, mandarinColor, mandarinColor, mandarinColor, mandarinColor, mandarinColor, mandarinColor, mandarinColor, jinColor, jinColor, jinColor, wuColor, wuColor, wuColor, wuColor, huiColor, huiColor, xiangColor, xiangColor, ganColor, hakkaColor, hakkaColor, cantoneseColor, cantoneseColor, cantoneseColor, minColor, minColor, minColor, minColor, minColor } local locList = { concat({headclr, "Variety\n!", headclr, "Location"}), concat({"rowspan=17 ", mandarinColor, "မန်ဒရိဉ်း\n!", mandarinColor, "[[w:Beijing dialect|Beijing]]\n|", mandarinColor}), concat({mandarinColor, "[[w:Harbin dialect|Harbin]]\n|", mandarinColor}), concat({mandarinColor, "[[w:Tianjin dialect|Tianjin]]\n|", mandarinColor}), concat({mandarinColor, "[[w:Jinan dialect|Jinan]]\n|", mandarinColor}), concat({mandarinColor, "[[w:Qingdao dialect|Qingdao]]\n|", mandarinColor}), concat({mandarinColor, "[[w:zh:鄭州話|Zhengzhou]]\n|", mandarinColor}), concat({mandarinColor, "[[w:Xi'an dialect|Xi'an]]\n|", mandarinColor}), concat({mandarinColor, "[[w:Xining|Xining]]\n|", mandarinColor}), concat({mandarinColor, "[[w:Yinchuan|Yinchuan]]\n|", mandarinColor}), concat({mandarinColor, "[[w:zh:蘭州話|Lanzhou]]\n|", mandarinColor}), concat({mandarinColor, "[[w:zh:烏魯木齊話|Ürümqi]]\n|", mandarinColor}), concat({mandarinColor, "[[w:zh:武漢話|Wuhan]]\n|", mandarinColor}), concat({mandarinColor, "[[w:Chengdu dialect|Chengdu]]\n|", mandarinColor}), concat({mandarinColor, "[[w:zh:貴陽話|Guiyang]]\n|", mandarinColor}), concat({mandarinColor, "[[w:Kunming dialect|Kunming]]\n|", mandarinColor}), concat({mandarinColor, "[[w:Nanjing dialect|Nanjing]]\n|", mandarinColor}), concat({mandarinColor, "[[w:zh:合肥話|Hefei]]\n|", mandarinColor}), concat({"rowspan=3 ", jinColor, "စိဉ်\n!", jinColor, "[[w:zh:太原話|Taiyuan]]\n|", jinColor}), concat({jinColor, "[[w:Pingyao|Pingyao]]\n|", jinColor}), concat({jinColor, "[[w:Hohhot dialect|Hohhot]]\n|", jinColor}), concat({"rowspan=4 ", wuColor, "ဝူ\n!", wuColor, "[[w:Shanghai dialect|Shanghai]]\n|", wuColor}), concat({wuColor, "[[w:Suzhou dialect|Suzhou]]\n|", wuColor}), concat({wuColor, "[[w:Hangzhou dialect|Hangzhou]]\n|" , wuColor}), concat({wuColor, "[[w:Wenzhou dialect|Wenzhou]]\n|", wuColor}), concat({"rowspan=2 ", huiColor, "Hui\n!", huiColor, "[[w:Shexian|Shexian]]\n|", huiColor}), concat({huiColor, "[[w:zh:屯溪話|Tunxi]]\n|", huiColor}), concat({"rowspan=2 ", xiangColor, "သျင်\n!", xiangColor, "[[w:Changsha dialect|Changsha]]\n|", xiangColor}), concat({xiangColor, "[[w:zh:湘潭話|Xiangtan]]\n|", xiangColor}), concat({ganColor, "Gan\n!", ganColor, "[[w:Nanchang dialect|Nanchang]]\n|", ganColor}), concat({"rowspan=2 ", hakkaColor, "ဟက်ကာ\n!", hakkaColor, "[[w:Meixian dialect|Meixian]]\n|", hakkaColor}), concat({hakkaColor, "[[w:Taoyuan, Taiwan|Taoyuan]]\n|", hakkaColor}), concat({"rowspan=3 ", cantoneseColor, "ကန်တုံ\n!", cantoneseColor, "[[w:Guangzhou dialect|Guangzhou]]\n|", cantoneseColor}), concat({cantoneseColor, "[[w:Nanning|Nanning]]\n|", cantoneseColor}), concat({cantoneseColor, "[[w:Hong Kong dialect|Hong Kong]]\n|", cantoneseColor}), concat({"rowspan=5 ", minColor, "Min\n!", minColor, "[[w:en:Xiamen dialect|Xiamen]] (ဟောက်ခိအဲဉ်း)\n|", minColor}), concat({minColor, "[[w:Fuzhou dialect|Fuzhou]] (မိဉ်ဒုံခဝ်ကွဉ်ႏ)\n|", minColor}), concat({minColor, "[[w:Jian'ou dialect|Jian'ou]] (မိဉ်ခဝ်ကွဉ်ႏ)\n|", minColor}), concat({minColor, "[[w:Shantou dialect|Shantou]] (တဝ်းဆွေး)\n|", minColor}), concat({minColor, "[[w:Haikou dialect|Haikou]] (Hainanese)\n|", minColor})} local function ipa_correct(ipa, location) if location == 22 then return (gsub(ipa, "13", "23")) else return ipa end end local function fmtDial(text, location) local fmttedPron = {} if text == "" then return "" end for pronunciation in gsplit(text, "|") do local ipa = match(pronunciation, "^[^%(%)" .. hanzi .. "~,]+") ipa = gsub(ipa, "([ptk])([0-5])", "%1̚%2") local environ = match(pronunciation, "[%(%)" .. hanzi .. "~,]*$") or false insert(fmttedPron, "<span class=\"IPA\"><small>/" .. tostring(ipa_format(ipa_correct(ipa, location))) .. "/</small></span>" .. (environ and " <span class=\"Hani\" lang=\"zh\"><small>"..environ.."</small></span>" or nil)) end return concat(fmttedPron, "<br>") end for locationNo = 1, 40 do for readingNo = 1, #dialPron do if readingNo == 1 then insert(text, locStart) insert(text, locList[locationNo]) end if locationNo == 1 then local situation = dialPron[readingNo][1] insert(text, readingStart) insert(text, pagename) insert(text, (pagename ~= situation and " (" .. gsub(situation, pagename, "<b>" .. pagename .. "</b>") .. ")" or "")) insert(text, "</span>") else insert(text, (readingNo == 1 and "" or "\n|" .. clrList[locationNo-1])) insert(text, locEnd) insert(text, fmtDial(dialPron[readingNo][2][locationNo-1], locationNo)) insert(text, "</span>") end end end insert(text, "\n|}</div></div>") end end --Part 4 "Middle Chinese & Old Chinese" local mc_preview, oc_preview local m_ltc_pron, m_och_pron -- !!! -- The following function modifies the tables generated by mod:ltc-pron and mod:och-pron, shifting them -- from using "mw-collapsible" to using "vsSwitcher", because the former -- can not collapse on the mobile site and makes Chinese entries a mess. -- It is supposed to be a temporary solution. -- !!! local function shiftCustomtoggle2Vsswitcher(s) local result result = (s:gsub( '\n%* <div title="expand" class="mw%-customtoggle[^>]+">', '\n<div class="vsSwitcher" data-toggle-category="pronunciations">\n* ' ):gsub( '<span style="float:right; border:1px solid #ccc; border%-radius:1px; padding:0 0; font%-size:90%%">▼</span>(.-)</div>\n{| class="wikitable', '<span class="vsToggleElement" style="float:right; padding:0 0"></span>%1\n<div class="vsHide">\n{| class="wikitable' ):gsub( '{| class="wikitable mw%-collapsible mw%-collapsed" id="[^"]+"', '{| class="wikitable"' ):gsub( "\n|}$", "\n|}</div></div>" )) return result end if mc then m_ltc_pron = require("Module:ltc-pron") mc_preview = m_ltc_pron.retrieve_pron(pagename, false, mc, true) if not mc_preview then require("Module:debug/track")("zh-pron/Middle Chinese data not found") mc = nil end end if oc then m_och_pron = require("Module:och-pron") oc_preview = m_och_pron.generate_show(pagename, oc) if not oc_preview then require("Module:debug/track")("zh-pron/Old Chinese data not found") oc = nil end end if mc or oc then insert(text, '\n<hr style="clear:right;">\n<div style="background-color:var(--wikt-palette-lighterblue, #ebf4ff); margin: 0 -5px -5px; padding: 0 5px 5px;">') if mc then insert(text, shiftCustomtoggle2Vsswitcher(m_ltc_pron.ipa(mc, mc_preview))) end if oc then insert(text, shiftCustomtoggle2Vsswitcher(m_och_pron.ipa(oc, oc_preview))) end insert(text, "</div>") end insert(text, "</div>") if namespace == "" or namespace == "-" then if mc then if is_single_hanzi then if mc_preview:find("k̚$") then -- insert(text, "[[Category:Middle Chinese -k characters|" .. sortkey .. "]]") elseif mc_preview:find("t̚$") then -- insert(text, "[[Category:Middle Chinese -t characters|" .. sortkey .. "]]") elseif mc_preview:find("p̚$") then --insert(text, "[[Category:Middle Chinese -p characters|" .. sortkey .. "]]") end end end if not args["cat"] then --insert(text, "[[Category:zh-pron usage missing POS]]") end end end local conv_text = {} --categories if namespace == "" or namespace == "-" then local catText = args["cat"] or "" local cat_start = "[[Category:" local cat_end = "]]" if w_rom then w_rom = gsub(w_rom, "%d", "") end local function add_cat(cat_table, name, cat) insert(cat_table, cat_start .. name .. cat .. "ဖုံႏ|" .. sortkey .. cat_end) end local cats = split(catText, ",", true) for i = 1, #cats do if pos_aliases_cat[cats[i]] == "chengyu" then insert(cats, i, "idioms") break end end insert(cats, 1, "ငဝ်းတဲႏ") if is_single_hanzi then insert(cats, 2, "ဟန်သီ") end for i = 1, #cats do local cat = cats[i] if cat == "" then break end cat = gsub(cat, "^ +", "") if find(cat, ":") then local cat_split = split(cat, ":", true) local lang_name = langname_abbr[cat_split[1]] local category = pos_aliases_cat[cat_split[2]] or cat add_cat(conv_text, "ခယ်ႏ", category) insert(conv_text, cat_start .. lang_name .. category .. "ဖုံႏ|" .. sortkey .. cat_end) else cat = pos_aliases_cat[cat] or cat add_cat(conv_text, "ခယ်ႏ", cat) if m_rom or m_x_rom or m_nj_rom then add_cat(conv_text, "မန်ဒရိဉ်း", cat) end if has_var("m-s") then add_cat(conv_text, "သီဆွင်", cat) end if has_var("dg") then add_cat(conv_text, "ဒုန်ဂန်", cat) end if c_rom or c_dg_rom or c_yj_rom then add_cat(conv_text, "ကန်တုံ", cat) end if c_t_rom then add_cat(conv_text, "တုဲင်းသျန်", cat) end if has_var("g") then add_cat(conv_text, "ဂန်", cat) end if h_rom and (find(h_rom, "pfs=.") or find(h_rom, "gd=.")) or #h_audio > 0 then add_cat(conv_text, "ဟက်ကာ", cat) end if has_var("j") then add_cat(conv_text, "စိဉ်", cat) end if has_var("mb") then add_cat(conv_text, "မိဉ်ခဝ်ကွဉ်ႏ", cat) end if has_var("md") then add_cat(conv_text, "မိဉ်ဒုံခဝ်ကွဉ်ႏ", cat) end if has_var("mn") then add_cat(conv_text, "ဟောက်ခိအဲဉ်း", cat) end if has_var("mn-t") then add_cat(conv_text, "တဝ်းဆွေး", cat) end if has_var("mn-l") then add_cat(conv_text, "လဲစိုးမိဉ်", cat) end if has_var("px") then add_cat(conv_text, "ပုဆီအန်းမိဉ်", cat) end if has_var("sp") then add_cat(conv_text, "ဖိဉ်းဂွါခဝ်နဝ်", cat) end if has_var("w") then add_cat(conv_text, "ဝူ", cat) end if has_var("w-j") then add_cat(conv_text, "ဝူ", cat) end if has_var("x") then add_cat(conv_text, "သျင်", cat) end if has_var("x-l") then add_cat(conv_text, "သျင်", cat) end if has_var("x-h") then add_cat(conv_text, "သျင်", cat) end if mc and has_var("mc") then add_cat(conv_text, "ခယ်ႏစိုးထာႏဝ", cat) end if oc and has_var("oc") then add_cat(conv_text, "ခယ်ႏကရီးခါ", cat) end end end if not args.only_cat then insert(conv_text, cat_start .. "IPAအငဝ်းထန်ႏကိုကပါဒါႏခယ်ႏငဝ်းငွါဖုံႏ|" .. sortkey .. cat_end) end if not args.poj_form_zh_see then if not find(pagename, "[" .. hanzi .. bopomofo .. "]") then -- insert(conv_text, cat_start .. "Chinese terms written in foreign scripts|" .. sortkey .. cat_end) end -- TODO: handle Zhuyin. -- Note: this parses any IDS to pick out the full character. for _, character in ipairs(explode_chars(pagename)) do if match(character, "[" .. hanzi .. "%%%+%-·×々〻𖿣⿰-⿿㇯]") then -- insert(conv_text, cat_start .. "Chinese terms spelled with " .. character .. "|" .. sortkey .. cat_end) end end end end local output = concat(text) .. concat(conv_text) if namespace ~= "" and namespace ~= "-" then output = gsub(output, "%[%[Category:[^%]]+%]%]", "") end return output end return export gqt4or4d2doqiur5ka4m7j5e4ibq71z မော်ဂျူး:cmn-pron 828 5324 12802 12752 2025-06-29T15:44:30Z 咽頭べさ 11 12802 Scribunto text/plain local export = {} local m_str_utils = require("Module:string utilities") local cmn = require("Module:languages").getByCode("cmn") local find = m_str_utils.find local gsub = m_str_utils.gsub local len = m_str_utils.len local match = m_str_utils.match local gmatch = m_str_utils.gmatch local sub = m_str_utils.sub local split = m_str_utils.split local gsplit = m_str_utils.gsplit local lower = m_str_utils.lower local upper = m_str_utils.upper local format = string.format local u = m_str_utils.char local toNFD = mw.ustring.toNFD local toNFC = mw.ustring.toNFC local trim = mw.text.trim local pua = {} for i = 1, 7 do pua[i] = u(0xF000+i-1) end local m_data = mw.loadData("Module:cmn-pron/data") local m_zh = require("Module:zh") local _m_zh_data = nil local hom_data = nil local function track(page) local tracking_page = "cmn-pron/" .. page require("Module:debug/track")(tracking_page) return true end local function hom_data_part(pinyin) local x = toNFD(pinyin):sub(1,1) if "a" <= x and x <= "g" then return 1 elseif "h" <= x and x <= "m" then return 2 elseif "n" <= x and x <= "w" then return 3 end return 4 end local function get_hom_data(py) if hom_data == nil then hom_data = require("Module:zh/data/cmn-hom/" .. hom_data_part(py)) end return hom_data end -- if not empty local function ine(var) if var == "" then return nil else return var end end local breve, hacek, circumflex = u(0x306), u(0x30C), u(0x302) local function input_error(text) if type(text) ~= "string" then return end local subs, err = {[breve] = hacek, [circumflex] = "h", ["ŋ"] = "ng", ["Ŋ"] = "Ng"} text = toNFD(text) if find(text, breve) and (find(text, "[zcsZCS]" .. circumflex) or find(text, "[ŋŊ]")) then err = "a breve and an uncommon shorthand" elseif find(text, breve) then err = "a breve" elseif find(text, "[zcsZCS]" .. circumflex) or find(text, "[ŋŊ]") then err = "an uncommon shorthand" end if err then error('The pinyin text "' .. text .. '" contains ' .. err .. '. Replace it with "' .. gsub(text, ".", subs) .. '".', 2) end end local function m_zh_data() if _m_zh_data == nil then _m_zh_data = require("Module:zh/data/cmn-tag") end; return _m_zh_data; end function export.py_detone(text) return toNFC(gsub(toNFD(text), "[̄́̌̀]", "")) end function export.tone_determ(text) text = toNFD(text) return m_data.py_tone_mark_to_num[match(text, m_data.tones)] or '5' end local function sup(text) local ret = mw.html.create("sup"):wikitext(text) return tostring(ret) end function export.py_transf(text) return export.py_detone(text) .. export.tone_determ(text) end local function decompose_tones(text) return (toNFD(text):gsub("[EeUu]\204[\130\136]", toNFC)) end function export.py_transform(text, detone, not_spaced) if find(text, "​") then error("Pinyin contains the hidden character: ​ (U+200B). Please remove that character from the text.") elseif find(text, "%d") then -- e.g. ma1 instead of mā error("Numbered tones should be given with tone marks instead.") end local tones = m_data.tones detone = ine(detone) not_spaced = ine(not_spaced) text = decompose_tones(text) text = text :gsub("\204[\128\129\132\140]", {["̄"] = "\1", ["́"] = "\2", ["̌"] = "\3", ["̀"] = "\4"}) :gsub("\195[\138\156\170\188]", {["ê"] = "\5", ["ü"] = "\6", ["Ê"] = "\14", ["Ü"] = "\15"}) :gsub("\228\184[\128\141]", {["一"] = "\7", ["不"] = "\8"}) local function plaintext(text) return (text:gsub("\16([\1-\4])", "n%1g") :gsub("[\1-\8\14-\18]", function(m) return ({"\204\132", "\204\129", "\204\140", "\204\128", "ê", "ü", "一", "不", [14] = "Ê", [15] = "Ü", [16] = "ng", [17] = "gn", [18] = "'"})[m:byte()] end)) end if not not_spaced then local i = 1 local function check_apostrophes(check_text) i = i + 1 local new_text = check_text :gsub("([^mnMN][\1-\4][iouIOU]?)([aeiou\5\6AEIOU\14\15]%f[\1-\4])", "%1'%2") :gsub("([\1-\4])([aeiou\5\6AEIOU\14\15]%f[\1-\4])", "%1'%2") :gsub("([a-gi-zA-GI-Z\5\6\14\15])([mnMN]%f[\1-\4])", "%1'%2") :gsub("([b-dfgj-np-tv-zB-DFGJ-NP-TV-Z])([mnMN]%f[%z%s%p])", "%1'%2") :gsub("([mnMN][\1-\4])([mnMN]%f[%z%s%p])", "%1'%2") :gsub("([\7\8])([aeiou\5\6mnAEIOU\14\15MN]%f[\1-\4%z%s%p])", "%1'%2") if new_text ~= check_text then check_apostrophes(new_text) elseif new_text ~= text then error(("Missing apostrophe before null-initial syllable - should be \"%s\" instead."):format(plaintext(new_text)), i) end end check_apostrophes(text) end local check_text = gsub(text,"([AOEaoe])([iou])(" .. tones .. ")", "%1%3%2") check_text = gsub(check_text,"([iuü])(" .. tones .. ")([aeiou])", "%1%3%2") if text ~= check_text then error("Incorrect diacritic placement in Pinyin - should be \"".. check_text .. "\" instead.") end text = lower(text) :gsub(" *([,.?]) *", " %1 ") :gsub("[#0]", {["#"] = " #", ["0"] = "5"}) :gsub("%. +%. +%.", "...") :gsub("(%d)([%a\5-\8])", "%1 %2") :gsub("n([\1-\4]?)g", "\16%1") :gsub("%f[^aeiou\1-\6]\16%f[aeiou\1-\6]", "ng") :gsub("gn%f[aeiou\5\6]", "\17") :gsub("'r", "\18r") :gsub("\18r([aeiou\5\6])", "'r%1") :gsub("([aeiou\5\6][\1-\4]?[mn\16]?\18?r?)([bpmfvdtnlgkhjqxzcsywr\16\17\7\8])", "%1 %2") :gsub("([mn\16\7\8][\1-\4]?\18?r?)([bpmfvdtnlgkhjqxzcsywr\16\17\7\8])", "%1 %2") :gsub(" r%f[%z%d%s'%-]", "r") :gsub("([aeiou\5\6][\1-\4]?) ([mn\16])%f[%z%d%s'%-]", "%1%2") :gsub("['%-]", " ") if detone or text:find("%d") then text = text :gsub("([\1-\4])([^ ]*)", function(m1, m2) return m2 .. m1:byte() end) :gsub("[^%d\7\8]%f[%z%s,.?]", "%05") :gsub("([\7\8]\18?r)5", "%1") end text = plaintext(text) if not_spaced then text = text:gsub(" ", "") end return (toNFC(trim(text)):gsub(" +", " ")) end local function iterate_words(text) local pos, word, non_word local function get_word() word, non_word, pos = text:match("([^%s]+)([%s]*)()", pos) if pos then return word, non_word end end return get_word end local function iterate_syllables(text) local cap = find(text, "^%u") text = export.py_transform(text, true) text = text :gsub("\195[\170\188]", {["ê"] = "\1", ["ü"] = "\2"}) :gsub("[zcs]h", {["zh"] = "\3", ["ch"] = "\4", ["sh"] = "\5"}) local raw_syllables = split(text, " ") local function plaintext(text) return (text and text:gsub("[\1-\8]", function(m) return ({"ê", "ü", "ẑ", "ĉ", "ŝ", "ŋ", "ɲ", "ɨ"})[m:byte()] end)) end local i = 0 local function explode_syllable() i = i + 1 if raw_syllables[i] then local syllable, tone, sandhi, block_sandhi = raw_syllables[i] if syllable == "" then return explode_syllable() end syllable = syllable :gsub("(\228\184[\128-\141])('?r?)$", function(m, erhua) sandhi = m return (m:gsub(".*", {["一"] = "yi1", ["不"] = "bu4"}) :gsub("(%a+)(%d)", "%1" .. erhua .. "%2")) end) :gsub("^#", function(m) block_sandhi = true return "" end) :gsub("%d$", function(m) tone = m return "" end) :gsub("ng", "\6") :gsub("gn", "\7") :gsub("([bpmfv])(o'?r?)$", "%1u%2") :gsub("([jq\7x])u", "%1\2") :gsub("[iy]u", {["iu"] = "iou", ["yu"] = "\2"}) :gsub("[eu]i", {["ei"] = "\1i", ["ui"] = "u\1i"}) :gsub("ao", "au") :gsub("[wy]", {["w"] = "u", ["y"] = "i"}) :gsub("([iu\2])e('?r?)$", "%1\1%2") :gsub("(.)o([mn\6]'?r?)$", "%1u%2") :gsub("iu", "\2") :gsub("^([^aoe\1]?[iu\2])([mn\6]'?r?)$", "%1e%2") :gsub("([iu])%1", "%1") :gsub("([\3-\5rzcs])i('?r?)$", "%1\8%2") local initial, glide1, nucleus, glide2, nasal, erhua = syllable:match("^([bpmfvdtnlgk\6hjq\7x\3-\5rzcs]?)([iu\2\8]?)([aoe\1]?)([iu]?)([mn\6]?)('?r?)$") return (syllable:gsub("[#%d]", "")), plaintext(initial), plaintext(glide1), plaintext(nucleus), glide2, plaintext(nasal), erhua, tone, sandhi, (not not block_sandhi) end end return explode_syllable end -- Generate a normalized pinyin version as a baseline, which everything else can work from. local function normalize_py(text, no_words) local raw_words, words = split(text, " "), {} for i, word in ipairs(raw_words) do local cap = find(word, "^%u") word = export.py_transform(word, true) word = word:gsub("\195[\170\188]", {["ê"] = "\1", ["ü"] = "\2"}) local raw_syllables, syllables = split(word, " "), {} for j, s in ipairs(raw_syllables) do s = s :gsub("[zcs]h", {["zh"] = "\3", ["ch"] = "\4", ["sh"] = "\5"}) :gsub("ng", "\6") :gsub("gn", "\7") :gsub("([bpmfv])(or?%d)", "%1u%2") :gsub("([jq\7x])u", "%1\2") :gsub("iu", "iou") :gsub("yu", "\2") :gsub("ui", "uei") :gsub("ao", "au") :gsub("[wy]", {["w"] = "u", ["y"] = "i"}) :gsub("([iu\2])e(r?%d)", "%1\1%2") :gsub("ue([n\6]r?)", "u%1") :gsub("io(\6r?)", "\2%1") :gsub("([iu])%1", "%1") :gsub("([\3-\5rzcs])i(r?%d)", "%1ɨ%2") :gsub("[\1-\7]", function(m) return ({"ê", "ü", "ẑ", "ĉ", "ŝ", "ŋ", "ɲ"})[m:byte()] end) table.insert(syllables, toNFC(s)) end word = syllables if #word > 0 then word[1] = cap and gsub(word[1], "^.", upper) or word[1] table.insert(words, word) end end if no_words then local syllables = {} for _, word in ipairs(words) do for _, s in ipairs(word) do table.insert(syllables, s) end end words = syllables end return words end function export.py_ipa(text) local ipa_initials = m_data.py_ipa_initials local ipa_initials_tl = m_data.py_ipa_initials_tl local ipa_finals = m_data.py_ipa_finals local ipa_erhua = m_data.py_ipa_erhua local ipa_tl_ts = m_data.py_ipa_tl_ts local ipa_t_values = m_data.py_ipa_t_values local tones = {} local tone_cats = {} text = lower(text) local syllables = normalize_py(text, true) for i, s in ipairs(syllables) do if s:find("^[,.?]+$") then table.remove(syllables, i) end end for i = 1, #syllables do syllables[i] = syllables[i]:gsub("%d", function(m) tone_cats[i] = m return "" end) if syllables[i] == "一" then tone_cats[i] = syllables[i+1] and (syllables[i+1]:match("%d") == "4" or syllables[i+1] == "ge") and "1-2" or "1-4" syllables[i] = "i" elseif syllables[i] == "不" then tone_cats[i] = syllables[i+1] and syllables[i+1]:match("%d") == "4" and "4-2" or "4" syllables[i] = "bu" end tone_cats[i] = tone_cats[i] or "5" syllables[i] = syllables[i]:gsub("#", function(m) tone_cats[i] = "#" .. tone_cats[i] return "" end) end for i, s in ipairs(syllables) do s = gsub(s, "^([bpmfvdtnlgkŋhjqɲxẑĉŝrzcs]?)([^r']+)('?r?)$", function(initial, final, erhua) if initial == "" and find(final, "^[aeêo]") then initial = "ˀ" end final = ipa_finals[final] or final if erhua == "r" then for i, from in ipairs(ipa_erhua[1]) do final = gsub(toNFD(final), toNFD(from) .. "$", ipa_erhua[2][i]) end final = toNFC(final) end if initial:find("[zcs]") then final = final:gsub("ʐ", "z") elseif initial == "" then final = final:gsub("[iuy]̯", {["i̯"] = "j", ["u̯"] = "w", ["y̯"] = "ɥ"}) end initial = ipa_initials[initial] or initial if tone_cats[i] == "5" then initial = initial:gsub(".*", ipa_initials_tl) final = final:gsub("ɤ$", "ə") end return gsub(initial .. final, "ʐʐ̩", "ʐ̩") end) local curr_tone_cat, prev_tone_cat, next_tone_cat = tone_cats[i], tone_cats[i-1], tone_cats[i+1] if curr_tone_cat == "5" then tones[i] = prev_tone_cat and ipa_tl_ts[prev_tone_cat:gsub("#", "")] or "" else tones[i] = ipa_t_values[curr_tone_cat:gsub("#", "")] end if curr_tone_cat:find("3") then if i == #tone_cats then if i > 1 then tones[i] = "²¹⁴⁻²¹⁽⁴⁾" end elseif next_tone_cat == "3" then tones[i] = "²¹⁴⁻³⁵" elseif next_tone_cat ~= "5" then tones[i] = "²¹⁴⁻²¹" end elseif curr_tone_cat == "4" and (next_tone_cat == "4" or next_tone_cat == "1-4") then tones[i] = "⁵¹⁻⁵³" elseif curr_tone_cat == "1-4" and next_tone_cat == "4" then tones[i] = "⁵⁵⁻⁵³" end syllables[i] = s .. tones[i] syllables[i] = gsub(syllables[i], "#", "") end return table.concat(syllables, " ") end function export.py_number_to_mark(text) local priority = m_data.py_mark_priority local tones = m_data.py_tone_num_to_mark text = text:gsub("([^%s0-5]+)([0-5])", function(syl, tone) for _, pattern in ipairs(priority) do local syl, n = gsub(syl, pattern, "%0" .. (tones[tone] or "")) if n > 0 then return syl end end return syl .. tone end) return toNFC(text) end function export.py_zhuyin(text) input_error(text) local py_zhuyin_consonant = m_data.py_zhuyin_consonant local py_zhuyin_glide = m_data.py_zhuyin_glide local py_zhuyin_nucleus = m_data.py_zhuyin_nucleus local py_zhuyin_final = m_data.py_zhuyin_final local py_zhuyin_syllabic_nasal = m_data.py_zhuyin_syllabic_nasal local py_zhuyin_tone = m_data.py_zhuyin_tone local output = {} text = export.py_transform(text) for syllable, initial, glide1, nucleus, glide2, nasal, erhua, tone in iterate_syllables(text) do if not (initial or glide1 or nucleus or glide2 or nasal) then table.insert(output, syllable) else local final = (py_zhuyin_nucleus[nucleus] or nucleus) .. (py_zhuyin_glide[glide2] or glide2) final = (py_zhuyin_final[final] or final) .. (py_zhuyin_consonant[nasal] or nasal) final = ((py_zhuyin_glide[glide1] or glide1) .. (py_zhuyin_final[final] or final)) :gsub("(\227\132[\167-\169])ㄜ", "%1") syllable = (py_zhuyin_consonant[initial] or initial) .. final if initial:find("[bpmfv]") and syllable:find("ㄨㄛ$") then syllable = syllable:gsub("ㄨ", "") end syllable = syllable:gsub("^\227\132[\135\139\171]$", py_zhuyin_syllabic_nasal) :gsub("\227\132[\135\139\171]$", "<small>%0</small>") if syllable == "ㄜ" and erhua == "r" then syllable = "ㄦ" erhua = "" elseif #erhua > 0 then erhua = "ㄦ" end if tone == "5" then syllable = py_zhuyin_tone[tone] .. syllable .. erhua else syllable = syllable .. py_zhuyin_tone[tone] .. erhua end table.insert(output, syllable) end end return table.concat(output, " ") end function export.zhuyin_py(text) local zhuyin_py_initial = m_data.zhuyin_py_initial local zhuyin_py_final = m_data.zhuyin_py_final local zhuyin_py_tone = m_data.zhuyin_py_tone local word = split(text, " ", true) local function process_syllable(syllable) syllable = gsub(syllable, "^([ㄓㄔㄕㄖㄗㄘㄙ])([ˊˇˋ˙]?)$", "%1ㄧ%2") return gsub(syllable, "([ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄪ]?)([ㄧㄨㄩ]?[ㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄪㄫㄬㄧㄨㄩㄇ])([ˊˇˋ˙]?)(ㄦ?)", function(initial, final, tone, erhua) initial = zhuyin_py_initial[initial] final = zhuyin_py_final[final] if erhua ~= "" then final = final .. "r" end if initial == "" then final = final :gsub("^([iu])(n?g?)$", function(a, b) return gsub(a, "[iu]", {["i"] = "yi", ["u"] = "wu"}) .. b end) :gsub("^(w?u)([in])$", "ue%2") :gsub("^iu$", "iou") :gsub("^([iu])", {["i"] = "y", ["u"] = "w"}) :gsub("^ong", "weng") :gsub("^ü", "yu") end if initial:find("[jqx]") then final = final:gsub("^ü", "u") end local tone = zhuyin_py_tone[tone] if final:find("[ae]") then final = final:gsub("([ae])", "%1" .. tone) elseif final:find("i[ou]") then final = final:gsub("(i[ou])", "%1" .. tone) elseif final:find("[io]") then final = final:gsub("([io])", "%1" .. tone) else final = gsub(final, "^([wy]?)(.)", "%1" .. "%2" .. tone) end return initial .. final end) end for i, syllable in ipairs(word) do word[i] = process_syllable(syllable) end return toNFC(table.concat(word, " ")) end function export.py_wg(text) local py_wg_consonant = m_data.py_wg_consonant local py_wg_consonant_dental = m_data.py_wg_consonant_dental local py_wg_glide = m_data.py_wg_glide local py_wg_nucleus = m_data.py_wg_nucleus local py_wg_o = m_data.py_wg_o local output = {} for word, non_word in iterate_words(text) do local cap = find(word, "^%u") word = cap and lower(word) or word local syllables = {} for syllable, initial, glide1, nucleus, glide2, nasal, erhua, tone in iterate_syllables(word) do if not (initial or glide1 or nucleus or glide2 or nasal) then table.insert(syllables, syllable) else if glide1 == "ɨ" and py_wg_consonant_dental[initial] then syllable = py_wg_consonant_dental[initial] .. "ŭ" else syllable = ((py_wg_consonant[initial] or initial) .. (py_wg_glide[glide1] or glide1) .. (py_wg_nucleus[nucleus] or nucleus) .. glide2 .. (py_wg_consonant[nasal] or nasal)) :gsub("ehi", "ei") :gsub("au", "ao") :gsub("iou", "iu") :gsub("ian$", "ien") if py_wg_o[initial] then syllable = syllable:gsub("ê$", "o") elseif initial ~= "ŝ" then syllable = syllable:gsub("uo$", "o") end syllable = (#glide1 > 0 and syllable:gsub("ê([mn]g?)", "%1") or syllable) :gsub("üng", "iung") if initial == "" then syllable = syllable :gsub("^.[\128-\191]*", {["i"] = "y", ["u"] = "w", ["ü"] = "yü"}) :gsub("^[yw]$", {["y"] = "i", ["w"] = "wu"}) :gsub("^([wyo])([mn])", function(m1, m2) return ({["w"] = "wê", ["y"] = "yi", ["o"] = "u"})[m1] .. m2 end) elseif glide1 == "u" and not initial:find("[gk]") then syllable = syllable:gsub("uei", "ui") end end if syllable == "o" and nucleus == "e" and erhua == "r" then syllable = "êrh" erhua = "" elseif #erhua > 0 then erhua = "-ʼrh" end table.insert(syllables, syllable .. tone:gsub("%d", sup) .. erhua) end end syllables[1] = cap and gsub(syllables[1], "^.", upper) or syllables[1] word = table.concat(syllables, "-") :gsub("%-([,.?])", "%1") table.insert(output, word .. non_word) end return table.concat(output) end local function temp_bg(text, bg) if bg == 'y' then return '<' .. text .. '>' end return text end local function make_bg(text, bg) if bg == 'y' then return '<span style="background-color:#F5DEB3">' .. text .. '</span>' else return text end end function export.py_gwoyeu(text, original_text) local initials = m_data.py_gwoyeu_initial local finals = m_data.py_gwoyeu_final if text:find('^%s') or text:find('%s$') then error('invalid spacing') end local words = split(text, " ") local count = 0 for i, word in ipairs(words) do local cap = find(toNFD(word), "^%u") word = export.py_transform(word, true, true) word = gsub(word, "([1-5])", "%1 ") word = gsub(word, " $", "") word = gsub(word, '([!-/:-@%[-`{|}~!-/:-@[-`{-・])', ' %1 ') word = gsub(word, ' +', ' ') word = gsub(word, ' $', '') word = gsub(word, '^ ', '') local syllables = split(word, " ") for j, syllable in ipairs(syllables) do count = count + 1 if not find(syllable, '^[!-/:-@%[-`{|}~!-/:-@[-`{-・]+$') then local current = sub(mw.title.getCurrentTitle().text, count, count) if find(current, '^[一七八不]$') then local exceptions = {['一'] = 'i', ['七'] = 'chi', ['八'] = 'ba', ['不'] = 'bu'} syllables[j] = exceptions[current] else local initial, final, tone = '', '', '' syllable = gsub(syllable, '([jqxy])u', '%1ü') syllable = gsub(syllable, '^([zcsr]h?)i(r?[1-5])$', '%1ɨ%2') if find(syllable, '([bpmfvdtnlgkhjqxzcsryw]?h?)([iuü]?[aoeiɨuüê][ioun]?g?r?)([1-5])') then syllable = gsub(syllable, '([bpmfvdtnlgkhjqxzcsryw]?h?)([iuü]?[aoeiɨuüê][ioun]?g?r?)([1-5])', function(a, b, c) initial = initials[a] or error('Unrecognised initial:' .. a); final = finals[b] or error('Unrecognised final:' .. b); tone = c return (initial .. final .. tone) end) elseif not (find(mw.title.getCurrentTitle().text, "[们們呒呣哏唔哼哦嗯嘸噷姆欸誒诶麼ㄇㄝM]") or find(mw.title.getCurrentTitle().text, "cmn-pron/testcases", 1, true)) then error('Unrecognised syllable:' .. syllable) end local original = initial..final..tone if initial:find('^[iu]$') then final = initial .. final initial = '' end if initial .. final == "e'l" then final = "el" end final = gsub(final, '([iu])%1', '%1') local len = len(initial) + len(final) local detone = initial..final local replace = detone local fullstop = false if tone == 5 or tone == '5' then fullstop = true if original_text then tone = split(export.py_transform(original_text, true), ' ')[count]:match('[1-5]') elseif initial:find('^[lmnr]$') then tone = 2 else tone = 1 end if tone == 5 or tone == '5' then tone = export.tone_determ(m_zh.py(current)) end end if tone == 1 or tone == '1' then if initial:find('^[lmnr]$') then replace = initial .. 'h' .. sub(detone, 2, len) else replace = detone end elseif tone == 2 or tone == '2' then if not initial:find('^[lmnr]$') then if final:find('^[iu]') then replace = gsub(detone, '[iu]', {['i'] = 'y', ['u'] = 'w'}, 1) replace = gsub(replace, '[yw]l?$', {['y'] = 'yi', ['w'] = 'wu', ['wl'] = 'wul',}) else replace = gsub(detone, '([aiueoyè]+)', '%1r') end else replace = detone end elseif tone == 3 or tone == '3' then if final:find("^iu?e'l$") then detone = gsub(detone, "'", '') end detone = gsub(detone, '^[iu]', {['i'] = 'yi', ['u'] = 'wu'}) if final:find('[aeiou][aeiou]') and (not final:find('^[ie][ie]') or initial..final=="ie") and (not final:find('^[uo][uo]') or initial..final=="uo") then replace = gsub(detone, '[iu]', {['i'] = 'e', ['u'] = 'o'}, 1) elseif final:find('[aoeiuyè]') then replace = gsub(detone, '([iuyw]?)([aoeiuyè])', '%1%2%2', 1) else error('Unrecognised final:'..final) end elseif tone == 4 or tone == '4' then if final:find("^iu?e'l$") then detone = gsub(detone, "'", '') end detone = gsub(detone, '^[iu]', {['i'] = 'yi', ['u'] = 'wu'}) if detone:find('[aeo][iu]l?$') then replace = gsub(detone, "[iu]l?$", {['i'] = 'y', ['u'] = 'w', ['ul'] = 'wl'}) elseif detone:find('[ngl]$') then replace = gsub(detone, "[ng'l]l?$", {['n'] = 'nn', ['g'] = 'q', ['l'] = 'll', ['gl'] = 'ql', ["'l"] = 'hl'}) else replace = detone .. 'h' end replace = gsub(replace, 'yi([aeiou])', 'y%1') replace = gsub(replace, 'wu([aeiou])', 'w%1') end if fullstop then replace = '.' .. replace end syllables[j] = gsub(syllable, original, replace) end end end words[i] = table.concat(syllables, "") words[i] = cap and gsub(words[i], "^.", upper) or words[i] end return table.concat(words, " ") end -- Converts Hanyu Pinyin into Tongyong Pinyin. function export.py_tongyong(text) local ty_tone = { ["1"] = "", ["2"] = "\204\129", ["3"] = "\204\140", ["4"] = "\204\128", ["5"] = "\204\138" } local function num_to_mark(syllable, tone) tone = ty_tone[tone] if tone ~= "" then if find(syllable, "[aeê]") then syllable = gsub(syllable, "([aeê])", "%1" .. tone) elseif find(syllable, "o") then syllable = gsub(syllable, "(o)", "%1" .. tone) elseif find(syllable, "[iu]") then syllable = gsub(syllable, "([iu])", "%1" .. tone) elseif find(syllable, "[mn]") then syllable = gsub(syllable, "([mn])", "%1" .. tone) end end return syllable end local words = {} for word in gsplit(text, " ") do local cap = find(toNFD(word), "^%u") word = export.py_transform(word, true) local syllables = {} for syllable in gsplit(word, " ") do syllable = toNFC(gsub(syllable, "([crsz]h?i)", "%1h")) syllable = gsub(syllable, "ü", "yu") syllable = gsub(syllable, "([jqx])u", "%1yu") syllable = gsub(syllable, "iu", "iou") syllable = gsub(syllable, "ui", "uei") syllable = gsub(syllable, "([wf])eng", "%1ong") syllable = gsub(syllable, "wen", "wun") syllable = gsub(syllable, "iong", "yong") syllable = gsub(syllable, "^zh", "jh") syllable = gsub(syllable, "^q", "c") syllable = gsub(syllable, "^x", "s") syllable = #syllables ~= 0 and gsub(syllable, "^([aeo])", "-%1") or syllable syllable = gsub(syllable, "^([^1-5]+)([1-5])$", num_to_mark) table.insert(syllables, syllable) end word = table.concat(syllables, "") word = cap and gsub(word, "^.", upper) or word table.insert(words, word) end return toNFC(table.concat(words, " ")) end -- Converts Hanyu Pinyin into the Yale system. function export.py_yale(text) local yale_tone = { ["1"] = u(0x304), ["2"] = u(0x301), ["3"] = u(0x30C), ["4"] = u(0x300), ["5"] = "" } local function num_to_mark(syllable, tone) tone = yale_tone[tone] if tone ~= "" then if find(syllable, "[ae]") then syllable = gsub(syllable, "([ae])", "%1" .. tone) elseif find(syllable, "o") then syllable = gsub(syllable, "(o)", "%1" .. tone) elseif find(syllable, "[iu]") then syllable = gsub(syllable, "([iu])", "%1" .. tone) elseif find(syllable, "[mnrz]") then syllable = gsub(syllable, "([mnrz])", "%1" .. tone) end end return syllable end local words = {} for word in gsplit(text, " ") do local cap = find(toNFD(word), "^%u") word = export.py_transform(word, true) local syllables = {} for syllable in gsplit(word, " ") do syllable = toNFC(gsub(syllable, "^r(%d)", "er%1")) syllable = gsub(syllable, "^([jqxy])u", "%1ü") syllable = gsub(syllable, "^(.h)i(%d)", "%1r%2") syllable = gsub(syllable, "^ri(%d)", "r%1") syllable = gsub(syllable, "^([csz])i(%d)", "%1z%2") syllable = gsub(syllable, "^zh", "j") syllable = gsub(syllable, "^.", m_data.py_yale_initial) syllable = gsub(syllable, "^tsh", "ch") syllable = gsub(syllable, "i([aeo])", "y%1") syllable = gsub(syllable, "u([ao])", "w%1") syllable = gsub(syllable, "ü([ae])", "yw%1") for chars, replacement in pairs(m_data.py_yale_two_medials) do syllable = gsub(syllable, chars, replacement) end syllable = gsub(syllable, "ong", "ung") syllable = gsub(syllable, ".", m_data.py_yale_one_medial) syllable = gsub(syllable, "ü", "yu") syllable = gsub(syllable, "([^lwy])o(%d)$", "%1wo%2") syllable = gsub(syllable, "([yz])%1", "%1") syllable = gsub(syllable, "^([^%d]+)(%d)$", num_to_mark) table.insert(syllables, syllable) end word = table.concat(syllables, "-") word = cap and gsub(word, "^.", upper) or word table.insert(words, word) end return toNFC(table.concat(words, " ")) end -- Converts Hanyu Pinyin into the Palladius system. function export.py_palladius(text) local words = {} for word in gsplit(text, " ") do local cap = find(toNFD(word), "^%u") word = export.py_transform(word, true) local syllables = {} for syllable in gsplit(word, " ") do syllable = toNFC(gsub(syllable, "%d", "")) syllable = gsub(syllable, "^([jqxy])u", "%1ü") syllable = gsub(syllable, "([mnr])(r?)$", function(m1, m2) m1 = m_data.py_palladius_final[m1] or m1 return m1 .. (m2 == "r" and "р" or "") end) syllable = gsub(syllable, "ng", "н") syllable = gsub(syllable, "^..", m_data.py_palladius_two_initials) syllable = gsub(syllable, "^.", m_data.py_palladius_one_initial) for chars, replacement in pairs(m_data.py_palladius_three_medials) do syllable = gsub(syllable, chars, replacement) end for chars, replacement in pairs(m_data.py_palladius_two_medials) do syllable = gsub(syllable, chars, replacement) end syllable = gsub(syllable, ".", m_data.py_palladius_one_medial) for chars, replacement in pairs(m_data.py_palladius_specials) do syllable = gsub(syllable, chars, replacement) end syllable = gsub(syllable, "н$", "%1" .. pua[1]) syllable = gsub(syllable, "[ую]$", "%1" .. pua[3]) syllable = gsub(syllable, "[ая]?о$", "%1" .. pua[4]) syllable = gsub(syllable, "[ая]$", "%1" .. pua[5]) syllable = gsub(syllable, "ю?[иэ]$", "%1" .. pua[6]) syllable = gsub(syllable, "оу$", "%1" .. pua[6]) if syllable == "н" or syllable == "нь" then syllable = syllable .. pua[7] end table.insert(syllables, syllable) end word = table.concat(syllables, "") word = gsub(word, "н" .. pua[1] .. "([аеёиоуэюя])", "нъ%1") for chars, replacement in pairs(m_data.py_palladius_disambig) do word = gsub(word, chars, replacement) end word = gsub(word, "[" .. pua[1] .. "-" .. pua[7] .. "]", "") word = cap and gsub(word, "^.", upper) or word table.insert(words, word) end return toNFC(table.concat(words, " ")) end function export.py_format(text, cap, bg, simple) if cap == false then cap = nil end if bg == false then bg = 'n' else bg = 'y' end if simple == false then simple = nil end text = toNFD(text) local phon = text local title = mw.title.getCurrentTitle().text local cat = '' local spaced = toNFD(export.py_transform(text)) local space_count spaced, space_count = spaced:gsub(' ', '@') local consec_third_count for _ = 1, space_count do spaced, consec_third_count = gsub(spaced, "([^@]+)̌([^#@]*)@([^#@]+̌)", function(a, b, c) return temp_bg(a..'́'..b, bg)..'@'..c end, 1) if consec_third_count > 0 then phon = gsub(spaced, '@', '') end end text = gsub(text, "#", "") phon = gsub(phon, "#", "") if title:find('一') and not text:find('一') and not simple then cat = cat .. ' ' end if text:find('[一不]') and not simple then text = gsub(text, '[一不]$', {['一'] = 'yī', ['不'] = 'bù'}) phon = gsub(phon, '[一不]$', {['一'] = 'yī', ['不'] = 'bù'}) if find(text, '一') then if find(text, '一[^̄́̌̀]*[̄́̌]') then cat = cat .. ' ' phon = gsub(phon, '一([^̄́̌̀]*[̄́̌])', function(a) return temp_bg('yì', bg) .. a end) text = gsub(text, '一([^̄́̌̀]*[̄́̌])', 'yī%1') end if find(text, '一[^̄́̌̀]*̀') or find(text, '一ge$') or find(text, '一ge[^nr]') then cat = cat .. ' ' phon = gsub(phon, '一([^̄́̌̀]*̀)', function(a) return temp_bg('yí', bg) .. a end) phon = gsub(phon, '一ge', temp_bg('yí', bg) .. 'ge') text = gsub(text, '一([^̄́̌̀]*[̄́̌])', 'yī%1') end end if find(text, '不 ?[bpmfvdtnlgkhjqxzcsrwy]?[ghn]?[aeiou]*̀') then cat = cat .. ' ' phon = gsub(phon, '不( ?[bpmfvdtnlgkhjqxzcsrwy]?[ghn]?[aeiou]*̀)', function(a) return temp_bg('bú', bg) .. a end) end end text = gsub(text, '[一不]', {['一'] = 'yī', ['不'] = 'bù'}) text = gsub(text, '兒', function() return make_bg('r', bg) end) -- character is deleted phon = gsub(phon, '[一不]', {['一'] = 'yī', ['不'] = 'bù'}) phon = gsub(phon, '<([^>]+)>', '<span style="background-color:#F5DEB3">%1</span>') if not simple then if cap then text = gsub(text, '^%l', upper) phon = gsub(phon, '^%l', upper) end local linked_text = require("Module:links").full_link{term = text, lang = cmn} if phon ~= text then text = (linked_text) .. " [Phonetic: " .. phon .. "]" else text = linked_text end if mw.title.getCurrentTitle().nsText ~= "တမ်းပလေက်" then text = text .. cat end end return toNFC(text) end function export.make_tl(original_text, tl_pos, bg, cap) if bg == false then bg = 'n' else bg = 'y' end local _, countoriginal = original_text:gsub(" ", " ") local spaced = export.py_transform(original_text) if sub(spaced, -1, -1) == ' ' then spaced = sub(spaced, 1, -2) end local _, count = spaced:gsub(" ", " ") local index = {} local start, finish local pos = 1 for i = 1, count, 1 do if i ~= 1 then pos = (index[i-1] + 1) end index[i] = find(spaced, ' ', pos) end if tl_pos == 2 then start = index[count-1] - count + countoriginal + 2 finish = index[count] - count + countoriginal elseif tl_pos == 3 then start = index[count-2] - count + countoriginal + 3 finish = index[count-1] - count + countoriginal + 1 else start = count == 0 and 1 or (index[count] - count + countoriginal + 1) finish = -1 end local text = (sub(original_text, 1, start-1) .. make_bg(gsub(sub(original_text, start, finish), '.', export.py_detone), bg)) if finish ~= -1 then text = (text .. sub(original_text, finish+1, -1)) end if cap == true then text = gsub(text, '^%l', upper) end return text end function export.tag(first, second, third, fourth, fifth) local text = "(''" local tag = {} local tagg = first or "Standard Chinese" tag[1] = (second ~= '') and second or "Standard Chinese" tag[2] = (third ~= '') and third or nil tag[3] = (fourth ~= '') and fourth or nil tag[4] = (fifth ~= '') and fifth or nil text = text .. ((tagg == '') and table.concat(tag, ", ") or tagg) .. "'')" text = gsub(text, 'Standard Chinese', "[[w:Standard Chinese|Standard Chinese]]") text = gsub(text, 'Mainland', "[[w:Putonghua|Mainland]]") text = gsub(text, 'Taiwan', "[[w:Taiwanese Mandarin|Taiwan]]") text = gsub(text, 'Beijing', "[[w:Beijing dialect|Beijing]]") text = gsub(text, 'erhua', "[[w:erhua|erhua]]") text = gsub(text, 'Min Nan', "[[w:Min Nan|Min Nan]]") text = gsub(text, 'shangkouzi', "''[[上口字|shangkouzi]]''") return text end function export.straitdiff(text, pron_ind, tag) local conv_text = text for i = 1, #text do if m_zh_data().MT[sub(text, i, i)] then conv_text = 'y' end end if tag == 'tag' then conv_text = (conv_text == 'y') and m_zh_data().MT_tag[match(text, '[丁-丌与-龯㐀-䶵]')][pron_ind] or '' elseif pron_ind == 1 or pron_ind == 2 or pron_ind == 3 or pron_ind == 4 or pron_ind == 5 then local reading = {} for a, b in pairs(m_zh_data().MT) do reading[a] = b[pron_ind] if reading[a] then reading[a] = gsub(reading[a], "^([āōēáóéǎǒěàòèaoe])", "'%1") end end conv_text = gsub(text, '.', reading) text = gsub(text, "^'", "") text = gsub(text, " '", " ") if conv_text == text and tag == 'exist' then return nil end end conv_text = gsub(conv_text, "^'", "") return conv_text end function export.str_analysis(text, conv_type, other_m_vars) local MT = m_zh_data().MT text = gsub(text, '{default}', '') text = gsub(text, '=', '—') text = gsub(text, ',', '隔') text = gsub(text, '隔 ', ', ') if conv_type == 'head' or conv_type == 'link' then if find(text, '隔cap—') then text = gsub(text, '[一不]', {['一'] = 'Yī', ['不'] = 'Bù'}) end text = gsub(text, '[一不]', {['一'] = 'yī', ['不'] = 'bù'}) end local comp = split(text, '隔', true) local reading = {} local alternative_reading = {} local zhuyin = {} --[[ -- not used local param = { '1n', '1na', '1nb', '1nc', '1nd', 'py', 'cap', 'tl', 'tl2', 'tl3', 'a', 'audio', 'er', 'ertl', 'ertl2', 'ertl3', 'era', 'eraudio', '2n', '2na', '2nb', '2nc', '2nd', '2py', '2cap', '2tl', '2tl2', '2tl3', '2a', '2audio', '2er', '2ertl', '2ertl2', '2ertl3', '2era', '2eraudio', '3n', '3na', '3nb', '3nc', '3nd', '3py', '3cap', '3tl', '3tl2', '3tl3', '3a', '3audio', '3er', '3ertl', '3ertl2', '3ertl3', '3era', '3eraudio', '4n', '4na', '4nb', '4nc', '4nd', '4py', '4cap', '4tl', '4tl2', '4tl3', '4a', '4audio', '4er', '4ertl', '4ertl2', '4ertl3', '4era', '4eraudio', '5n', '5na', '5nb', '5nc', '5nd', '5py', '5cap', '5tl', '5tl2', '5tl3', '5a', '5audio', '5er', '5ertl', '5ertl2', '5ertl3', '5era', '5eraudio' } --]] if conv_type == '' then return comp[1] elseif conv_type == 'head' or conv_type == 'link' then for i, item in ipairs(comp) do if not find(item, '—') then if find(item, '[一-龯㐀-䶵]') then local M, T, t = {}, {}, {} for a, b in pairs(MT) do M[a] = b[1]; T[a] = b[2]; t[a] = b[3]; M[a] = gsub(M[a], "^([āōēáóéǎǒěàòèaoe])", "'%1") T[a] = gsub(T[a], "^([āōēáóéǎǒěàòèaoe])", "'%1") if t[a] then t[a] = gsub(t[a], "^([āōēáóéǎǒěàòèaoe])", "'%1") end end local mandarin = gsub(item, '.', M) local taiwan = gsub(item, '.', T) mandarin = gsub(mandarin, "^'", "") mandarin = gsub(mandarin, " '", " ") if conv_type == 'link' then return mandarin end taiwan = gsub(taiwan, "^'", "") taiwan = gsub(taiwan, " '", " ") local tt = gsub(item, '.', t) if find(text, 'cap—') then mandarin = gsub(mandarin, '^%l', upper) taiwan = gsub(taiwan, '^%l', upper) tt = gsub(tt, '^%l', upper) end if tt == item then zhuyin[i] = export.py_zhuyin(mandarin, true) .. ', ' .. export.py_zhuyin(taiwan, true) mandarin = gsub(mandarin, "#", "") taiwan = gsub(taiwan, "#", "") reading[i] = '[[' .. mandarin .. '#Mandarin|' .. mandarin .. ']], [[' .. taiwan .. '#Mandarin|' .. taiwan .. ']]' else tt = gsub(tt, "^'", "") tt = gsub(tt, " '", " ") zhuyin[i] = export.py_zhuyin(mandarin, true) .. ', ' .. export.py_zhuyin(taiwan, true) .. ', ' .. export.py_zhuyin(tt, true) mandarin = gsub(mandarin, "#", "") taiwan = gsub(taiwan, "#", "") tt = gsub(tt, "#", "") reading[i] = '[[' .. mandarin .. '#Mandarin|' .. mandarin .. ']], [[' .. taiwan .. '#Mandarin|' .. taiwan .. ']], [[' .. tt .. '#Mandarin|' .. tt .. ']]' end else if conv_type == 'link' then return item end zhuyin[i] = export.py_zhuyin(item, true) reading[i] = item if len(mw.title.getCurrentTitle().text) == 1 and #split(export.py_transform(item), " ") == 1 then local target = export.py_transf(reading[i]) alternative_reading[i] = "[[" .. target .. "|" .. gsub(target, '([1-5])', sup) .. "]]" if alternative_reading[i]:find("5") then alternative_reading[i] = alternative_reading[i] .. "<span class=\"Zsym mention\" style=\"font-size:100%;\">/</span>" .. alternative_reading[i]:gsub("5", "0") end local title = mw.title.new(mw.ustring.lower(target)):getContent() if not (title and title:find("{{cmn%-pinyin}}")) then track("uncreated pinyin") end end reading[i] = gsub(reading[i], "#", "") if reading[i] ~= '' then reading[i] = '[[' .. reading[i] .. '#Mandarin|'.. reading[i] .. ']]' end end end comp[i] = item if conv_type == 'link' then return comp[1] end end local id = m_zh.ts_determ(mw.title.getCurrentTitle().text) local accel if id == 'trad' then accel = '<span class="form-of pinyin-t-form-of transliteration-' .. m_zh.ts(mw.title.getCurrentTitle().text) elseif id == 'simp' then track("simp") accel = '<span class="form-of pinyin-s-form-of transliteration-' .. m_zh.st(mw.title.getCurrentTitle().text) elseif id == 'both' then accel = '<span class="form-of pinyin-ts-form-of' end accel = accel .. '" lang="cmn" class="zhpron-monospace">' local result = other_m_vars and "*: <small>(''[[w:Standard Chinese|Standard]]'')</small>\n*::" or "*:" result = result .. "<small>(''[[w:Pinyin|Pinyin]]'')</small>: " .. accel .. gsub(table.concat(reading, ", "), ", ,", ",") if alternative_reading[1] then result = result .. " (" .. table.concat(alternative_reading, ", ") .. ")" end result = result .. (other_m_vars and "</span>\n*::" or "</span>\n*:") result = result .. "<small>(''[[w:Zhuyin|Zhuyin]]'')</small>: " .. '<span lang="cmn-Bopo" class="Bopo">' .. gsub(table.concat(zhuyin, ", "), ", ,", ",") .. "</span>" return result elseif conv_type == '2' or conv_type == '3' or conv_type == '4' or conv_type == '5' then if not find(text, '隔') or (comp[tonumber(conv_type)] and find(comp[tonumber(conv_type)], '—')) then return '' else return comp[tonumber(conv_type)] end else for i = 1, #comp, 1 do local target = '^' .. conv_type .. '—' if find(comp[i], target) then text = gsub(comp[i], target, '') return text end end text = '' end return text end function export.homophones(pinyin) local text = '' if mw.title.getCurrentTitle().nsText == '' then local args = get_hom_data(pinyin).list[pinyin] text = '<div style="visibility:hidden; float:left"><sup><span style="color:#FFF">edit</span></sup></div>' for i, term in ipairs(args) do if i > 1 then text = text .. "<br>" end if mw.title.new(term).exists and term ~= mw.title.getCurrentTitle().text then local forms = { term } local content = mw.title.new(term):getContent() local template = match(content, "{{zh%-forms[^}]*}}") if template then local simp = match(template, "|s=([^|}])+") if simp then table.insert(forms, simp) end for tradVar in gmatch(template, "|t[0-9]=([^|}])+") do table.insert(forms, tradVar) end for simpVar in gmatch(template, "|s[0-9]=([^|}])+") do table.insert(forms, simpVar) end term = table.concat(forms, "/") end end text = text .. require("Module:links").full_link{ term = term, lang = cmn, tr = "-" } end text = text .. ' ' end return text end local function erhua(word, erhua_pos, pagename) local title = split(pagename, '') local linked_title = '' local syllables = split(export.py_transform(word), ' ') local count = #syllables erhua_pos = find(erhua_pos, '[1-9]') and split(erhua_pos, ';') or { count } for _, pos in ipairs(erhua_pos) do pos = tonumber(pos) title[pos] = title[pos] .. '兒' syllables[pos] = syllables[pos] .. 'r' end local title = table.concat(title) if mw.title.new(title).exists then linked_title = ' (' .. require("Module:links").full_link{ term = title, lang = cmn, tr = "-" } .. ')' end for i, syllable in pairs(syllables) do if i ~= 1 and toNFD(syllable):find('^[aeiou]') then syllables[i] = "'" .. syllable end end word = table.concat(syllables, '') return (export.tag('', '', 'erhua-ed') .. linked_title), word end export.erhua = erhua function export.make(frame) local args = frame:getParent().args return export.make_args(args) end function export.make_args(args) local pagename = mw.title.getCurrentTitle().text local text = {} local reading = {args[1] or '', args[2] or '', args[3] or '', args[4] or '', args[5] or ''} args["1nb"] = ine(args["1nb"]) if reading[1] ~= '' then local title = export.tag((args["1n"] or ''), (args["1na"] or ''), (args["1nb"] or export.straitdiff(args[1], 1, 'tag')), (args["1nc"] or ''), (args["1nd"] or '')) local pinyin = export.straitdiff(reading[1], 1, '') table.insert(text, export.make_table(title, pinyin, (args["py"] or ''), (args["cap"] or ''), (args["tl"] or ''), (args["tl2"] or ''), (args["tl3"] or ''), (args["a"] or args["audio"] or ''))) if args["er"] and args["er"] ~= '' then title, pinyin = erhua(pinyin, args["er"], pagename) table.insert(text, export.make_table(title, pinyin, '', (args["cap"] or ''), (args["ertl"] or ''), (args["ertl2"] or ''), (args["ertl3"] or ''), (args["era"] or args["eraudio"] or ''), true)) end end if reading[2] ~= '' or export.straitdiff(reading[1], 2, 'exist') then if args["2nb"] and args["2nb"] ~= '' then tagb = args["2nb"] else tagb = export.straitdiff(args[1], 2, 'tag') end title = export.tag((args["2n"] or ''), (args["2na"] or ''), tagb, (args["2nc"] or ''), (args["2nd"] or '')) pinyin = (reading[2] ~= '') and reading[2] or export.straitdiff(reading[1], 2, '') table.insert(text, export.make_table(title, pinyin, (args["2py"] or ''), (args["2cap"] or ''), (args["2tl"] or ''), (args["2tl2"] or ''), (args["2tl3"] or ''), (args["2a"] or args["2audio"] or ''), true)) table.insert(text, ' ') if args["2er"] and args["2er"] ~= '' then title, pinyin = erhua(pinyin, args["2er"], pagename) table.insert(text, export.make_table(title, pinyin, '', (args["2cap"] or ''), (args["2ertl"] or ''), (args["2ertl2"] or ''), (args["2ertl3"] or ''), (args["2era"] or args["2eraudio"] or ''), true)) end if reading[3] ~= '' or export.straitdiff(reading[1], 3, 'exist') then if args["3nb"] and args["3nb"] ~= '' then tagb = args["3nb"] else tagb = export.straitdiff(args[1], 3, 'tag') end title = export.tag((args["3n"] or ''), (args["3na"] or ''), tagb, (args["3nc"] or ''), (args["3nd"] or '')) if reading[3] ~= '' then pinyin = reading[3] else pinyin = export.straitdiff(reading[1], 3, '') end table.insert(text, export.make_table(title, pinyin, (args["3py"] or ''), (args["3cap"] or ''), (args["3tl"] or ''), (args["3tl2"] or ''), (args["3tl3"] or ''), (args["3a"] or args["3audio"] or ''), true)) if args["3er"] and args["3er"] ~= '' then title, pinyin = erhua(pinyin, args["3er"], pagename) table.insert(text, export.make_table(title, pinyin, '', (args["3cap"] or ''), (args["3ertl"] or ''), (args["3ertl2"] or ''), (args["3ertl3"] or ''), (args["3era"] or args["3eraudio"] or ''), true)) end if reading[4] ~= '' or export.straitdiff(reading[1], 4, 'exist') then if args["4nb"] and args["4nb"] ~= '' then tagb = args["4nb"] else tagb = export.straitdiff(args[1], 4, 'tag') end title = export.tag((args["4n"] or ''), (args["4na"] or ''), tagb, (args["4nc"] or ''), (args["4nd"] or '')) if reading[4] ~= '' then pinyin = reading[4] else pinyin = export.straitdiff(reading[1], 4, '') end table.insert(text, export.make_table(title, pinyin, (args["4py"] or ''), (args["4cap"] or ''), (args["4tl"] or ''), (args["4tl2"] or ''), (args["4tl3"] or ''), (args["4a"] or args["4audio"] or ''), true)) if args["4er"] and args["4er"] ~= '' then title, pinyin = erhua(pinyin, args["4er"], pagename) table.insert(text, export.make_table(title, pinyin, '', (args["4cap"] or ''), (args["4ertl"] or ''), (args["4ertl2"] or ''), (args["4ertl3"] or ''), (args["4era"] or args["4eraudio"] or ''), true)) end if reading[5] ~= '' or export.straitdiff(reading[1], 5, 'exist') then if args["5nb"] and args["5nb"] ~= '' then tagb = args["5nb"] else tagb = export.straitdiff(args[1], 5, 'tag') end title = export.tag((args["5n"] or ''), (args["5na"] or ''), tagb, (args["5nc"] or ''), (args["5nd"] or '')) if reading[5] ~= '' then pinyin = reading[5] else pinyin = export.straitdiff(reading[1], 5, '') end table.insert(text, export.make_table(title, pinyin, (args["5py"] or ''), (args["5cap"] or ''), (args["5tl"] or ''), (args["5tl2"] or ''), (args["5tl3"] or ''), (args["5a"] or args["5audio"] or ''), true)) if args["5er"] and args["5er"] ~= '' then title, pinyin = erhua(pinyin, args["5er"], pagename) table.insert(text, export.make_table(title, pinyin, '', (args["5cap"] or ''), (args["5ertl"] or ''), (args["5ertl2"] or ''), (args["5ertl3"] or ''), (args["5era"] or args["5eraudio"] or ''), true)) end end end end end if (args["tl"] or '') .. (args["tl2"] or '') .. (args["tl3"] or '') .. (args["2tl"] or '') .. (args["2tl2"] or '') .. (args["2tl3"] or '') ~= '' then table.insert(text, ' ') end return table.concat(text) end local function add_audio(text, audio, pinyin) if audio and audio ~= "" then if audio == "y" then audio = format('zh-%s.ogg', pinyin) end table.insert(text, '\n*:: [[File:') table.insert(text, audio) table.insert(text, ']]') table.insert(text, '[[ကဏ္ဍ:အငေါဝ်းထန်ႏလိဉ့်တွမ်ႏမန်ဒရိဉ်းငေါဝ်းငွါဖုံႏ]]') end end function export.make_audio(args) local text, reading, pinyin = {}, {}, "" local audio = { args["a"] or args["audio"] or '', args["2a"] or args["2audio"] or '', args["3a"] or args["3audio"] or '', args["4a"] or args["4audio"] or '', args["5a"] or args["5audio"] or '', } for i=1, 5 do reading[i] = args[i] or '' if i == 1 then pinyin = export.straitdiff(reading[1], 1, '') else pinyin = (reading ~= '') and reading[i] or export.straitdiff(reading[1], i, '') end pinyin = export.py_format(pinyin, false, false, true) add_audio(text, audio[i], pinyin) end return table.concat(text) end function export.make_table(title, pinyin, py, cap, tl, tl2, tl3, a, novariety) py = ine(py);cap = ine(cap);tl = ine(tl);tl2 = ine(tl2);tl3 = ine(tl3);a = ine(a);novariety = ine(novariety) local text = {} local pinyin_simple_fmt = export.py_format(pinyin, false, false, true) if not novariety then table.insert(text, '* [[w:en:Mandarin Chinese|မန်ဒရိဉ်း]]') else table.insert(text, '<br>') end table.insert(text, '\n** <small>' .. title .. '</small>') local hom_found if get_hom_data(pinyin_simple_fmt).list[lower(pinyin_simple_fmt)] then hom_found = true else hom_found = false table.insert(text, '<sup><small><abbr title="Add Mandarin homophones"><span class="plainlinks">[' .. tostring(mw.uri.fullUrl("Module:zh/data/cmn-hom/" .. hom_data_part(pinyin_simple_fmt), {["action"]="edit"})) .. ' +]</span></abbr></small></sup>') end table.insert(text, "\n*** <small>''[[w:Pinyin|Hanyu Pinyin]]''</small>: ") local id = m_zh.ts_determ(mw.title.getCurrentTitle().text) if id == 'trad' then table.insert(text, '<span class="form-of pinyin-t-form-of transliteration-') table.insert(text, m_zh.ts(mw.title.getCurrentTitle().text)) elseif id == 'simp' then table.insert(text, '<span class="form-of pinyin-s-form-of transliteration-') table.insert(text, m_zh.st(mw.title.getCurrentTitle().text)) else -- both table.insert(text, '<span class="form-of pinyin-ts-form-of') end table.insert(text, '" lang="cmn" class="zhpron-monospace">') if py then table.insert(text, py) else if cap then table.insert(text, export.py_format(pinyin, true, true)) else table.insert(text, export.py_format(pinyin, false, true)) end if tl or tl2 or tl3 then table.insert(text, ' → ') if tl then tl_pos = 1 elseif tl2 then tl_pos = 2 elseif tl3 then tl_pos = 3 end if cap then table.insert(text, export.make_tl(export.py_format(pinyin, true, false, true), tl_pos, true, true)) else table.insert(text, export.make_tl(pinyin_simple_fmt, tl_pos, true)) end end if tl then table.insert(text, ' <small>(toneless final syllable variant)</small>') elseif tl2 or tl3 then table.insert(text, ' <small>(toneless variant)</small>') end end table.insert(text, "</span>\n*** <small>''[[w:Zhuyin|Zhuyin]]''</small>: ") table.insert(text, '<span lang="cmn-Bopo" class="Bopo">') table.insert(text, export.py_zhuyin(pinyin_simple_fmt, true)) if tl or tl2 or tl3 then table.insert(text, ' → ') table.insert(text, export.py_zhuyin(export.make_tl(pinyin_simple_fmt, tl_pos, false), true)) end table.insert(text, '</span>') if tl then table.insert(text, ' <small>(toneless final syllable variant)</small>') elseif tl2 or tl3 then table.insert(text, ' <small>(toneless variant)</small>') end table.insert(text, "\n*** <small>''[[w:Tongyong Pinyin|Tongyong Pinyin]]''</small>: <span lang=\"cmn-Latn-tongyong\" class=\"zhpron-monospace\">") if tl or tl2 or tl3 then table.insert(text, export.py_tongyong(export.make_tl(pinyin_simple_fmt, tl_pos, false), pinyin_simple_fmt)) else table.insert(text, export.py_tongyong(pinyin_simple_fmt)) end table.insert(text, '</span>') table.insert(text, "\n*** <small>''[[w:Wade–Giles|Wade–Giles]]''</small>: <span lang=\"cmn-Latn-wadegile\" class=\"zhpron-monospace\">") if tl or tl2 or tl3 then table.insert(text, export.py_wg(export.make_tl(pinyin_simple_fmt, tl_pos, false), pinyin_simple_fmt)) else table.insert(text, export.py_wg(pinyin_simple_fmt)) end table.insert(text, '</span>') table.insert(text, "\n*** <small>''[[w:Yale romanization of Mandarin|Yale]]''</small>: <span lang=\"cmn-Latn\" class=\"zhpron-monospace\">") if tl or tl2 or tl3 then table.insert(text, export.py_yale(export.make_tl(pinyin_simple_fmt, tl_pos, false), pinyin_simple_fmt)) else table.insert(text, export.py_yale(pinyin_simple_fmt)) end table.insert(text, '</span>') table.insert(text, "\n*** <small>''[[w:Gwoyeu Romatzyh|Gwoyeu Romatzyh]]''</small>: <span lang=\"cmn-Latn\" class=\"zhpron-monospace\">") if tl or tl2 or tl3 then table.insert(text, export.py_gwoyeu(export.make_tl(pinyin_simple_fmt, tl_pos, false), pinyin_simple_fmt)) else table.insert(text, export.py_gwoyeu(pinyin_simple_fmt)) end table.insert(text, '</span>') table.insert(text, "\n*** <small>''[[w:Cyrillization of Chinese|Palladius]]''</small>: <span class=\"zhpron-monospace\"><span lang=\"cmn-Cyrl\">") local palladius if tl or tl2 or tl3 then palladius = export.py_palladius(export.make_tl(pinyin_simple_fmt, tl_pos, false), pinyin_simple_fmt) else palladius = export.py_palladius(pinyin_simple_fmt) end table.insert(text, palladius) table.insert(text, "</span> <span lang=\"cmn-Latn\">(") table.insert(text, require("Module:ru-translit").tr(palladius, "cmn")) table.insert(text, ")</span></span>") table.insert(text, '\n*** <small>Sinological [[Wiktionary:International Phonetic Alphabet|IPA]] <sup>([[Appendix:Mandarin pronunciation|key]])</sup></small>: <span class="IPA">/') table.insert(text, export.py_ipa(pinyin)) if tl or tl2 or tl3 then table.insert(text, '/ → /') table.insert(text, export.py_ipa(export.make_tl(pinyin_simple_fmt, tl_pos, false))) end table.insert(text, '/</span>') -- if a then -- if a == 'y' then a = 'zh-' .. pinyin_simple_fmt .. '.ogg' end -- table.insert(text, '\n*** <div style="display:inline-block; position:relative; top:0.5em;">[[File:') -- table.insert(text, a) -- table.insert(text, ']]</div>[[ကဏ္ဍ:အငေါဝ်းထန်ႏလိဉ့်တွမ်ႏမန်ဒရိဉ်းငေါဝ်းငွါဖုံႏ]]') -- end if hom_found then table.insert(text, "\n*** <small>Homophones</small>: " .. '<table class="wikitable" style="width:15em;margin:0; position:left; text-align:center">' .. '<tr><th class="mw-customtoggle-cmnhom" style="color:#3366bb">[Show/Hide]</th></tr>' .. '<tr class="mw-collapsible mw-collapsed" id="mw-customcollapsible-cmnhom">' .. '<td><sup><div style="float: right; clear: right;"><span class="plainlinks">[') table.insert(text, tostring(mw.uri.fullUrl("Module:zh/data/cmn-hom/" .. hom_data_part(pinyin_simple_fmt), {["action"]="edit"}))) table.insert(text, ' edit]</span></div></sup>') table.insert(text, export.homophones(lower(pinyin_simple_fmt))) table.insert(text, '</td></tr></table>') end return table.concat(text) end function export.py_headword(frame) local params = { ["head"] = true, ["zhuyin"] = true, ["notr"] = {type = "boolean"}, } local args = require("Module:parameters").process(frame:getParent().args, params, nil, "cmn-pron", "py_headword") local head = args.head or mw.title.getCurrentTitle().text local head_simple = require("Module:links").remove_links(head) local Latn = require("Module:scripts").getByCode("Latn") local categories = {"ဟန်ယု ပိဉ်ယိဉ်း", "မန်ဒရိဉ်းငဝ်းတဲႏတမွေးတဝ်း ဝေါဟာရဖုံႏ"} local inflections = {} if head:find("[0-5]") then table.insert(categories, "Hanyu Pinyin with tone numbers") head = head:gsub("%d", sup) elseif not args.notr then local py_detoned = export.py_transform(head, true) if not py_detoned:find("%s") then if py_detoned:find("5") then py_detoned = py_detoned .. "//" .. py_detoned:gsub("5", "0") end py_detoned = py_detoned:gsub("%d", sup) table.insert(inflections, {py_detoned, sc = Latn}) end end if not args.notr then local Bopo = require("Module:scripts").getByCode("Bopo") head_simple = export.py_number_to_mark(head_simple) table.insert(inflections, { label = "[[Zhuyin fuhao|Zhuyin]]", { term = args.zhuyin or export.py_zhuyin(head_simple), sc = Bopo, nolink = true } }) end -- Don't pass a redundant head value, because they get categorised as redundant. if head == mw.title.getCurrentTitle().text then head = nil end return require("Module:headword").full_headword{lang = cmn, sc = Latn, heads = {head}, inflections = inflections, pos_category = "pinyin", categories = categories, noposcat = true} end return export bq9jsbwjauk1cjh6ml8i11sjrb458xk ကဏ္ဍ:ဂန်ဟန်သီဖုံႏ 14 5587 12787 2025-06-29T13:55:51Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "[[ကဏ္ဍ:ဂန်ဘာႏသာႏငဝ်းငွါ]]" 12787 wikitext text/x-wiki [[ကဏ္ဍ:ဂန်ဘာႏသာႏငဝ်းငွါ]] f73lv9i57fjmr0dqysw051h7pft0yrd ကဏ္ဍ:ဟက်ကာဟန်သီဖုံႏ 14 5588 12788 2025-06-29T13:58:41Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "[[ကဏ္ဍ:ဟက်ကာဘာႏသာႏငဝ်းငွါ]]" 12788 wikitext text/x-wiki [[ကဏ္ဍ:ဟက်ကာဘာႏသာႏငဝ်းငွါ]] e9xmmf6uvl0u9yyhfpjdzxkf0iyphna ကဏ္ဍ:သီဆွင်ဟန်သီဖုံႏ 14 5589 12789 2025-06-29T14:02:11Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "[[ကဏ္ဍ:သီဆွင်ဘာႏသာႏငဝ်းငွါ]]" 12789 wikitext text/x-wiki [[ကဏ္ဍ:သီဆွင်ဘာႏသာႏငဝ်းငွါ]] lo6ccq2ddbi942bw1nvt8hlnz4ltv7e ကဏ္ဍ:သျင်ဟန်သီဖုံႏ 14 5590 12790 2025-06-29T14:28:47Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "[[ကဏ္ဍ:သျင်ဘာႏသာႏငဝ်းငွါ]]" 12790 wikitext text/x-wiki [[ကဏ္ဍ:သျင်ဘာႏသာႏငဝ်းငွါ]] mzgmur0fgvzw2r58ix01d952bj6grjo ကဏ္ဍ:ဝူဟန်သီဖုံႏ 14 5591 12791 2025-06-29T14:30:43Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "[[ကဏ္ဍ:ဝူဘာႏသာႏငဝ်းငွါ]]" 12791 wikitext text/x-wiki [[ကဏ္ဍ:ဝူဘာႏသာႏငဝ်းငွါ]] 7qs4alshw3m2w738pgeuijka9925g5h ကဏ္ဍ:ဟောက်ခိအဲဉ်းဟန်သီဖုံႏ 14 5592 12792 2025-06-29T14:32:31Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "[[ကဏ္ဍ:ဟောက်ခိအဲဉ်းဘာႏသာႏငဝ်းငွါ]]" 12792 wikitext text/x-wiki [[ကဏ္ဍ:ဟောက်ခိအဲဉ်းဘာႏသာႏငဝ်းငွါ]] p5fevqqu7oapinf6v9fgzevkzxpfh98 ကဏ္ဍ:မိဉ်ခဝ်ကွဉ်ႏဟန်သီဖုံႏ 14 5593 12793 2025-06-29T14:34:14Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "[[ကဏ္ဍ:မိဉ်ခဝ်ကွဉ်ႏဘာႏသာႏငဝ်းငွါ]]" 12793 wikitext text/x-wiki [[ကဏ္ဍ:မိဉ်ခဝ်ကွဉ်ႏဘာႏသာႏငဝ်းငွါ]] jwwy01d5ev7o1l1e9zep2h949kj9wp0 ကဏ္ဍ:စိဉ်ဟန်သီဖုံႏ 14 5594 12794 2025-06-29T14:36:19Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "[[ကဏ္ဍ:စိဉ်ဘာႏသာႏငဝ်းငွါ]]" 12794 wikitext text/x-wiki [[ကဏ္ဍ:စိဉ်ဘာႏသာႏငဝ်းငွါ]] f7gy6ited4zh2vvh7dd1839awfv84rx ကဏ္ဍ:ဒုန်ဂန်ဟန်သီဖုံႏ 14 5595 12795 2025-06-29T14:38:09Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "[[ကဏ္ဍ:ဒုန်ဂန်ဘာႏသာႏငဝ်းငွါ]]" 12795 wikitext text/x-wiki [[ကဏ္ဍ:ဒုန်ဂန်ဘာႏသာႏငဝ်းငွါ]] qjqz1q1ydld54j0udbi9osnmg8otr04 ကဏ္ဍ:တုဲင်းသျန်ဟန်သီဖုံႏ 14 5596 12796 2025-06-29T14:39:55Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "[[ကဏ္ဍ:တုဲင်းသျန်ဘာႏသာႏငဝ်းငွါ]]" 12796 wikitext text/x-wiki [[ကဏ္ဍ:တုဲင်းသျန်ဘာႏသာႏငဝ်းငွါ]] s9buiruv7w9tpar6whj91eupgswdxyo ကဏ္ဍ:ကန်တုံဟန်သီဖုံႏ 14 5597 12797 2025-06-29T14:41:34Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "[[ကဏ္ဍ:ကန်တုံဘာႏသာႏငဝ်းငွါ]]" 12797 wikitext text/x-wiki [[ကဏ္ဍ:ကန်တုံဘာႏသာႏငဝ်းငွါ]] 2zs6ccr6u4o0yo3ubgewwdkdq0zmmgm 圓桌 0 5598 12800 2025-06-29T15:13:30Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "{{also|円卓}} ==ခယ်ႏ== {{zh-forms|s=圆桌}} ===အငေါဝ်းထန်ႏ=== {{zh-pron |m=yuánzhuō |m-s=yuan2zo2 |c=jyun4 coek3 |g='yon4 zoh6 |h=pfs=yèn-chok;gd=yan2 zog5 |j=ye1 zuah4 |mb=ǔing-dŏ̤ |md=ièng-dó̤h |mn=xm,tw:îⁿ-toh |x=yenn2 zo6 |cat=n }} ===နာမ်ႏ=== {{head|zh|noun}} # [[ဒဲဉ်ခွုံႏဝဲင်ꩻ]]။ ===နပ်တွက်ဗျာ..." 12800 wikitext text/x-wiki {{also|円卓}} ==ခယ်ႏ== {{zh-forms|s=圆桌}} ===အငေါဝ်းထန်ႏ=== {{zh-pron |m=yuánzhuō |m-s=yuan2zo2 |c=jyun4 coek3 |g='yon4 zoh6 |h=pfs=yèn-chok;gd=yan2 zog5 |j=ye1 zuah4 |mb=ǔing-dŏ̤ |md=ièng-dó̤h |mn=xm,tw:îⁿ-toh |x=yenn2 zo6 |cat=n }} ===နာမ်ႏ=== {{head|zh|noun}} # [[ဒဲဉ်ခွုံႏဝဲင်ꩻ]]။ ===နပ်တွက်ဗျာႏ=== * ဝဲင်ꩻ။ 1t3kqafkl6cx71oaayvsi0zntcucr6d yuánzhuō 0 5599 12803 2025-06-29T15:46:01Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "==မန်ဒရိဉ်း== ===Romanization=== {{cmn-pinyin}} # {{cmn-pinyin of|圓桌}}" 12803 wikitext text/x-wiki ==မန်ဒရိဉ်း== ===Romanization=== {{cmn-pinyin}} # {{cmn-pinyin of|圓桌}} 8kwbe7fcvmqoxr6bvfs6sqf92u9bkcs 12808 12803 2025-06-29T15:54:39Z 咽頭べさ 11 12808 wikitext text/x-wiki ==မန်ဒရိဉ်း== ===လုဲင်ႏတွမ်ႏရောမအက္ခရာႏ=== {{cmn-pinyin}} # {{cmn-pinyin of|圓桌}} jkh4wuhlycenmhszo7htn4pan2fq3du တမ်းပလေက်:cmn-pinyin 10 5600 12804 2025-06-29T15:46:29Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "<includeonly>{{#invoke:cmn-pron|py_headword}}</includeonly><!-- --><noinclude>{{documentation}}</noinclude>" 12804 wikitext text/x-wiki <includeonly>{{#invoke:cmn-pron|py_headword}}</includeonly><!-- --><noinclude>{{documentation}}</noinclude> ecvjvmfmlsl5lkdjqzmfswc11ilig7g တမ်းပလေက်:cmn-pinyin of 10 5601 12805 2025-06-29T15:50:06Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "<span class="use-with-mention"><!-- -->Hanyu Pinyin reading of <!-- ====Chinese characters==== -->{{m|zh|sc={{{sc1|{{{sc|}}}}}}|{{{1<includeonly>|</includeonly>}}}|tr=-}}<!-- -->{{#if:{{{2|}}}|, {{m|zh|sc={{{sc2|{{{sc|}}}}}}|{{{2}}}|tr=-}}}}<!-- -->{{#if:{{{3|}}}|, {{m|zh|sc={{{sc3|{{{sc|}}}}}}|{{{3}}}|tr=-}}}}<!-- -->{{#if:{{{4|}}}|, {{m|zh|sc={{{sc4|{{{sc|}}}}}}|{{{4}}}|tr=-}}}}<!-- -->{{#if:{{{5|}}}|,..." 12805 wikitext text/x-wiki <span class="use-with-mention"><!-- -->Hanyu Pinyin reading of <!-- ====Chinese characters==== -->{{m|zh|sc={{{sc1|{{{sc|}}}}}}|{{{1<includeonly>|</includeonly>}}}|tr=-}}<!-- -->{{#if:{{{2|}}}|, {{m|zh|sc={{{sc2|{{{sc|}}}}}}|{{{2}}}|tr=-}}}}<!-- -->{{#if:{{{3|}}}|, {{m|zh|sc={{{sc3|{{{sc|}}}}}}|{{{3}}}|tr=-}}}}<!-- -->{{#if:{{{4|}}}|, {{m|zh|sc={{{sc4|{{{sc|}}}}}}|{{{4}}}|tr=-}}}}<!-- -->{{#if:{{{5|}}}|, {{m|zh|sc={{{sc5|{{{sc|}}}}}}|{{{5}}}|tr=-}}}}<!-- -->{{#if:{{{6|}}}|, {{m|zh|sc={{{sc6|{{{sc|}}}}}}|{{{6}}}|tr=-}}}}<!-- -->{{#if:{{{7|}}}|, {{m|zh|sc={{{sc7|{{{sc|}}}}}}|{{{7}}}|tr=-}}}}<!-- -->{{#if:{{{8|}}}|, {{m|zh|sc={{{sc8|{{{sc|}}}}}}|{{{8}}}|tr=-}}}}<!-- -->{{#if:{{{9|}}}|, {{m|zh|sc={{{sc9|{{{sc|}}}}}}|{{{9}}}|tr=-}}}}<!-- -->{{#if:{{{10|}}}|, {{m|zh|sc={{{sc10|{{{sc|}}}}}}|{{{10}}}|tr=-}}}}<!-- --></span><!-- ====Categories and checks==== -->{{#if:{{{attn|}}}| }}<!-- -->{{#if:{{{1|}}}|{{#ifexist:{{{1|}}}|| }}}}<!-- -->{{#if:{{{2|}}}|{{#ifexist:{{{2|}}}|| }}}}<!-- -->{{#if:{{{3|}}}|{{#ifexist:{{{3|}}}|| }}}}<!-- -->{{#if:{{{4|}}}|{{#ifexist:{{{4|}}}|| }}}}<!-- -->{{#if:{{{5|}}}|{{#ifexist:{{{5|}}}|| }}}}<!-- -->{{#if:{{{6|}}}|{{#ifexist:{{{6|}}}|| }}}}<!-- -->{{#if:{{{7|}}}|{{#ifexist:{{{7|}}}|| }}}}<!-- -->{{#if:{{{8|}}}|{{#ifexist:{{{8|}}}|| }}}}<!-- -->{{#if:{{{9|}}}|{{#ifexist:{{{9|}}}|| }}}}<!-- -->{{#if:{{{10|}}}|{{#ifexist:{{{10|}}}|| }}}}<!-- --><noinclude>{{documentation}}</noinclude> pj2hyne8zzdywkdehnowm08udbxreim ကဏ္ဍ:ဟန်ယု ပိဉ်ယိဉ်း 14 5602 12806 2025-06-29T15:51:28Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "[[ကဏ္ဍ:မန်ဒရိဉ်းဘာႏသာႏငဝ်းငွါ]]" 12806 wikitext text/x-wiki [[ကဏ္ဍ:မန်ဒရိဉ်းဘာႏသာႏငဝ်းငွါ]] a3x2y9elcay161tpcepxe8xxeom5zax ကဏ္ဍ:မန်ဒရိဉ်းငဝ်းတဲႏတမွေးတဝ်း ဝေါဟာရဖုံႏ 14 5603 12807 2025-06-29T15:52:32Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "[[ကဏ္ဍ:မန်ဒရိဉ်းဘာႏသာႏငဝ်းငွါ]]" 12807 wikitext text/x-wiki [[ကဏ္ဍ:မန်ဒရိဉ်းဘာႏသာႏငဝ်းငွါ]] a3x2y9elcay161tpcepxe8xxeom5zax ကဏ္ဍ:ပုဆီအန်းမိဉ်ဟန်သီဖုံႏ 14 5604 12811 2025-06-29T16:06:29Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "[[ကဏ္ဍ:ပုဆီအန်းမိဉ်ဘာႏသာႏငဝ်းငွါ]]" 12811 wikitext text/x-wiki [[ကဏ္ဍ:ပုဆီအန်းမိဉ်ဘာႏသာႏငဝ်းငွါ]] pfp9c8rtrsaf22rjyh0cfnkl746csm1 ကဏ္ဍ:မိဉ်ဒုံခဝ်ကွဉ်ႏဟန်သီဖုံႏ 14 5605 12812 2025-06-29T16:09:18Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "[[ကဏ္ဍ:မိဉ်ဒုံခဝ်ကွဉ်ႏဘာႏသာႏငဝ်းငွါ]]" 12812 wikitext text/x-wiki [[ကဏ္ဍ:မိဉ်ဒုံခဝ်ကွဉ်ႏဘာႏသာႏငဝ်းငွါ]] nd4m8azs9rflp3ctpwn50ofwymmufmz ကဏ္ဍ:တဝ်းဆွေးဟန်သီဖုံႏ 14 5606 12813 2025-06-29T16:10:44Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "[[ကဏ္ဍ:တဝ်းဆွေးဘာႏသာႏငဝ်းငွါ]]" 12813 wikitext text/x-wiki [[ကဏ္ဍ:တဝ်းဆွေးဘာႏသာႏငဝ်းငွါ]] tn19g2ezqscslpcekuuraxx511rvae2 မော်ဂျူး:luh-pron 828 5607 12815 2025-06-29T16:21:26Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "local export = {} local m_string_utils = require("Module:string utilities") local find = m_string_utils.find local match = m_string_utils.match local split = mw.text.split local gsplit = mw.text.gsplit local gsub = m_string_utils.gsub local initial_ipa = { ["b"] = "p", ["p"] = "pʰ", ["m"] = "m", ["bh"] = "b", ["d"] = "t", ["t"] = "tʰ", ["n"] = "n", ["l"] = "l", ["g"] = "k", ["k"] = "kʰ", ["ng"] = "..." 12815 Scribunto text/plain local export = {} local m_string_utils = require("Module:string utilities") local find = m_string_utils.find local match = m_string_utils.match local split = mw.text.split local gsplit = mw.text.gsplit local gsub = m_string_utils.gsub local initial_ipa = { ["b"] = "p", ["p"] = "pʰ", ["m"] = "m", ["bh"] = "b", ["d"] = "t", ["t"] = "tʰ", ["n"] = "n", ["l"] = "l", ["g"] = "k", ["k"] = "kʰ", ["ng"] = "ŋ", ["h"] = "h", ["j"] = "t͡s", ["q"] = "t͡sʰ", ["x"] = "s", ["y"] = "z", ["z"] = "t͡s", ["c"] = "t͡sʰ", ["s"] = "s", [""] = "" } local final_ipa = { ["i"] = "i", ["u"] = "u", ["a"] = "a", ["ia"] = "ia", ["ua"] = "ua", ["o"] = "ɔ", ["io"] = "iɔ", ["e"] = "ɛ", ["ie"] = "iɛ", ["ue"] = "uɛ", ["ai"] = "ai", ["uai"] = "uai", ["ao"] = "au", ["iao"] = "iau", ["eu"] = "ɛu", ["iu"] = "iu", ["oi"] = "ɔi", ["ui"] = "ui", ["am"] = "am", ["iam"] = "iam", ["m"] = "m̩", ["em"] = "em", ["im"] = "im", ["ang"] = "aŋ", ["iang"] = "iaŋ", ["uang"] = "uaŋ", ["eng"] = "eŋ", ["ieng"] = "ieŋ", ["ng"] = "ŋ̍", ["ong"] = "ɔŋ", ["iong"] = "iɔŋ", ["ing"] = "iŋ", ["ung"] = "uŋ", ["ab"] = "ap̚", ["iab"] = "iap̚", ["eb"] = "ep̚", ["ib"] = "ip̚", ["ag"] = "ak̚", ["iag"] = "iak̚", ["uag"] = "uak̚", ["eg"] = "ek̚", ["ieg"] = "iek̚", ["ueg"] = "uek̚", ["ig"] = "ik̚", ["ug"] = "uk̚", ["og"] = "ɔk̚", ["iog"] = "iɔk̚", } local tone_chao = { ["1"] = "³⁵", ["2"] = "³¹", ["3"] = "²¹", ["4"] = "⁵", ["5"] = "²²", ["6"] = "³³", ["7"] = "⁵⁵", ["8"] = "²" } -- find the sandhied tone of the first syllable in a two-syllable word -- returns nil if the tone of the first syllable does not change local function tone_sandhi(tone1, tone2) if tone1 == "1" then return "6" elseif (tone1 == "2" and match(tone2, "[1256]")) or (tone1 == "3" and match(tone2, "[123568]")) then return "7" end end -- convert Leizhounese Pinyin to IPA function export.ipa(text) if type(text) == "table" then text = text.args[1] end local result = {} for word in gsplit(text, "/") do local syllables = split(word, " ") local initial, final, tone, block, sandhi, ipa = {}, {}, {}, {}, {}, {} for i, syllable in ipairs(syllables) do initial[i], final[i], tone[i], block[i] = match(syllable, "^([bpmdtnlgkhjqxyzcs]?[hg]?)([aeiou][aeioumnbg]?[iomnbg]?g?)([1-8])(#?)$") -- check z/c/s vs. j/q/x if (find(initial[i], "^[zcs]$") and find(final[i], "^i")) or (find(initial[i], "^[jqx]$") and find(final[i], "^[aeou]")) then error("Invalid Leizhou pinyin input \"" .. syllable .. "\": initial " .. initial[i] .. " cannot go with final " .. final[i] .. ".") end -- check checked tones if (find(final[i], "[^n][bdg]$") and find(tone[i], "^[^48]$")) or ((find(final[i], "[^bdg]$") or find(final[i], "ng$")) and find(tone[i], "^[48]$")) then error("Invalid Leizhou pinyin input \"" .. syllable .. "\": final " .. final[i] .. " cannot go with tone " .. tone[i] .. ".") end end for i=1,#syllables,1 do if i+1 <= #syllables and block[i] ~= "#" then sandhi[i] = tone_sandhi(tone[i], tone[i+1]) end end for i=1,#syllables,1 do actual_tone = tone_chao[tone[i]] .. (sandhi[i] and "⁻" .. tone_chao[sandhi[i]] or "") ipa[i] = initial_ipa[initial[i]] .. final_ipa[final[i]] .. actual_tone end table.insert(result, table.concat(ipa, " ")) end return "/" .. table.concat(result, "/, /") .. "/" end function export.rom(text) text = gsub(text, "/", " / ") text = gsub(text, '([1-9-]+)', '<sup>%1</sup>') text = gsub(text, '#', '') return text end return export 3sycoski739xda72sga1hftp3s6bk4r မော်ဂျူး:csp-pron 828 5608 12816 2025-06-29T16:23:26Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "-- This module is for 南寧平話 (Nanning Pinghua) -- Not to be confused with 南寧白話, which is more like Cantonese -- Representative variety: 亭子 -- Romanisation: Jyutping++ (referred to as jpp below) -- References: -- 1. 南宁平话词典 by 覃远雄 et al. (1997) -- 2. https://leimaau.github.io/book/PHONETICIZE_bingwaa.html -- 3. 广西通志·汉语方言志 (1998) -- Also see [[Category:Nan..." 12816 Scribunto text/plain -- This module is for 南寧平話 (Nanning Pinghua) -- Not to be confused with 南寧白話, which is more like Cantonese -- Representative variety: 亭子 -- Romanisation: Jyutping++ (referred to as jpp below) -- References: -- 1. 南宁平话词典 by 覃远雄 et al. (1997) -- 2. https://leimaau.github.io/book/PHONETICIZE_bingwaa.html -- 3. 广西通志·汉语方言志 (1998) -- Also see [[Category:Nanning Pinghua]] local export = {} local initials = { b = "p", p = "pʰ", m = "m", f = "f", w = "β", d = "t", t = "tʰ", n = "n", l = "l", z = "t͡s", c = "t͡sʰ", nj = "ɲ", s = "s", sl = "ɬ", j = "j", g = "k", k = "kʰ", ng = "ŋ", h = "h", gw = "kʷ", kw = "kʰʷ", [""] = "", -- glottal stop? } -- Notes: -- iang="iɐŋ", iak="iɐk̚" in the same row as <e> -- ing="ɪŋ", ik="ɪk̚" in the same row as <i> -- ung="ʊŋ", uk="ʊk̚" in the same row as <u> local finals = { aa="a", aai="ai", aau="au", aam="am", aan="an", aang="aŋ", aap="ap̚", aat="at̚", aak="ak̚", ai="əi", au="əu", am="əm", an="ən", ang="əŋ", ap="əp̚", at="ət̚", ak="ək̚", e="e", eu="eu", em="em", en="en", iang="iɐŋ", ep="ep̚", et="et̚", iak="iɐk̚", o="o", on="on", ot="ot̚", i="i", iu="iu",im="im",["in"]="in", ing="ɪŋ", ip="ip̚", it="it̚", ik="ɪk̚", u="u", ui="ui", un="un", ung="ʊŋ", ut="ut̚", uk="ʊk̚", yu="y", yun="yn", yut="yt̚", oe="ø", oeng="øŋ", oek="øk̚", } local syllabics = { ng = "ŋ̍" } local tones = { ["1"] = "⁵³", -- 陰平(詩) ["2"] = "³³", -- 陰上(屎) / 下陰入(得) ["3"] = "⁵⁵", -- 陰去(世) / 上陰入(粒) ["4"] = "²¹", -- 陽平(時) ["5"] = "²⁴", -- 陽上(市) / 上陽入(劣) ["6"] = "²²", -- 陽去(是) / 下陽入(絕) } function export.jpp_to_ipa(text) text = text:gsub(", "," ") if text:find("^ ") or text:find(" $") or text:find(" ,") or text:find(",,") or text:find(" ") then error("Empty syllable detected.") end return "/" .. text:gsub("[^ ,]+", function(syllable_tone) syl, tone = syllable_tone:match("^(%w+)([1-6])$") if not syl then error("Invalid syllable: " .. syllable_tone) end tone = tones[tone] if syllabics[syl] then return syllabics[syl] .. tone end initial, final = syl:match("^([bpmfwdtnlzcjsgkh]*)([aeiouy]+[mnptk]?g?)$") if not initial then error("Invalid syllable: " .. syllable_tone) end return (initials[initial] or error("Invalid initial: " .. syllable_tone)) .. (finals[final] or error("Invalid final: " .. syllable_tone)) .. tone end):gsub(",","/, /") .. "/" end return export k1swq7tutups7mcetvefaoqfucasb4p မော်ဂျူး:Unicode data/images/005 828 5609 12817 2025-06-29T16:35:30Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "return { [ 0x5036 ] = "U5036.svg", [ 0x5109 ] = "儉.svg", [ 0x5143 ] = "Gw u5143.svg", [ 0x5145 ] = "U5145.svg", [ 0x5178 ] = "Gw u5178.svg", [ 0x5186 ] = "0x5186 円.svg", [ 0x51B5 ] = "U51b5.svg", [ 0x5265 ] = "U5265.svg", [ 0x53F1 ] = "U53f1.svg", [ 0x540F ] = "U540f.svg", [ 0x541D ] = "U541df.svg", [ 0x5451 ] = "U5451.svg", [ 0x5516 ] = "U5516.svg", [ 0x5555 ] = "U5555.svg", [ 0x5599 ] =..." 12817 Scribunto text/plain return { [ 0x5036 ] = "U5036.svg", [ 0x5109 ] = "儉.svg", [ 0x5143 ] = "Gw u5143.svg", [ 0x5145 ] = "U5145.svg", [ 0x5178 ] = "Gw u5178.svg", [ 0x5186 ] = "0x5186 円.svg", [ 0x51B5 ] = "U51b5.svg", [ 0x5265 ] = "U5265.svg", [ 0x53F1 ] = "U53f1.svg", [ 0x540F ] = "U540f.svg", [ 0x541D ] = "U541df.svg", [ 0x5451 ] = "U5451.svg", [ 0x5516 ] = "U5516.svg", [ 0x5555 ] = "U5555.svg", [ 0x5599 ] = "U5599.svg", [ 0x55E2 ] = "U55e2.svg", [ 0x5618 ] = "U5618.svg", [ 0x565B ] = "U565b.svg", [ 0x56A2 ] = "U56a2.svg", [ 0x56CD ] = "U56cd.svg", [ 0x56DD ] = "U56dd.svg", [ 0x5700 ] = "U5700.svg", [ 0x570B ] = "Gw u570b.svg", [ 0x5728 ] = "Gw u5728.svg", [ 0x57CA ] = "U57ca.svg", [ 0x586B ] = "U586b.svg", [ 0x58B3 ] = "U58b3.svg", [ 0x58C4 ] = "U58c4.svg", [ 0x58F7 ] = "U58f7.svg", [ 0x5944 ] = "U5944.svg", [ 0x598D ] = "U598d.svg", [ 0x5A62 ] = "U5a62.svg", [ 0x5B50 ] = "Gw u5b50.svg", [ 0x5B78 ] = "Gw u5b78.svg", [ 0x5C0F ] = "小.svg", [ 0x5C2D ] = "U5c2d.svg", [ 0x5C4F ] = "U5c4f.svg", [ 0x5C61 ] = "U5c61.svg", [ 0x5E50 ] = "U5e50.svg", [ 0x5E76 ] = "U5e76.svg", [ 0x5EC9 ] = "U5ec9.svg", [ 0x5F92 ] = "Gw u5f92.svg", } jew3jz0q5wvoaun4b4itq9xuj0675ze 免许 0 5610 12820 2025-06-29T16:42:14Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "{{also|免許}} ==ခယ်ႏ== {{zh-see|免許}}" 12820 wikitext text/x-wiki {{also|免許}} ==ခယ်ႏ== {{zh-see|免許}} cttgbq2awcos5ncbp8u9bzbn5duwkvr 傢具 0 5611 12823 2025-06-29T16:52:58Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "{{also|傢俱|家俱|家具}} ==ခယ်ႏ== {{zh-see|家具|v}}" 12823 wikitext text/x-wiki {{also|傢俱|家俱|家具}} ==ခယ်ႏ== {{zh-see|家具|v}} ey3fazpz4a6ee8sdos7tbfh4mggnta2 家俱 0 5612 12824 2025-06-29T16:53:51Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "{{also|家具|傢俱|傢具}} ==ခယ်ႏ== {{zh-see|家具|v}}" 12824 wikitext text/x-wiki {{also|家具|傢俱|傢具}} ==ခယ်ႏ== {{zh-see|家具|v}} jxzjvwn58bcz0ix8vzo0m9g6esz1xeg 傢俱 0 5613 12825 2025-06-29T16:54:44Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "{{also|傢具|家具|家俱}} ==ခယ်ႏ== {{zh-see|家具|v}}" 12825 wikitext text/x-wiki {{also|傢具|家具|家俱}} ==ခယ်ႏ== {{zh-see|家具|v}} 4m5hpg28cbxrxivtaoh3x8y8t3xxmzt 語言 0 5614 12828 2025-06-29T17:05:15Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "{{also|语言}} ==ခယ်ႏ== {{zh-forms|s=语言}} {{zh-wp|zh|yue|lzh|gan|hak:Ngî-ngièn|cdo:Ngṳ̄-ngiòng|nan:Giân-gú|wuu}} ===အငေါဝ်းထန်ႏ=== {{zh-pron |m=yǔyán |dg=йү2ян1 |c=jyu5 jin4 |c-t=ngui4 ngun3 |h=pfs=ngî-ngièn;hrs=h:ngiˋ ngien;gd=ngi1 ngian2 |mb=ngṳ̌-ngṳ̂ing |md=ngṳ̄-ngiòng |mn=xm,tp:gú-giân/qz,km:gír-giân/zz:gí-gân/kh,jj,ph:gí-giân |mn-t=..." 12828 wikitext text/x-wiki {{also|语言}} ==ခယ်ႏ== {{zh-forms|s=语言}} {{zh-wp|zh|yue|lzh|gan|hak:Ngî-ngièn|cdo:Ngṳ̄-ngiòng|nan:Giân-gú|wuu}} ===အငေါဝ်းထန်ႏ=== {{zh-pron |m=yǔyán |dg=йү2ян1 |c=jyu5 jin4 |c-t=ngui4 ngun3 |h=pfs=ngî-ngièn;hrs=h:ngiˋ ngien;gd=ngi1 ngian2 |mb=ngṳ̌-ngṳ̂ing |md=ngṳ̄-ngiòng |mn=xm,tp:gú-giân/qz,km:gír-giân/zz:gí-gân/kh,jj,ph:gí-giân |mn-t=ghe2 ngang5 |w=sh:6gniu yi |mc=1,1 |oc=1,1;3,1 |ma=y |cat=n }} ===နာမ်ႏ=== {{zh-noun}} # [[ဘာႏသာႏငေါဝ်းငွါ]]။ cd8c7o0etfxwzbc6mpuo0y2eu664g4f 牛車 0 5615 12834 2025-06-29T17:26:44Z 咽頭べさ 11 ဖန်ဆင်ꩻလဲဉ်းလိတ်မဲ့ငါ တောမ်ႏ "{{also|牛车}} ==ခယ်ႏ== {{zh-forms|s=牛车}} [[ဖုဲင်:A bullock cart.JPG|thumb|ဖိုးလေားပုင်ႏ]] ===အငဝ်းထန်ႏ=== {{zh-pron |m=niúchē |c=ngau4 ce1 |mn=gû-chhia |cat=n }} ===နာမ်ႏ=== {{head|zh|noun}} # ဖိုးလေား # ထိုမ်းလွေꩻသဲင်ꩻအီတာႏ တောမ်ႏ ဒင်ႏအီတခ..." 12834 wikitext text/x-wiki {{also|牛车}} ==ခယ်ႏ== {{zh-forms|s=牛车}} [[ဖုဲင်:A bullock cart.JPG|thumb|ဖိုးလေားပုင်ႏ]] ===အငဝ်းထန်ႏ=== {{zh-pron |m=niúchē |c=ngau4 ce1 |mn=gû-chhia |cat=n }} ===နာမ်ႏ=== {{head|zh|noun}} # ဖိုးလေား # ထိုမ်းလွေꩻသဲင်ꩻအီတာႏ တောမ်ႏ ဒင်ႏအီတခြိုꩻအမျိုꩻမျိုꩻတာႏ ဝင်ꩻကအွဉ်ႏတွူႏနေးဒါႏဖိုးနဝ်ꩻ ဝင်ꩻဟဲ့ꩻဖိုးလေားသွူ။ ====သွုံꩻပွုံႏသွုံꩻနယ်ꩻ==== # နီဖါဝါးတောမ်ႏဖိုးလော လွေꩻဒင်ႏစောဝ်းလဲဉ်းသိုႏ။ # နီထိုမ်းလွေꩻဖိုးလော တထွူးပေႏဒျာႏထာꩻ တဖူꩻတလီးလွုမ်းနေးစွဉ်ႏ။ ====နပ်တွက်ဗျာႏ==== * ဆွိုင်ꩻ <gallery> A bullock cart1.ogv A bullock cart.ogv </gallery> ohvy8hnhptmap42dwtbmb1q1yssxt0z