Pango简介

简介

Pango是一个用于布局和渲染文本的库,它强调了国际化。Pango可以在任何需要文本布局的地方使用,尽管到目前为止,关于Pango的大部分工作都是在GTK小部件工具包的上下文中完成的。Pango是GTK的文本和字体处理的核心。

Pango的设计是模块化的;核心的Pango布局引擎可以用于不同的字体后端。有三个基本的后端,每个后端都有多个渲染选项。

  • 客户端字体使用Freetype和fontconfig库。渲染可以使用Cairo或Xft库,也可以直接使用到没有其他库的内存缓冲区。
  • Microsoft Windows上的原生字体。渲染可以通过Cairo来完成,也可以直接使用本地的Win32 API来完成。
  • MacOS X上的原生字体,通过Cairo渲染。

Pango与Cairo的集成提供了一个具有高质量的文本处理和图形渲染的完整解决方案。

也就是说pango一般与cairo搭配使用。

对于低级布局渲染流程,Pango包括PangoLayout,一个用于布局整个文本块的高级驱动程序,以及用来帮助编辑国际化文本的例程。

Pango依赖于2.x 系列GLib库。

依赖

Pango依赖于GLib库。

要使用自由软件堆栈后端,Pango依赖于以下库:

  • FontConfig 用于字体查找
  • FreeType 用于字体访问(内部数据)
  • HarfBuzz,可用于复杂的文本造型
  • fribidi 用于双向文本处理

对Cairo的支持取决于Cairo库。Cairo后端是使用Pango的首选后端,这是未来开发的主要目标。它的优点是,相同的代码可以用于显示和打印。

我们建议使用上面描述的Pango与Cairo,但你也可以使用Xft库进行特定于x的渲染。Xft后端使用Xft 2库,用于管理客户端字体。Xft 2库可以从freedesktop上获得。

也可能需要libXft包,可能还有libX渲染和渲染文本软件包以及FontConfig。

支持在Windows上使用Pango。

参考链接

官网:官网
github:github
gnome:gnome


Pango简介
https://blog.jackeylea.com/pango/intro-of-pango/
作者
JackeyLea
发布于
2024年8月22日
许可协议