在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中pycurl库的用法实例
Sep 30 Python
详解python发送各类邮件的主要方法
Dec 22 Python
Python 错误和异常代码详解
Jan 29 Python
Python实现简单遗传算法(SGA)
Jan 29 Python
Python 对输入的数字进行排序的方法
Jun 23 Python
在python中使用requests 模拟浏览器发送请求数据的方法
Dec 26 Python
python numpy生成等差数列、等比数列的实例
Feb 25 Python
Django Channel实时推送与聊天的示例代码
Apr 30 Python
在Mac中配置Python虚拟环境过程解析
Jun 22 Python
Python如何读写二进制数组数据
Aug 01 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
Aug 04 Python
Python3.8安装Pygame教程步骤详解
Aug 14 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&&mysql)一
2006/10/09 PHP
PHP nl2br函数 将换行字符转成 <br>
2009/08/21 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
php计算到指定日期还有多少天的方法
2015/04/14 PHP
PHP获取毫秒级时间戳的方法
2015/04/15 PHP
微信支付的开发流程详解
2016/09/13 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
php根据地址获取百度地图经纬度的实例方法
2019/09/03 PHP
用js遍历 table的脚本
2008/07/23 Javascript
javaScript 数值型和字符串型之间的转换
2009/07/25 Javascript
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
jquery简单实现鼠标经过导航条改变背景图
2013/12/17 Javascript
jQuery实现鼠标点击弹出渐变层的方法
2015/07/09 Javascript
浅谈Angular 中何时取消订阅
2017/11/22 Javascript
AngularJS下$http服务Post方法传递json参数的实例
2018/03/29 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
ES6中new Function()语法及应用实例分析
2020/02/19 Javascript
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
Python实现读取目录所有文件的文件名并保存到txt文件代码
2014/11/22 Python
Python中的rfind()方法使用详解
2015/05/19 Python
Python设置默认编码为utf8的方法
2016/07/01 Python
符合语言习惯的 Python 优雅编程技巧【推荐】
2018/09/25 Python
Python中按键来获取指定的值
2019/03/02 Python
python求最大值最小值方法总结
2019/06/25 Python
python3 配置logging日志类的操作
2020/04/08 Python
深入分析python 排序
2020/08/24 Python
会计大学生职业生涯规划书范文
2014/01/13 职场文书
中秋晚会策划方案
2014/06/12 职场文书
2014年控辍保学工作总结
2014/12/08 职场文书
社区党员干部承诺书
2015/05/04 职场文书
建党伟业观后感
2015/06/01 职场文书
宝宝满月宴答谢词
2015/09/30 职场文书
2019新员工试用期转正工作总结范文
2019/08/21 职场文书
python中的mysql数据库LIKE操作符详解
2021/07/01 MySQL
Golang map映射的用法
2022/04/22 Golang