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

Вниз

извлечение информаций из фонта   Найти похожие ветки 

 
nika_ufc   (2004-08-08 19:42) [0]

Здравствуйте. Подскажите как можно извлечь информацию из фонта ?
не могу разобраться в GetFontData.
Помогите мне, пожалуйста.


 
Cobalt ©   (2004-08-09 01:45) [1]

Есть один очень хороший совет по работе с WinAPI-функциями:
1) Открываешь "C:\Program Files\Common Files\Borland Shared\MSHelp\win32sdk.hlp", выбираешь необходимую функцию, открываешь окошко со справочной информацией по оной.
2) Находишь наверху окошка кнопочку с надписью "Overview", тыркаешь по ней, и читаешь от и до по этой теме.
3) Если при попытке применить знания, полученные в ходе прочтения этого бесценного файла, возникают затруднения - обращаться на форум с конкретным вопросом - мол, "Делаю так и так, должно получиться [это] (согласно Хелп, статья "Imyarec" ), а получаю другое".


 
ssk ©   (2004-08-09 11:08) [2]

1. почитать инфу по структуре TTF
2. смотря какая инфа нужна

вот помню, была у меня задача определить имя шрифта после установки его в систему без предварительного просмотра. и инфу читал, и на форумах спрашивал - никто ничего толком сказать не смог. наверное, просто не занимались люди такими вещами. и вот после некоторой возни пришлось применить один единственный способ, который я и использую до сих пор. ничего лучше, к сожалению, пока что не нашел. вот этот модуль:


{
Модуль для динамического подключения-отключения шрифтов

Параметры:
FontName     - имя файла шрифта
Mode         - режим установить или удалить
InSystemName - имя, под которым шрифт устанавливется в системе.
              При удалении возвращается пустая строка.

Модуль сделал: Сердюк Сергей Кимович

E-Mail: ucad@pisem.net
}
unit sskDinFont;

interface

uses
 Classes, Forms, Windows, Messages;

type
 TFontMode = (fmInstall, fmUnInstall);

procedure SetFont(FontName: string;  Mode: TFontMode; var InSystemName: string);

implementation

procedure SetFont(FontName: string; Mode: TFontMode; var InSystemName: string);
var
 Old, New: TStrings;
 k: integer;
begin
 InSystemName:="";
 case Mode of
    fmInstall:   begin
                   Old:=TStringList.Create;
                   Old.AddStrings(Screen.Fonts);
                   AddFontResource(PChar(FontName));
                   SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
                   New:=TStringList.Create;
                   New.AddStrings(Screen.Fonts);
                   for k:=Old.Count-1 downto 0 do
                     if New.IndexOf(Old[k])>-1 then
                       New.Delete(New.IndexOf(Old[k]));
                   if New.Count>0 then
                     InSystemName:=New[0];
                   New.Free;
                   Old.Free;
                 end;
    fmUnInstall: begin
                   RemoveFontResource(PChar(FontName));
                   SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
                 end;
 end;
end;

end.


 
nika_ufc   (2004-08-12 05:19) [3]

>>>Cobalt ©
Вы правы. но у меня проблема все равно остается.
Я хочу узнать:
1. число символов в фонте
2. является ли этот фонт Unicode или нет


 
TUser ©   (2004-08-12 06:22) [4]

GetFontData, я так понимаю, - он для сообщения о том, какой шрифт установлен для данного устройства (hdc). Т.е. сколько в шрифте символов - он вряд ли вернет.


 
TUser ©   (2004-08-12 06:27) [5]

Хотя нет - это я погорячился. Все она сделает, только в SDK как-то странно описана - даже нет описания структуры, которую вернет эта ф-ция. Нормальное описание нашел в кн. Ф.Юаня, но там много всего - не перепишу. Если время ближе к вечеру будет - сосканю.


 
nika_ufc ©   (2004-08-12 09:08) [6]

>>>  буду очень благодарен.



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

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

Наверх





Память: 0.47 MB
Время: 0.037 c
1-1091979772
nika_ufc
2004-08-08 19:42
2004.08.29
извлечение информаций из фонта


14-1092297754
Holy
2004-08-12 12:02
2004.08.29
Оригинальный приезд


14-1092135708
Layner
2004-08-10 15:01
2004.08.29
Браузер IE, то что кажет, это ближе к картинке или к тексту?


1-1092203163
RDen
2004-08-11 09:46
2004.08.29
по StringGrid


1-1092315832
Реактор
2004-08-12 17:03
2004.08.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
Английский Французский Немецкий Итальянский Португальский Русский Испанский