stringtranslate.com

Панго

Pango (стилизовано как Παν語) — это библиотека движка для компоновки текста (т. е. глифов ) , которая работает с движком формирования HarfBuzz для отображения многоязычного текста. [4]

Полнофункциональный рендеринг текста и кроссплатформенная поддержка достигаются при использовании Pango с API платформы или сторонними библиотеками, такими как Uniscribe и FreeType , в качестве бэкэндов рендеринга текста . Текст, обработанный Pango, будет выглядеть одинаково в разных операционных системах. [ необходимо разъяснение ]

Pango — это библиотека специального назначения для текста, а не библиотека общего назначения для рендеринга графики, как Cairo , с которой можно использовать Pango. В документации Cairo рекомендуется использовать Pango для «рендеринга» текста, а не Cairo для всего, кроме простейшего «рендеринга» текста. [5]

История и наименование

Название «панго» происходит от греческого слова «пан» (παν, « все » ) и японского слова «го» (語, « язык » ). [6]

В январе 2000 года слияние проектов GScript и GnomeText получило название Pango. [7] [8] [9] [10] [11] [12]

Версия Pango 1.0.0 была выпущена 11 марта 2002 года. [13] [14]

Поддержка функций OpenType

Вверху — рендеринг по умолчанию, внизу — локализованный рендеринг на румынском языке.

Pango 1.17 и более новые версии поддерживают тег функции 'locl', который позволяет использовать локализованные глифы для той же кодовой точки Unicode. Если у вас установлена ​​Verdana версии 5.01, которая поддерживает функцию 'locl' для письма latn/ROM (румынского), то вот быстрая демонстрация (на Linux):

for  lang in en ro do pango-view \ --font = "Verdana 64" \ --text "şţ vs. ᙲ in $lang " \ --language = $lang Done           

Объяснение правил замен для румынского языка см. в этом обсуждении .

Установка локали через переменную среды POSIX, например, LANG=ro_RO.UTF-8 также заставит Pango использовать функцию шрифта 'locl'. Наконец, вы можете изменить язык на лету в том же тексте, используя разметку Pango, например:

pango-view \ --font = "Verdana 24" \ --markup \ --text 'В том же тексте: şţ(en) и <span lang="ro">şţ(ro).</span>'       

Начиная с версии 1.37.1, Pango добавил больше атрибутов для обеспечения полной поддержки обработки функций OpenType. [15] [16] [17]

Официальная презентация функций Pango, поддерживающих скрипты, находится здесь.

Основные пользователи

Упрощенная архитектура программного обеспечения GTK , Pango, GDK , ATK , GIO , Cairo и GLib .

Pango интегрирован в большинство дистрибутивов Linux. Набор инструментов GTK UI использует Pango для всего своего текстового рендеринга. [18] Версии веб- браузера Mozilla Firefox и почтового клиента Mozilla Thunderbird для Linux используют Pango для текстового рендеринга. [19]

Смотрите также

Ссылки

  1. Интервью: Оуэн Тейлор из Red Hat на GTK+, также известный по своему вкладу в Pango. , Евгения Лоли, 19 декабря 2003 г.
  2. ^ Pango, Сделано версии 0.2, Оуэн Тейлор, redhat.com
  3. ^ "1.54". 9 июня 2024 г. Получено 12 июня 2024 г.
  4. ^ "Pango website" . Получено 7 июля 2011 г. .
  5. ^ "Cairo: A Vector Graphics Library: text" . Получено 27 ноября 2015 г. .
  6. ^ "The Pango connection: Part 1". IBM . Архивировано из оригинала 27 июня 2009 года . Получено 7 июля 2011 года .
  7. ^ Панго - Статус - 30 ноября 2017 г., Оуэн Тейлор, Redhat
  8. ^ GNOMEs в Париже: отчет GUADEC, Самой впечатляющей частью презентации было обсуждение Pango (результата слияния GScript и GnomeText) , 21.03.2000, Чак Топорек - O'Reilly Media
  9. Предложение Pango, версия 0.1, Раф Левиен, 28 июля 1999 г.
  10. ^ GScript - Unicode и сложная обработка текста, проект GScript был объединен с проектом GnomeText. Информацию о результате, названном Pango, см.: http://www.pango.org Если у вас возникли проблемы с доступом к этому сайту, вот зеркало. Автор: Оуэн Тейлор
  11. ^ Документация API Gnome-Text, Raph Levien, 10 июля 1999 г., Оуэн Тейлор работает над gscript, который имеет некоторые совпадения с функциями, описанными в этом интерфейсе. Мы работаем над унификацией двух API, насколько это возможно.
  12. ^ Абдин, Али (1999). "Продолжение интервью с разработчиком GNOME". beast.testbit.eu . Архивировано из оригинала 2013-06-02. Pango (кодовое название слияния моего проекта Gscript и проекта GnomeText Рафа Левиена) — это модульный набор библиотек для выполнения макета и рендеринга международного текста. Он немного похож на Uniscript от Microsoft или ATSUI от Apple.
  13. ^ "Pango 1.0.0 released". Архивировано из оригинала 2 апреля 2002 года . Получено 2013-02-20 .
  14. ^ Библиотеки пользовательского интерфейса GTK, версия 2.0
  15. ^ "Обзор изменений между 1.37.0 и 1.37.1" . Получено 18 августа 2015 г.
  16. ^ "Ошибка 738505 - Добавить поддержку fontfeatures в PangoAttributes и разметку". GNOME Bugzilla . Получено 18 августа 2015 г.
  17. ^ "Font Features Land in Inkscape Trunk". Блог Tavmjong Bah. 23 июня 2015 г. Получено 18 августа 2015 г.
  18. ^ "Загрузить для GNU/Linux и Unix". gtk.org . Архивировано из оригинала 18 августа 2016 . Получено 2017-11-30 .
  19. ^ "Thunderbird 52.1.0 System Requirements". mozilla.org . Архивировано из оригинала 10 мая 2017 . Получено 31 июля 2017 .

Внешние ссылки