Module:Ccnorm

local p = {}

function p.ccnorm(frame) local rv= mw.ustring.toNFC (frame.args[1])

rv = mw.ustring.gsub(rv,"[ంಂം0０०০੦૦୦௦౦೦๐໐၀᠐〇]","0") rv = mw.ustring.gsub(rv,"[٠۰]","٠") rv = mw.ustring.gsub(rv,"[OＯｏoΘΟοОоՕօⵔഠဝ]","0") rv = mw.ustring.gsub(rv,"[١۱]","١") rv = mw.ustring.gsub(rv,"[౧೧]","౧") rv = mw.ustring.gsub(rv,"[|１1IiＩｉıɨƗɩƖｌＬLlłŁƚɫɭǀιΙІіӀᎥᏞ丨]","1") rv = mw.ustring.gsub(rv,"[2２]","2") rv = mw.ustring.gsub(rv,"[٢۲]","٢") rv = mw.ustring.gsub(rv,"[२૨]","२") rv = mw.ustring.gsub(rv,"[౨೨]","౨") rv = mw.ustring.gsub(rv,"[ƧƨϩϨᒿ]","2") rv = mw.ustring.gsub(rv,"[٣۳]","٣") rv = mw.ustring.gsub(rv,"[३૩]","३") rv = mw.ustring.gsub(rv,"[४૪]","४") rv = mw.ustring.gsub(rv,"[5５ｓSsＳʂƼƽЅѕᏕᏚ]","5") rv = mw.ustring.gsub(rv,"[７7]","7") rv = mw.ustring.gsub(rv,"[٧۷]","٧") rv = mw.ustring.gsub(rv,"[ଃ৪੪８8]","8") rv = mw.ustring.gsub(rv,"[٨۸]","٨") rv = mw.ustring.gsub(rv,"[८૮]","८") rv = mw.ustring.gsub(rv,"[Ȣȣ]","8") rv = mw.ustring.gsub(rv,"[੧୨৭9９]","9") rv = mw.ustring.gsub(rv,"[౯೯]","౯") rv = mw.ustring.gsub(rv,"[４4٩۹ａaAＡáàăắằẵẳâấầẫẩåǻäǟãǡąāảȁạặậḁæɑαΑἄᾄἂᾂἆᾆᾀἁἅᾅἃᾃἇᾇᾁάὰᾳАаᎪᏎᗅ]","A") rv = mw.ustring.gsub(rv,"[ÆӔӕ]","Æ") rv = mw.ustring.gsub(rv,"[฿BｂbＢʙƀƁɓƂƃßƄƅΒβбВвЪъьЬҌҍѣѢᏏᏴᖯᗷ]","B") rv = mw.ustring.gsub(rv,"[¢ｃcＣCćĉčċçƇƈʃςϲϹсСҫҪᏟ]","C") rv = mw.ustring.gsub(rv,"[dDⅆｄＤďḍĐđðÐƉɖɗƊƋƌԁԀᑯᗞᗪ]","D") rv = mw.ustring.gsub(rv,"[Ǳǳ]","Ǳ") rv = mw.ustring.gsub(rv,"[ǆ]","ǳ") rv = mw.ustring.gsub(rv,"[Ǆ]","Ǳ") rv = mw.ustring.gsub(rv,"[3３ｅＥeEéèĕếềễểěëẽėȩȨḝęēḗẻȅȇẹệḙḛəɛƐɜʒƷȜȝΕεҘҙЕеєЄзЗӡӠჳՅعڠⴹᎬ]","E") rv = mw.ustring.gsub(rv,"[ǝƏɘɚәӘ]","ǝ") rv = mw.ustring.gsub(rv,"[₣ＦｆFfƑƒϜϝғҒᖴ]","F") rv = mw.ustring.gsub(rv,"[６6ＧGgｇǵğĝǧġģḡɡɢǥǤɠƓБԌԍցᏀᏳ]","G") rv = mw.ustring.gsub(rv,"[ｈＨʰHhĥȞḧḣḩḥḫħĦʜɦʱⱧΗηἠἤἢἦᾐἡἥἣἧήὴнНӊӉҢңӈӇњԋћЋһҺհᎻᏂᏲᕼ]","H") rv = mw.ustring.gsub(rv,"[ĳĲ]","Ĳ") rv = mw.ustring.gsub(rv,"[JＪｊjϳЈјյᎫᏧᒍ]","J") rv = mw.ustring.gsub(rv,"[ｋKkＫķƙƘĸκΚкКҚқӄҡҞҟҝќᏦ]","K") rv = mw.ustring.gsub(rv,"[ŀĿ]","Ŀ") rv = mw.ustring.gsub(rv,"[Ǉǉ]","Ǉ") rv = mw.ustring.gsub(rv,"[₥ｍmMＭḿṁṃɱɯμΜмМӎӍᎷᗰ]","M") rv = mw.ustring.gsub(rv,"[₦ｎnNＮńňñņŅṇɲƝȠɳνΝոռ]","N") rv = mw.ustring.gsub(rv,"[ǌǊ]","Ǌ") rv = mw.ustring.gsub(rv,"[ØøǾǿ]","Ø") rv = mw.ustring.gsub(rv,"[Ơơ]","Ơ") rv = mw.ustring.gsub(rv,"[œŒ]","Œ") rv = mw.ustring.gsub(rv,"[ƟɵθϴӨөѲѳⴱᎾ]","Ɵ") rv = mw.ustring.gsub(rv,"[₧pｐPＰṕṗƥƤþǷƿρΡРрքᏢᑭ]","P") rv = mw.ustring.gsub(rv,"[ɸϕΦφФф]","ɸ") rv = mw.ustring.gsub(rv,"[ｑＱqQʠɊգԳզ]","Q") rv = mw.ustring.gsub(rv,"[®ｒRrʳＲŕřṙŗȑȓṛṝṟʀƦʴʵɼɽʶΓГгяᎡᎱᏒᖇ]","R") rv = mw.ustring.gsub(rv,"[ｔＴtTťţṭțȚ]","T") rv = mw.ustring.gsub(rv,"[Ţ]","Ţ") rv = mw.ustring.gsub(rv,"[ŦŧƫƭƬʈƮτΤТтҬҭ]","T") rv = mw.ustring.gsub(rv,"[℧ｕUuＵúùŭûǔůüǘǜǚǖűũųūƱʋƲцԱՄսՍᘴ]","U") rv = mw.ustring.gsub(rv,"[ｖＶVvѵѴᏙᐯ]","V") rv = mw.ustring.gsub(rv,"[₩WＷｗwẃẁŵẅẇẉωᎳᏔᗯ]","W") rv = mw.ustring.gsub(rv,"[᙮᙭ｘXＸxχΧХхҲҳᕁᕽ]","X") rv = mw.ustring.gsub(rv,"[ʊYＹyｙʸýỳŷÿỹẏȲỷỵƴƳΥϒυὑὕὓὗϓύὺῠϋῡУуүҮұҰҷҶӌӋყᎩᎽ]","Y") rv = mw.ustring.gsub(rv,"[ZＺｚzźžżƶƵȥȤʐΖᏃ]","Z") return rv end

return p