在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基于checksum计算文件是否相同的方法
Jul 09 Python
全面了解Python的getattr(),setattr(),delattr(),hasattr()
Jun 14 Python
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
Jul 01 Python
对dataframe进行列相加,行相加的实例
Jun 08 Python
python使用__slots__让你的代码更加节省内存
Sep 05 Python
pycharm重置设置,恢复默认设置的方法
Oct 22 Python
使用Python制作简单的小程序IP查看器功能
Apr 16 Python
Python3日期与时间戳转换的几种方法详解
Jun 04 Python
python pycharm的安装及其使用
Oct 11 Python
opencv python Canny边缘提取实现过程解析
Feb 03 Python
多个版本的python共存时使用pip的正确做法
Oct 26 Python
Pytorch 统计模型参数量的操作 param.numel()
May 13 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守护进程 加linux命令nohup实现任务每秒执行一次
2011/07/04 PHP
PHP的变量类型和作用域详解
2014/03/12 PHP
asp函数split()对应php函数explode()
2019/02/27 PHP
JavaScript入门教程(5) js Screen屏幕对象
2009/01/31 Javascript
jquery中eq和get的区别与使用方法
2011/04/14 Javascript
Javascript实现单张图片浏览
2014/12/18 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
检查表单元素的值是否为空的实例代码
2016/06/16 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
快速了解vue-cli 3.0 新特性
2018/02/28 Javascript
详解vue 项目白屏解决方案
2018/10/31 Javascript
vue模式history下在iis中配置流程
2019/04/17 Javascript
node 解析图片二维码的内容代码实例
2019/09/11 Javascript
layui+SSM的数据表的增删改实例(利用弹框添加、修改)
2019/09/27 Javascript
vue 监听窗口变化对页面部分元素重新渲染操作
2020/07/28 Javascript
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
使用Python获取Linux系统的各种信息
2014/07/10 Python
Python中列表的一些基本操作知识汇总
2015/05/20 Python
Django中Model的使用方法教程
2018/03/07 Python
Python OpenCV 使用滑动条来调整函数参数的方法
2019/07/08 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
如何通过Django使用本地css/js文件
2020/01/20 Python
Python标准库shutil模块使用方法解析
2020/03/10 Python
jupyter notebook中新建cell的方法与快捷键操作
2020/04/22 Python
Pytest如何使用skip跳过执行测试
2020/08/13 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
.NET常见笔试题集
2012/12/01 面试题
给排水工程师岗位职责
2013/11/21 职场文书
大学生党课思想汇报
2013/12/29 职场文书
机关单位动员会主持词
2014/03/20 职场文书
班主任寄语大全
2014/04/04 职场文书
中共广东省委常委会党的群众路线教育实践活动整改方案
2014/09/23 职场文书
大学生党员自我批评思想汇报
2014/10/10 职场文书
MySQL REVOKE实现删除用户权限
2021/06/18 MySQL
Vue项目打包、合并及压缩优化网页响应速度
2021/07/07 Vue.js