Skip to content

Instantly share code, notes, and snippets.

@rauhs
Created January 12, 2017 20:16
Show Gist options
  • Select an option

  • Save rauhs/94a3667a3f06f2dfdd1e4cfc4347bd7e to your computer and use it in GitHub Desktop.

Select an option

Save rauhs/94a3667a3f06f2dfdd1e4cfc4347bd7e to your computer and use it in GitHub Desktop.
(ns xyz.abc
"
A map to convert diacrits / accents to latin characters
"
(:require
#?(:cljs [goog.object :as gobj])))
(def latinize-map
(#?(:cljs js-obj
:clj hash-map)
"ᵬ" "b",
"ṅ" "n",
"ᴜ" "U",
"ĥ" "h",
"ḵ" "k",
"ᶎ" "z",
"ꜵ" "ao",
"ǻ" "a",
"Ḃ" "B",
"ȏ" "o",
"à" "a",
"Ꝑ" "P",
"Ṛ" "R",
"Ṣ" "S",
"ẩ" "a",
"ứ" "u",
"Ɫ" "L",
"Ꝙ" "Q",
"Ɐ" "A",
"ⱪ" "k",
"Ṇ" "N",
"Nj" "N",
"Đ" "D",
"DZ" "DZ",
"ʑ" "z",
"ꜷ" "au",
"Ⱥ" "A",
"Ǝ" "E",
"ṥ" "s",
"ụ" "u",
"ḳ" "k",
"ᴢ" "Z",
"ȉ" "i",
"Ƃ" "B",
"dž" "dz",
"Ꝍ" "O",
"ffi" "ffi",
"Ž" "Z",
"Ǔ" "U",
"ȩ" "e",
"Ỿ" "Y",
"ɐ" "a",
"Ẏ" "Y",
"ǵ" "g",
"ꜩ" "tz",
"ꝅ" "k",
"Ɵ" "O",
"Ẵ" "A",
"Ḵ" "K",
"Ǣ" "AE",
"ᴘ" "P",
"Ḗ" "E",
"Ő" "O",
"ȇ" "e",
"ƌ" "d",
"ɇ" "e",
"Ṉ" "N",
"ᶌ" "v",
"ɫ" "l",
"ṃ" "m",
"ᵺ" "th",
"ṏ" "o",
"ỵ" "y",
"ǩ" "k",
"ẙ" "y",
"ᶖ" "i",
"ꝉ" "l",
"ỉ" "i",
"Ḙ" "E",
"Ⱦ" "T",
"Ṭ" "T",
"Ḏ" "D",
"Ĩ" "I",
"ɶ" "OE",
"Ợ" "O",
"Ử" "U",
"ṋ" "n",
"Ǜ" "U",
"LJ" "LJ",
"ȴ" "l",
"Ȱ" "O",
"é" "e",
"ẖ" "h",
"Į" "I",
"į" "i",
"Ȁ" "A",
"ấ" "a",
"ᶄ" "k",
"Ꜩ" "TZ",
"Ꝭ" "IS",
"ffl" "ffl",
"Ứ" "U",
"Ṟ" "R",
"Ḁ" "A",
"ṳ" "u",
"õ" "o",
"ɡ" "g",
"ḽ" "l",
"Ḩ" "H",
"ᶗ" "o",
"Ȕ" "U",
"Ẕ" "Z",
"Ɲ" "N",
"Ö" "O",
"Ṅ" "N",
"ᶃ" "g",
"Ď" "D",
"ƙ" "k",
"ʜ" "H",
"æ" "ae",
"Ȫ" "O",
"ʯ" "h",
"Ṹ" "U",
"ⱥ" "a",
"Ḳ" "K",
"ố" "o",
"ᴠ" "V",
"ɭ" "l",
"Œ" "OE",
"Ạ" "A",
"ᵹ" "g",
"Ꞁ" "L",
"Ȼ" "C",
"Ễ" "E",
"ċ" "c",
"ệ" "e",
"Ⱬ" "Z",
"Û" "U",
"Ȳ" "Y",
"ṝ" "r",
"Ù" "U",
"ỷ" "y",
"ʏ" "Y",
"ḝ" "e",
"ỏ" "o",
"Ṯ" "T",
"ú" "u",
"Ḛ" "E",
"ᴄ" "C",
"ᴇ" "E",
"ᴕ" "OU",
"Ò" "O",
"Ꞇ" "T",
"ḛ" "e",
"Ỏ" "O",
"ẁ" "w",
"ṛ" "r",
"ǹ" "n",
"ꝏ" "oo",
"Ẑ" "Z",
"ĕ" "e",
"ȱ" "o",
"Ẳ" "A",
"ǿ" "o",
"ẓ" "z",
"ȷ" "j",
"ȳ" "y",
"Ă" "A",
"ț" "t",
"Ẇ" "W",
"ő" "o",
"ã" "a",
"ↄ" "c",
"Ê" "E",
"Ḋ" "D",
"ⱴ" "v",
"ý" "y",
"Ơ" "O",
"ṡ" "s",
"ừ" "u",
"Ḉ" "C",
"Ł" "L",
"Ḥ" "H",
"Ȑ" "R",
"Ȍ" "O",
"Ʌ" "V",
"ǫ" "o",
"Ḷ" "L",
"ⱸ" "e",
"ɰ" "m",
"Ō" "O",
"ⱨ" "h",
"ǘ" "u",
"ᶏ" "a",
"Ụ" "U",
"ᵣ" "r",
"Ọ" "O",
"Ꝓ" "P",
"Í" "I",
"Ŧ" "T",
"ẻ" "e",
"ở" "o",
"Ḫ" "H",
"Ì" "I",
"Ȃ" "A",
"ů" "u",
"Ⱪ" "K",
"Ṏ" "O",
"ꝟ" "v",
"Ň" "N",
"ĺ" "l",
"ĩ" "i",
"Ô" "O",
"ᵷ" "g",
"ʎ" "y",
"Ꝼ" "F",
"ử" "u",
"Ḓ" "D",
"ḡ" "g",
"ǟ" "a",
"ᶙ" "u",
"ꝸ" "um",
"ᴡ" "W",
"ⱬ" "z",
"ș" "s",
"ₐ" "a",
"ᴛ" "T",
"Ã" "A",
"É" "E",
"Ṷ" "U",
"ẹ" "e",
"ꜰ" "F",
"ǖ" "u",
"í" "i",
"ă" "a",
"ᶆ" "m",
"ḍ" "d",
"ǚ" "u",
"Ꝕ" "P",
"ᶒ" "e",
"ɘ" "e",
"Ẓ" "Z",
"Ầ" "A",
"ᴙ" "R",
"ẜ" "s",
"Ū" "U",
"ṓ" "o",
"ż" "z",
"ĝ" "g",
"ĭ" "i",
"ᶉ" "r",
"ǽ" "ae",
"ḓ" "d",
"å" "a",
"ộ" "o",
"ł" "l",
"Ꝟ" "V",
"Ľ" "L",
"Ȏ" "O",
"ẏ" "y",
"ᵥ" "v",
"Ǧ" "G",
"ꝙ" "q",
"ń" "n",
"Ɔ" "O",
"ģ" "g",
"ự" "u",
"ȃ" "a",
"Ố" "O",
"ü" "u",
"ņ" "n",
"ƶ" "z",
"Á" "A",
"ė" "e",
"ì" "i",
"ḕ" "e",
"Ꝋ" "O",
"ắ" "a",
"ᵵ" "t",
"Ɓ" "B",
"ȯ" "o",
"ȵ" "n",
"Ḻ" "L",
"Ȭ" "O",
"Ǐ" "I",
"Ĺ" "L",
"ḩ" "h",
"Ė" "E",
"Ǹ" "N",
"Ꝏ" "OO",
"Ǒ" "O",
"Ņ" "N",
"Ꜽ" "AY",
"ỳ" "y",
"ɲ" "n",
"ff" "ff",
"ṹ" "u",
"ẚ" "a",
"Ỵ" "Y",
"ɺ" "r",
"ı" "i",
"Ę" "E",
"ổ" "o",
"ħ" "h",
"ạ" "a",
"ù" "u",
"Ŕ" "R",
"ƞ" "n",
"ȶ" "t",
"Î" "I",
"ž" "z",
"Ɯ" "M",
"fi" "fi",
"Ĉ" "C",
"ꝫ" "et",
"ᵲ" "r",
"ị" "i",
"ₓ" "x",
"â" "a",
"ɯ" "m",
"Ɠ" "G",
"ẇ" "w",
"ᴔ" "oe",
"ᶁ" "d",
"ļ" "l",
"ᶅ" "l",
"Ĝ" "G",
"Ī" "I",
"ả" "a",
"Ḡ" "G",
"Ᵹ" "G",
"ₑ" "e",
"ꞅ" "s",
"Ȩ" "E",
"Ƣ" "OI",
"ɦ" "h",
"Ń" "N",
"ò" "o",
"ʂ" "s",
"ṗ" "p",
"ŀ" "l",
"ⱼ" "j",
"Ꜹ" "AV",
"Ȯ" "O",
"Ằ" "A",
"ḇ" "b",
"Ẻ" "E",
"ƥ" "p",
"ᵤ" "u",
"ɋ" "q",
"ḁ" "a",
"Ḱ" "K",
"Ꜻ" "AV",
"Ý" "Y",
"Ⱳ" "W",
"Ŀ" "L",
"Ẉ" "W",
"Ḽ" "L",
"ⱳ" "w",
"Ɨ" "I",
"ẵ" "a",
"ǥ" "g",
"ƚ" "l",
"ᴉ" "i",
"ǔ" "u",
"ŵ" "w",
"ľ" "l",
"ƣ" "oi",
"ƃ" "b",
"Ɱ" "M",
"ṣ" "s",
"Ẋ" "X",
"ḥ" "h",
"ầ" "a",
"ƒ" "f",
"Ṫ" "T",
"İ" "I",
"ǝ" "e",
"Ṱ" "T",
"ȟ" "h",
"ẋ" "x",
"Ṓ" "O",
"Ẩ" "A",
"Ꜷ" "AU",
"Ả" "A",
"ẛ" "s",
"Ĕ" "E",
"ű" "u",
"Ƥ" "P",
"ţ" "t",
"ḏ" "d",
"ẃ" "w",
"ɓ" "b",
"ꝼ" "f",
"ơ" "o",
"ĉ" "c",
"ᴏ" "O",
"ꝁ" "k",
"ṇ" "n",
"Ꝅ" "K",
"ȭ" "o",
"Ģ" "G",
"ŏ" "o",
"ā" "a",
"Ệ" "E",
"ʁ" "R",
"Ỡ" "O",
"Ġ" "G",
"Ƒ" "F",
"fl" "fl",
"î" "i",
"ẑ" "z",
"ą" "a",
"Ᵽ" "P",
"ṑ" "o",
"Ṽ" "V",
"Dž" "D",
"ř" "r",
"Ƀ" "B",
"ȁ" "a",
"Ꞃ" "R",
"Ồ" "O",
"Ṝ" "R",
"ủ" "u",
"ồ" "o",
"Ȟ" "H",
"Ị" "I",
"Ɇ" "E",
"ȑ" "r",
"Ẽ" "E",
"ç" "c",
"Ấ" "A",
"ǜ" "u",
"Ḭ" "I",
"ŕ" "r",
"ⱺ" "o",
"ȗ" "u",
"Ů" "U",
"Ʋ" "V",
"Ø" "O",
"ṉ" "n",
"Ṗ" "P",
"ᴅ" "D",
"û" "u",
"Ḯ" "I",
"ⱦ" "t",
"ḋ" "d",
"è" "e",
"ũ" "u",
"Ṧ" "S",
"Ĭ" "I",
"Ȣ" "OU",
"ġ" "g",
"Ƌ" "D",
"ɬ" "l",
"ƈ" "c",
"ⱹ" "r",
"ꜹ" "av",
"Ƙ" "K",
"ʛ" "G",
"ề" "e",
"ě" "e",
"ᴁ" "AE",
"ó" "o",
"Ṙ" "R",
"ñ" "n",
"ɕ" "c",
"ᴍ" "M",
"ẅ" "w",
"đ" "d",
"ɵ" "o",
"ư" "u",
"ɖ" "d",
"ɻ" "r",
"ȕ" "u",
"ẘ" "w",
"ø" "o",
"ß" "ss",
"ꜽ" "ay",
"ᴀ" "A",
"st" "st",
"Ỳ" "Y",
"ƭ" "t",
"ꜿ" "c",
"ᶀ" "b",
"ỡ" "o",
"ɨ" "i",
"ǰ" "j",
"Dz" "D",
"ź" "z",
"ꝑ" "p",
"Ǽ" "AE",
"Ŭ" "U",
"ꝍ" "o",
"ḗ" "e",
"È" "E",
"ɾ" "r",
"ᴂ" "ae",
"ᶓ" "e",
"Ŷ" "Y",
"Ậ" "A",
"Ź" "Z",
"ij" "ij",
"ỿ" "y",
"Ƭ" "T",
"Ḧ" "H",
"ᵭ" "d",
"Ỹ" "Y",
"ḱ" "k",
"Ż" "Z",
"Ķ" "K",
"ꜻ" "av",
"Ƶ" "Z",
"Ɛ" "E",
"Ḿ" "M",
"ẕ" "z",
"ʀ" "R",
"ȋ" "i",
"ʟ" "L",
"ᵰ" "n",
"Ḟ" "F",
"Ǩ" "K",
"ỗ" "o",
"ṁ" "m",
"ʇ" "t",
"Ꜵ" "AO",
"ⱻ" "E",
"ʈ" "t",
"ɔ" "o",
"ę" "e",
"ǭ" "o",
"Ữ" "U",
"ɀ" "z",
"nj" "nj",
"Ĥ" "H",
"ŷ" "y",
"ƫ" "t",
"Ẍ" "X",
"ḉ" "c",
"ō" "o",
"Ộ" "O",
"ᵱ" "p",
"ṽ" "v",
"Ꝺ" "D",
"ḅ" "b",
"ɉ" "j",
"ꞃ" "r",
"Ṥ" "S",
"š" "s",
"Ŗ" "R",
"Ų" "U",
"ƕ" "hv",
"ᵯ" "m",
"ằ" "a",
"ẽ" "e",
"Ẅ" "W",
"Ḣ" "H",
"Ɏ" "Y",
"ợ" "o",
"Ʈ" "T",
"ᵶ" "z",
"ᵴ" "s",
"ẫ" "a",
"Ờ" "O",
"ṱ" "t",
"Ꝃ" "K",
"Ṵ" "U",
"Ǎ" "A",
"ṧ" "s",
"ḿ" "m",
"ọ" "o",
"ᴌ" "L",
"ꝕ" "p",
"Ꞅ" "S",
"ŧ" "t",
"ʠ" "q",
"Ā" "A",
"ḣ" "h",
"ḙ" "e",
"IJ" "IJ",
"ḻ" "l",
"Ğ" "G",
"ḟ" "f",
"Ë" "E",
"ĵ" "j",
"ꞇ" "t",
"Æ" "AE",
"Č" "C",
"œ" "oe",
"Ủ" "U",
"Ṡ" "S",
"Ḑ" "D",
"ṿ" "v",
"ậ" "a",
"ᶂ" "f",
"ć" "c",
"Ỗ" "O",
"Ꝁ" "K",
"ş" "s",
"ɍ" "r",
"Ắ" "A",
"ǎ" "a",
"ǡ" "a",
"Lj" "L",
"Ẃ" "W",
"Ẹ" "E",
"ṕ" "p",
"Ḍ" "D",
"ȡ" "d",
"ŝ" "s",
"ᶍ" "x",
"Ẁ" "W",
"Ï" "I",
"Ḅ" "B",
"Ǟ" "A",
"ꜱ" "S",
"ǐ" "i",
"Ḕ" "E",
"ś" "s",
"ɗ" "d",
"ᶈ" "p",
"ʋ" "v",
"Ṕ" "P",
"ṙ" "r",
"Ŵ" "W",
"ḷ" "l",
"ṯ" "t",
"ŗ" "r",
"Ÿ" "Y",
"Ṳ" "U",
"ť" "t",
"Ƚ" "L",
"ể" "e",
"Ó" "O",
"ȍ" "o",
"ɹ" "r",
"Ẫ" "A",
"ȿ" "s",
"Ư" "U",
"Ṃ" "M",
"ɢ" "G",
"ễ" "e",
"Ự" "U",
"Ꝡ" "VY",
"ṩ" "s",
"ä" "a",
"ɴ" "N",
"ÿ" "y",
"ꝺ" "d",
"ẉ" "w",
"ⱱ" "v",
"Ṁ" "M",
"ƴ" "y",
"ặ" "a",
"ɥ" "h",
"Ȅ" "E",
"ᴎ" "N",
"ʍ" "w",
"ǧ" "g",
"Ǥ" "G",
"Ȧ" "A",
"ķ" "k",
"ȧ" "a",
"Ƴ" "Y",
"Ṑ" "O",
"Ú" "U",
"ɪ" "I",
"ɿ" "r",
"Ĵ" "J",
"ẍ" "x",
"ᴐ" "O",
"ế" "e",
"ꝭ" "is",
"ᴓ" "o",
"Ś" "S",
"Ꝗ" "Q",
"ȣ" "ou",
"ɛ" "e",
"ờ" "o",
"dz" "dz",
"Ɍ" "R",
"ɠ" "g",
"Ě" "E",
"Ǵ" "G",
"Ǚ" "U",
"ᵫ" "ue",
"Ƞ" "N",
"Ꝫ" "ET",
"Ꝉ" "L",
"Ē" "E",
"Ɗ" "D",
"ṷ" "u",
"NJ" "NJ",
"ſ" "s",
"Ç" "C",
"Ɽ" "R",
"Ɉ" "J",
"Ƈ" "C",
"ň" "n",
"ᴚ" "R",
"ᵢ" "i",
"Ȥ" "Z",
"Ş" "S",
"ö" "o",
"Ỷ" "Y",
"ʌ" "v",
"ꞁ" "l",
"ḯ" "i",
"ᴑ" "o",
"Ą" "A",
"ê" "e",
"Ñ" "N",
"Ȗ" "U",
"Ǡ" "A",
"ᴃ" "B",
"ᶑ" "d",
"ḧ" "h",
"ᶊ" "s",
"ᵳ" "r",
"lj" "lj",
"Š" "S",
"Ǿ" "O",
"ᵽ" "p",
"ɟ" "j",
"Ế" "E",
"ḃ" "b",
"ǒ" "o",
"ɽ" "r",
"ǣ" "ae",
"č" "c",
"Ꜳ" "AA",
"Ũ" "U",
"ď" "d",
"ʮ" "h",
"Ħ" "H",
"Ỉ" "I",
"Ǫ" "O",
"Ṿ" "V",
"Ť" "T",
"ȅ" "e",
"ë" "e",
"Ȇ" "E",
"Ţ" "T",
"ɏ" "y",
"Ṻ" "U",
"ų" "u",
"ô" "o",
"ẳ" "a",
"Ț" "T",
"Ừ" "U",
"ğ" "g",
"Ć" "C",
"ᶇ" "n",
"DŽ" "DZ",
"ṟ" "r",
"Ä" "A",
"ū" "u",
"Ề" "E",
"Ǻ" "A",
"ʙ" "B",
"Ǖ" "U",
"Ș" "S",
"Ŏ" "O",
"Å" "A",
"ṵ" "u",
"Ể" "E",
"ʐ" "z",
"ṻ" "u",
"Ꜿ" "C",
"ʝ" "j",
"ḫ" "h",
"ữ" "u",
"ɱ" "m",
"ḹ" "l",
"Õ" "O",
"Ǘ" "U",
"Ü" "U",
"ȥ" "z",
"Ở" "O",
"ẗ" "t",
"ₒ" "o",
"ŭ" "u",
"ƀ" "b",
"Ⱨ" "H",
"ṍ" "o",
"ᴋ" "K",
"ē" "e",
"ḭ" "i",
"Ű" "U",
"ớ" "o",
"ṫ" "t",
"ï" "i",
"ȓ" "r",
"ꝡ" "vy",
"Ŝ" "S",
"ꝓ" "p",
"Ȓ" "R",
"ᵮ" "f",
"Ṋ" "N",
"Â" "A",
"Ṩ" "S",
"ꝗ" "q",
"Ḝ" "E",
"Ṍ" "O",
"Ớ" "O",
"ẞ" "SS",
"ẝ" "s",
"ɳ" "n",
"ꜳ" "aa",
"Ổ" "O",
"Ḹ" "L",
"Ȋ" "I",
"Ȉ" "I",
"Ⱡ" "L",
"ꝃ" "k",
"À" "A",
"Ǭ" "O",
"ᴝ" "u",
"ḑ" "d",
"ɼ" "r",
"Ċ" "C",
"Ř" "R",
"ᴊ" "J",
"ⱡ" "l",
"ỹ" "y",
"ȼ" "c",
"ȫ" "o",
"ʄ" "j",
"ī" "i",
"Ặ" "A",
"ṭ" "t",
"Ḇ" "B",
"ʞ" "k",
"ꝋ" "o",
"á" "a",
"Ļ" "L"))
(defn latinize
[s]
(reduce
(fn [s char]
(str s (#?(:cljs gobj/get :clj get) latinize-map char char)))
""
s))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment