在python image 中安装中文字体的实现方法


Posted in Python onAugust 22, 2019

如果一些应用需要到中文字体(如果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 image 中安装中文字体的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用pyhook监控键盘并实现切换歌曲的功能
Jul 18 Python
Python Web框架Tornado运行和部署
Oct 19 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
May 08 Python
Python中pandas模块DataFrame创建方法示例
Jun 20 Python
实例讲解python中的协程
Oct 08 Python
Python3.5文件读与写操作经典实例详解
May 01 Python
用python求一个数组的和与平均值的实现方法
Jun 29 Python
Django CBV类的用法详解
Jul 26 Python
python os.path.isfile 的使用误区详解
Nov 29 Python
pytorch 使用加载训练好的模型做inference
Feb 20 Python
python爬虫中采集中遇到的问题整理
Nov 27 Python
Python实战之用tkinter库做一个鼠标模拟点击器
Apr 27 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
Aug 22 #Python
用Pelican搭建一个极简静态博客系统过程解析
Aug 22 #Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
Aug 22 #Python
Django stark组件使用及原理详解
Aug 22 #Python
Python学习笔记之字符串和字符串方法实例详解
Aug 22 #Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 #Python
Django上线部署之IIS的配置方法
Aug 22 #Python
You might like
PHP面向对象分析设计的经验原则
2008/09/20 PHP
PHP curl模拟浏览器采集阿里巴巴的实现代码
2011/04/20 PHP
javascript中对对层的控制
2006/12/29 Javascript
javascript实现原生ajax的几种方法介绍
2013/09/21 Javascript
js点击文本框后才加载验证码实例代码
2015/10/20 Javascript
JavaScript里 ==与===区别详解
2016/08/16 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
2017/03/15 Javascript
Vue中使用vux的配置详解
2017/05/05 Javascript
nodejs使用http模块发送get与post请求的方法示例
2018/01/08 NodeJs
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
vue中tab选项卡的实现思路
2018/11/25 Javascript
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
[50:50]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第一场 12.10
2020/12/13 DOTA
Python操作SQLite简明教程
2014/07/10 Python
python正则表达式match和search用法实例
2015/03/26 Python
python获取本地计算机名字的方法
2015/04/29 Python
Python模拟登录验证码(代码简单)
2016/02/06 Python
Python编写简单的HTML页面合并脚本
2016/07/11 Python
Python上下文管理器和with块详解
2017/09/09 Python
Python把csv数据写入list和字典类型的变量脚本方法
2018/06/15 Python
pycharm运行和调试不显示结果的解决方法
2018/11/30 Python
解析Python的缩进规则的使用
2019/01/16 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
pytorch 实现删除tensor中的指定行列
2020/01/13 Python
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
《有趣的发现》教学反思
2014/04/15 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
大学生赌博检讨书
2014/09/22 职场文书
交通运输局四风问题对照检查材料思想汇报
2014/10/09 职场文书
2016年寒假见闻
2015/10/10 职场文书
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS
MongoDB数据库常用的10条操作命令
2021/06/18 MongoDB
Nginx静态压缩和代码压缩提高访问速度详解
2022/05/30 Servers
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle