Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi
Войти
Регистрация
Восстановить пароль
 
DenNik
Непрофессионал
1803 / 1469 / 307
Регистрация: 26.07.2011
Сообщений: 8,065
1

Нужно определить тип шрифта по его имени

15.05.2014, 13:10. Просмотров 427. Ответов 3
Метки нет (Все метки)

добрый день. нужно определить тип шрифта по его имени (является ли TrueType, OEM и т.д.)

исходная задача такова. получаем список шрифтов Screen.Fonts. оставить только TrueType-шрифты, а также поддерживающие кириллицу. есть ли способ попроще, чем через методы GDI? рылся в исходниках TFontDialog, но там все очень запутано.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2014, 13:10
Ответы с готовыми решениями:

Ошибка 'Не удаётся определить тип устройства по указанному расширению имени файла'
Когда я запускаю форму с музыкой у меня вылетает ошибка...

Media Player Не удается определить тип устройства по указанному расширению имени файла
Прошу помогите мне с Media Player. Суть такова: Я хочу при запуске программы...

MediaPlayer: "Не удается определить тип устройства по указанному расширению имени файла"
Здравствуйте. Кому нетрудно подскажите в чем ошибка: case...

Текстовый редактор. Тип шрифта
Помогите, пожалуйста! ))Написать код, позволяющий изменять тип шрифта...

Поиск файла по его имени
Помогите пожалуйста выполнить задание в Delphi Нужно разработать...

3
mss
2633 / 2258 / 275
Регистрация: 24.12.2010
Сообщений: 13,725
16.05.2014, 14:23 2
Вот
1
DenNik
Непрофессионал
1803 / 1469 / 307
Регистрация: 26.07.2011
Сообщений: 8,065
19.05.2014, 10:27  [ТС] 3
mss, я понимаю, что пример не твой, но получается фигня какая-то. список после обработки больше чем исходный. это я тупо скопипастил код, не разбирался, поскольку имею смутное представление о том как работают callback-функции

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function EnumFntProc(var ELF: TEnumLogFont; var NTM: TNewTextmetric;
      FontType: DWORD; strings: TStrings):integer; stdcall;
var
  s: string;
begin
  if FontType = TRUETYPE_FONTTYPE
    then s:= 'TTF ' + ELF.elfFullName
    else s:= ELF.elfLogFont.lfFaceName;
 
  if (ELF.elfLogFont.lfPitchAndFamily and FIXED_PITCH) = FIXED_PITCH
  then s:='* Fixed * '+ s;
  strings.Add(S);
  Result:= 1;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  sl:tstringlist;
  i:integer;
begin
  sl:=tstringlist.create;
  sl.Assign(Screen.Fonts);
  for i:=0 to sl.count-1 do
  EnumFontfamilies(Canvas.Handle, PChar(sl[i]),@EnumFntProc,
  Integer(ListBox2.Items));
  sl.free;
  Label2.Caption:= IntToStr(ListBox2.Count);
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  ListBox1.Items.Assign(Screen.Fonts);
  Label1.Caption:= IntToStr(ListBox1.Count);
end;
0
Миниатюры
Нужно определить тип шрифта по его имени  
DenNik
Непрофессионал
1803 / 1469 / 307
Регистрация: 26.07.2011
Сообщений: 8,065
19.05.2014, 10:50  [ТС] 4
получается, на один шрифт выдает несколько одинаковых строк!
Delphi
1
2
3
4
5
6
procedure TForm1.ListBox1Click(Sender: TObject);
begin
  ListBox2.Clear;
  EnumFontfamilies(GetDC(0),Pchar(ListBox1.Items[ListBox1.ItemIndex]),@EnumFntProc,Integer(ListBox2.Items));
  Label2.Caption:= IntToStr(ListBox2.Count);
end;
0
Миниатюры
Нужно определить тип шрифта по его имени   Нужно определить тип шрифта по его имени  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2014, 10:50

Media Player Не удается определить тип устройства по указанному расширению имени файла
помогите разобратся делфи ругается Media Player Не удается определить тип...

MediaPlayer - ошибка "Не удается определить тип устройства по указанному расширению имени файла"
Почему это программа не работает unit Unit1; interface uses ...

Получить дескриптор процесса, по его имени
Всем привет. Есть структура PROCESS_INFORMATION. Она заполняется только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru