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

Вниз

Про фонты дисплея   Найти похожие ветки 

 
Fonts   (2009-01-29 17:54) [0]

Уважаемые друзья, подскажите, пожалуйста, можно ли, каким либо способом из Screen.Fonts "вычленить" моноширийные фонты (типа Fixedsys, Courier и т.п.), естественно ничего не зная о Font.Name?.
Спасибо


 
Jeer ©   (2009-01-29 18:39) [1]


> "вычленить моноширин.."


Что-то мне напомнило..


 
Fonts   (2009-01-29 18:45) [2]

Уже приятно, что кто-то откликлулся:)
Действительно, описАлся
моноширинные
:(


 
Fonts   (2009-01-29 18:46) [3]

Опять:(
откликлулся -> откликнулся


 
Правильный$Вася   (2009-01-29 18:57) [4]

Pitch property (TFont)
Specifies whether the characters in the font all have the same width.
fpFixed The font pitch is set to fixed. All characters in the font have the same width.


 
Anatoly Podgoretsky ©   (2009-01-29 19:36) [5]

> Jeer  (29.01.2009 18:39:01)  [1]

А что бывают две?


 
Fonts   (2009-01-30 18:29) [6]

Собственно, я не совсем понял каким образом воспользоваться Правильный$Вася   (29.01.09 18:57) [4] :(
Для проверки реализовал примерно это:

ComboBox1.Items:= Screen.Fonts;
ComboBox2.Clear;
for i:= 0 to ComboBox1.Items.Count - 1 do
begin
 MyFont:= TFont.Create;
 MyFont.Name:= ComboBox1.Items[i];
 if MyFont.Pitch = fpFixed then //здесь постоянно MyFont.Pitch = fpDefault :(
    ComboBox2.Items.Add(ComboBox1.Items[i]);
 MyFont.Free;
end;


Направьте на путь истинный, как мне все таки определить какие фонты моноширинные, а какие нет?
:(


 
Palladin ©   (2009-01-30 19:00) [7]


> Правильный$Вася   (29.01.09 18:57) [4]

Это свойство определяет в каком стиле вывести шрифт, который может поддерживать как фиксированную так и переменную ширину символов.


> Fonts   (30.01.09 18:29) [6]


Var
f:TFont;
dt:THandle;
i:Integer;
tm:TEXTMETRIC;

Function _FontPitchBitsToStr(Const b:Byte):String;
Begin
 If (b and TMPF_FIXED_PITCH)<>TMPF_FIXED_PITCH Then Result:="Fixed," Else Result:="";
 If (b and TMPF_VECTOR)=TMPF_VECTOR Then Result:=Result+"Vector,";
 If (b and TMPF_TRUETYPE)=TMPF_TRUETYPE Then Result:=Result+"TrueType,";
 If (b and TMPF_DEVICE)=TMPF_DEVICE Then Result:=Result+"Device,";
 If Result<>"" Then SetLength(Result,Length(Result)-1);
End;

begin
f:=TFont.Create;
Try
 dt:=GetDC(GetDesktopWindow);
 Try
  For i:=0 to Screen.Fonts.Count-1 Do
   Begin
    f.Name:=Screen.Fonts[i];
    SelectObject(dt,f.Handle);
    GetTextMetrics(dt,tm);
    Memo1.Lines.Add(Screen.Fonts[i]+" - "+_FontPitchBitsToStr(tm.tmPitchAndFamily));
   End;
 Finally
  ReleaseDC(GetDesktopWindow,dt);
 End;
Finally
 f.Free;
End;
end;


 
Fonts   (2009-01-30 19:18) [8]

> Palladin ©   (30.01.09 19:00) [7]

Респект, то, что нужно!



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

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

Наверх





Память: 0.47 MB
Время: 0.051 c
2-1233912665
NewBie
2009-02-06 12:31
2009.03.29
Отсылка комбинации клавиш в чужое окно


15-1233122782
Труп Васи Доброго
2009-01-28 09:06
2009.03.29
Windows 7 первые впечатления


6-1200509623
Gbp
2008-01-16 21:53
2009.03.29
Как реализовать поддержку SSL в прокси-сервере?


11-1198047594
Бельчонок
2007-12-19 09:59
2009.03.29
DLL - поток (TKOLThread) - Форма


2-1233322044
@!!ex
2009-01-30 16:27
2009.03.29
Как вычленить из строки кусок используя маску?





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