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):

для  языка в en ro ; do pango-view \ --font = "Verdana 64" \ --text "şţ vs. şt in $lang " \ --language = $lang ; сделанный             

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

Установка локали через переменную среды 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.51.2».
  4. ^ "Сайт Панго" . Проверено 7 июля 2011 г.
  5. ^ «Каир: Библиотека векторной графики: текст» . Проверено 27 ноября 2015 г.
  6. ^ «Связь с Панго: Часть 1». ИБМ . Архивировано из оригинала 27 июня 2009 года . Проверено 7 июля 2011 г.
  7. ^ Панго - Статус - 30 ноября 2017 г., Оуэн Тейлор, Redhat
  8. ^ GNOMEs в Париже: отчет GUADEC. Самой впечатляющей частью их презентации было обсуждение Pango (результат слияния GScript и GnomeText) , 21 марта 2000 г., Чак Топорек - O'Reilly Media
  9. Предложение Pango, версия 0.1, Раф Левиен, 28 июля 1999 г.
  10. ^ GScript — Юникод и сложная обработка текста. Проект GScript был объединен с проектом GnomeText. Информацию о результате под названием Pango см. по адресу: http://www.pango.org. Если у вас возникли проблемы с доступом к этому сайту, здесь есть зеркало. Оуэн Тейлор
  11. ^ Документация Gnome-Text API, Раф Левиен, 10 июля 1999 г., Оуэн Тейлор работает над gscript, который в некоторой степени пересекается с функциями, описанными в этом интерфейсе. Мы работаем над тем, чтобы максимально объединить два API.
  12. ^ Абдин, Али (1999). «Продолжение интервью с разработчиком GNOME». www.beast.testbit.eu . Архивировано из оригинала 2 июня 2013 г. Pango (кодовое название слияния моего проекта Gscript и проекта Рафа Левиена GnomeText) представляет собой модульный набор библиотек для макетирования и рендеринга международного текста. Это немного похоже на Uniscript от Microsoft или ATSUI от Apple.
  13. ^ «Выпущена Pango 1.0.0» . Архивировано из оригинала 2 апреля 2002 года . Проверено 20 февраля 2013 г.
  14. ^ Библиотеки пользовательского интерфейса GTK, версия 2.0.
  15. ^ «Обзор изменений между 1.37.0 и 1.37.1» . Проверено 18 августа 2015 г.
  16. ^ «Ошибка 738505 — Добавлена ​​поддержка функций шрифтов в PangoAttributes и разметке» . ГНОМ Багзилла . Проверено 18 августа 2015 г.
  17. ^ «Особенности шрифтов попадают в багажник Inkscape» . Блог Тавмджонга Ба. 23 июня 2015 года . Проверено 18 августа 2015 г.
  18. ^ «Загрузка для GNU/Linux и Unix». gtk.org . Архивировано из оригинала 18 августа 2016 года . Проверено 30 ноября 2017 г.
  19. ^ «Системные требования Thunderbird 52.1.0» . сайт mozilla.org . Архивировано из оригинала 10 мая 2017 года . Проверено 31 июля 2017 г.

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