在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封装对象实现时间效果
Apr 23 Python
python中使用iterrows()对dataframe进行遍历的实例
Jun 09 Python
基于DataFrame改变列类型的方法
Jul 25 Python
PyQt5组件读取参数的实例
Jun 25 Python
python  文件的基本操作 菜中菜功能的实例代码
Jul 17 Python
python数据持久存储 pickle模块的基本使用方法解析
Aug 30 Python
Python批量安装卸载1000个apk的方法
Apr 10 Python
Django 用户登陆访问限制实例 @login_required
May 13 Python
Python如何实现定时器功能
May 28 Python
Python中zipfile压缩文件模块的基本使用教程
Jun 14 Python
使用Python文件读写,自定义分隔符(custom delimiter)
Jul 05 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
Jan 30 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中限制IP段访问、禁止IP提交表单的代码
2011/04/23 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
JavaScript 保存数组到Cookie的代码
2010/04/14 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
详解JS去重及字符串奇数位小写转大写
2016/12/29 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
Vue项目数据动态过滤实践及实现思路
2018/09/11 Javascript
微信小程序实现保存图片到相册功能
2018/11/30 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
django简单的前后端分离的数据传输实例 axios
2020/05/18 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
js实现鼠标点击飘爱心效果
2020/08/19 Javascript
python实现爬虫下载漫画示例
2014/02/16 Python
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
Python之多线程爬虫抓取网页图片的示例代码
2018/01/10 Python
python保存数据到本地文件的方法
2018/06/23 Python
python 解压pkl文件的方法
2018/10/25 Python
python 找出list中最大或者最小几个数的索引方法
2018/10/30 Python
浅谈python中真正关闭socket的方法
2018/12/18 Python
Python实现二维曲线拟合的方法
2018/12/29 Python
Python爬取豆瓣视频信息代码实例
2019/11/16 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
2020/02/24 Python
python图片验证码识别最新模块muggle_ocr的示例代码
2020/07/03 Python
Python通过yagmail实现发送邮件代码解析
2020/10/27 Python
皮姆斯勒语言学习:Pimsleur Language Programs
2018/06/30 全球购物
电子商务专业在校生实习自我鉴定
2013/09/29 职场文书
模特大赛策划方案
2014/05/28 职场文书
2014年德育工作总结
2014/11/20 职场文书
2015年七七事变78周年纪念活动方案
2015/05/06 职场文书
新郎新娘致辞
2015/07/31 职场文书
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python
springboot使用Redis作缓存使用入门教程
2021/07/25 Redis
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers