在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实现基本数据结构中队列的操作方法示例
Dec 04 Python
python 实现在Excel末尾增加新行
May 02 Python
python2.7使用plotly绘制本地散点图和折线图
Apr 02 Python
详解python之heapq模块及排序操作
Apr 04 Python
如何用Python做一个微信机器人自动拉群
Jul 03 Python
python3 requests库实现多图片爬取教程
Dec 18 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
Dec 23 Python
Python如何实现的二分查找算法
May 27 Python
python名片管理系统开发
Jun 18 Python
python实现猜数游戏(保存游戏记录)
Jun 22 Python
Python代码覆盖率统计工具coverage.py用法详解
Nov 25 Python
python 可视化库PyG2Plot的使用
Jan 21 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 mssql 分页SQL语句优化 持续影响
2009/04/26 PHP
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
php中curl使用指南
2015/02/05 PHP
php利用反射实现插件机制的方法
2015/03/14 PHP
PHP字典树(Trie树)定义与实现方法示例
2017/10/09 PHP
jQuery阻止同类型事件小结
2013/04/19 Javascript
Tab切换组件(选项卡功能)实例代码
2013/11/21 Javascript
jQuery实现的进度条效果
2015/07/15 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
VUE 使用中踩过的坑
2018/02/08 Javascript
快速解决select2在bootstrap模态框中下拉框隐藏的问题
2018/08/10 Javascript
JS实现简单省市二级联动
2019/11/27 Javascript
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
python中查看变量内存地址的方法
2015/05/05 Python
使用EduBlock轻松学习Python编程
2018/10/08 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
python3调用windows dos命令的例子
2019/08/14 Python
django多种支付、并发订单处理实例代码
2019/12/13 Python
一款基于css3的动画按钮代码教程
2014/11/23 HTML / CSS
CSS3 linear-gradient线性渐变生成加号和减号的方法
2017/11/21 HTML / CSS
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
台湾SHOPRO购物行家:亚洲首创影视.3C.家电.优质购物平台
2018/05/07 全球购物
linux面试题参考答案(2)
2015/12/06 面试题
工作中的自我评价如何写好
2013/10/28 职场文书
监理资料员岗位职责
2014/01/03 职场文书
学校师德师风整改方案
2014/10/28 职场文书
社区敬老月活动总结
2015/05/07 职场文书
债务纠纷起诉书
2015/05/20 职场文书
我是特种兵观后感
2015/06/11 职场文书
小型婚礼主持词
2015/06/30 职场文书
2015年秋季小学开学标语
2015/07/16 职场文书
感恩教育主题班会
2015/08/12 职场文书
新教师教学工作总结
2015/08/14 职场文书
创业计划书之宠物店
2019/09/19 职场文书