如何在python中用cairo渲染汉字和其他语言,如阿拉伯语



cairo似乎无法正确地呈现中文和阿拉伯语中的类似文本的字符。有人能告诉我如何在开罗呈现这些文本吗?pango和cairo在python中可以渲染这些字符吗?谢谢

如果您选择了一个合适的font face,您应该能够直接绘制文本。

cr.select_font_face('Noto Sans CJK SC')
cr.move_to(100, 100)
cr.set_source_rgb(0, 0, 0)
cr.show_text('好吧')

要列出可用字体,请在控制台中键入:

$ fc-list : family

根据cairo的常见问题解答,答案是"使用PangoCairo":

[…]您了解到cairo_show_text是cairo的"玩具;文本API。它适用于快速演示和学习如何使用cairo,但不适用于实际应用程序。

不难发现cairo_show_text的一些局限性。

[…]

幸运的是,pango库是存在的,它确实进行了复杂的文本布局、整形等,并与cairo很好地集成在一起。我们衷心建议";真实的";想要用cairo显示文本的应用程序使用pango来实现。

最新更新