我想要的是一个从.fon字体文件中检索名称的Delphi代码, 我进行了谷歌搜索,但是它的搜索结果为0。
要明确: 示例:我有字体: 文件名+路径: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;
但是这个功能不能正常工作, 因为字体名称并未存储在所有.fon文件中的相同位置。 如果我在示例中给出字体,我会得到它的名字;但如果我只是给另一种字体 我没有正确地得到它的名字,或者它只是''。 所以我需要其他东西来检索每个文件中的.fon名称。
希望我很清楚。 对不起我的英文。函数GetFONFontName(FontFile:String):String; 做临时解决方案。
答案 0 :(得分:0)
此问题在此之前提出:How do I get the font name from a font file?。看起来您可以使用GetFontResourceInfo Win API。