在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过滤字符串中不属于指定集合中字符的类实例
Jun 30 Python
python轻松查到删除自己的微信好友
Jan 10 Python
Python使用jsonpath-rw模块处理Json对象操作示例
Jul 31 Python
python flask实现分页的示例代码
Aug 02 Python
Python3 SSH远程连接服务器的方法示例
Dec 29 Python
彻底理解Python中的yield关键字
Apr 01 Python
python实现QQ空间自动点赞功能
Apr 09 Python
python3.6使用tkinter实现弹跳小球游戏
May 09 Python
python3文件复制、延迟文件复制任务的实现方法
Sep 02 Python
Python序列类型的打包和解包实例
Dec 21 Python
python 密码学示例——凯撒密码的实现
Sep 21 Python
Django windows使用Apache实现部署流程解析
Oct 12 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
实用函数8
2007/11/08 PHP
CURL的学习和应用(附多线程实现)
2013/06/03 PHP
浅谈php错误提示及查错方法
2015/07/14 PHP
php.ini中date.timezone设置详解
2016/11/20 PHP
详解PHP的抽象类和抽象方法以及接口总结
2019/03/15 PHP
firefox插件Firebug的使用教程
2010/01/02 Javascript
CSS和JS标签style属性对照表(方便js开发的朋友)
2010/11/11 Javascript
jquery 操作DOM案例代码分享
2012/04/05 Javascript
jQuery过滤选择器:not()方法使用介绍
2014/04/20 Javascript
js生成的验证码的实现与技术分析
2014/09/17 Javascript
浅谈JavaScript中null和undefined
2015/07/09 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
基于jquery实现三级下拉菜单
2016/05/10 Javascript
jquery实现图片跟随鼠标的实例
2017/10/17 jQuery
Node.js readline模块与util模块的使用
2018/03/01 Javascript
vue项目中使用多选框的实例代码
2020/07/22 Javascript
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
python sort、sorted高级排序技巧
2014/11/21 Python
Python工程师面试题 与Python基础语法相关
2016/01/14 Python
分享一个可以生成各种进制格式IP的小工具实例代码
2017/07/28 Python
Python 中Pickle库的使用详解
2018/02/24 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
python将字典内容写入json文件的实例代码
2020/08/12 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
Python实现简单的2048小游戏
2021/03/01 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
幼儿园毕业园长感言
2014/02/24 职场文书
授权委托书格式
2014/07/31 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
2015大学党建带团建工作总结
2015/07/23 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers
laravel添加角色和模糊搜索功能的实现代码
2021/06/22 PHP
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫