[问题] 看起来像是同一个字,印到图上却不一样

楼主: art1 (人,原来不是人)   2020-10-07 06:12:36
一开始以为这问题是全字库字体没办法正确显示的问题,研究后发现是诡异无法解释的
问题
平台是 google 的 colab,使用的字型是全字库 TW-Kai-98_1.ttf
使用的绘图函式库是
from PIL import Image, ImageFont, ImageDraw
from IPython.display import Image as iii (使用这个是因为 plt 印出来的图太小)
https://i.imgur.com/362DbO9.png
看起来都是同一个字“路”,图片印出来是不一样的结果
第一个路字 yyy 是我用 gcin 输入法输入的
第三个路字 ggg 则是把第一个路字复制贴上
第五个路字 eee 是从本机 VSCode 用 gcin 输入法输入后复制贴过来的
第二个路字 ttt 是从网络上找到复制下来贴上去的
第四个路字 sss 一样是第二个路字复制贴上
第六个路字则是与第五个路字在同一个档案中,但来源也是网络上复制贴上
使用 https://www.ifreesite.com/unicode-ascii-ansi.htm 这网站的编码转换工具
第一个路字 yyy 的编码是 \u8def,第二个路字 ttt 的编码是 \uf937
其实不只这个字出问题而已,想请教像这种长相一样,编码却不一样导致输出有问题的
情况该怎么解决?
作者: TuCH (谬客)   2020-10-07 08:07:00
来源网站?
作者: ddavid (谎言接线生)   2020-10-07 10:05:00
其实我想问的是你“为什么”要解决,你想要解决“什么”如果来源就是那样,这表示他就是用那个字,你用不存在该字的字型来显示有问题是合理的情况如果你想要全部转换成同一个你认为能正确显示的字,那就是要像简繁体转换一样,建立一个字词库把所有可能发生此问题的字与要转的目标字建表,全部取代处理基本上应该没有任何取巧的方法
作者: alvinlin (林矜业)   2020-10-07 13:41:00
看起来是从某来源抓取的一些字然想用图片显示结果发现有些字可以显示有些字不行所以想弄懂怎么解决。建议用regx。在Unicode 里每个国家的编码是有特定区间的。请参考shorturl.at/ijnG0shorturl.at/ijnG0
作者: banyhong (=_=)   2020-10-07 17:22:00
这里有列表 https://bit.ly/3dd7hYv
楼主: art1 (人,原来不是人)   2020-10-07 17:45:00
感谢楼上提供的资讯
作者: ddavid (谎言接线生)   2020-10-07 17:53:00
真的有建好的表耶,那就好办了
楼主: art1 (人,原来不是人)   2020-10-07 22:08:00
有建好的表真的变轻松很多

Links booklink

Contact Us: admin [ a t ] ucptt.com