作者art1 (人,原来不是人)
看板Python
标题[问题] 看起来像是同一个字,印到图上却不一样
时间Wed Oct 7 06:12:36 2020
一开始以为这问题是全字库字体没办法正确显示的问题,研究後发现是诡异无法解释的
问题
平台是 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
其实不只这个字出问题而已,想请教像这种长相一样,编码却不一样导致输出有问题的
情况该怎麽解决?
--
「看在上帝的份上,我们不能当着孩子的面枪杀他的父亲!」
「那我们就连孩子一起干掉!」
「第一枪打中的是那个天真的孩子,第二枪是抱着孩子的母亲。第三枪
停顿了三秒,当难以致信的父亲擦拭着脸上爱子的脑浆从震惊中醒转
过来,慢慢的转头看向停车的地方,分辨出是谁在攻击他後,第三颗
子弹才将他的脑壳打飞。」 ─摘自〈狼群〉
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.173.36.83 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1602022362.A.C6E.html
1F:推 TuCH: 来源网站? 10/07 08:07
2F:推 ddavid: 其实我想问的是你「为什麽」要解决,你想要解决「什麽」 10/07 10:05
3F:推 ddavid: 如果来源就是那样,这表示他就是用那个字,你用不存在该字 10/07 10:08
4F:→ ddavid: 的字型来显示有问题是合理的情况 10/07 10:08
5F:→ ddavid: 如果你想要全部转换成同一个你认为能正确显示的字,那就是 10/07 10:09
6F:→ ddavid: 要像简繁体转换一样,建立一个字词库把所有可能发生此问题 10/07 10:10
7F:→ ddavid: 的字与要转的目标字建表,全部取代处理 10/07 10:10
8F:→ ddavid: 基本上应该没有任何取巧的方法 10/07 10:11
9F:→ alvinlin: 看起来是从某来源抓取的一些字然想用图片显示结果发现有 10/07 13:41
10F:→ alvinlin: 些字可以显示有些字不行所以想弄懂怎麽解决。建议用regx 10/07 13:41
11F:→ alvinlin: 。在Unicode 里每个国家的编码是有特定区间的。请参考sh 10/07 13:41
12F:→ alvinlin: orturl.at/ijnG0 10/07 13:41
13F:→ alvinlin: shorturl.at/ijnG0 10/07 13:42
15F:→ art1: 感谢楼上提供的资讯 10/07 17:45
16F:推 ddavid: 真的有建好的表耶,那就好办了 10/07 17:53
17F:→ art1: 有建好的表真的变轻松很多 10/07 22:08