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

Проблема отображения шрифта Abilene в кроссплатформенных приложениях Delphi Firemonkey ```plaintext Проблема отображения шрифта Abilene в Delphi Firemonkey ```

Delphi , ОС и Железо , Windows

В статье рассматривается проблема, связанная с неправильным отображением шрифта Abilene в кроссплатформенных приложениях, разработанных с использованием Delphi Firemonkey. Проблема проявляется исключительно в версии приложения для Windows, в то время как в macOS шрифт отображается корректно.

Проблема отображения шрифта Abilene в Delphi Firemonkey

Разработчики, использующие Delphi Firemonkey для создания кроссплатформенных приложений, могут столкнуться с проблемой отображения шрифтов. В частности, шрифт Abilene может отображаться некорректно в версии приложения для Windows, включая среду разработки Delphi. При этом шрифт успешно устанавливается и используется в приложениях, работающих на VCL, но не в FMX-приложениях.

Пример кода установки шрифта:

procedure InstallFont;
const
  REG_NT = 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts';
var
  Reg: TRegistry;
  res: Boolean;
  installName, FileName: UnicodeString;
begin
  Reg := TRegistry.Create(KEY_ALL_ACCESS);
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    res := Reg.OpenKey(REG_NT, False);
    if not res then
      Exit;

    installName := 'Abilene Regular (TrueType)';
    FileName := ExtractFilePath(ParamStr(0)) + '\Abilene.ttf';
    Reg.WriteString(installName, FileName);
    Reg.CloseKey;
  finally
    Reg.Free;
  end;

  AddFontResourceW(PWideChar(FileName));
  SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;

При установке шрифта через данную процедуру, шрифт отображается в панели управления как доступный, но в FMX-приложениях Delphi он не отображается корректно. В то же время, если шрифт установить стандартным способом, через скачивание и установку с помощью контекстного меню, то проблема не возникает.

Подтвержденный ответ

Проблема оказалась связанной с расположением шрифта. Если скопировать шрифт в папку %windir%\\Fonts или в подпапку этой директории, то шрифт отображается корректно в FMX-приложениях. Это указывает на то, что Firemonkey по умолчанию ищет шрифты именно в этой директории.

Альтернативный ответ

Разработчикам рекомендуется избегать автоматической установки шрифтов при каждом запуске программы, так как это может вызвать недовольство у пользователей. Лучшим решением будет интеграция процедуры установки шрифтов в установщик приложения.

Заключение

Проблема отображения шрифта Abilene в Delphi Firemonkey может быть решена путем копирования шрифта в стандартную директорию Windows или путем корректной интеграции процедуры установки шрифтов в процесс установки приложения. Разработчикам следует учитывать, что навязывание изменений в системные настройки может привести к негативной реакции пользователей.

Создано по материалам из источника по ссылке.

В статье обсуждается проблема с некорректным отображением шрифта Abilene в кроссплатформенных приложениях, созданных с использованием Delphi Firemonkey, которая проявляется исключительно на Windows.


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

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




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


:: Главная :: Windows ::


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-05-01 12:07:00/0.0035300254821777/0