Добавить шрифт, список шрифтов
18.02.2012
Добавляем
При инициализации программы в Delphi, автоматически создётся объект Screen типа TScreen
Screen
По мимо разрешающей способности экрана и прочей интересной информации, в этом объекте хранится информация и о шрифтах доступных в данной системе
Screen.Fonts
Что бы проверить наличие нужного шрифта, надо всего лишь перебрать имена всех установленных шрифтов и найти там нужный, если такого не найдётся, то добавляем свой:
procedure TForm1.FindFont;
var
i: word;
begin
try
for i := 0 to Screen.Fonts.Count - 1 do
if (Screen.Fonts.Strings[i] = 'Segoe UI') then
exit;
AddFontResource('segoeui.ttf');
ShowMessage('Шрифт добавлен');
except
ShowMessage('Ошибка');
end;
end;
В данной процедуре мы ищем шрифт Segoe UI, как только он будет найден происходит выход из процедуры. Если же совподений не было найден, мы добавляем новый шрифт в систему с помощью функции AddFontResource
AddFontResource(FileName: string);
В качестве параметра которой, указываем путь до файла шрифта, в данном примере файл шрифтов segoeui.ttf находится по соседству с приложением.
Эта функция возвращает 0, если шрифт не был добавлен
if (AddFontResource('segoeui.ttf') = 0) then
ShowMessage('Шрифт не добавлен');
Вот и всё, а получить список установленных шрифтов можно аналогичным способом.