Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];

Вниз

Как узнать, TrueType шрифт или растровый?   Найти похожие ветки 

 
cult   (2002-10-15 17:29) [0]

Вот и весь вопрос.
Для моих извращений растровые шрифты не годятся, поэтому мне их надо упорно игнорировать. Но как узнать?...

Спасибо.


 
MBo   (2002-10-15 17:34) [1]

EnumFontFamilies
EnumFontFamProc
FontType


 
cult   (2002-10-15 17:40) [2]

спасибо, пошел смотреть


 
cult   (2002-10-15 18:25) [3]

чего-то не пашет вот такой текст :(



procedure TForm1.Button1Click(Sender: TObject);
var
Fonts : TStringList ;
LFont: TLogFont;
DC : HDC ;
begin
Fonts := TStringList.Create ;
Fonts.Sorted := True ;
DC := GetDC(Handle) ;
FillChar(LFont, SizeOf(LFont), 0);
EnumFonts(DC,nil, @TForm1.FontPerform, Pointer(Fonts));
ReleaseDC(Handle, DC) ;
end;

function TForm1.Fontperform(var LogFont: TLogFont; var TextMetric: TTextMetric;
FontType: Integer; Data: Pointer):integer;
begin
Result:=1;
Showmessage(inttostr(textmetric.tmheight));
if (TextMetric.tmPitchAndFamily and TMPF_TRUETYPE) <> 0 then
TStrings(Data).Add(LogFont.lfFaceName);
Memo1.Lines.Assign(Data);
end;



При запуске ругается в самой callback на попытку обращения к TextMetric, т.е. уже ShowMessage не работает. Что тут не так?


 
MBo   (2002-10-15 18:39) [4]

function EnumFntProc(var elf:TEnumLogFont;var ntm:TNewTextmetric;
FontType: dword ;strings:TStrings):integer; stdcall;
var s: string;
begin
if fonttype=TRUETYPE_FONTTYPE then begin
s:="TTF "+elf.elfFullName
end 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(ListBox1.Items));
sl.free;
end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.10.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
3-78312
Explorer
2002-10-02 14:55
2002.10.24
Выгрузка данных MSSQL в файл *.txt


3-78307
hogo
2002-10-02 08:56
2002.10.24
ADO и Paradox


6-78550
ПОМОГИТЕ МНЕ
2002-08-19 20:34
2002.10.24
Помогите мастера плиз, как закрыть порт например 19 на своей маши


3-78232
kalliopiy
2002-10-01 16:48
2002.10.24
Файлы и БД


6-78557
Mind
2002-08-22 11:37
2002.10.24
Проблема с Indy.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский