local M = {}

-- half-width katakana
-- on arch-linux, e.g. install with `extra/ttf-sazanami` (pacman)
M.katakana = {
	"ｦ",
	"ｧ",
	"ｨ",
	"ｩ",
	"ｪ",
	"ｫ",
	"ｬ",
	"ｭ",
	"ｮ",
	"ｯ",
	"ｰ",
	"ｱ",
	"ｲ",
	"ｳ",
	"ｴ",
	"ｵ",
	"ｶ",
	"ｷ",
	"ｸ",
	"ｹ",
	"ｺ",
	"ｻ",
	"ｼ",
	"ｽ",
	"ｾ",
	"ｿ",
	"ﾀ",
	"ﾁ",
	"ﾂ",
	"ﾃ",
	"ﾄ",
	"ﾅ",
	"ﾆ",
	"ﾇ",
	"ﾈ",
	"ﾉ",
	"ﾊ",
	"ﾋ",
	"ﾌ",
	"ﾍ",
	"ﾎ",
	"ﾏ",
	"ﾐ",
	"ﾑ",
	"ﾒ",
	"ﾓ",
	"ﾔ",
	"ﾕ",
	"ﾖ",
	"ﾗ",
	"ﾘ",
	"ﾙ",
	"ﾚ",
	"ﾛ",
	"ﾜ",
	"ﾝ",
}

M.arabic = {
	"ب",
	"ت",
	"ث",
	"ج",
	"ح",
	"خ",
	"د",
	"ذ",
	"ر",
	"ز",
	"س",
	"ش",
	"ص",
	"ض",
	"ط",
	"ظ",
	"ع",
	"غ",
	"ف",
	"ق",
	"ك",
	"ل",
	"م",
	"ن",
	"ه",
	"و",
	"ي",
}

M.armenian_upper = {
	"Ա",
	"Բ",
	"Գ",
	"Դ",
	"Ե",
	"d",
	"Է",
	"Ը",
	"Թ",
	"Ժ",
	"Ի",
	"Լ",
	"Խ",
	"Ծ",
	"Կ",
	"Հ",
	"Ձ",
	"Ղ",
	"Ճ",
	"Մ",
	"Յ",
	"Ն",
	"Շ",
	"Ո",
	"Չ",
	"Պ",
	"Ջ",
	"Ռ",
	"Ս",
	"Վ",
	"Տ",
	"Ր",
	"Ց",
	"Ւ",
	"Փ",
	"Ք",
	"Օ",
	"Ֆ",
}

M.armenian_lower = {
	"ա",
	"բ",
	"գ",
	"դ",
	"ե",
	"զ",
	"է",
	"ը",
	"թ",
	"ժ",
	"ի",
	"լ",
	"խ",
	"ծ",
	"կ",
	"հ",
	"ձ",
	"ղ",
	"ճ",
	"մ",
	"յ",
	"ն",
	"շ",
	"ո",
	"չ",
	"պ",
	"ջ",
	"ռ",
	"ս",
	"վ",
	"տ",
	"ր",
	"ց",
	"ւ",
	"փ",
	"ք",
	"օ",
	"ֆ",
	"և",
}
M.armenian = M.armenian_lower

-- on arch, installed with 'extra/ttf-indic-otf'
M.sanskrit = {
	"अ",
	"आ",
	"इ",
	"ई",
	"उ",
	"ऊ",
	"ऋ",
	"ए",
	"ऐ",
	"ओ",
	"औ",
	"अं",
	"ॠ",
	"ऌ",
	"क",
	"ख",
	"ग",
	"घ",
	"ङ",
	"च",
	"छ",
	"ज",
	"झ",
	"ञ",
	"ट",
	"ठ",
	"ड",
	"ढ",
	"ण",
	"त",
	"थ",
	"द",
	"ध",
	"न",
	"प",
	"फ",
	"ब",
	"भ",
	"म",
	"य",
	"र",
	"ल",
	"ळ",
	"व",
	"श",
	"ष",
	"स",
	"ह",
}

M.latin_upper = {
	"A",
	"B",
	"C",
	"D",
	"E",
	"F",
	"G",
	"H",
	"I",
	"J",
	"K",
	"L",
	"M",
	"N",
	"O",
	"P",
	"Q",
	"R",
	"S",
	"T",
	"U",
	"V",
	"W",
	"X",
	"Y",
	"Z",
}

M.latin_lower = {
	"a",
	"b",
	"c",
	"d",
	"e",
	"f",
	"g",
	"h",
	"i",
	"j",
	"k",
	"l",
	"m",
	"n",
	"o",
	"p",
	"q",
	"r",
	"s",
	"t",
	"u",
	"v",
	"w",
	"x",
	"y",
	"z",
}
M.latin = M.latin_lower

M.greek_upper = {
	"Α",
	"Β",
	"Γ",
	"Δ",
	"Ε",
	"Ζ",
	"Η",
	"Θ",
	"Ι",
	"Κ",
	"Λ",
	"Μ",
	"Ν",
	"Ξ",
	"Ο",
	"Π",
	"Ρ",
	"Σ",
	"Τ",
	"Υ",
	"Φ",
	"Χ",
	"Ψ",
	"Ω",
}

M.greek_lower = {
	"α",
	"β",
	"γ",
	"δ",
	"ε",
	"ζ",
	"η",
	"θ",
	"ι",
	"κ",
	"λ",
	"μ",
	"ν",
	"ξ",
	"ο",
	"π",
	"ρ",
	"σ",
	"ς",
	"τ",
	"υ",
	"φ",
	"χ",
	"ψ",
	"ω",
}

M.greek = M.greek_lower

M.russian_upper = {
	"А",
	"Б",
	"В",
	"Г",
	"Д",
	"Е",
	"Ё",
	"Ж",
	"З",
	"И",
	"Й",
	"К",
	"Л",
	"М",
	"Н",
	"О",
	"П",
	"Р",
	"С",
	"Т",
	"У",
	"Ф",
	"Х",
	"Ц",
	"Ч",
	"Ш",
	"Щ",
	"Ъ",
	"Ы",
	"Ь",
	"Э",
	"Ю",
	"Я",
}

M.russian_lower = {
	"а",
	"б",
	"в",
	"г",
	"д",
	"е",
	"ё",
	"ж",
	"з",
	"и",
	"й",
	"к",
	"л",
	"м",
	"н",
	"о",
	"п",
	"р",
	"с",
	"т",
	"у",
	"ф",
	"х",
	"ц",
	"ч",
	"ш",
	"щ",
	"ъ",
	"ы",
	"ь",
	"э",
	"ю",
	"я",
}

M.russian = M.russian_lower

M.decimal = {
	"0",
	"1",
	"2",
	"3",
	"4",
	"5",
	"6",
	"7",
	"8",
	"9",
}

M.binary = {
	"0",
	"1",
}

M.symbols = {
	"{",
	"}",
	"(",
	")",
	"[",
	"]",
	"&",
	"^",
	"*",
	"/",
	"\\",
}

return M
