ubuntu16.04創建自定義中文字體庫
由於需要中文標籤,實用PIL加載自己的字體庫。
1、下載保存字體庫ttf文件
先從本機 C:\Windows\Fonts 拷貝或者網絡上下載你想要安裝的字體文件(*.ttf文件)到/usr/share/fonts/windows/ 目錄下(如果系統中沒有此目錄,則自行自定義mkdir創建,如果是ttc文件,請改後綴爲ttf)
2、修改字體文件的權限
#cd /usr/share/fonts/windows
#chmod 755 *.ttf
3、建立字體緩存
#sudo mkfontscale (如果提示 mkfontscale: command notfound,則需要安裝# sudo apt-get installttf-mscorefonts-installer)
# sudo mkfontdir
#sudo fc-cache -fv (如果提示 fc-cache: command not found,則需要安裝# sudo apt-get install fontconfig)
最開始使用simsunb.ttf字體庫還是沒法支持中文,有重新安裝了STFANGSO.TTF
通過fc-cache-fv 刷新字體庫,可以看到我們的/usr/share/fonts/windows裏面安裝了2個字體庫,如下
4、測試
代碼如下:
from PIL import Image,ImageDraw,ImageFont
ttfont=ImageFont.truetype('/usr/share/fonts/windows/STFANGSO.TTF',40)
img = Image.open('test1.jpg')
draw = ImageDraw.Draw(img)
draw.text((40,40),'Ubuntu中文標籤',fill=(0,0,0),font=ttfont)
img.show()
結果如下: