Pango

Pango is the core text and font handling library in the GNOME platform. It is responsible for laying out and rendering text, and is used throughout GTK+.

Pango используется для решения различных задач работы со шрифтами и прорисовки. На большинстве систем GNOME Pango использует библиотеки FreeType, fontconfig и Cairo для доступа к шрифтам и прорисовки текста. На других системах Pango использует специфичные шрифтовые механизмы: Uniscribe на Microsoft Windows и ATSUI на MacOS.

Pango широко поддерживает различные системы письменности, используемые во всем мире. Многие системы письменности имеют сложные правила расположения символов и составления знаков. С помощью Pango можно писать и корректно отображать почти все языки, что позволяет пользователю в любом месте просматривать текст на родном языке. Поддержка различных систем письменности осуществляется автоматически и разработчику не нужно писать специальный код для поддержки разных языков.

Pango поддерживает стилизацию текста, обычно используемую в документах и интерфейсах, включая курсив, высоту шрифта и подчёркивание. Pango использует простой XML-подобный словарь, называемый PangoMarkup, который позволяет устанавливать размер шрифта, цвет, стиль и другие атрибуты текста. С помощью PangoMarkup можно описать внутренние стили без ручного редактирования блоков текста. PangoMarkup можно использовать напрямую из GTK+, благодаря чему легко стилизовать текст в графических интерфейсах.

При необходимости расположить текст непосредственно на экране или другом устройстве вывода следует использовать библиотеку Pango напрямую, при этом текст будет выводиться согласованно с библиотекой GTK+ и остальной частью платформы GNOME. Что поможет создать переносимый код и, что ещё более важно, гарантирует, что приложение сможет корректно отобразить текст на сотнях различных языков.