在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用字典统计单词或汉字词个数示例
Apr 22 Python
探究数组排序提升Python程序的循环的运行效率的原因
Apr 01 Python
详解python里使用正则表达式的分组命名方式
Oct 24 Python
使用Python设计一个代码统计工具
Apr 04 Python
解决python报错MemoryError的问题
Jun 26 Python
使用memory_profiler监测python代码运行时内存消耗方法
Dec 03 Python
Python基于机器学习方法实现的电影推荐系统实例详解
Jun 25 Python
Pytorch中的VGG实现修改最后一层FC
Jan 15 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
Mar 10 Python
Python 如何批量更新已安装的库
May 26 Python
python搜索算法原理及实例讲解
Nov 18 Python
Python 调用 ES、Solr、Phoenix的示例代码
Nov 23 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实现将HTML5中Canvas图像保存到服务器的方法
2014/11/28 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
PHP判断文件是否被引入的方法get_included_files用法示例
2016/11/29 PHP
ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法
2017/06/09 PHP
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
jQuery 获取浏览器所在的IP地址的小例子
2013/11/08 Javascript
javascript的渐进增强与平稳退化浅谈
2013/11/12 Javascript
js判断IE浏览器版本过低示例代码
2013/11/22 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
Javascript this 关键字 详解
2014/10/22 Javascript
PHP PDO操作总结
2014/11/17 Javascript
javascript中cookie对象用法实例分析
2015/01/30 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
EasyUI布局 高度自适应
2016/06/04 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
webstrom Debug 调试vue项目的方法步骤
2018/07/17 Javascript
微信小程序实现滚动加载更多的代码
2019/12/06 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
2015/12/25 Python
numpy数组拼接简单示例
2017/12/15 Python
Python使用Matplotlib实现Logos设计代码
2017/12/25 Python
Python3.6日志Logging模块简单用法示例
2018/06/14 Python
python爬虫之urllib3的使用示例
2018/07/09 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
一款基于css3的列表toggle特效实例教程
2015/01/04 HTML / CSS
马来西亚与新加坡长途巴士售票网站:BusOnlineTicket.com
2018/11/05 全球购物
会计学生自我鉴定
2014/02/06 职场文书
学校组织向国旗敬礼活动方案(中小学适用)
2014/09/27 职场文书
一年级语文上册复习计划
2015/01/17 职场文书
小学一年级数学教学计划
2015/01/20 职场文书
2015年店长个人工作总结
2015/10/23 职场文书
springboot拦截器无法注入redisTemplate的解决方法
2021/06/27 Java/Android