雪夫和块图:非英文字符造成Unicode编码错误

2024-05-16 16:19:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个用Sphinx编译的RST文件。在

我有一个方块图。在

我想给它的一些节点取非英语名称。在

.. blockdiag::

   diagram {
     "UberMega" -> "HellSotona" -> "KakoDemon" -> "Кролики и котятки";
   }

唉,这给了我一个错误:

^{pr2}$

我该如何应对?在


Tags: 文件名称节点错误sphinxrstdiagramblockdiag
2条回答

只是面临同样的问题。看起来你在斯芬克斯文档中使用了它。在

你应该指向你的unicode TrueType字体(把它放在_static目录中,我选择了一个devjavusans。没有理由,只是在网上很容易找到)。将.ttf文件复制到静态目录,并将以下行添加到conf.py

import os
blockdiag_fontpath = os.path.abspath(u'_static/fonts/DejaVuSans.ttf')

注意相对路径前面的u标记。如果项目的路径包含任何非ASCII字符且路径不是unicode字符串,Blockdiag会忽略此项。在

python2中的字符串默认不是unicode。试试这个:

.. blockdiag::

diagram {
 "UberMega" -> "HellSotona" -> "KakoDemon" -> u"Кролики и котятки";
}

相关问题 更多 >