作为我正在进行的项目的一部分,我需要在希伯来语中同时包含粗体文本和Matplotlib文本艺术家中的mathtext方程。但是,我需要使用'cm'
(计算机现代)字体集来呈现mathtext方程,并且将希伯来语文本呈现为实际的粗体希伯来语文本,而不是虚拟符号。
我尝试使用自定义的matplotlib字体和mathtext.fallback_to_cm
标志来尝试诱使渲染器使用我的字体以及使用cm的其他所有字体渲染希伯来语,但是它似乎没有用,即使这样做确实非常不可移植杂乱无章(创建自定义Arial字体,但仅使用希伯来语字符以使一些句子加粗)。此外,文档似乎表明自定义模式“不受支持,将来可能会消失”
这是一些演示问题的代码:
import matplotlib.pyplot as plt
plt.rcParams['text.latex.preamble'] = [r'\usepackage{lmodern}']
#plt.rcParams['mathtext.fontset'] = 'cm' #disable/enable this line!!
plt.text(0.1, 0.5, "equation: $\\sum_i2^3$. bold text: $\\bf{א}$", fontsize=20)
plt.show()
启用或禁用带注释的输出行将在具有常规希伯来字母和具有常规Mathtext方程之间交替变化。
我用来寻找解决方案的一些资源:
the mathtext Matplotlib guide (see "fonts")
rcparams options (for font customization, ctrl+F "mathtext")
Stackoverflow answer with explanation on how to have only some of the text bold
编辑: 现代计算机在其字体中没有希伯来语字符。但是,这些字符不必是计算机上的现代字体,这似乎是Matplotlib方面的限制,我希望可以以比创建新字体系列更好的方式来绕过它们。