在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中List.index()方法的使用教程
May 20 Python
利用Python将时间或时间间隔转为ISO 8601格式方法示例
Sep 05 Python
在Pycharm中修改文件默认打开方式的方法
Jan 17 Python
python pexpect ssh 远程登录服务器的方法
Feb 14 Python
python实现中文文本分句的例子
Jul 15 Python
使用python实现离散时间傅里叶变换的方法
Sep 02 Python
Django通过dwebsocket实现websocket的例子
Nov 15 Python
对tensorflow中cifar-10文档的Read操作详解
Feb 10 Python
Matplotlib使用字符串代替变量绘制散点图的方法
Feb 17 Python
python使用pymongo与MongoDB基本交互操作示例
Apr 09 Python
scrapy处理python爬虫调度详解
Nov 23 Python
在python3.9下如何安装scrapy的方法
Feb 03 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
长波知识介绍
2021/03/01 无线电
php记录日志的实现代码
2011/08/08 PHP
php分页代码学习示例分享
2014/02/20 PHP
php实现求相对时间函数
2015/06/15 PHP
初识PHP中的Swoole
2016/04/05 PHP
php实现用户登陆简单实例
2017/04/04 PHP
PHP简单计算两个时间差的方法示例
2017/06/20 PHP
打造基于jQuery的高性能TreeView(asp.net)
2011/02/23 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
2015/11/03 Javascript
javascript瀑布流布局实现方法详解
2016/02/17 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
2016/05/27 Javascript
JavaScript数组操作函数汇总
2016/08/05 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
2016/12/08 Javascript
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
javascript实现Java中的Map对象功能的实例详解
2017/08/21 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
2018/09/04 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
2019/09/07 Javascript
通过实例了解JS执行上下文运行原理
2020/06/17 Javascript
原生js+canvas实现贪吃蛇效果
2020/08/02 Javascript
[05:06]2017亚洲邀请赛DAC回顾片
2017/04/19 DOTA
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
Python使用QRCode模块生成二维码实例详解
2017/06/14 Python
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
Python 如何提高元组的可读性
2019/08/26 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
20世纪40年代连衣裙和复古服装:The Seamstress Of Bloomsbury
2018/07/24 全球购物
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
安踏广告词改编版
2014/03/21 职场文书
文明礼仪伴我行演讲稿
2014/05/12 职场文书
公司行政专员岗位职责
2014/08/24 职场文书
史上最牛的辞职信
2015/02/28 职场文书
2015年数学教研工作总结
2015/07/22 职场文书
85句关于理想的名言警句大全
2019/08/22 职场文书
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL