在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插入排序算法的实现代码
Nov 21 Python
Python入门之modf()方法的使用
May 15 Python
python实现根据主机名字获得所有ip地址的方法
Jun 28 Python
Django实现全文检索的方法(支持中文)
May 14 Python
利用python和百度地图API实现数据地图标注的方法
May 13 Python
Django中多种重定向方法使用详解
Jul 17 Python
python单线程下实现多个socket并发过程详解
Jul 27 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
Mar 06 Python
mac在matplotlib中显示中文的操作方法
Mar 06 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
Apr 01 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
Apr 22 Python
python异步的ASGI与Fast Api实现
Jul 16 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
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
PHP微信刮刮卡 附微信接口
2016/07/22 PHP
Laravel模型事件的实现原理详解
2018/03/14 PHP
Laravel如何实现自动加载类
2019/10/14 PHP
laravel5 Eloquent 实现事务方式
2019/10/21 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
childNodes.length与children.length的区别
2009/05/14 Javascript
jquery的ajax跨域请求原理和示例
2014/05/08 Javascript
使用JavaScript实现网页版Pongo设计思路及源代码分享
2014/06/16 Javascript
JQuery查找DOM节点的方法
2015/06/11 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
Canvas实现动态的雪花效果
2017/02/13 Javascript
JS+jQuery实现注册信息的验证功能
2017/09/26 jQuery
JS实现显示当前日期的实例代码
2018/07/03 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
关于vue.js中实现方法内某些代码延时执行
2019/11/14 Javascript
原生js实现点击轮播切换图片
2020/02/11 Javascript
[08:38]DOTA2-DPC中国联赛 正赛 VG vs Elephant 选手采访
2021/03/11 DOTA
Python的Flask框架中实现分页功能的教程
2015/04/20 Python
python Flask实现restful api service
2017/12/04 Python
Python实现字典(dict)的迭代操作示例
2018/06/05 Python
Python实现二维曲线拟合的方法
2018/12/29 Python
django数据模型中null和blank的区别说明
2020/09/02 Python
Nike德国官网:Nike.com (DE)
2018/11/13 全球购物
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
高三自我鉴定范文
2013/10/19 职场文书
体育专业个人求职信范文
2013/12/27 职场文书
打架检讨书800字
2014/01/10 职场文书
小学教师师德师风演讲稿
2014/08/22 职场文书
转让协议书范本
2014/09/13 职场文书
文明倡议书
2015/01/19 职场文书
白鹤梁导游词
2015/02/06 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
演讲稿之开卷有益
2019/08/07 职场文书
教你使用Jenkins集成Harbor自动发布镜像
2022/04/03 Servers
HTML5中的DOCUMENT.VISIBILITYSTATE属性详解
2023/05/07 HTML / CSS