在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 22 Python
Python中正则表达式详解
May 17 Python
Python基于贪心算法解决背包问题示例
Nov 27 Python
Python爬取附近餐馆信息代码示例
Dec 09 Python
Python实现自动发送邮件功能
Mar 02 Python
python3下实现搜狗AI API的代码示例
Apr 10 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
May 18 Python
python 消除 futureWarning问题的解决
Dec 25 Python
在Python中利用pickle保存变量的实例
Dec 30 Python
Django 再谈一谈json序列化
Mar 16 Python
asyncio异步编程之Task对象详解
Mar 13 Python
python读取mat文件生成h5文件的实现
Jul 15 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
cmd下运行php脚本
2008/11/25 PHP
php json_encode值中大括号与花括号区别
2013/09/30 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
2015/01/09 PHP
php单一接口的实现方法
2015/06/20 PHP
Laravel中注册Facades的步骤详解
2016/03/16 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
php获取'/'传参的值简单方法
2017/07/13 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
情人节专属 纯js脚本1k大小的3D玫瑰效果
2012/02/11 Javascript
JavaScript通过字典进行字符串翻译转换的方法
2015/03/19 Javascript
jQuery ready()和onload的加载耗时分析
2016/09/08 Javascript
简单三步实现报表页面集成天气
2016/12/15 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
Vue.js结合Ueditor富文本编辑器的实例代码
2017/07/11 Javascript
微信小程序按钮点击跳转页面详解
2019/05/06 Javascript
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
JavaScript对象原型链原理解析
2020/01/22 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
[01:00]DOTA2 store: Collection of Artisan's Wonders
2015/08/12 DOTA
python 切片和range()用法说明
2013/03/24 Python
python pdb调试方法分享
2014/01/21 Python
Python操作列表的常用方法分享
2014/02/13 Python
python处理圆角图片、圆形图片的例子
2014/04/25 Python
python学习基础之循环import及import过程
2018/04/22 Python
python 3.6.5 安装配置方法图文教程
2018/09/18 Python
ZABBIX3.2使用python脚本实现监控报表的方法
2019/07/02 Python
Python内置类型性能分析过程实例
2020/01/29 Python
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
采购员的工作职责
2013/12/26 职场文书
委托培训协议书
2014/11/17 职场文书
2015年干部教育培训工作总结
2015/05/15 职场文书
2015年城管执法工作总结
2015/07/23 职场文书
2016十一国庆节感言
2015/12/09 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python
mysql配置SSL证书登录的实现
2021/09/04 MySQL
Netty分布式客户端处理接入事件handle源码解析
2022/03/25 Java/Android