我用 python 写了一个程序,自动把文字转成图片。今天实现了类似 word 的两端对齐功能(之前是类似左对齐)但是实现后发现了问题,部分汉字的高度不在同一水平线上,甚至有头部被削去几个像素的现象。
如图:
(上面是旧的,即不使用两端对齐,下面是新的,注意看“日”)
(注意看数字 92、百分号、还有“了”下移了)
我试了更换字体,由 SourceHanSansCN-Regular.ttf 换用 SourceHanSansSC-Regular.ttf ,“日”、92 的问题不出现了,可是整行水平方向不是很齐。还换过微软雅黑,就完全看不出这个问题。
由于在写入文字的实现上没有什么区别,特别是 y 坐标确定的位置应该是不变的。所以我的推测是,由于两端对齐需要对一行文字进行分词,加入一个平均的偏移量,然后逐个在加上偏移的位置写入文字,我怀疑这个过程中由于是逐一写入而非整行写入,导致文字不对齐。
大家有比较熟悉字体的吗?怎么解决这个问题?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.