在python image 中實現(xiàn)安裝中文字體
如果一些應用需要到中文字體(如果pygraphviz,不安裝中文字體,中文會顯示亂碼),就要在image 中安裝中文字體。
默認 python image 是不包含中文字體的:
mac-temp:relation_graph test$ docker run --rm -it python bash
root@36d738e2084c:/# fc-list
/usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: DejaVu Serif:style=Bold
/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book
/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf: DejaVu Sans:style=Book
/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf: DejaVu Sans:style=Bold
/usr/share/fonts/truetype/dejavu/DejaVuSansMono-Bold.ttf: DejaVu Sans Mono:style=Bold
/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf: DejaVu Serif:style=Book
Dockerfile 如下:
FROM python
RUN apt-get update
RUN apt-get install -y apt-utils dialog xfonts-utils
COPY ./wqy-microhei.ttc /usr/share/fonts/
RUN cd /usr/share/fonts/
RUN mkfontscale && mkfontdir && fc-cache
重新build image
mac-temp:ttc test$ docker build -t ttc:0.0.1 .
檢查是否安裝成功
mac-temp:ttc test$ docker run --rm -it ttc:0.0.1 bash
root@b1cc465b4ba9:/# fc-list :lang=zh-cn
/usr/share/fonts/wqy-microhei.ttc: WenQuanYi Micro Hei,文泉驛微米黑,文泉驛微米黑:style=Regular
/usr/share/fonts/wqy-microhei.ttc: WenQuanYi Micro Hei Mono,文泉驛等寬微米黑,文泉驛等寬微米黑:style=Regular
其中 wqy-microhei.ttc 字體文件是在其他其他桌面系統(tǒng)上拷貝過來的,可以使用以下方法找到:
mac-temp test$ fc-list :lang=zh-cn
/System/Library/Assets/com_apple_MobileAsset_Font4/2e3dd84241cc7676f2fc8c357c9087fee8cd0075.asset/AssetData/Lantinghei.ttc: 蘭亭黑\-簡,蘭亭黑\-簡,Lantinghei SC:style=Demibold,中黑
/System/Library/Assets/com_apple_MobileAsset_Font4/8d69c72f04dcc2dfc086aa401dbab7f8ec55d0bb.asset/AssetData/Kaiti.ttc: 楷體\-繁,楷體\-繁,Kaiti TC:style=黑體,黑體,Black
補充知識:Python內置自帶中文字體設置
有些代碼中的中文字體,在自己的環(huán)境不一定適用
可以通過如下代碼打印出自己電腦已經安裝的字體
找到其中的中文字體名稱放在 = 后即可,例如SimHei(黑體)等。
記得加單引號?。?!
記得加單引號?。?!
記得加單引號!?。?/p>
舉例:
plt.rcParams['font.family'] = 'SimHei'
查詢代碼:
import matplotlib.font_manager as fm for font in fm.fontManager.ttflist: print(font.name)
結果:
以上這篇在python image 中實現(xiàn)安裝中文字體就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python OpenCV圖像指定區(qū)域裁剪的實現(xiàn)
這篇文章主要介紹了Python OpenCV圖像指定區(qū)域裁剪的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10python錯誤:AttributeError: ''module'' object has no attribute
這篇文章主要介紹了python錯誤:AttributeError: 'module' object has no attribute 'setdefaultencoding'問題的解決方法,需要的朋友可以參考下2014-08-08