在python image 中实现安装中文字体


Posted in Python onMay 16, 2020

如果一些应用需要到中文字体(如果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内置自带中文字体设置

有些代码中的中文字体,在自己的环境不一定适用

可以通过如下代码打印出自己电脑已经安装的字体

找到其中的中文字体名称放在 = 后即可,例如SimHei(黑体)等。

记得加单引号!!!
记得加单引号!!!
记得加单引号!!!

举例:

plt.rcParams['font.family'] = 'SimHei'

查询代码:

import matplotlib.font_manager as fm

for font in fm.fontManager.ttflist:
 print(font.name)

结果:

在python image 中实现安装中文字体

以上这篇在python image 中实现安装中文字体就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现网站的模拟登录
Jan 04 Python
Python实现批量读取图片并存入mongodb数据库的方法示例
Apr 02 Python
Python解析并读取PDF文件内容的方法
May 08 Python
Python实现的爬虫刷回复功能示例
Jun 07 Python
Python3中详解fabfile的编写
Jun 24 Python
Python 使用PIL中的resize进行缩放的实例讲解
Aug 03 Python
Python 保存矩阵为Excel的实现方法
Jan 28 Python
使用Django开发简单接口实现文章增删改查
May 09 Python
详解如何设置Python环境变量?
May 13 Python
python中用logging实现日志滚动和过期日志删除功能
Aug 20 Python
django实现日志按日期分割
May 21 Python
详解Pycharm与anaconda安装配置指南
Aug 25 Python
Python 判断时间是否在时间区间内的实例
May 16 #Python
解决Python Matplotlib绘图数据点位置错乱问题
May 16 #Python
Python填充任意颜色,不同算法时间差异分析说明
May 16 #Python
解决echarts中饼图标签重叠的问题
May 16 #Python
实现ECharts双Y轴左右刻度线一致的例子
May 16 #Python
在echarts中图例legend和坐标系grid实现左右布局实例
May 16 #Python
Python如何使用PIL Image制作GIF图片
May 16 #Python
You might like
php header()函数使用说明
2008/07/10 PHP
PHP数组相关函数汇总
2015/03/24 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
2016/01/08 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
Laravel框架实现的批量删除功能示例
2019/01/16 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
php 修改密码实现代码
2017/05/24 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
AngularJS表单验证功能
2017/10/19 Javascript
使用vue制作探探滑动堆叠组件的实例代码
2018/03/07 Javascript
通过 JS 判断页面是否有滚动条的实现方法
2018/04/05 Javascript
JS实现键值对遍历json数组功能示例
2018/05/30 Javascript
vue组件实现可搜索下拉框扩展
2020/10/23 Javascript
swiper.js插件实现pc端文本上下滑动功能示例
2018/12/03 Javascript
谈谈JavaScript中的垃圾回收机制
2020/09/17 Javascript
利用PHP实现递归删除链表元素的方法示例
2020/10/23 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
python清除字符串里非字母字符的方法
2015/07/02 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
Python实现获取邮箱内容并解析的方法示例
2018/06/16 Python
Python实现字典按key或者value进行排序操作示例【sorted】
2019/05/03 Python
Python实现打印实心和空心菱形
2019/11/23 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
详解canvas绘制多张图的排列顺序问题
2019/01/21 HTML / CSS
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
nohup的用法
2012/11/26 面试题
技术学校毕业生求职信分享
2013/12/02 职场文书
影视广告专业求职信
2014/09/02 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
2015年学校党支部工作总结
2015/04/01 职场文书
小学庆六一主持词
2015/06/30 职场文书
redis实现的四种常见限流策略
2021/06/18 Redis