Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как выяснить установлены ли в системе шрифты TrueType

Delphi , Графика и Игры , Шрифты

Как выяснить установлены ли в системе шрифты TrueType

Решили инженеры выполнить мечту Билла Гейтса - поставили "Винды" на холодильник. Запустили - работает. Поставили внутрь кастрюлю борща. Глядь - сообщение:
- Обнаружено новое устройство "Кастрюля (4 л) красная". Будем устанавливать?


function IsTrueTypeInstalled: bool;
var
  {$IFDEF WIN32}
  rs : TRasterizerStatus;
  {$ELSE}
  rs : TRasterizer_Status;
  {$ENDIF}
begin
  result := false;
  if not GetRasterizerCaps(rs, sizeof(rs)) then
    exit;
  if rs.WFlags and TT_AVAILABLE <> TT_AVAILABLE then
    exit;
  if rs.WFlags and TT_ENABLED <> TT_ENABLED then
    exit;
  result := true;
end;

Функция Delphi для определения установки шрифтов TrueType на системе!

Код довольно прост, поэтому я предоставлю краткое объяснение.

Функция IsTrueTypeInstalled возвращает булевое значение, указывающее, доступны ли и включены ли шрифты TrueType на системе. Вот что она делает:

  1. Она определяет две переменные: rs типа TRasterizerStatus (на Windows) или TRasterizer_Status (на не-Windows платформах).
  2. Функция инициализирует result в false, предполагая, что шрифты TrueType не установлены.
  3. Она вызывает функцию GetRasterizerCaps, передавая указатель на переменную rs и размер структуры (sizeof(rs)). Если это fails, функция выходит из программы сразу.
  4. Код затем проверяет два флага в поле WFlags структуры rs:
    • TT_AVAILABLE: если установлен, указывает, что шрифты TrueType доступны на системе.
    • TT_ENABLED: если установлен, указывает, что шрифты TrueType включены и готовы к использованию.
  5. Если оба флага установлены (and TT_AVAILABLE <> TT_AVAILABLE и and TT_ENABLED <> TT_ENABLED), функция устанавливает result в true, указывая, что шрифты TrueType установлены и включены.

Обратите внимание, что этот код зависит от функции GetRasterizerCaps, которая является специфичной для Windows. На не-Windows платформах (например, macOS или Linux) вам нужно использовать альтернативные методы для определения доступности шрифтов TrueType.

Маленькая рекомендация: рассмотрите возможность добавления более подробных комментариев к коду, чтобы объяснить, что каждый участок кода делает. Это может сделать его проще для других (или для вас) понять и поддерживать в будущем.

В статье описывается функция IsTrueTypeInstalled на языке Delphi, которая позволяет определить установлены ли в системе шрифты TrueType.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Шрифты ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:01:12/0.0053420066833496/1