TrueType Homographs

Erik van der Poel

Program to Determine Homographs

I have written a program that parses a number of TrueType font tables to determine which pairs of Unicode codepoints end up using the same glyph. Some pairs share glyphs by using the same glyph IDs in the cmap table, some use composite glyphs that contain a single glyph ID, and others have the same glyph data duplicated at their locations in the glyf table.

Each codepoint in the homograph pairs is converted to Punycode and back to Unicode again to see if that character is allowed in IDNs. Pairs containing disallowed characters are removed from the table. Each row in the tables starts with a pair of codepoints, followed by the number of fonts in which that pair was found to share a glyph. Here are the tables:

IDN Homograph Pairs in TXT Format
All Homograph Pairs in TXT Format

IDN Homographs Found in TrueType Fonts

GlyphUnicodeUnicodeNumber of Fonts
!002101C32
"002202BA4
"002205F412
'002700601
'002702B94
'002705F312
'002720326
(0028FD3E3
)0029FD3F3
,002C201A9
-002D201012
-002D20121
-002D20132
/002F20443
/002F22154
:003A05C31
<003C20391
>003E203A1
I004904C04
O004F2D541
\005C00A52
\005C20A98
`006003001
a006103B14
a0061043052
c0063044151
d006405011
e0065043555
f006601921
g006702612
h006804BB10
i0069045660
j006A03F33
j006A045857
m006D044215(all italic fonts -- special case for Cyrillic)
n006E043F13
o006F03BF48
o006F043E52
o006F05851
o006F1D0F1
p0070044053
s0073045557
u0075043814
v007603BD27
v007603C51
v007604752
x007803C72
x0078044546
y0079044348
|007C01C01
·00B7221945
ä00E404D32
æ00E604D54
ç00E704AB3
è00E804503
ë00EB045130
í00ED03AF2
ï00EF03CA14
ï00EF045728
ó00F303CC4
ö00F604E73
ù00F9045D1
ă010304D12
ĕ011504D72
ħ0127045B10
ı0131026A3
ı013103B924
ĸ013803BA12
ĸ0138043A2
ŕ015504531
ţ016301AB1
ţ0163021B6
ū016B04E31
ƞ019E03B71
ǝ01DD02591
ǝ01DD04D91
ɑ025103B11
ə025904D921
ɛ025B03B51
ɛ025B04543
ɜ025C04371
ɩ026903B91
ɵ027504E91
ʃ0283222B1
ʒ029204E11
ʙ029904321
ʜ029C043D1
ʹ02B920321
̃030303421
̠032003313
̳033303473
α03B104304
α03B1237A1
θ03B822961
κ03BA043A5
ο03BF043E50
ο03BF05851
π03C0043F5
τ03C404424
χ03C704453
ϊ03CA045713
ϳ03F304583
г04331D261
л043B1D2B1
м043C1D0D1
о043E05852
п043F1D281
т04421D1B1
я044F1D191
ֹ05B905BA5
ֹ05B905C13
ֹ05B905C21
ֹ05B905C41
ׁ05C105C21
ׁ05C105C41
ׂ05C205C41
׳05F320192
״05F4201D2
،060C066C8
ه064706D516
ى064906CC13
ٔ065406747
٠066006F017
١066106F118
٢066206F217
٣066306F318
٧066706F718
٨066806F818
٩066906F918
۟06DF06EC7
ۦ06E606E71
ܼ073C07421
093C09BC1
09660AE61
09680AE81
09690AE91
096A0AEA1
096E0AEE1
09830A031
0A3C0ABC1
0A3C0B3C1
0ABC0B3C1
0B850BEE1
0B8E0BED1
0B950BE71
0BB30BD72
0D4C0D571
101D10401
110011A89
110111A99
110211AB9
110311AE9
110511AF9
110611B79
110711B89
110911BA9
110A11BB8
110B11BC9
110C11BD9
110E11BE9
110F11BF7
111011C09
111111C19
111211C27
111311C57
111511C69
111711CA5
111811CD5
111911D07
111A113B1
111A11B65
111C11DC5
111D11E26
112111B98
112B11E67
112D11E77
112F11E89
113011E97
113211EA7
114011EB9
114111EC3
114511F11
114611F21
114711EE5
114C11F05
115611F33
115711F47
115911F95
118411861
142114D11
143714401
1454145D1
1541157D1
17A217A31
185C18961
1D181D291
201220133
201420156
201422123
201525002
201622252
2018201B1
2019201B2
201920321
201B20321
202220272
202230FB1
2044221558
2053223C1
21B221B51
21BE2A211
22032D3A1
222722C01
222822C11
222922C21
222A22C31
226122632
229526412
229926092
22A527C21
22B225B71
22C82A1D1
22FF2D391
23192A3D1
238826381
23A523AE1
258C25905
25A126101
25CE29BE1
27E7301B1
299A29D91
29C4303C1
2EAB7F521
307A30DA1
3588439B1
3A4164091
3ADA66F61
3B3580F61
3B3B44201
403F66631
46B68A1E1
4F7550021
5024503C1
5553555F1
5861586B1
58AB58FF2
5AAF5B001
5E215E321
6108FA881
6160FA8A1
641CFA8E1
6556FA901
665A66691
670C80A62
670F80D01
671080CA1
671381011
671881271
672381A73
676E67FF3
699D6A271
6BBAFA961
6E886F591
701EFA9B1
76DBFAA71
7814784F1
78CCFAAB1
7D557D761
7F3EFAB11
80FC81411
848D853F1
863786411
8779FAB51
8941FAB61
8A2E8A7D1
8AEDFABE1
8B868B8F1
赿8D7F8D862
8DE58DFA1
8E978E9B1
軿8EFF8F271
8F38FAC21
9199FAC41
93AD93AE1
983BFACC1
9E429E431
A04AA49E1
A050A4AC1
A0C0A49C1
A259A4BF1
A2B1A4BE1
A3ABA4C01
A3B5A4C21
A3BFA4BA1
A3C2A4B01