在python image 中安装中文字体的实现方法


Posted in Python onAugust 22, 2019

如果一些应用需要到中文字体(如果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 字体文件是在其他其他桌面系统上拷贝过来的,可以使用以下方法找到:

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 image 中安装中文字体的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的Django REST框架中的序列化及请求和返回
Apr 11 Python
Python 常用的安装Module方式汇总
May 06 Python
python 用opencv调用训练好的模型进行识别的方法
Dec 07 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
Jan 29 Python
Python时间序列处理之ARIMA模型的使用讲解
Apr 02 Python
python将视频转换为全字符视频
Apr 26 Python
Python 生成VOC格式的标签实例
Mar 10 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
Jul 02 Python
OpenCV图片漫画效果的实现示例
Aug 18 Python
浅谈对python中if、elif、else的误解
Aug 20 Python
python 如何用urllib与服务端交互(发送和接收数据)
Mar 04 Python
Python中tkinter的用户登录管理的实现
Apr 22 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
Aug 22 #Python
用Pelican搭建一个极简静态博客系统过程解析
Aug 22 #Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
Aug 22 #Python
Django stark组件使用及原理详解
Aug 22 #Python
Python学习笔记之字符串和字符串方法实例详解
Aug 22 #Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 #Python
Django上线部署之IIS的配置方法
Aug 22 #Python
You might like
PHP.MVC的模板标签系统(五)
2006/09/05 PHP
Codeigniter校验ip地址的方法
2015/03/21 PHP
php中二维数组排序问题方法详解
2015/08/28 PHP
PHP数据对象PDO操作技巧小结
2016/09/27 PHP
php禁用cookie后session设置方法分析
2016/10/19 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
actionscript与javascript的区别
2011/05/25 Javascript
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
Javascript中产生固定结果的函数优化技巧
2013/01/16 Javascript
js中onload与onunload的使用示例
2013/08/25 Javascript
js实现格式化金额,字符,时间的方法
2015/02/26 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
jquery实现表单获取短信验证码代码
2017/03/13 Javascript
JS实现留言板功能
2017/06/17 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
vue 解决数组赋值无法渲染在页面的问题
2019/10/28 Javascript
小程序卡片切换效果组件wxCardSwiper的实现
2020/02/13 Javascript
[43:26]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第二场 11.20
2020/11/23 DOTA
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
python uuid模块使用实例
2015/04/08 Python
Python Xml文件添加字节属性的方法
2018/03/31 Python
python 修改本地网络配置的方法
2019/08/14 Python
Centos7 下安装最新的python3.8
2019/10/28 Python
Python笔记之代理模式
2019/11/20 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
2020/04/14 Python
将python字符串转化成长表达式的函数eval实例
2020/05/11 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
Django URL参数Template反向解析
2020/11/24 Python
css3 实现滚动条美化效果的实例代码
2021/01/06 HTML / CSS
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
英国时尚女装购物网站:Missguided
2018/08/23 全球购物
高三自我鉴定怎么写
2013/10/19 职场文书
领导班子四风问题对照检查材料
2014/09/27 职场文书
租车协议书范本2014
2014/11/17 职场文书
2014年银行信贷员工作总结
2014/12/08 职场文书
python实现网络五子棋
2021/04/11 Python