Module:mul-letter/data

From Wiktionary, the free dictionary
Jump to navigation Jump to search

This module needs documentation.
Please document this module by describing its purpose and usage on the documentation page.

local u = require("Module:string/char")

local casing = {
	['common'] = {
		-- Internally unsupported mappings
		['DŽ'] = {'dž', 'Dž', 'DŽ'},            -- LATIN CAPITAL LETTER DZ WITH CARON
		['Dž'] = {'dž', 'Dž', 'DŽ'},            -- LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
		['dž'] = {'dž', 'Dž', 'DŽ'},            -- LATIN SMALL LETTER DZ WITH CARON
		['LJ'] = {'lj', 'Lj', 'LJ'},            -- LATIN CAPITAL LETTER LJ
		['Lj'] = {'lj', 'Lj', 'LJ'},            -- LATIN CAPITAL LETTER L WITH SMALL LETTER J
		['lj'] = {'lj', 'Lj', 'LJ'},            -- LATIN SMALL LETTER LJ
		['NJ'] = {'nj', 'Nj', 'NJ'},            -- LATIN CAPITAL LETTER NJ
		['Nj'] = {'nj', 'Nj', 'NJ'},            -- LATIN CAPITAL LETTER N WITH SMALL LETTER J
		['nj'] = {'nj', 'Nj', 'NJ'},            -- LATIN SMALL LETTER NJ
		['DZ'] = {'dz', 'Dz', 'DZ'},            -- LATIN CAPITAL LETTER DZ
		['Dz'] = {'dz', 'Dz', 'DZ'},            -- LATIN CAPITAL LETTER D WITH SMALL LETTER Z
		['dz'] = {'dz', 'Dz', 'DZ'},            -- LATIN SMALL LETTER DZ
		['Ꞌ'] = {'ꞌ', 'Ꞌ', 'Ꞌ'},            -- LATIN CAPITAL LETTER SALTILLO
		['ꞌ'] = {'ꞌ', 'Ꞌ', 'Ꞌ'},            -- LATIN SMALL LETTER SALTILLO

		-- http://www.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt
		-- Unconditional mappings
		['ß'] = {'ß', 'Ss', 'SS'},          -- LATIN SMALL LETTER SHARP S
		--['İ'] = {'i'..u(0x0307), 'İ', 'İ'}, -- LATIN CAPITAL LETTER I WITH DOT ABOVE
	
		['ff'] = {'ff', 'Ff', 'FF'},          -- LATIN SMALL LIGATURE FF
		['fi'] = {'fi', 'Fi', 'FI'},          -- LATIN SMALL LIGATURE FI
		['fl'] = {'fl', 'Fl', 'FL'},          -- LATIN SMALL LIGATURE FL
		['ffi'] = {'ffi', 'Ffi', 'FFI'},        -- LATIN SMALL LIGATURE FFI
		['ffl'] = {'ffl', 'Ffl', 'FFL'},        -- LATIN SMALL LIGATURE FFL
		['ſt'] = {'ſt', 'St', 'ST'},          -- LATIN SMALL LIGATURE LONG S T
		['st'] = {'st', 'St', 'ST'},          -- LATIN SMALL LIGATURE ST
		['և'] = {'և', 'Եւ', 'ԵՒ'},          -- ARMENIAN SMALL LIGATURE ECH YIWN
		['ﬓ'] = {'ﬓ', 'Մն', 'ՄՆ'},          -- ARMENIAN SMALL LIGATURE MEN NOW
		['ﬔ'] = {'ﬔ', 'Մե', 'ՄԵ'},          -- ARMENIAN SMALL LIGATURE MEN ECH
		['ﬕ'] = {'ﬕ', 'Մի', 'ՄԻ'},          -- ARMENIAN SMALL LIGATURE MEN INI
		['ﬖ'] = {'ﬖ', 'Վն', 'ՎՆ'},          -- ARMENIAN SMALL LIGATURE VEW NOW
		['ﬗ'] = {'ﬗ', 'Մխ', 'ՄԽ'},          -- ARMENIAN SMALL LIGATURE MEN XEH
	
		['ʼn'] = {'ʼn', 'ʼN', 'ʼN'},                                           -- LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
		['ΐ'] = {'ΐ', 'Ι'..u(0x0308)..u(0x0301), 'Ι'..u(0x0308)..u(0x0301)}, -- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
		['ΰ'] = {'ΰ', 'Υ'..u(0x0308)..u(0x0301), 'Υ'..u(0x0308)..u(0x0301)}, -- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
		['ǰ'] = {'ǰ', 'J'..u(0x030C), 'J'..u(0x030C)},                       -- LATIN SMALL LETTER J WITH CARON
		['ẖ'] = {'ẖ', 'H'..u(0x0331), 'H'..u(0x0331)},                       -- LATIN SMALL LETTER H WITH LINE BELOW
		['ẗ'] = {'ẗ', 'T'..u(0x0308), 'T'..u(0x0308)},                       -- LATIN SMALL LETTER T WITH DIAERESIS
		['ẘ'] = {'ẘ', 'W'..u(0x030A), 'W'..u(0x030A)},                       -- LATIN SMALL LETTER W WITH RING ABOVE
		['ẙ'] = {'ẙ', 'Y'..u(0x030A), 'Y'..u(0x030A)},                       -- LATIN SMALL LETTER Y WITH RING ABOVE
		['ẚ'] = {'ẚ', 'Aʾ', 'Aʾ'},                                           -- LATIN SMALL LETTER A WITH RIGHT HALF RING
		['ὐ'] = {'ὐ', 'Υ'..u(0x0313), 'Υ'..u(0x0313)},                       -- GREEK SMALL LETTER UPSILON WITH PSILI
		['ὒ'] = {'ὒ', 'Υ'..u(0x0313)..u(0x0300), 'Υ'..u(0x0313)..u(0x0300)}, -- GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
		['ὔ'] = {'ὔ', 'Υ'..u(0x0313)..u(0x0301), 'Υ'..u(0x0313)..u(0x0301)}, -- GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
		['ὖ'] = {'ὖ', 'Υ'..u(0x0313)..u(0x0342), 'Υ'..u(0x0313)..u(0x0342)}, -- GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
		['ᾶ'] = {'ᾶ', 'Α'..u(0x0342), 'Α'..u(0x0342)},                       -- GREEK SMALL LETTER ALPHA WITH PERISPOMENI
		['ῆ'] = {'ῆ', 'Η'..u(0x0342), 'Η'..u(0x0342)},                       -- GREEK SMALL LETTER ETA WITH PERISPOMENI
		['ῒ'] = {'ῒ', 'Ι'..u(0x0308)..u(0x0300), 'Ι'..u(0x0308)..u(0x0300)}, -- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
		['ΐ'] = {'ΐ', 'Ι'..u(0x0308)..u(0x0301), 'Ι'..u(0x0308)..u(0x0301)}, -- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
		['ῖ'] = {'ῖ', 'Ι'..u(0x0342), 'Ι'..u(0x0342)},                       -- GREEK SMALL LETTER IOTA WITH PERISPOMENI
		['ῗ'] = {'ῗ', 'Ι'..u(0x0308)..u(0x0342), 'Ι'..u(0x0308)..u(0x0342)}, -- GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
		['ῢ'] = {'ῢ', 'Υ'..u(0x0308)..u(0x0300), 'Υ'..u(0x0308)..u(0x0300)}, -- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
		['ΰ'] = {'ΰ', 'Υ'..u(0x0308)..u(0x0301), 'Υ'..u(0x0308)..u(0x0301)}, -- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
		['ῤ'] = {'ῤ', 'Ρ'..u(0x0313), 'Ρ'..u(0x0313)},                       -- GREEK SMALL LETTER RHO WITH PSILI
		['ῦ'] = {'ῦ', 'Υ'..u(0x0342), 'Υ'..u(0x0342)},                       -- GREEK SMALL LETTER UPSILON WITH PERISPOMENI
		['ῧ'] = {'ῧ', 'Υ'..u(0x0308)..u(0x0342), 'Υ'..u(0x0308)..u(0x0342)}, -- GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
		['ῶ'] = {'ῶ', 'Ω'..u(0x0342), 'Ω'..u(0x0342)},                       -- GREEK SMALL LETTER OMEGA WITH PERISPOMENI
	
		['ᾀ'] = {'ᾀ', 'ᾈ', 'ἈΙ'}, -- GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
		['ᾁ'] = {'ᾁ', 'ᾉ', 'ἉΙ'}, -- GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
		['ᾂ'] = {'ᾂ', 'ᾊ', 'ἊΙ'}, -- GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
		['ᾃ'] = {'ᾃ', 'ᾋ', 'ἋΙ'}, -- GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
		['ᾄ'] = {'ᾄ', 'ᾌ', 'ἌΙ'}, -- GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
		['ᾅ'] = {'ᾅ', 'ᾍ', 'ἍΙ'}, -- GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
		['ᾆ'] = {'ᾆ', 'ᾎ', 'ἎΙ'}, -- GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
		['ᾇ'] = {'ᾇ', 'ᾏ', 'ἏΙ'}, -- GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
		['ᾈ'] = {'ᾀ', 'ᾈ', 'ἈΙ'}, -- GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
		['ᾉ'] = {'ᾁ', 'ᾉ', 'ἉΙ'}, -- GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
		['ᾊ'] = {'ᾂ', 'ᾊ', 'ἊΙ'}, -- GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
		['ᾋ'] = {'ᾃ', 'ᾋ', 'ἋΙ'}, -- GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
		['ᾌ'] = {'ᾄ', 'ᾌ', 'ἌΙ'}, -- GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
		['ᾍ'] = {'ᾅ', 'ᾍ', 'ἍΙ'}, -- GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
		['ᾎ'] = {'ᾆ', 'ᾎ', 'ἎΙ'}, -- GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
		['ᾏ'] = {'ᾇ', 'ᾏ', 'ἏΙ'}, -- GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
		['ᾐ'] = {'ᾐ', 'ᾘ', 'ἨΙ'}, -- GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
		['ᾑ'] = {'ᾑ', 'ᾙ', 'ἩΙ'}, -- GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
		['ᾒ'] = {'ᾒ', 'ᾚ', 'ἪΙ'}, -- GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
		['ᾓ'] = {'ᾓ', 'ᾛ', 'ἫΙ'}, -- GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
		['ᾔ'] = {'ᾔ', 'ᾜ', 'ἬΙ'}, -- GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
		['ᾕ'] = {'ᾕ', 'ᾝ', 'ἭΙ'}, -- GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
		['ᾖ'] = {'ᾖ', 'ᾞ', 'ἮΙ'}, -- GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
		['ᾗ'] = {'ᾗ', 'ᾟ', 'ἯΙ'}, -- GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
		['ᾘ'] = {'ᾐ', 'ᾘ', 'ἨΙ'}, -- GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
		['ᾙ'] = {'ᾑ', 'ᾙ', 'ἩΙ'}, -- GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
		['ᾚ'] = {'ᾒ', 'ᾚ', 'ἪΙ'}, -- GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
		['ᾛ'] = {'ᾓ', 'ᾛ', 'ἫΙ'}, -- GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
		['ᾜ'] = {'ᾔ', 'ᾜ', 'ἬΙ'}, -- GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
		['ᾝ'] = {'ᾕ', 'ᾝ', 'ἭΙ'}, -- GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
		['ᾞ'] = {'ᾖ', 'ᾞ', 'ἮΙ'}, -- GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
		['ᾟ'] = {'ᾗ', 'ᾟ', 'ἯΙ'}, -- GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
		['ᾠ'] = {'ᾠ', 'ᾨ', 'ὨΙ'}, -- GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
		['ᾡ'] = {'ᾡ', 'ᾩ', 'ὩΙ'}, -- GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
		['ᾢ'] = {'ᾢ', 'ᾪ', 'ὪΙ'}, -- GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
		['ᾣ'] = {'ᾣ', 'ᾫ', 'ὫΙ'}, -- GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
		['ᾤ'] = {'ᾤ', 'ᾬ', 'ὬΙ'}, -- GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
		['ᾥ'] = {'ᾥ', 'ᾭ', 'ὭΙ'}, -- GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
		['ᾦ'] = {'ᾦ', 'ᾮ', 'ὮΙ'}, -- GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
		['ᾧ'] = {'ᾧ', 'ᾯ', 'ὯΙ'}, -- GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
		['ᾨ'] = {'ᾠ', 'ᾨ', 'ὨΙ'}, -- GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
		['ᾩ'] = {'ᾡ', 'ᾩ', 'ὩΙ'}, -- GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
		['ᾪ'] = {'ᾢ', 'ᾪ', 'ὪΙ'}, -- GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
		['ᾫ'] = {'ᾣ', 'ᾫ', 'ὫΙ'}, -- GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
		['ᾬ'] = {'ᾤ', 'ᾬ', 'ὬΙ'}, -- GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
		['ᾭ'] = {'ᾥ', 'ᾭ', 'ὭΙ'}, -- GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
		['ᾮ'] = {'ᾦ', 'ᾮ', 'ὮΙ'}, -- GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
		['ᾯ'] = {'ᾧ', 'ᾯ', 'ὯΙ'}, -- GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
		['ᾳ'] = {'ᾳ', 'ᾼ', 'ΑΙ'}, -- GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
		['ᾼ'] = {'ᾳ', 'ᾼ', 'ΑΙ'}, -- GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
		['ῃ'] = {'ῃ', 'ῌ', 'ΗΙ'}, -- GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
		['ῌ'] = {'ῃ', 'ῌ', 'ΗΙ'}, -- GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
		['ῳ'] = {'ῳ', 'ῼ', 'ΩΙ'}, -- GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
		['ῼ'] = {'ῳ', 'ῼ', 'ΩΙ'}, -- GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI

		['ᾲ'] = {'ᾲ', 'Ὰ'..u(0x0345), 'ᾺΙ'},                           -- GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
		['ᾴ'] = {'ᾴ', 'Ά'..u(0x0345), 'ΆΙ'},                           -- GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
		['ῂ'] = {'ῂ', 'Ὴ'..u(0x0345), 'ῊΙ'},                           -- GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
		['ῄ'] = {'ῄ', 'Ή'..u(0x0345), 'ΉΙ'},                           -- GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
		['ῲ'] = {'ῲ', 'Ὼ'..u(0x0345), 'ῺΙ'},                           -- GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
		['ῴ'] = {'ῴ', 'Ώ'..u(0x0345), 'ΏΙ'},                           -- GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
		['ᾷ'] = {'ᾷ', 'Α'..u(0x0342)..u(0x0345), 'Α'..u(0x0342)..'Ι'}, -- GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
		['ῇ'] = {'ῇ', 'Η'..u(0x0342)..u(0x0345), 'Η'..u(0x0342)..'Ι'}, -- GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
		['ῷ'] = {'ῷ', 'Ω'..u(0x0342)..u(0x0345), 'Ω'..u(0x0342)..'Ι'}, -- GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
	},
	['lt'] = {
		['I'] = {'i'..u(0x0307), 'I', 'I'}, -- LATIN CAPITAL LETTER I
		['J'] = {'j'..u(0x0307), 'J', 'J'}, -- LATIN CAPITAL LETTER J
		['Į'] = {'į'..u(0x0307), 'Į', 'Į'}, -- LATIN CAPITAL LETTER I WITH OGONEK
		['Ì'] = {'i'..u(0x0307)..u(0x0300), 'Ì', 'Ì'}, -- LATIN CAPITAL LETTER I WITH GRAVE
		['Í'] = {'i'..u(0x0307)..u(0x0301), 'Í', 'Í'}, -- LATIN CAPITAL LETTER I WITH ACUTE
		['Ĩ'] = {'i'..u(0x0307)..u(0x0303), 'Ĩ', 'Ĩ'}, -- LATIN CAPITAL LETTER I WITH TILDE
	},
	['tr&az'] = {
		['I'] = {'ı', 'I', 'I'}, -- LATIN CAPITAL LETTER I
		['ı'] = {'ı', 'I', 'I'}, -- LATIN SMALL LETTER DOTLESS I
		['İ'] = {'i', 'İ', 'İ'}, -- LATIN CAPITAL LETTER I WITH DOT ABOVE
		['i'] = {'i', 'İ', 'İ'}, -- LATIN SMALL LETTER I
	},
}

return casing