logo
Литература_1 / photon_old

Имена шрифтов

Шрифт идентифицируется по своему имени, которое может иметь одну из следующих форм:

Имя лигатуры (foundry name)

Имя, задаваемое именем лигатуры для идентификации семейства шрифтов, такие как Helvetica, Comic Sans MS или Prima Sans BT. Обратите внимание на использование заглавных букв. Имя лигатуры не включает информацию о стиле (напр., жирный, наклонный) или размере. Это имя является универсальным для всего операционного окружения (напр., X, Photon).

Имя основы

Уникальный идентификатор, включающий сокращение от имени лигатуры, а также стиль (напр., b, i) и размер. Например, helv12 является именем основы 12-пунктного шрифта Helvetica, а helv12b – имя основы 12-пунктного жирного шрифта Helvetica.

Чтобы задать шрифт в API Photon'а, обычно используется имя основы. Вы должны рассматривать имена основы как постоянные идентификаторы, а не как модифицируемые строки.

Вы можете жёстко прописать все ссылки на шрифты в приложении Photon'а. Но Ваше приложение может быть более гибким, если Вы используете лигатурное имя, чтобы иметь возможность выбора наилучшего совпадения из всех доступных шрифтов. При таком подходе нет проблемы, если какой-то конкретный шрифт со временем окажется переименован, удалён или перемещён. Например, в следующем вызове функции PtAlert() используется жёстко прописанное имя основы helv14, задающее 14-точечный шрифт Helvetica:

answer = PtAlert(base_wgt, NULL, "File Not Saved", NULL,

"File has not been saved.\nSave it?",

"helv14", 3, btns, NULL, 1, 3, Pt_MODAL );

Доступные имена основы Вы можете получить из имён файлов в ${PHOTON_PATH}/font – просто удалите имеющееся расширение файла (напр., .phf).

Иной способ заключается в том, что если у Вас есть директория $HOME/.ph, просмотреть директорию $HOME/.ph/font/. МикроGUI Photon'а создаёт этот локальный файл только при необходимости, как скажем, когда Вы запускаете утилиту fontadmin (см. "Справочник утилит QNX 6") для создания Вашей собственной персональной конфигурации. Пока локальный файл не создан, микроGUI использует глобальный файл.

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4