问问题
1315 次
1 回答
5
您遇到的问题与 Python 输出的错误填充行中的点字符有关。点是 Unicode 代码点U+00B7 · middle dot
。该字符被认为具有“模糊”宽度,因为它在大多数非东亚字体中是窄字符,但在大多数亚洲字体中呈现为全角。没有上下文,程序无法判断它在屏幕上的显示宽度。不幸的是,Python 的 Unicode 系统似乎没有任何方法来提供这种上下文。
一种解决方法可能是将有问题的点替换为具有明确宽度的点,例如U+30FB katakana middle dot
(始终为全宽)。这样,填充逻辑将能够识别该行需要额外的空间。
另一种解决方案可能是将您的控制台设置为使用对中间点字符进行更多西方处理的字体,而不是当前遵循东亚风格将其渲染为全角的字体。这意味着现有的填充是正确的。您的 R 输出显然使用了与 Python 输出不同的字体,并且它的字体将点呈现为半角。
于 2014-04-12T09:18:05.963 回答