当前位置: 首页 > 编程笔记 >

在python image 中实现安装中文字体

宗烨赫
2023-03-14
本文向大家介绍在python image 中实现安装中文字体,包括了在python image 中实现安装中文字体的使用技巧和注意事项,需要的朋友参考一下

如果一些应用需要到中文字体(如果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 image 中安装中文字体的实现方法的使用技巧和注意事项,需要的朋友参考一下 如果一些应用需要到中文字体(如果pygraphviz,不安装中文字体,中文会显示乱码),就要在image 中安装中文字体。 默认 python image 是不包含中文字体的: Dockerfile 如下: 重新build imag

  • 本文向大家介绍Centos6安装中文字体的方法,包括了Centos6安装中文字体的方法的使用技巧和注意事项,需要的朋友参考一下 先安装字体管理软件 将需要安装的字体放到/usr/share/fonts/chinese/目录下 如果不存在这个目录,可以自行创建 修改目录权限,以便其他用户也可以使用 应用更改 注意,某些应用可能需要重启才能生效 使用下面的命令可以查看已经安装的字体 以上所述是小编给大

  • (在回答之前请至少阅读以下内容:这是临时措施!不,我们不想设置本地存储库管理器并手动运行脚本) 我们有一个带有一些依赖项的遗留项目,我们有一个包括源代码和javadoc的本地副本,并被证明在生产中运行良好,但在Central中没有相同质量的项目。我们想用我们已经有的那些罐子。

  • 本文向大家介绍在Linux中利用yum安装JDK的实现步骤,包括了在Linux中利用yum安装JDK的实现步骤的使用技巧和注意事项,需要的朋友参考一下 一、卸载centos自带的jdk 1.查看当前的jdk版本,并卸载 二、安装Jdk 1.查找java相关得列表  或    2.安装jdk 3.安装完成之后,验证 4.通过yum默认安装的路径为   /usr/lib/jvm 如果机器上同时安装了多

  • 问题内容: 现在,我有一个通过KeyReleased事件实现的搜索textField,当我开始键入“ Andrew”中的“ An”时,并在我准确键入(caseSensitive)我要输入的名称后,找不到/更新jTable。找。 因此,我想要从该站点实现Filtering方法,但是我遇到了很大的问题。在执行以下操作并删除了“旧的” KeyReleased事件之后,当我在文本字段“ txt_searc

  • 本文向大家介绍在Docker构建的容器中实现安装ping工具,包括了在Docker构建的容器中实现安装ping工具的使用技巧和注意事项,需要的朋友参考一下 因为用Docker拉取的Base镜像如Centos和Ubuntu的话都是最简版本,不包含Ping工具,而对Docker进行Docker network和Docker链接操作时往往要用到Ping工具测试两个容器间的网络,此时就要用到Ping工具了