Приложение может использовать шрифт, чтобы написать текст только в том случае, если шрифт является или резидентным на
заданном устройстве, или установленный в таблице системного шрифта. Таблица шрифта - это внутренний массив, который
идентифицирует все не машинные шрифты, которые являются доступными приложению. Приложение может извлекать имена шрифтов, в
настоящее время установленных на устройстве или сохраненные во внутренней таблице шрифтов, вызывая функцию
AddFontResource
или AddFontResourceEx.
Эти функции загружают шрифт, который сохраняется в файле ресурса шрифта. Однако, это - временная инсталляция, потому что
после перезагрузки системы шрифт не будет присутствовать.
Чтобы установить шрифт, который останется после перезагрузки системы, используйте одну из ниже перечисленных методик:
Войдите в апплет Панель управления (Windows), щелкните кнопкой мыши по пиктограмме Шрифты (Fonts), и выберите
Установить
новый шрифт из меню Файл (File).
Шрифт становится доступным приложению даже перед перезагрузкой. Однако, в ситуации терминального сервера шрифт
доступен для текущего сеанса, но - не доступен для других сеансов до окончания перезагрузки.
Скопируйте шрифт в папку
%windir %\fonts. Затем, или
перейдите в Панель управления (Windows), и щелкните кнопкой мыши по пиктограмме Шрифты,
или вызовите функцию AddFontResource
или AddFontResourceEx. Шрифт доступен приложению даже перед перезагрузкой. Однако в ситуации терминального сервера
шрифт доступен для текущего сеанса, но - не доступен для других сеансов до окончания перезагрузки. Если Вы только копируете
шрифт в папку %windir %\fonts, шрифт, должен
быть доступен только после того, как система перезагрузится.
В случае шрифтов открытого формата (
TrueType)
и единого формата (OpenType),
иногда необходим дополнительный шаг прежде, чем шрифт может быть установлен в таблицу шрифта. Некоторые изготовители
шрифта поставляют только файлы данных шрифта TrueType
или OpenType
(идентифицированные расширением .ttf).
Прежде, чем система сможет загрузить эти шрифты, требуется соответствующий заголовочный файл (идентифицированный
расширением .fot).
Чтобы создать этот заголовочный файл, приложение должно обратиться к функции CreateScalableFontResource
и передать имя файла данных шрифта как третий параметр. Когда этот заголовочный файл создан, приложение сможет установить
шрифт, вызывая функцию AddFontResource
или AddFontResourceEx
и передавая имя нового заголовочного файла. О приложении, которое устанавливает шрифты TrueType,
смотрите статью Инсталляция шрифта SDK на сайте http://fontweb/tools/install/.
Когда приложение заканчивает использовать установленный шрифт, оно должно удалить этот шрифт, вызывая функцию
Всякий раз, когда приложение вызывает функции, которые добавляют или удаляют ресурсы шрифта, оно должно также вызывать и
функцию
SendMessage
и отправлять сообщение WM_FONTCHANGE всем окнам верхнего уровня в системе. Это сообщение уведомляет другие прикладные программы, что внутренняя таблица шрифта
была изменена приложением, которое прибавило или удалило шрифт.