{ "↙": "⇙", "↓": "⇓", "↘": "⇘", "←": "⇐", "→": "⇒", "↖": "⇖", "↑": "⇑", "↗": "⇗", "└": "╚", "┴": "╩", "┘": "╝", "├": "╠", "┼": "╬", "┤": "╣", "┌": "╔", "┬": "╦", "┐": "╗", "─": "═", "│": "║", "∈": "∉", "∋": "∌", "⊂": "⊄", "⊃": "⊅", "⊆": "⊈", "⊇": "⊉", // superscript "ᵃ": "ᴬ", "ᵇ": "ᴮ", "ᶜ": "ꟲ", "ᵈ": "ᴰ", "ᵉ": "ᴱ", "ᶠ": "ꟳ", "ᵍ": "ᴳ", "ʰ": "ᴴ", "ⁱ": "ᴵ", "ʲ": "ᴶ", "ᵏ": "ᴷ", "ˡ": "ᴸ", "ᵐ": "ᴹ", "ⁿ": "ᴺ", "ᵒ": "ᴼ", "ᵖ": "ᴾ", "ʳ": "ᴿ", "ᵗ": "ᵀ", "ᵘ": "ᵁ", "ᵛ": "ⱽ", "ʷ": "ᵂ", "ᶾ": "ᴣ", "ᵠ": "ᶲ", // german eszett has an uppercase, but because it is uncommon, java doesn't know about it "ß": "ẞ", // these characters don't have a preapplied uppercase version, so we use combining characters "ẗ": "T\u0308", "ẘ": "W\u030A", "ẙ": "Y\u030A", "ǰ": "J\u030C", "ȷ": "J\u0307", // In Turkish, upper case of 'iı' is 'İI' but Java's toUpperCase will // return 'II'. To make 'İ' accessible, make it the shift of 'ı'. This // has the inconvenient of swapping i and ı on the keyboard. "ı": "İ", "₹": "₨", // Gujarati alternate characters "અ": "આ", "ઇ": "ઈ", "િ": "ી", "ઉ": "ઊ", "ુ": "ૂ", "એ": "ઐ", "ે": "ૈ", "ઓ": "ઔ", "ો": "ૌ", "ક": "ખ", "ગ": "ઘ", "ચ": "છ", "જ": "ઝ", "ટ": "ઠ", "ડ": "ઢ", "ન": "ણ", "ત": "થ", "દ": "ધ", "પ": "ફ", "બ": "ભ", "મ": "ં", "લ": "ળ", "સ": "શ", "હ": "ઃ", // Tamil alternate characters "௹": "₨", // Modern Hindi and Sanskrit "अ": "आ", "इ": "ई", "ि": "ी", "उ": "ऊ", "ु": "ू", "ए": "ऐ", "े": "ै", "ओ": "औ", "ो": "ौ", "क": "ख", "ग": "घ", "च": "छ", "ज": "झ", "ट": "ठ", "ड": "ढ", "न": "ण", "त": "थ", "द": "ध", "ब": "भ", "म": "ं", "ल": "ळ", "स": "श", "ह": "ः", "ऋ": "ॠ", "ृ": "ॄ", "ऌ": "ॡ", "ॢ": "ॣ", "॒": "॑", "ॅ": "ॲ", "ॉ": "ऑ", // Mathematical symbols "\uD835": { "\uDD68": "𝕎", // 𝕨 → 𝕎 "\uDD69": "𝕏", // 𝕩 → 𝕏 "\uDD57": "𝔽", // 𝕗 → 𝔽 "\uDD58": "𝔾", // 𝕘 → 𝔾 "\uDD64": "𝕊" // 𝕤 → 𝕊 } }