Python實(shí)現(xiàn)對(duì)比不同字體中的同一字符的顯示效果
有人在 openSUSE 中文論壇詢問他的輸入法打出的「嫵媚」的「嫵」字為什么顯示成「女」+「元」。懷疑是字體的問題,于是空閑時(shí)用好友寫的 python-fontconfig 配合 Pillow (PIL 的一個(gè) fork)寫了個(gè)腳本,使用系統(tǒng)上所有包含這個(gè)「嫵」字的字體來顯示這個(gè)字,看看到底是哪些字體有問題。
(更新后的)腳本如下:
Google Chrome / Chromium 用戶請(qǐng)注意:如果復(fù)制得到的代碼中含有不間斷空格(0xa0),請(qǐng)手動(dòng)替換下。
#!/usr/bin/env python3
# vim:fileencoding=utf-8
from PIL import Image, ImageDraw, ImageFont
import fontconfig
ch = '嫵'
def get_fonts():
ret = []
for f in fontconfig.query():
f = fontconfig.FcFont(f)
if f.has_char(ch):
ret.append((f.file, f.bestname))
return ret
w, h = 800, 20000
image = Image.new('RGB', (w, h), 'white')
draw = ImageDraw.Draw(image)
pos = 0
w = 0
strs = ch
for fontfile, fontname in get_fonts():
font = ImageFont.truetype(fontfile, 24)
s = '%s: %s' % (fontname, strs)
font_width, font_height = font.getsize(s)
w = max((font_width, w))
draw.text((10, pos), s, font=font, fill='black')
pos += font_height
h = pos
image = image.crop((0, 0, w+10, h))
image.save('fonts.png')
尋找字體,然后渲染到當(dāng)前目錄下的fonts.png文件中。尋找字體的過程挺花時(shí)間的,要耐心等待。最后結(jié)果如下:

我這里,文泉驛微米黑、方正魏碑ref、某個(gè) Droid Sans Fallback 字體中「嫵」字的字形不對(duì)。(我這里有三個(gè)字體文件都叫「Droid Sans Fallback」……)>
相關(guān)文章
可視化pytorch 模型中不同BN層的running mean曲線實(shí)例
這篇文章主要介紹了可視化pytorch 模型中不同BN層的running mean曲線實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
python GUI庫圖形界面開發(fā)之PyQt5信號(hào)與槽事件處理機(jī)制詳細(xì)介紹與實(shí)例解析
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5信號(hào)與槽事件處理機(jī)制詳細(xì)介紹與實(shí)例解析,需要的朋友可以參考下2020-03-03
利用Python實(shí)現(xiàn)一鍵將頭像轉(zhuǎn)成動(dòng)漫風(fēng)
小編今天將為大家詳細(xì)介紹如何利用Python語言制作一個(gè)UI界面,大家可以通過一鍵點(diǎn)擊就實(shí)現(xiàn)頭像照片轉(zhuǎn)化成動(dòng)漫風(fēng)格的功能,感興趣的可以動(dòng)手嘗試一下2022-07-07
在Pytorch中自定義dataset讀取數(shù)據(jù)的實(shí)現(xiàn)代碼
這篇文章給大家介紹了如何在Pytorch中自定義dataset讀取數(shù)據(jù),文中給出了詳細(xì)的圖文介紹和代碼講解,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-12-12
Python在實(shí)時(shí)數(shù)據(jù)流處理中集成Flink與Kafka
隨著大數(shù)據(jù)和實(shí)時(shí)計(jì)算的興起,實(shí)時(shí)數(shù)據(jù)流處理變得越來越重要,Flink和Kafka是實(shí)時(shí)數(shù)據(jù)流處理領(lǐng)域的兩個(gè)關(guān)鍵技術(shù),下面我們就來看看如何使用Python將Flink和Kafka集成在一起吧2025-03-03
python整小時(shí) 整天時(shí)間戳獲取算法示例
今天小編就為大家分享一篇python整小時(shí) 整天時(shí)間戳獲取算法示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02

