稍微归纳一下同形字符
在我先前专栏评论里,有人向我表达对鸿蒙黑体或Helvetica这类字体西文设计的不满:“I”和“l”难以区分,这让用鸿蒙手机编程的程序员怎么办呀!
我确实被这个问题难住了(为啥在手机上编程;为啥在鸿蒙里编程;为啥程序员不懂用等宽编程字体;是什么代码编辑器默认用系统字体而非编程字体;为什么要求系统字体适应编程需求……)
“Il”平常不需要区分,通常呈现出来是Illustrator这样子;说 АК 不读 AK 读阿卡,也是因为这个К不太像K。真正无法目视区分的是同形字符,比如本专栏封面的a和а,后者是西里尔文,字体往往做成完全一样的,而且,也只能做成一样。
这就要总结一下同形字符了。其实统一码官网有相关工具,但列举方向比较怪,比如pdf会列出“ℿ∏”是“Π”的形近字符(这2个对我做字体没帮助啊),却不列出同形字符“П”,而另一个松散工具列的结果就太松散了。下面这些是我手动整理的,用于做字体偷懒。
统一码 : 字符 ; 注释
0021,01C3 : !ǃ
0022,02BA : "ʺ ; 近似
0027,02B9 : 'ʹ ; 近似
002C,201A : ,‚ ; 近似
002D,00AD,2010,2011 : -‐‑ ; soft(NON-BREAKING) hyphen对应hyphen
002F,2215 : /∕ ; 近似
0033,0417,A76A,A7AB : 3ЗꝪꞫ ; 近似
003B,037E : ;;
0041,0391,0410 : AΑА
0042,0392,0412 : BΒВ
0043,03F9,0421,216D : CϹСⅭ
0044,216E : DⅮ
0045,0395,0415 : EΕЕ
0048,0397,041D : HΗН
0049,0399,0406,04C0 : IΙІӀ ; 反正一般人看不出西里尔文ІӀ有什么区别……※
!0049,A7AE : IꞮ ; LATIN CAPITAL LETTER SMALL CAPITAL I,我另作它用
004A,037F,0408 : JͿЈ
004B,039A,212A : KΚK; 啊对了,还有近似的“К(U+041A)”
004C,216C : LⅬ
004D,039C,041C,216F : MΜМⅯ
004E,039D : NΝ
004F,039F,041E : OΟО
0050,03A1,0420 : PΡР
0051,051A : QԚ
0054,03A4,0422 : TΤТ
0056,2164 : VⅤ
0057,051C,13B3 : WԜᎳ ; 近似
0058,03A7,0425,2169 : XΧХⅩ
0059,03A5,04AE : YΥҮ
005A,0396 : ZΖ
0061,0430 : aа
0063,03F2,0441,1D04 : cϲсᴄ
0064,0501 : dԁ
0065,0435 : eе
!0066,AB35 : fꬵ ; LATIN SMALL LETTER LENIS F,我另作它用
0067,0261 : gɡ
006A,03F3,0458 : jϳј
006C,04CF : lӏ
006F,03BF,043E,1D0F : oοоᴏ
0070,0440 : pр
0071,051B : qԛ
0073,0455,A731 : sѕꜱ
0076,03BD,1D20 : vνᴠ ; 近似
0077,051D,1D21 : wԝᴡ
0078,0445 : xх
0079,0443 : yу
007A,1D22 : zᴢ
00B5,03BC : µμ
00B7,0387 : ··
00C5,212B : ÅÅ
00CF,03AA,0407 : ÏΪЇ
00D0,0110,0189 : ÐĐƉ
00DE,03F7 : ÞϷ
00FE,03F8 : þϸ
0138,03BA,1D0B : ĸκᴋ
0178,03AB : ŸΫ
0186,03FD,2183 : ƆϽↃ
018E,2203 : Ǝ∃
0190,2107 : Ɛℇ
019E,03B7 : ƞη
019F,03F4,04E8 : ƟϴӨ
01A7,03E8 : ƧϨ ; 近似
01A8,03E9 : ƨϩ ; 近似
01A9,03A3 : ƩΣ
01B1,2127 : Ʊ℧
01B7,04E0 : ƷӠ
01DD,0259 : ǝə
0245,039B : ɅΛ
0251,03B1 : ɑα ; 近似
0254,037B,1D10,2184 : ɔͻᴐↄ,大写→0186..
025B,03B5,0511 : ɛεԑ
025C,0437 : ɜз
0269,03B9 : ɩι
0275,04E9 : ɵө ; 大写→019F..
0278,03D5,0444 : ɸϕф
028C,1D27 : ʌᴧ
0299,0432 : ʙв
029C,043D : ʜн
0311,1FC0 : ◌̑◌῀ ; 近似
0313,0486,1FBD,1FBF : ◌̓◌҆◌᾽◌᾿ ; 近似
0314,0485,1FFE : ◌̔◌҅◌῾ ; 近似
035F,ABED : ◌͟◌꯭ ; 近似
0376,0418 : ͶИ
0377,0438,1D0E : ͷиᴎ
0384,1FFD : ΄´
0393,0413 : ΓГ
0394,2206 : Δ∆
03A0,041F : ΠП
03A6,0424 : ΦФ
03A8,0470 : ΨѰ
03A9,2126 : ΩΩ
03B3,04AF : γү
03B4,1E9F : δẟ
03C4,0442,1D1B : τтᴛ
03C5,1D1C : υᴜ
03C8,0471 : ψѱ
03F5,0454 : ϵє
03F6,044D : ϶э
0423,13A9 : УᎩ ; 近似
042C,13CF : ЬᏏ ; 近似
042D,2108 : Э℈
0433,1D26 : гᴦ
043B,1D2B : лᴫ
043C,1D0D : мᴍ
043F,1D28 : пᴨ
044F,1D19 : яᴙ
15C4,2C6F,2200 : ᗄⱯ∀ ; 近似
1D18,1D29 : ᴘᴩ
2023,25B8 : ‣▸
2027,2219 : ‧∙
2142,A780 : ⅂Ꞁ ; 限定无衬线字体
2186,2193 : ↆ↓ ; 近似
22EE,FE19 : ⋮︙ ; 但︙是全角
23F4,25C0 : ⏴◀
23F5,25B6 : ⏵▶
23F9,25A0 : ⏹■
2460~2469,2780~2789 : ①~⑩,➀~➉ ; 限定无衬线字体
24EA,1F10B : ⓪🄋 ; 限定无衬线字体
24FF,1F10C : ⓿🄌 ; 限定无衬线字体
2776~277F,278A~2793 : ❶~❿,➊~➓ ; 限定无衬线字体
FE13,FF1A : ︓: ; 限定竖排居中
FE14,FF1B : ︔; ; 限定竖排居中
FE15,FF01 : ︕! ; 限定竖排居中
FE16,FF1F : ︖? ; 限定竖排居中
001A,FFFD : �� ; 控制字[SUB]看不到,偷偷加个字形
注:
这个表当然不完全,以我的字体Monu支持为主。
标为“近似”的只适合在需要偷懒的情况下合并。
甚多同宽空格(如0020,00A0)因看不见而未列出。
带变音标记的、修饰字大多未列出。
西里尔文的Italic(斜体\花体)或区域的写法类似拉丁文或希腊文(如“т”斜体写成“m”、“и”写成“u”、“д”写成“g”,“Л”.loclBGR写成“Ʌ”)这些未列出。
注※:
【І】是U+0406 CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
其小写是【і】U+0456 CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
【Ӏ】是U+04C0 CYRILLIC LETTER PALOCHKA
其小写是【ӏ】U+04CF CYRILLIC SMALL LETTER PALOCHKA
挺好区分的罢?

这个表也会随时更新在我的gh上:github.com/MY1L/Ctrl

顺带一提,可能你已经从封面看到了,我以前搓的自用字体 Monu 将追加斜体:Monu Ital。
目前难点是研究日文假名的意大利体怎么做。
