2014-11-12 2 views
1

Что я хочу это код Delphi, который получить имя из .fon файла шрифта, Я сделал поиск Google, но он пошел в 0.Delphi - Получить имя шрифта .FON из указанного файла

быть ясно : Пример: у меня есть шрифт: имя файла + путь: C: \ joker_let.fon шрифт настоящее имя: 'Joker LET 1.0'

То, что я сделал до сих пор:

Function GetFONFontName(FontFile: String): String; 
var FS : TMemoryStream; 
    FontName: Array of Char; 
Begin 
    Result:= ''; 
    FS := TMemoryStream.Create(); 
    Try 
    FS.LoadFromFile(FontFile); 
    SetLength(FontName, FS.Size); 
    FS.ReadBuffer(FontName[0], FS.Size); 
    Result:= String(FontName); 
    Result:= Copy(Result, Pos('FONTRES', Result)+8, 250); 
    Result:= Copy(Result, Pos(':', Result)+141, 60); 
    Result:= Copy(Result, 1, Pos(#0, Result)-1); 
    Result:= Trim(Result); 
    Finally 
    FS.Free; 
    End; 
End; 

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

  • Я сделал еще один поиск Google, чтобы получить структуру .fon файла, но я не нашел что-то полезное я нашел только, что существует два типа: PE и ZE. , который нужно указать, я хочу тип PE (Portable Executable = MZ). , так как я не найти подробную информацию о .FON типа PE, так что я сделал , что глупо

Функция GetFONFontName (FontFile: String): String; сделать временное решение.

надежды я был ясен. извините за мой английский.

ответ

Смежные вопросы