Skip to content

Instantly share code, notes, and snippets.

@rendello
Last active November 25, 2024 00:55
Show Gist options
  • Save rendello/4d8266b7c52bf0e98eab2073b38829d9 to your computer and use it in GitHub Desktop.
Save rendello/4d8266b7c52bf0e98eab2073b38829d9 to your computer and use it in GitHub Desktop.
Unicode roundtrip-unsafe characters. They change to different characters (or sets of characters) when case is changed and then changed back.
Uppercase -> lowercase -> uppercase:
İ i̇ İ LATIN CAPITAL LETTER I WITH DOT ABOVE -> LATIN SMALL LETTER I, COMBINING DOT ABOVE -> LATIN CAPITAL LETTER I, COMBINING DOT ABOVE
Ω ω Ω OHM SIGN -> GREEK SMALL LETTER OMEGA -> GREEK CAPITAL LETTER OMEGA
ẞ ß SS LATIN CAPITAL LETTER SHARP S -> LATIN SMALL LETTER SHARP S -> LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S
K k K KELVIN SIGN -> LATIN SMALL LETTER K -> LATIN CAPITAL LETTER K
Å å Å ANGSTROM SIGN -> LATIN SMALL LETTER A WITH RING ABOVE -> LATIN CAPITAL LETTER A WITH RING ABOVE
ϴ θ Θ GREEK CAPITAL THETA SYMBOL -> GREEK SMALL LETTER THETA -> GREEK CAPITAL LETTER THETA
Lowercase -> uppercase -> lowercase:
ῗ Ϊ͂ ῗ GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI -> GREEK CAPITAL LETTER IOTA, COMBINING DIAERESIS, COMBINING GREEK PERISPOMENI -> GREEK SMALL LETTER IOTA, COMBINING DIAERESIS, COMBINING GREEK PERISPOMENI
ᾔ ἬΙ ἤι GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ETA WITH PSILI AND OXIA, GREEK SMALL LETTER IOTA
ῢ Ϋ̀ ῢ GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA -> GREEK CAPITAL LETTER UPSILON, COMBINING DIAERESIS, COMBINING GRAVE ACCENT -> GREEK SMALL LETTER UPSILON, COMBINING DIAERESIS, COMBINING GRAVE ACCENT
ῤ Ρ̓ ῤ GREEK SMALL LETTER RHO WITH PSILI -> GREEK CAPITAL LETTER RHO, COMBINING COMMA ABOVE -> GREEK SMALL LETTER RHO, COMBINING COMMA ABOVE
ᾴ ΆΙ άι GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ALPHA WITH TONOS, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ALPHA WITH TONOS, GREEK SMALL LETTER IOTA
ὔ Υ̓́ ὔ GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA -> GREEK CAPITAL LETTER UPSILON, COMBINING COMMA ABOVE, COMBINING ACUTE ACCENT -> GREEK SMALL LETTER UPSILON, COMBINING COMMA ABOVE, COMBINING ACUTE ACCENT
ῳ ΩΙ ωι GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI -> GREEK CAPITAL LETTER OMEGA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER OMEGA, GREEK SMALL LETTER IOTA
ῖ Ι͂ ῖ GREEK SMALL LETTER IOTA WITH PERISPOMENI -> GREEK CAPITAL LETTER IOTA, COMBINING GREEK PERISPOMENI -> GREEK SMALL LETTER IOTA, COMBINING GREEK PERISPOMENI
ffl FFL ffl LATIN SMALL LIGATURE FFL -> LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER L -> LATIN SMALL LETTER F, LATIN SMALL LETTER F, LATIN SMALL LETTER L
ᾁ ἉΙ ἁι GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ALPHA WITH DASIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ALPHA WITH DASIA, GREEK SMALL LETTER IOTA
ᾐ ἨΙ ἠι GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ETA WITH PSILI, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ETA WITH PSILI, GREEK SMALL LETTER IOTA
ᾂ ἊΙ ἂι GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA, GREEK SMALL LETTER IOTA
ẗ T̈ ẗ LATIN SMALL LETTER T WITH DIAERESIS -> LATIN CAPITAL LETTER T, COMBINING DIAERESIS -> LATIN SMALL LETTER T, COMBINING DIAERESIS
ffi FFI ffi LATIN SMALL LIGATURE FFI -> LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER I -> LATIN SMALL LETTER F, LATIN SMALL LETTER F, LATIN SMALL LETTER I
ᾥ ὭΙ ὥι GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA, GREEK SMALL LETTER IOTA
ᾲ ᾺΙ ὰι GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ALPHA WITH VARIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ALPHA WITH VARIA, GREEK SMALL LETTER IOTA
ϑ Θ θ GREEK THETA SYMBOL -> GREEK CAPITAL LETTER THETA -> GREEK SMALL LETTER THETA
ῴ ΏΙ ώι GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER OMEGA WITH TONOS, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER OMEGA WITH TONOS, GREEK SMALL LETTER IOTA
ſt ST st LATIN SMALL LIGATURE LONG S T -> LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER T -> LATIN SMALL LETTER S, LATIN SMALL LETTER T
ΐ Ϊ́ ΐ GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS -> GREEK CAPITAL LETTER IOTA, COMBINING DIAERESIS, COMBINING ACUTE ACCENT -> GREEK SMALL LETTER IOTA, COMBINING DIAERESIS, COMBINING ACUTE ACCENT
ſ S s LATIN SMALL LETTER LONG S -> LATIN CAPITAL LETTER S -> LATIN SMALL LETTER S
ᲄ Т т CYRILLIC SMALL LETTER TALL TE -> CYRILLIC CAPITAL LETTER TE -> CYRILLIC SMALL LETTER TE
fi FI fi LATIN SMALL LIGATURE FI -> LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER I -> LATIN SMALL LETTER F, LATIN SMALL LETTER I
ﬓ ՄՆ մն ARMENIAN SMALL LIGATURE MEN NOW -> ARMENIAN CAPITAL LETTER MEN, ARMENIAN CAPITAL LETTER NOW -> ARMENIAN SMALL LETTER MEN, ARMENIAN SMALL LETTER NOW
ᾣ ὫΙ ὣι GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA, GREEK SMALL LETTER IOTA
ὒ Υ̓̀ ὒ GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA -> GREEK CAPITAL LETTER UPSILON, COMBINING COMMA ABOVE, COMBINING GRAVE ACCENT -> GREEK SMALL LETTER UPSILON, COMBINING COMMA ABOVE, COMBINING GRAVE ACCENT
ͅ Ι ι COMBINING GREEK YPOGEGRAMMENI -> GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER IOTA
ΐ Ϊ́ ΐ GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA -> GREEK CAPITAL LETTER IOTA, COMBINING DIAERESIS, COMBINING ACUTE ACCENT -> GREEK SMALL LETTER IOTA, COMBINING DIAERESIS, COMBINING ACUTE ACCENT
ß SS ss LATIN SMALL LETTER SHARP S -> LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S -> LATIN SMALL LETTER S, LATIN SMALL LETTER S
ᾗ ἯΙ ἧι GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI, GREEK SMALL LETTER IOTA
ᾢ ὪΙ ὢι GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA, GREEK SMALL LETTER IOTA
st ST st LATIN SMALL LIGATURE ST -> LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER T -> LATIN SMALL LETTER S, LATIN SMALL LETTER T
և ԵՒ եւ ARMENIAN SMALL LIGATURE ECH YIWN -> ARMENIAN CAPITAL LETTER ECH, ARMENIAN CAPITAL LETTER YIWN -> ARMENIAN SMALL LETTER ECH, ARMENIAN SMALL LETTER YIWN
ᾤ ὬΙ ὤι GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA, GREEK SMALL LETTER IOTA
ῶ Ω͂ ῶ GREEK SMALL LETTER OMEGA WITH PERISPOMENI -> GREEK CAPITAL LETTER OMEGA, COMBINING GREEK PERISPOMENI -> GREEK SMALL LETTER OMEGA, COMBINING GREEK PERISPOMENI
ϵ Ε ε GREEK LUNATE EPSILON SYMBOL -> GREEK CAPITAL LETTER EPSILON -> GREEK SMALL LETTER EPSILON
ϐ Β β GREEK BETA SYMBOL -> GREEK CAPITAL LETTER BETA -> GREEK SMALL LETTER BETA
ᾃ ἋΙ ἃι GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA, GREEK SMALL LETTER IOTA
ᲇ Ѣ ѣ CYRILLIC SMALL LETTER TALL YAT -> CYRILLIC CAPITAL LETTER YAT -> CYRILLIC SMALL LETTER YAT
ʼn ʼN ʼn LATIN SMALL LETTER N PRECEDED BY APOSTROPHE -> MODIFIER LETTER APOSTROPHE, LATIN CAPITAL LETTER N -> MODIFIER LETTER APOSTROPHE, LATIN SMALL LETTER N
ῃ ΗΙ ηι GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI -> GREEK CAPITAL LETTER ETA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ETA, GREEK SMALL LETTER IOTA
ὖ Υ̓͂ ὖ GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI -> GREEK CAPITAL LETTER UPSILON, COMBINING COMMA ABOVE, COMBINING GREEK PERISPOMENI -> GREEK SMALL LETTER UPSILON, COMBINING COMMA ABOVE, COMBINING GREEK PERISPOMENI
fl FL fl LATIN SMALL LIGATURE FL -> LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER L -> LATIN SMALL LETTER F, LATIN SMALL LETTER L
ι Ι ι GREEK PROSGEGRAMMENI -> GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER IOTA
ϱ Ρ ρ GREEK RHO SYMBOL -> GREEK CAPITAL LETTER RHO -> GREEK SMALL LETTER RHO
ῲ ῺΙ ὼι GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER OMEGA WITH VARIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER OMEGA WITH VARIA, GREEK SMALL LETTER IOTA
ᾅ ἍΙ ἅι GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA, GREEK SMALL LETTER IOTA
ᾶ Α͂ ᾶ GREEK SMALL LETTER ALPHA WITH PERISPOMENI -> GREEK CAPITAL LETTER ALPHA, COMBINING GREEK PERISPOMENI -> GREEK SMALL LETTER ALPHA, COMBINING GREEK PERISPOMENI
ı I i LATIN SMALL LETTER DOTLESS I -> LATIN CAPITAL LETTER I -> LATIN SMALL LETTER I
ᲅ Т т CYRILLIC SMALL LETTER THREE-LEGGED TE -> CYRILLIC CAPITAL LETTER TE -> CYRILLIC SMALL LETTER TE
ὐ Υ̓ ὐ GREEK SMALL LETTER UPSILON WITH PSILI -> GREEK CAPITAL LETTER UPSILON, COMBINING COMMA ABOVE -> GREEK SMALL LETTER UPSILON, COMBINING COMMA ABOVE
ς Σ σ GREEK SMALL LETTER FINAL SIGMA -> GREEK CAPITAL LETTER SIGMA -> GREEK SMALL LETTER SIGMA
ΰ Ϋ́ ΰ GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA -> GREEK CAPITAL LETTER UPSILON, COMBINING DIAERESIS, COMBINING ACUTE ACCENT -> GREEK SMALL LETTER UPSILON, COMBINING DIAERESIS, COMBINING ACUTE ACCENT
ᾑ ἩΙ ἡι GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ETA WITH DASIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ETA WITH DASIA, GREEK SMALL LETTER IOTA
ᲁ Д д CYRILLIC SMALL LETTER LONG-LEGGED DE -> CYRILLIC CAPITAL LETTER DE -> CYRILLIC SMALL LETTER DE
µ Μ μ MICRO SIGN -> GREEK CAPITAL LETTER MU -> GREEK SMALL LETTER MU
ẘ W̊ ẘ LATIN SMALL LETTER W WITH RING ABOVE -> LATIN CAPITAL LETTER W, COMBINING RING ABOVE -> LATIN SMALL LETTER W, COMBINING RING ABOVE
ᾇ ἏΙ ἇι GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI, GREEK SMALL LETTER IOTA
ϰ Κ κ GREEK KAPPA SYMBOL -> GREEK CAPITAL LETTER KAPPA -> GREEK SMALL LETTER KAPPA
ﬕ ՄԻ մի ARMENIAN SMALL LIGATURE MEN INI -> ARMENIAN CAPITAL LETTER MEN, ARMENIAN CAPITAL LETTER INI -> ARMENIAN SMALL LETTER MEN, ARMENIAN SMALL LETTER INI
ᾓ ἫΙ ἣι GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ETA WITH DASIA AND VARIA, GREEK SMALL LETTER IOTA
ﬔ ՄԵ մե ARMENIAN SMALL LIGATURE MEN ECH -> ARMENIAN CAPITAL LETTER MEN, ARMENIAN CAPITAL LETTER ECH -> ARMENIAN SMALL LETTER MEN, ARMENIAN SMALL LETTER ECH
ῆ Η͂ ῆ GREEK SMALL LETTER ETA WITH PERISPOMENI -> GREEK CAPITAL LETTER ETA, COMBINING GREEK PERISPOMENI -> GREEK SMALL LETTER ETA, COMBINING GREEK PERISPOMENI
ᲀ В в CYRILLIC SMALL LETTER ROUNDED VE -> CYRILLIC CAPITAL LETTER VE -> CYRILLIC SMALL LETTER VE
ᲂ О о CYRILLIC SMALL LETTER NARROW O -> CYRILLIC CAPITAL LETTER O -> CYRILLIC SMALL LETTER O
ϖ Π π GREEK PI SYMBOL -> GREEK CAPITAL LETTER PI -> GREEK SMALL LETTER PI
ᾄ ἌΙ ἄι GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA, GREEK SMALL LETTER IOTA
ῄ ΉΙ ήι GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ETA WITH TONOS, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ETA WITH TONOS, GREEK SMALL LETTER IOTA
ﬗ ՄԽ մխ ARMENIAN SMALL LIGATURE MEN XEH -> ARMENIAN CAPITAL LETTER MEN, ARMENIAN CAPITAL LETTER XEH -> ARMENIAN SMALL LETTER MEN, ARMENIAN SMALL LETTER XEH
ᲆ Ъ ъ CYRILLIC SMALL LETTER TALL HARD SIGN -> CYRILLIC CAPITAL LETTER HARD SIGN -> CYRILLIC SMALL LETTER HARD SIGN
ᾠ ὨΙ ὠι GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER OMEGA WITH PSILI, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER OMEGA WITH PSILI, GREEK SMALL LETTER IOTA
ΰ Ϋ́ ΰ GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS -> GREEK CAPITAL LETTER UPSILON, COMBINING DIAERESIS, COMBINING ACUTE ACCENT -> GREEK SMALL LETTER UPSILON, COMBINING DIAERESIS, COMBINING ACUTE ACCENT
ᾀ ἈΙ ἀι GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ALPHA WITH PSILI, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ALPHA WITH PSILI, GREEK SMALL LETTER IOTA
ǰ J̌ ǰ LATIN SMALL LETTER J WITH CARON -> LATIN CAPITAL LETTER J, COMBINING CARON -> LATIN SMALL LETTER J, COMBINING CARON
ῒ Ϊ̀ ῒ GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA -> GREEK CAPITAL LETTER IOTA, COMBINING DIAERESIS, COMBINING GRAVE ACCENT -> GREEK SMALL LETTER IOTA, COMBINING DIAERESIS, COMBINING GRAVE ACCENT
ẖ H̱ ẖ LATIN SMALL LETTER H WITH LINE BELOW -> LATIN CAPITAL LETTER H, COMBINING MACRON BELOW -> LATIN SMALL LETTER H, COMBINING MACRON BELOW
ﬖ ՎՆ վն ARMENIAN SMALL LIGATURE VEW NOW -> ARMENIAN CAPITAL LETTER VEW, ARMENIAN CAPITAL LETTER NOW -> ARMENIAN SMALL LETTER VEW, ARMENIAN SMALL LETTER NOW
ᾡ ὩΙ ὡι GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER OMEGA WITH DASIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER OMEGA WITH DASIA, GREEK SMALL LETTER IOTA
ff FF ff LATIN SMALL LIGATURE FF -> LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER F -> LATIN SMALL LETTER F, LATIN SMALL LETTER F
ẛ Ṡ ṡ LATIN SMALL LETTER LONG S WITH DOT ABOVE -> LATIN CAPITAL LETTER S WITH DOT ABOVE -> LATIN SMALL LETTER S WITH DOT ABOVE
ῂ ῊΙ ὴι GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ETA WITH VARIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ETA WITH VARIA, GREEK SMALL LETTER IOTA
ẚ Aʾ aʾ LATIN SMALL LETTER A WITH RIGHT HALF RING -> LATIN CAPITAL LETTER A, MODIFIER LETTER RIGHT HALF RING -> LATIN SMALL LETTER A, MODIFIER LETTER RIGHT HALF RING
ᾕ ἭΙ ἥι GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ETA WITH DASIA AND OXIA, GREEK SMALL LETTER IOTA
ᾧ ὯΙ ὧι GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI, GREEK SMALL LETTER IOTA
ᾆ ἎΙ ἆι GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI, GREEK SMALL LETTER IOTA
ᾒ ἪΙ ἢι GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ETA WITH PSILI AND VARIA, GREEK SMALL LETTER IOTA
ᲈ Ꙋ ꙋ CYRILLIC SMALL LETTER UNBLENDED UK -> CYRILLIC CAPITAL LETTER MONOGRAPH UK -> CYRILLIC SMALL LETTER MONOGRAPH UK
ᾳ ΑΙ αι GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI -> GREEK CAPITAL LETTER ALPHA, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ALPHA, GREEK SMALL LETTER IOTA
ᾦ ὮΙ ὦι GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI, GREEK SMALL LETTER IOTA
ῇ Η͂Ι ῆι GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ETA, COMBINING GREEK PERISPOMENI, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ETA, COMBINING GREEK PERISPOMENI, GREEK SMALL LETTER IOTA
ῦ Υ͂ ῦ GREEK SMALL LETTER UPSILON WITH PERISPOMENI -> GREEK CAPITAL LETTER UPSILON, COMBINING GREEK PERISPOMENI -> GREEK SMALL LETTER UPSILON, COMBINING GREEK PERISPOMENI
ῧ Ϋ͂ ῧ GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI -> GREEK CAPITAL LETTER UPSILON, COMBINING DIAERESIS, COMBINING GREEK PERISPOMENI -> GREEK SMALL LETTER UPSILON, COMBINING DIAERESIS, COMBINING GREEK PERISPOMENI
ᾖ ἮΙ ἦι GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI, GREEK SMALL LETTER IOTA
ᾷ Α͂Ι ᾶι GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER ALPHA, COMBINING GREEK PERISPOMENI, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER ALPHA, COMBINING GREEK PERISPOMENI, GREEK SMALL LETTER IOTA
ῷ Ω͂Ι ῶι GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI -> GREEK CAPITAL LETTER OMEGA, COMBINING GREEK PERISPOMENI, GREEK CAPITAL LETTER IOTA -> GREEK SMALL LETTER OMEGA, COMBINING GREEK PERISPOMENI, GREEK SMALL LETTER IOTA
ϕ Φ φ GREEK PHI SYMBOL -> GREEK CAPITAL LETTER PHI -> GREEK SMALL LETTER PHI
ẙ Y̊ ẙ LATIN SMALL LETTER Y WITH RING ABOVE -> LATIN CAPITAL LETTER Y, COMBINING RING ABOVE -> LATIN SMALL LETTER Y, COMBINING RING ABOVE
ᲃ С с CYRILLIC SMALL LETTER WIDE ES -> CYRILLIC CAPITAL LETTER ES -> CYRILLIC SMALL LETTER ES
"""
Copyright (c) 2024 Rendello
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
"""
import sys
import unicodedata
lower_roundtrip_differs = set()
upper_roundtrip_differs = set()
if __name__ == "__main__":
entry_map = {}
for i in range(sys.maxunicode + 1):
c = chr(i)
if c.islower():
upper_roundtrip = c.upper().lower()
if upper_roundtrip != c:
upper_roundtrip_differs.add((c, c.upper(), upper_roundtrip))
if c.isupper():
lower_roundtrip = c.lower().upper()
if lower_roundtrip != c:
lower_roundtrip_differs.add((c, c.lower(), lower_roundtrip))
print("Uppercase -> lowercase -> uppercase:")
for c1, c2, c3 in lower_roundtrip_differs:
print(f"{c1}\t{c2}\t{c3}", end="\t\t\t")
print(" -> ".join([", ".join([unicodedata.name(c) for c in s]) for s in [c1, c2, c3]]))
print("\nLowercase -> uppercase -> lowercase:")
for c1, c2, c3 in upper_roundtrip_differs:
print(f"{c1}\t{c2}\t{c3}", end="\t\t\t")
print(" -> ".join([", ".join([unicodedata.name(c) for c in s]) for s in [c1, c2, c3]]))
@rendello
Copy link
Author

rendello commented Nov 1, 2024

See also "Unicode codepoints that expand or contract when case is changed in UTF-8":
https://gist.github.com/rendello/d37552507a389656e248f3255a618127

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment