在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简单的函数定义和用法实例
May 07 Python
python中类变量与成员变量的使用注意点总结
Apr 29 Python
基于python 字符编码的理解
Sep 02 Python
Python做智能家居温湿度报警系统
Sep 25 Python
python pandas实现excel转为html格式的方法
Oct 23 Python
python设定并获取socket超时时间的方法
Jan 12 Python
python之拟合的实现
Jul 19 Python
python matplotlib库绘制散点图例题解析
Aug 10 Python
Spring Cloud Feign高级应用实例详解
Dec 10 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
Mar 12 Python
Python实现验证码识别
Jun 15 Python
call在Python中改进数列的实例讲解
Dec 09 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的多进程编程方法
2015/08/18 PHP
PHP生成条形码大揭秘
2015/09/24 PHP
php7安装mongoDB扩展的方法分析
2017/08/02 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
js 覆盖和重载 函数
2009/09/25 Javascript
JQuery优缺点分析说明
2010/06/09 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
深入理解javascript的执行顺序
2014/04/04 Javascript
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
2014/11/20 NodeJs
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
2015/10/28 Javascript
分享jQuery网页元素拖拽插件
2020/12/01 Javascript
实现隔行换色效果的两种方式【实用】
2016/11/27 Javascript
原生js实现轮播图的示例代码
2017/02/20 Javascript
vue 权限认证token的实现方法
2018/07/17 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
Python zip()函数用法实例分析
2018/03/17 Python
Python 实现删除某路径下文件及文件夹的实例讲解
2018/04/24 Python
Python 获取div标签中的文字实例
2018/12/20 Python
提升Python程序性能的7个习惯
2019/04/14 Python
Django CBV类的用法详解
2019/07/26 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
Python二元赋值实用技巧解析
2019/10/25 Python
Python实现快速大文件比较代码解析
2020/09/04 Python
分享CSS3制作卡片式图片的方法
2016/07/08 HTML / CSS
Feelunique澳大利亚:欧洲的化妆品零售电商
2019/12/18 全球购物
巴西购物网站:Submarino
2020/01/19 全球购物
初中家长寄语
2014/04/02 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
论群众路线学习心得体会
2014/10/31 职场文书
2015年党建工作汇报材料
2015/06/25 职场文书
2016大学生形势与政策心得体会
2016/01/12 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
Java 在线考试云平台的实现
2021/11/23 Java/Android
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android
GoFrame框架数据校验之校验结果Error接口对象
2022/06/21 Golang