在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中循环语句的嵌套使用
May 14 Python
python实现的简单抽奖系统实例
May 22 Python
Python简单计算文件夹大小的方法
Jul 14 Python
Ubuntu安装Jupyter Notebook教程
Oct 18 Python
python基础教程项目三之万能的XML
Apr 02 Python
python多线程抽象编程模型详解
Mar 20 Python
Python实现随机取一个矩阵数组的某几行
Nov 26 Python
使用 Supervisor 监控 Python3 进程方式
Dec 05 Python
python的slice notation的特殊用法详解
Dec 27 Python
安装多个版本的TensorFlow的方法步骤
Apr 21 Python
详解python中的闭包
Sep 07 Python
Python 列表反转显示的四种方法
Nov 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
PHP之短标签开启设置
2013/06/17 PHP
PHP防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
2014/07/29 PHP
PHP使用XMLWriter读写xml文件操作详解
2018/07/31 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
PHP7创建销毁session的实例方法
2020/02/03 PHP
实用javaScript技术-屏蔽类
2006/08/15 Javascript
jQuery maxlength文本字数限制插件
2010/04/16 Javascript
js 数值项目的格式化函数代码
2010/05/14 Javascript
node.js中的path.join方法使用说明
2014/12/08 Javascript
jQuery动态背景图片效果实现方法
2015/07/03 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
js从外部获取图片的实现方法
2016/08/05 Javascript
angular框架实现全选与单选chekbox的自定义
2017/07/06 Javascript
js实现点击按钮复制文本功能
2020/07/20 Javascript
解决Mac安装thrift因bison报错的问题
2018/05/17 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
2018/10/24 Javascript
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
vue.js watch经常失效的场景与解决方案
2021/01/07 Vue.js
Python Web框架Flask下网站开发入门实例
2015/02/08 Python
Python数据预处理之数据规范化(归一化)示例
2019/01/08 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
2019/07/04 Python
获取CSDN文章内容并转换为markdown文本的python
2020/09/06 Python
Python+Opencv实现把图片、视频互转的示例
2020/12/17 Python
解决img标签上下出现间隙的方法
2016/12/14 HTML / CSS
使用HTML5 Canvas为图片填充颜色和纹理的教程
2016/03/21 HTML / CSS
如何删除一个表里面的重复行
2013/07/13 面试题
创立科技Java面试题
2015/11/29 面试题
市政管理求职信范文
2014/05/07 职场文书
媒体宣传策划方案
2014/05/25 职场文书
瘦西湖导游词
2015/02/03 职场文书
监理中标通知书
2015/04/16 职场文书
教学质量月活动总结
2015/05/11 职场文书
导游词之上海豫园
2019/10/24 职场文书
七个Python必备的GUI库
2021/04/27 Python
详解php中流行的rpc框架
2021/05/29 PHP