在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实现的防DDoS脚本
Feb 08 Python
python数据结构树和二叉树简介
Apr 29 Python
Python中函数的参数定义和可变参数用法实例分析
Jun 04 Python
深入学习Python中的装饰器使用
Jun 20 Python
Python中几种导入模块的方式总结
Apr 27 Python
使用python编写简单的小程序编译成exe跑在win10上
Jan 15 Python
python主线程捕获子线程的方法
Jun 17 Python
Python 实现微信防撤回功能
Apr 29 Python
python实现WebSocket服务端过程解析
Oct 18 Python
Python 实现自动获取种子磁力链接方式
Jan 16 Python
Pytorch 实现数据集自定义读取
Jan 18 Python
实操Python爬取觅知网素材图片示例
Nov 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实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
php注册登录系统简化版
2020/12/28 PHP
Yii2框架数据验证操作实例详解
2018/05/02 PHP
Laravel开启跨域请求的方法
2019/10/13 PHP
用dom+xhtml+css制作的一个相册效果代码打包下载
2008/01/24 Javascript
在jquery中处理带有命名空间的XML数据
2011/06/13 Javascript
javascript date格式化示例
2013/09/25 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
javascript放大镜效果的简单实现
2013/12/09 Javascript
JavaScript中String.prototype用法实例
2015/05/20 Javascript
JS实现的简洁纵向滑动菜单(滑动门)效果
2015/10/19 Javascript
解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
2015/12/10 Javascript
JavaScript截取、切割字符串的技巧
2016/01/07 Javascript
Javascript数组Array方法解读
2016/03/13 Javascript
jQuery实现弹出窗口弹出div层的实例代码
2017/01/09 Javascript
使用jQuery和ajax代替iframe的方法(详解)
2017/04/12 jQuery
Vue的MVVM实现方法
2017/08/16 Javascript
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
JS实现的视频弹幕效果示例
2018/08/17 Javascript
vue component 中引入less文件报错 Module build failed
2019/04/17 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
2019/08/14 Javascript
vue如何在用户要关闭当前网页时弹出提示的实现
2020/05/31 Javascript
vue-cli3配置favicon.ico和title的流程
2020/10/27 Javascript
Python 爬虫学习笔记之正则表达式
2016/09/21 Python
对pandas中to_dict的用法详解
2018/06/05 Python
python对常见数据类型的遍历解析
2019/08/27 Python
Python中的延迟绑定原理详解
2019/10/11 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
有关打架的检讨书
2014/01/25 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
MySQL的InnoDB存储引擎的数据页结构详解
2022/03/03 MySQL
光之国的四大叛徒:第一贝利亚导致宇宙毁灭,赛文奥特曼在榜
2022/03/18 日漫
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏