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

Вниз

Название шрифта   Найти похожие ветки 

 
AL2002   (2002-09-11 20:46) [0]

Есть файл AL2002.ttf. Сам шрифт называется "Little Tale of Town".
Нужно как-то присвоить переменной название шрифта. Шрифт не установлен. Как это сделать?


 
AL2002   (2002-09-12 10:21) [1]

:(
Неужто через blockread только можно?
Я так надеялся, что в Апи что-то есть такое.
((((((((((


 
Рыжик   (2002-09-12 10:51) [2]

GetTypeFaceNameFromTTF?


 
AL2002   (2002-09-12 10:56) [3]

>Рыжик © (12.09.02 10:51)
Вы ею пользовались? А какую библиотеку она использует?
А то что-то не работает она.


 
Alx2   (2002-09-12 11:11) [4]

>AL2002 © (12.09.02 10:56)
Не это ли?
AddFontResource
RemoveFontResource


 
AL2002   (2002-09-12 11:45) [5]

>Alx2 © (12.09.02 11:11)
>>AL2002 © (12.09.02 10:56)
>Не это ли?
>AddFontResource
>RemoveFontResource
Не, не это. Не, ну и это тоже нужно, но мне вместе с добавлением фонта нужно и узнать его имя. Имя фонта, а не имя шрифта.
Можно, конечно, в код шрифтового файла полезть, найти тэги. Но это ж геморрой какой! :(



 
AL2002   (2002-09-12 12:03) [6]

А-ААААААААААААААААААААААААААА!!!!!!!!!!!!!
ПОДСКАЖИТЕ, КАК ЕГО УЗНАТЬ!!!!!!!!!!!!!!!!


 
AL2002   (2002-09-12 12:28) [7]

A-A-AAAAAAAAAAAA-AAAAAAAAAAAAAAAAAAA-AAAAAAAAAAA!!!!!!!!!!!!!!


 
Alx2   (2002-09-12 12:49) [8]

Посмотри пример на ftp.seagull.ru/faq/doc-othe/TTF1SPEC.DOC/SAMPLES
Может, оно? :)


 
Alx2   (2002-09-12 12:52) [9]

Или вот еще то же самое: ftp://ftp.relcom.ru/pub/.1/windows/microsoft/TrueType-info/ttfname.zip


 
MBo   (2002-09-12 13:02) [10]

Шрифт установлен?


 
MBo   (2002-09-12 13:03) [11]

если да, то

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


 
AL2002   (2002-09-12 13:31) [12]

>MBo © (12.09.02 13:02)
>Шрифт установлен?
Неа. В этом то и вся проблема.
Может, точно через теги? Но шрифтяры же разные бывают. :(

Посмотрю щас, чё там Алкс2 мне посоветовал.



 
AL2002   (2002-09-12 13:32) [13]

>MBo © (12.09.02 13:02)
>Шрифт установлен?
Неа. В этом то и вся проблема.
Может, точно через теги? Но шрифтяры же разные бывают. :(

Посмотрю щас, чё там Алкс2 мне посоветовал...........
.......фигню он мне посоветовал.
Алкс. Это ты так шутишь?



 
MBo   (2002-09-12 13:46) [14]

>Алкс. Это ты так шутишь?
Нет, там приведен анализ TableEntry для формата контурных шрифтов sfnt, используемого в TTF. Дело очень муторное.

>Шрифт установлен?
>Неа. В этом то и вся проблема
Ну так устанавливай временно, Enum-способ намного проще, пусть система с этими таблицами разбирается


 
Alx2   (2002-09-12 13:47) [15]

>AL2002 © (12.09.02 13:32)
Вообще-то буржуи советуют спецификации шрифтов смотреть (функция GetTypeFaceNameFromTTF теперь не поддерживается). А там - готовый пример. А фигня это или нет...

Microsoft used to have a function called GetTypeFaceNameFromTTF, but it"s an old and abondaned 16 bit function that hasn"t been replaced.
I would like to know how to retireve the font name from the naming table of a TTF file with a funtion writen in Delphi. Can you help me?

This function was not part of the Windows 3.1 API. Perhaps it was part of some example code MS shipped on a developer CD - check out their TTFNAME, a little demo that retrieves the "Mac" format name, then rewrite it a little to get the "Windows" name. Use the TrueType spec to help you. -- Laurence

http://www.truetype.demon.co.uk/ttqa97.htm


 
AL2002   (2002-09-12 14:17) [16]

Тагда такой вариант:
Сделать у Edit1 шрифт был AL2002.ttf без установки этого шрифта в систему.

Хоть это можно сделать?


 
AL2002   (2002-09-12 16:41) [17]

В общем, я сделал два TStringа. Одному сразу присваиваю список шрифтов в системе, потом делаю AddResource, потом присваиваю второму TStringу весь список шрифтов. А уже потом добываю имя того шрифта, которого нет в первом списке путём сравнивания.
Ну не изврат?


 
Рыжик   (2002-09-13 08:55) [18]


> AL2002 © (12.09.02 16:41)

Изврат, конечно. Особенно потому, что если в системе уже есть шрифт с таким же именем, то в этом случае хотя AddResource благополучно возвращает 1, однако список шрифтов не меняется.


 
AL2002   (2002-09-13 10:34) [19]

>Особенно потому, что если в системе уже есть шрифт
Нет, не особенно. Потому что если изменений не происходит, я это засекаю. Хоть что-то хорошее в этом методе (изврате).
(ну, а чё ещё делать:))



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

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

Наверх





Память: 0.48 MB
Время: 0.022 c
1-85529
Демонов Е.В.
2002-09-13 13:26
2002.09.26
DragAllowFiles ???????????


3-85321
RDA
2002-09-06 15:03
2002.09.26
И снова справочники


3-85414
Awex
2002-09-05 19:02
2002.09.26
Русские имена метаобъетов в Interbase (Диалект 3)


1-85445
Юрий Федоров
2002-09-13 11:45
2002.09.26
Assembler


1-85604
Schummi
2002-09-14 08:26
2002.09.26
TListView медленно выводит данные!





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