Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cairo 开放式字体问题_Cairo_Pango_Opentype_Harfbuzz - Fatal编程技术网

Cairo 开放式字体问题

Cairo 开放式字体问题,cairo,pango,opentype,harfbuzz,Cairo,Pango,Opentype,Harfbuzz,基本上,这是一个显示少数民族语言的问题 让我简单地说: 我一直在努力使我的Opentype字体(其中包含一些功能)在非windows(在windows上,它工作得很好)平台(Android、iOS等)上正常工作 我真正要处理的是一个像显示阿拉伯语一样复杂的问题(包括字形替换、造型等) 我只是想在我自己的软件中正确地显示字符,因为系统范围的支持对我来说可能更复杂 我查了ICU,Pango,Harfbuzz。。。最后决定研究盘古 因此,以下是问题: 1.我可以在我的项目中使用pango作为支持模块来

基本上,这是一个显示少数民族语言的问题

让我简单地说:

  • 我一直在努力使我的Opentype字体(其中包含一些功能)在非windows(在windows上,它工作得很好)平台(Android、iOS等)上正常工作

  • 我真正要处理的是一个像显示阿拉伯语一样复杂的问题(包括字形替换、造型等)

  • 我只是想在我自己的软件中正确地显示字符,因为系统范围的支持对我来说可能更复杂

  • 我查了ICU,Pango,Harfbuzz。。。最后决定研究盘古

  • 因此,以下是问题:

    1.我可以在我的项目中使用pango作为支持模块来显示该语言吗?我试图在ubuntu上安装Pango,但没有成功。我现在很困惑,因为Pango在安装时与harfbuzz、cairo、freetype、fontconfig Blablabla有关。 2.如果不能,有没有其他轻量化的方法来实现这一点


    任何帮助都将不胜感激。

    您使用或应该使用哪种编程语言

    当您询问标签时,您可以查看一下(第二个代码),只需为其执行
    sudo apt get install python-gtk2


    一个轻量级的解决方案是使用HarfBuzz。

    谢谢你,Byagowi,我曾想过直接使用HarfBuzz,但没有得到如何使用它的线索,我不知道HarfBuzz真正能做什么。是否可用于垂直显示语言?或者如果我必须通过文本编辑器使文本垂直呈现?我想用原生代码在android和ios设备上编写一个软件。所以我不得不担心在我的项目中实现HarfBuzz功能是否会有任何问题?至于语言,我更喜欢C/C++。HarfBuzz从相同的脚本和语言(以及方向性、ltr、rtl)获取一些文本字符,并给出相应的glyph位置。你知道,如果采用其中一个例子对你来说不仅仅是一项简单的任务(这只是关于文本渲染的开始),我会说最好用另一种方式来解决你的问题,因此,harfbuzz将只取unicode点,并将正确的字形id或图像或其他东西返回给文本渲染器,如freetype,然后文本渲染器将完成所有剩余的工作,对吗?如果我必须在我的应用程序中使用harfbuzz作为库,那么我必须深入研究一些文本渲染器并实现我自己的一个?正如前面提到的,我不知道如何使用甚至测试这个功能。如果我必须构建HarfBuzz,然后编写程序将其用作测试库?我现在想做的就是让它工作,并看到我的字体正确显示。非常感谢。再次阅读原始问题和您的评论,我想说,简单地使用浏览器(或嵌入式浏览器应用程序)进行测试是改进字体的最简单方法。对于2,您的问题“与”一样复杂,还是您确实在使用阿拉伯文并使文本形状正确是您面临的问题?