pango
Pango — библиотека для рендеринга текста и поддержки интернационализации в графических интерфейсах. Используется в GTK и других средах для отображения текста на разных языках.
Подпакеты
Имя | Краткое описание |
---|---|
pango-devel | Описание отсутствует |
pango-doc | Описание отсутствует |
lib32-pango | 32-битные библиотеки для pango |
Домашняя страница: https://pango.gnome.org/
Доступные версии
Версия | Релиз | Архитектура | Лицензия | Дата сборки | Размер | Версии ОС | Подробности |
---|---|---|---|---|---|---|---|
1.56.3 | 1.niceos5 | x86_64 | LGPL-2.0-or-later | 25 апр. 2025 г. | 1,127 ГиБ | Подробности |
Описание
Обзор библиотеки Pango для Найс.ОС
Библиотека Pango представляет собой мощный инструмент для работы с текстом в графических пользовательских интерфейсах. Она разработана для обеспечения высококачественного рендеринга текста, поддержки интернационализации и сложных систем письма. Pango является ключевым компонентом экосистемы GTK, широко используемой в средах рабочего стола, таких как GNOME. Устанавливается через пакетный менеджер dnf
в Найс.ОС и других дистрибутивах на основе Fedora. Эта библиотека идеально подходит для разработчиков приложений, которым требуется точное отображение текста на разных языках и шрифтах.
Основные функции Pango
Pango предоставляет широкий набор возможностей для обработки текста, включая:
- Рендеринг текста с поддержкой различных шрифтов и стилей;
- Поддержка сложных систем письма, таких как арабский, деванагари и тайский;
- Интернационализация текста с учетом направлений письма (слева направо и справа налево);
- Интеграция с графическими библиотеками, такими как Cairo, для вывода текста на экране;
- Разметка текста с использованием Pango Markup Language, напоминающего HTML.
Установка Pango в Найс.ОС
Для установки библиотеки Pango в Найс.ОС используется пакетный менеджер dnf
. Выполните следующую команду для установки пакета:
sudo dnf install pango
После установки вы можете проверить версию библиотеки с помощью команды:
pango-querymodules --version
Также для разработки приложений с использованием Pango может потребоваться установка пакета разработчика:
sudo dnf install pango-devel
Использование Pango в разработке
Pango часто применяется в связке с GTK для создания приложений с графическим интерфейсом. Библиотека предоставляет API на языке C, что делает её доступной для интеграции в проекты на C, C++ и других языках через привязки. Рассмотрим простой пример использования Pango для рендеринга текста в GTK-приложении.
Пример кода на C для отображения текста с помощью Pango:
#include
#include
int main(int argc, char *argv[]) {
gtk_init(&argc, &argv);
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "Pango Example");
gtk_window_set_default_size(GTK_WINDOW(window), 400, 300);
GtkWidget *label = gtk_label_new(NULL);
gtk_label_set_markup(GTK_LABEL(label), "Привет, мир! Это текст с использованием Pango Markup.");
gtk_container_add(GTK_CONTAINER(window), label);
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
Для компиляции этого кода в Найс.ОС убедитесь, что установлены пакеты gtk3-devel
и pango-devel
, и используйте следующую команду:
gcc -o pango_example pango_example.c `pkg-config --cflags --libs gtk+-3.0`
Этот пример демонстрирует, как Pango Markup позволяет форматировать текст, добавляя жирное начертание и другие стили прямо в строке.
Поддержка интернационализации
Одной из ключевых особенностей Pango является поддержка интернационализации. Библиотека автоматически обрабатывает текст на языках с разными направлениями письма. Например, для арабского текста, который пишется справа налево, Pango корректно отображает символы и их соединения. Это делает Pango незаменимым инструментом для приложений, ориентированных на глобальную аудиторию.
Интеграция с Cairo
Pango тесно интегрируется с библиотекой Cairo, которая используется для 2D-графики. Это позволяет рендерить текст на различных поверхностях, включая окна, изображения и PDF-документы. Пример использования Pango с Cairo:
#include
#include
int main() {
cairo_surface_t *surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 400, 200);
cairo_t *cr = cairo_create(surface);
PangoLayout *layout = pango_cairo_create_layout(cr);
pango_layout_set_text(layout, "Пример текста с Pango и Cairo", -1);
cairo_move_to(cr, 50, 50);
pango_cairo_show_layout(cr, layout);
cairo_surface_write_to_png(surface, "output.png");
g_object_unref(layout);
cairo_destroy(cr);
cairo_surface_destroy(surface);
return 0;
}
Этот код создаёт изображение с текстом и сохраняет его в формате PNG. Для компиляции потребуются пакеты cairo-devel
и pango-devel
.
Преимущества использования Pango
Использование Pango в разработке приложений для Найс.ОС предоставляет следующие преимущества:
- Кроссплатформенность: Pango работает на различных платформах, включая Linux, Windows и macOS;
- Гибкость: Поддержка множества шрифтов и систем письма;
- Интеграция: Простая интеграция с GTK и Cairo для создания современных интерфейсов;
- Производительность: Оптимизированный рендеринг текста даже при больших объёмах данных.
Типичные проблемы и их решения
При использовании Pango могут возникать проблемы с отображением некоторых шрифтов или некорректной обработкой текста на редких языках. Для решения таких проблем рекомендуется:
- Убедиться, что установлены все необходимые шрифты (например, с помощью пакета
fontconfig
); - Обновить Pango до последней версии через
dnf update pango
; - Проверить документацию Pango на официальном сайте для специфических настроек.
Библиотека Pango — это надёжный выбор для разработчиков, создающих приложения с поддержкой текста на Найс.ОС. Благодаря своим возможностям и гибкости, она остаётся стандартом для рендеринга текста в графических приложениях на Linux.