Manim自定义中文字体
1.Manim的不同版本
目前 Manim 主要有三个版本:manim-master(3b1b 新版),ManimCommunity(社区版),manim-cairo-backend(3b1b 旧版)。笔者使用过manim-master(3b1b 新版)与manim-cairo-backend(3b1b 旧版),所以就这两个版本的自定义中文字体的方法做一下记录。
2. Manim的manim-cairo-backend分支(3b1b 旧版)自定义中文字体的方法
首先在..\manim-master\manimlib\constants.py 中修改:将 TEX_USE_CTEX=False修改为TEX_USE_CTEX=True。
然后在在..\manim-master\manimlib 文件夹下有两个 tex 模板,tex_template.tex 和 ctex_template.tex。用MiKTeX打开ctex_template.tex,参照BV17v411k77K的方法修改。在ctex_template.tex添加代码:
\usepackage{xeCJK}
\setCJKmainfont{Microsoft JhengHei UI}
对于添加的代码:
\usepackage{xeCJK}
\setCJKmainfont{Microsoft JhengHei UI}
其中Microsoft JhengHei UI可以替换为其他已安装的字体名称,就可以实现自定义中文字体。
例如,想要替换成为霞鹜文楷。首先,下载安装好霞鹜文楷字体。安装完毕之后,进入C:\Windows\Fonts,右键霞鹜文楷-属性,如图

则霞鹜文楷的字体名称为LXGWWenKai-Regular.ttf,上述代码修改为:
\usepackage{xeCJK}
\setCJKmainfont{LXGWWenKai-Regular.ttf}
即可实现在manim中自定义为霞鹜文楷中文字体。
3. Manim的manim-master分支(3b1b 新版)自定义中文字体的方法
使用新版manim特有的Text()类,方法如下Text("文字",font="字体"),其中字体要填写在计算机内存储的格式。
对于Text("文字",font="字体")方法中的字体需要填写字体在系统中的英文名称。关于如何获得字体在电脑中的英文名称,主要参考https://zhuanlan.zhihu.com/p/36984949中的方法。仍然以霞鹜文楷为例,方法如下:
下载安装好霞鹜文楷字体。下载安装软件FontCreator,打开字体文件,如下图:

点击菜单栏中“字体”-“属性”,如下图:

字体族的名称即为该字体的英文名称。
则方法修改如下
Text("文字",font=" LXGW WenKai")
即可自定义为霞鹜文楷字体。