首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过Harfbuzz & FreeType在文本编辑器中显示混合复杂脚本

通过Harfbuzz & FreeType在文本编辑器中显示混合复杂脚本
EN

Stack Overflow用户
提问于 2014-05-07 04:13:11
回答 1查看 1.3K关注 0票数 3

一些背景:,我下载了示例,并使它在我的Ubuntu上运行。一切都很好。我把我自己的OpenType字体放到这个项目中,它也很好!我确保HarfBuzz支持我的字体和语言.Now,我需要更进一步。

我需要一些向导:

  1. 在上面的例子中,三种语言都有自己的字体来支持显示。我的意思是,这三种语言是分开呈现的(就我对代码的理解而言)。 那么,当多种语言混合在一起并同时呈现时,如何使HarfBuzz选择正确的字体呢?我的意思是,不制作支持世界上所有语言的字体文件。
  2. 在这个例子中,中文脚本是垂直显示的(这正是我想要的),但是如果我把拉丁文的text_directions变成HB_DIRECTION_TTB,这当然不是我想要的。我希望整个单词‘拉丁语’旋转90度。

那么,我怎样才能做到这一点呢?如何在不破坏中国版面的情况下实现这一目标?

3 .Last,但并非最不重要的是,在解决了上述问题后,我想制作一个文本编辑器,在同一时间、同一地点显示和编辑多种语言。我不知道我是否需要在HarfBuzz或FreeType上做一些工作,或者实现一个支持这种复杂文本布局的文本编辑器?有什么我可以参考的例子吗?

提前谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-07 06:43:59

  1. HarfBuzz正在根据相同的脚本和方向性进行整形,您应该首先拆分文本,猜测或找到该块的语言和方向(使用ICU或smt else),然后将其发送给整形器。通常,在Linux上,为了找到脚本的正确安装字体,您可以使用fontconfig。
  2. 我不知道,我建议对此单独提出问题。
  3. 从shaper开始制作文本编辑器不是一件容易的事情。你应该做比迪线包装和..。他们都有自己的挑战。我建议使用更高级的抽象(pango)。例如,浏览器为支持这些功能做了很多工作。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23508605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档