我正在开发一个需要特定条形码字体的应用程序,这种字体不太可能在用户的个人电脑上找到。
我能否将字体嵌入到应用程序中,或者需要使用安装程序来安装字体?
我正在开发一个需要特定条形码字体的应用程序,这种字体不太可能在用户的个人电脑上找到。
我能否将字体嵌入到应用程序中,或者需要使用安装程序来安装字体?
依我之见,最简单的方法是在字体作为资源嵌入到EXE中时使用AddFontMemResourceEx。它允许直接从内存加载字体,无需将字体保存到文件。
代码示例:
function LoadResourceFont( const ResourceName : string ) : boolean;
var
ResStream : tResourceStream;
FontsCount : integer;
hFont : tHandle;
begin
ResStream := tResourceStream.Create(hInstance, ResourceName, RT_RCDATA);
hFont := AddFontMemResourceEx(ResStream.Memory, ResStream.Size, nil, @FontsCount);
result := (hFont <> 0);
ResStream.Free();
end;