2011-12-31 212 views
0

我有一个应用程序与一个TTF资源作为“字体”包括在内。我希望在FormCreate事件中将此字体用作Fomr Font。我不愿意将这种字体提取到一个目录并从那里加载。我无法为此请帮助我。我是学习者,请不要要求我的代码。德尔福字体资源

我曾用“字体资源ID 13”和“字体名称AmarBangla.ttf”。我已经尝试了下面的代码,但是出现了错误。下面是这些代码:

第一招:

procedure TForm01.FormCreate(Sender: TObject); 
begin 
    Form01.font[13] := AddFontResource (LPCTSTR lpszFontName)); 
    Form01.font := 13; 
end; 

第二个:

procedure TForm01.FormCreate(Sender: TObject); 
begin 
    Form01.font[13] := AddFontResource (Hinstance, MakeIntResource(13)); 
    Form01.font := 13; 
end; 
+2

如果你不好意思向我们展示你写的代码,那么有可能是东西,我们可以帮你改善。学习没有错;当你沉默寡言并且不愿意改善时,问题就出现了。 – 2011-12-31 19:29:40

+0

谈话很便宜。让我看看代码。 :) – 2011-12-31 22:17:57

+0

我已经使用“字体资源ID 13”和“字体名称AmarBangla.ttf”。我已经尝试了下面的代码,但是出现了错误。 这里是那些码 第一个: 过程TForm01.FormCreate(发信人:TObject的); begin Form01.font [13]:= AddFontResource(LPCTSTR lpszFontName)); Form01.font:= 13; 第二个: 过程TForm01.FormCreate(发信人:TObject的); begin Form01.font [13]:= AddFontResource(Hinstance,MakeIntResource(13)); Form01.font:= 13; – 2012-01-01 18:32:04

回答

5

AddFontMemResourceEx功能可以帮助你,但它看起来像Microsoft forbids embedding their fonts into applications if it violates the license of the font

的应用不能与包含嵌入字体的文档一起发布,也不能应用程序本身可以包含嵌入字体

字体嵌入可能违反版权。您首先需要允许重新分发的字体,然后您需要将其与应用程序一起安装到目标系统上。而且,字体的属性会告诉你它们是否允许嵌入。