在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爬取网易云音乐上评论火爆的歌曲
Jan 19 Python
pandas string转dataframe的方法
Apr 11 Python
Python闭包执行时值的传递方式实例分析
Jun 04 Python
python pandas 如何替换某列的一个值
Jun 09 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
Jun 14 Python
Python操作MySQL数据库的方法
Jun 20 Python
mac安装pytorch及系统的numpy更新方法
Jul 26 Python
对Django url的几种使用方式详解
Aug 06 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
Aug 18 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
Nov 26 Python
TensorBoard 计算图的查看方式
Feb 15 Python
python的scipy.stats模块中正态分布常用函数总结
Feb 19 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
全国FM电台频率大全 - 21 海南省
2020/03/11 无线电
杏林同学录(四)
2006/10/09 PHP
php中批量删除Mysql中相同前缀的数据表的代码
2011/07/01 PHP
php中socket通信机制实例详解
2015/01/03 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
浅析PHP中json_encode与json_decode的区别
2020/07/15 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
addRule在firefox下的兼容写法
2006/11/30 Javascript
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
js sort 二维数组排序的用法小结
2014/01/24 Javascript
jquery实现的鼠标拖动排序Li或Table
2014/05/04 Javascript
jQuery中removeAttr()方法用法实例
2015/01/05 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
跟我学习javascript的严格模式
2015/11/16 Javascript
使用DeviceOne实现微信小程序功能
2016/12/29 Javascript
深入理解Javascript箭头函数中的this
2017/02/13 Javascript
重学JS之显示强制类型转换详解
2019/06/30 Javascript
VsCode与Node.js知识点详解
2019/09/05 Javascript
使用layui 的layedit定义自己的toolbar方法
2019/09/18 Javascript
在vue中获取wangeditor的html和text的操作
2020/10/23 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
对python numpy数组中冒号的使用方法详解
2018/04/17 Python
python 执行文件时额外参数获取的实例
2018/12/18 Python
pycharm 实现显示project 选项卡的方法
2019/01/17 Python
python把ipynb文件转换成pdf文件过程详解
2019/07/09 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
使用css3实现的windows8开机加载动画
2014/12/09 HTML / CSS
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
女性时尚网购:Chic Me
2019/07/30 全球购物
运动会广播稿150字(9篇)
2014/09/20 职场文书
2015年感恩节演讲稿(优选篇)
2015/03/20 职场文书
中秋节祝酒词
2015/08/12 职场文书
导游词幽默开场白
2019/06/26 职场文书