在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 socket编程实例详解
May 27 Python
python查看FTP是否能连接成功的方法
Jul 30 Python
Python的条件语句与运算符优先级详解
Oct 13 Python
Python判断两个对象相等的原理
Dec 12 Python
Python使用add_subplot与subplot画子图操作示例
Jun 01 Python
Python 实现子类获取父类的类成员方法
Jan 11 Python
python 弹窗提示警告框MessageBox的实例
Jun 18 Python
python调试神器PySnooper的使用
Jul 03 Python
Python 实现一个手机号码获取妹子名字的功能
Sep 25 Python
python3注册全局热键的实现
Mar 22 Python
在keras里面实现计算f1-score的代码
Jun 15 Python
Pycharm 如何设置HTML文件自动补全代码或标签
May 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在线打包程序源码
2008/07/27 PHP
PHP读取XML值的代码(推荐)
2011/01/01 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
基于Laravel 5.2 regex验证的正确写法
2019/09/29 PHP
PHP如何使用array_unshift()在数组开头插入元素
2020/09/01 PHP
JavaScript replace(rgExp,fn)正则替换的用法
2010/03/04 Javascript
replace()方法查找字符使用示例
2013/10/28 Javascript
动态标签 悬停效果 延迟加载示例代码
2013/11/21 Javascript
使用javascript获取页面名称
2014/12/23 Javascript
Node.js 学习笔记之简介、安装及配置
2015/03/03 Javascript
JavaScript获取页面中表单(form)数量的方法
2015/04/03 Javascript
JQuery+EasyUI轻松实现步骤条效果
2016/02/22 Javascript
浅谈JS继承_寄生式继承 & 寄生组合式继承
2016/08/16 Javascript
vue 项目如何引入微信sdk接口的方法
2017/12/18 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
JavaScript实现联动菜单特效
2020/01/07 Javascript
OpenLayers3实现图层控件功能
2020/09/25 Javascript
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
Python科学计算之NumPy入门教程
2017/01/15 Python
Tensorflow 利用tf.contrib.learn建立输入函数的方法
2018/02/08 Python
python正向最大匹配分词和逆向最大匹配分词的实例
2018/11/14 Python
如何在Django中设置定时任务的方法示例
2019/01/18 Python
Python高级特性——详解多维数组切片(Slice)
2019/11/26 Python
使用python求斐波那契数列中第n个数的值示例代码
2020/07/26 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2021/01/05 Python
Python将QQ聊天记录生成词云的示例代码
2021/02/10 Python
幼儿园教师教育感言
2014/02/28 职场文书
悬空寺导游词
2015/02/05 职场文书
音乐之声观后感
2015/06/04 职场文书
在职证明格式样本
2015/06/15 职场文书
Python基础详解之邮件处理
2021/04/28 Python