一些背景信息: 我已经下载了这个示例并在我的Ubuntu上运行成功。一切都好。我将自己的OpenType字体放入项目中,也能正常工作!我确保HarfBuzz支持我的字体和语言。现在我需要更进一步。
我需要一些指导:
在上面的示例中,三种语言各自有自己的字体来支持显示。也就是说,在代码的理解下,这三种语言被单独渲染。
那么,当多种语言混合在一起时,如何使HarfBuzz选择正确的字体并一次性呈现它们呢?我的意思是,不制作一个支持全世界所有语言的字体文件。
在这个示例中,中文脚本是垂直显示的(这正是我想要的),但如果我将拉丁文字的text_directions设置为
HB_DIRECTION_TTB
,这当然不是我想要的。我希望整个单词“LATIN”旋转90度。
那么,我如何实现这一点?如何在不影响中文布局的情况下实现这一点?
3.最后但并非最不重要的是,在解决上述问题之后,我想制作一个文本编辑器来同时显示和编辑许多语言。我不知道是否需要在HarfBuzz或FreeType上进行一些工作,还是实现支持此复杂文本布局的文本编辑器?是否有任何可以参考的示例?
提前感谢您的帮助。
vrt2
表的字体,该表具有实现此目的所需的字形和垂直度量标准。你可能不想依赖于造型引擎来完成这个技巧,但请确保字体具有正确的垂直数据。 - Mike 'Pomax' Kamermans