我正在尝试编写一些使用freetype2来渲染文本的软件。
但是,我目前开发的条件使得使用我的程序提供ttf字体非常困难。我处于死胡同,但后来我发现freetype2为我们提供了一个 FT_New_Memory_Face 函数,它从内存中加载一个新面孔。
freetype2的文档声明我必须打开一个文件,并将其内容加载到内存中以使用它。但同样,这并没有解决我的问题。是否有可能像静态缓冲区那样保存ttf文件的数据,并且我可以将其传递给FT_New_Memory_Face ???我在考虑类似于GIMP如何将图像导出为C源代码。
我发现'font2c',声称这样做(??),但每当我尝试加载我的TTF字体文件时,我都会收到如下错误:
$ font2c Arial arial.c Converting Arial font. FontName is /Arial. Error: /invalidfileaccess in --file-- Operand stack: --nostringval-- cfile (arial.c) (w) Execution stack: %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1910 1 3 %oparray_pop 1909 1 3 %oparray_pop 1893 1 3 %oparray_pop 1787 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- --nostringval-- Dictionary stack: --dict:1166/1684(G)-- --dict:0/20(G)-- --dict:84/200(L)-- --dict:52/100(L)-- Current allocation mode is local Current file position is 20084 GPL Ghostscript 9.06: Unrecoverable error, exit code 1
我该怎么办???? 提前谢谢!
PS。抱歉英语不好,我不是母语人士
答案 0 :(得分:2)
您可以使用实用程序xxd
(作为vim的一部分分发)和-i
选项将二进制文件转换为C源,该源将创建包含该文件内容的数组。