Главная страница
    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.008 c
1-78422
User0
2002-10-15 15:42
2002.10.24
Почему в Delphi работает а в C++ нет ?


3-78256
Gaber
2002-10-02 10:43
2002.10.24
DBRadioGroup


14-78595
cyborg
2002-09-29 22:52
2002.10.24
---|Ветка была без названия|---


1-78502
Landgraph
2002-10-12 13:07
2002.10.24
C++ Builder DLL + Delphi App


6-78559
Metallica
2002-08-22 19:52
2002.10.24
Как сделать поиск строки в Нэте, если известен URL.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский