在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的Django框架中编写编译函数
Jul 20 Python
浅谈python中scipy.misc.logsumexp函数的运用场景
Jun 23 Python
用python写一个windows下的定时关机脚本(推荐)
Mar 21 Python
Python之str操作方法(详解)
Jun 19 Python
Python 实现使用dict 创建二维数据、DataFrame
Apr 13 Python
Python sorted函数详解(高级篇)
Sep 18 Python
python通过实例讲解反射机制
Oct 17 Python
Python使用psutil获取进程信息的例子
Dec 17 Python
python由已知数组快速生成新数组的方法
Apr 08 Python
Python调用C语言程序方法解析
Jul 07 Python
python实现图片转字符画的完整代码
Feb 21 Python
Python-OpenCV教程之图像的位运算详解
Jun 21 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代码优化及php相关问题总结
2006/10/09 PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
PHP模拟http请求的方法详解
2016/11/09 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
jQuery 常见学习网站与参考书
2009/11/09 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
javascript事件委托的方式绑定详解
2015/06/10 Javascript
Javascript OOP之面向对象
2016/07/31 Javascript
js date 格式化
2017/02/15 Javascript
Angular2安装angular-cli
2017/05/21 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
从零开始搭建vue移动端项目到上线的步骤
2018/10/15 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
python根据出生年份简单计算生肖的方法
2015/03/27 Python
python保存字符串到文件的方法
2015/07/01 Python
python中关于for循环的碎碎念
2017/06/30 Python
python爬取微信公众号文章
2018/08/31 Python
python-itchat 获取微信群用户信息的实例
2019/02/21 Python
python nmap实现端口扫描器教程
2020/05/28 Python
Python序列化与反序列化pickle用法实例
2019/11/11 Python
opencv resize图片为正方形尺寸的实现方法
2019/12/26 Python
pygame实现飞机大战
2020/03/11 Python
英国领先的在线旅游和休闲零售商:lastminute.com
2019/01/23 全球购物
游戏商店:Eneba
2020/04/25 全球购物
街道务虚会发言材料
2014/10/20 职场文书
自主招生专家推荐信
2015/03/26 职场文书
酒店圣诞节活动总结
2015/05/06 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
我爱我班主题班会
2015/08/13 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server
mysql数据库如何转移到oracle
2022/12/24 MySQL