Manim自定義中文字體
1.Manim的不同版本
目前 Manim 主要有三個版本:manim-master(3b1b 新版),ManimCommunity(社區(qū)版),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可以替換為其他已安裝的字體名稱,就可以實現(xiàn)自定義中文字體。
例如,想要替換成為霞鶩文楷。首先,下載安裝好霞鶩文楷字體。安裝完畢之后,進入C:\Windows\Fonts,右鍵霞鶩文楷-屬性,如圖

則霞鶩文楷的字體名稱為LXGWWenKai-Regular.ttf,上述代碼修改為:
\usepackage{xeCJK}
\setCJKmainfont{LXGWWenKai-Regular.ttf}
即可實現(xiàn)在manim中自定義為霞鶩文楷中文字體。
3. Manim的manim-master分支(3b1b 新版)自定義中文字體的方法
使用新版manim特有的Text()類,方法如下Text("文字",font="字體"),其中字體要填寫在計算機內(nèi)存儲的格式。
對于Text("文字",font="字體")方法中的字體需要填寫字體在系統(tǒng)中的英文名稱。關(guān)于如何獲得字體在電腦中的英文名稱,主要參考https://zhuanlan.zhihu.com/p/36984949中的方法。仍然以霞鶩文楷為例,方法如下:
下載安裝好霞鶩文楷字體。下載安裝軟件FontCreator,打開字體文件,如下圖:

點擊菜單欄中“字體”-“屬性”,如下圖:

字體族的名稱即為該字體的英文名稱。
則方法修改如下
Text("文字",font=" LXGW WenKai")
即可自定義為霞鶩文楷字體。