缓存-freetype FT_New_Memory_Face 使用问题

问题描述

freetype FT_New_Memory_Face 使用问题

在《freetype教程》中有这么几句话:
3.装载一个字体face _

a.从一个字体文件装载
..........(此处我省略了若干字)
b.从内存装载

如果你已经把字体文件装载到内存,你可以简单地使用 FT_NEW_Memory_Face_为它新建一个face对象,如下所示: _

FT_Library library; /* 库的句柄 /
FT_Face face; /
face对象的句柄 */

error = FT_Init_FreeType( &library );
if ( error ) { ... }

error = FT_New_Memory_Face( library,
buffer, /* 缓存的第一个字节 /
size, /
缓存的大小(以字节表示) /
0, /
face索引 */
&face );
if ( error ) { ... } _

如你所看到的,FT_New_Memory_Face简单地用字体文件缓存的指针和它的大小(以字节计算)代替文件路径。除此之外,它与FT_New_Face的语义一致。

我的问题是:
1、“如果你已经把字体文件装载到内存”,就这句话而言,如何把一个字体文件,如通过什么方法把字库文件 “zang.ttf”加载到内存。
2、通过调用函数 “FT_New_Memory_Face( library,
_buffer, /* 缓存的第一个字节 /
size, /
缓存的大小(以字节表示) /
0, /
face索引 */
&face ); ”获取FreeType库实例的句柄时,第二个参数 buffer和第三个参数size 具体传入什么值,是否可以举例说明,谢谢各位!

时间: 2024-12-23 21:18:23

缓存-freetype FT_New_Memory_Face 使用问题的相关文章

固态硬盘做系统盘和做缓存盘有什么区别

  固态硬盘做系统盘和做缓存盘有什么区别          用固态硬盘直接做缓存盘不同于直接用固态硬盘做系统盘直接在固态硬盘上读取数据,固态硬盘做缓存盘的时候是根据用户经常访问的数据,将这一部分数据保存到固态硬盘上方便下次读取的时候快速读取而已,其作用类似硬盘的内存,只不过这块内存的数据并不会伴随关机而自动清空.         推荐阅读:让SSD速度飞起来 固态硬盘优化技巧大全  因此综上所述,最立竿见影的方法就是直接将固态硬盘做系统盘,并用剩余的容量安装游戏或者其他常用软件,这样收益是最明显

[Android] 缓存机制

移动开发本质上就是手机和服务器之间进行通信,需要从服务端获取数据.反复通过网络获取数据是比较耗时的,特别是访问比较多的时候,会极大影响了性能,Android中可通过缓存机制来减少频繁的网络操作,减少流量.提升性能. 实现原理 把不需要实时更新的数据缓存下来,通过时间或者其他因素 来判别是读缓存还是网络请求,这样可以缓解服务器压力,一定程度上提高应用响应速度,并且支持离线阅读.  Bitmap的缓存 在许多的情况下(像 ListView, GridView 或 ViewPager 之类的组件 )我

实战给AW_Blog插件添加缓存(续)

两年前的文章(实战给AW_Blog插件添加缓存)描述了一个Block Cache的实例,最近发现代码其实写的有点累赘,后台保存时自动触发刷新缓存并不需要自己去写刷新的动作,系统原生的Model继承类Mage_Core_Model_Abstract里已经有实现这个动作的代码,只需要简单的配置下变量就能实现.修改后的方案如下(Block类的所需修改代码不变) 打开AW_Blog_Model_Post这个文件,在头部定义一个常量,再定义一个变量 const CACHE_TAG = 'aw_blog';

页面的缓存与不缓存设置

HTML的HTTP协议头信息中控制着页面在几个地方的缓存信息,包括浏览器端,中间缓存服务器端(如:squid等),Web服务器端.本文 讨论头信息 中带缓存控制信息的HTML页面(JSP/Servlet生成好出来的也是HTML页面)在中间缓存服务器中的缓存情况.       HTTP协议中关于缓存的信息头关键字包括Cache-Control(HTTP1.1),Pragma(HTTP1.0),last-Modified,Expires等.       HTTP1.0中通过Pragma 控制页面缓存

android-Android 如何实现垃圾清理、缓存清理?

问题描述 Android 如何实现垃圾清理.缓存清理? Android 如何实现垃圾清理.缓存清理?要删除什么哪些文件或者要怎么做?在下想写一个一键清理应用,可不知从何下手.谢谢! 解决方案 如果是你自己的应用,把文件放在getCacheDir()中的话,可以删除那些文件.用常用的文件I/O接口. 但是如果是其他应用的文件,没有权限修改或删除的. 解决方案二: android 垃圾收集在不定时间下发生,并由Dalvik虚拟机决定什么时候回收垃圾,显示调用System.gc()可以提醒虚拟机,收集

app-Android 文件缓存策略

问题描述 Android 文件缓存策略 需求是这样的: 打开Android app访问服务器端的页面,第一次访问服务端,第二次就可以直接读缓存:在服务端有数据更新的时候,可以定时的更新,清除缓存,重新访问服务端的页面,谁有完整的demo(ps:使用文件缓存的策略),谢谢! 解决方案 莫有人知道吗?急用,有个案例参考下

火狐浏览器缓存路径的更改问题

  安装好火狐浏览器后,通过在 Firefox 地址栏输入 about:cache 可以看到Firefox 的默认磁盘缓存目录是在 Windows 用户配置文件夹里面.而用户配置文件一般是在系统安装盘里面,为了不影响系统的运行速度及系统盘的碎片空间占用,一般可以设置浏览器的缓存文件的存储路径. 设置磁盘缓存目录放入其他目录: 地址栏输入 about:config,右键新建两个字符串.一个名为: "browser.cache.disk.parent_directory" (硬盘缓存),然

反射 程序集-成功添加程序集到缓存中 但assmbly找不到该文件

问题描述 成功添加程序集到缓存中 但assmbly找不到该文件 成功将DLL添加到程序集中了.但是C:Windowsassembly目录下找不到该DLL

计算机体系结构6_缓存结构

一,缓存结构         下图为一个n-way set-associative cache 结构图:                                                               缓存组织为cache line数组的形式,每一个cache line由三部分组成,内存数据,tag,其他信息.                     多个cache line一行,组成一个set,一列cache line为way,在n-way set-associat