awtk/docs/manual/font_manager_t.md
2023-06-29 10:44:29 +08:00

9.3 KiB
Raw Blame History

font_manager_t

概述

image

字体管理器,负责字体的加载和缓存管理。 (如果使用nanovg字体由nanovg内部管理)

函数

函数名称 说明
font_manager 获取缺省的字体管理器。
font_manager_add_font 向缓存中加入字体。
font_manager_create 创建字体管理器。
font_manager_deinit 析构字体管理器。
font_manager_destroy 析构并释放字体管理器。
font_manager_get_font 从缓存中查找字体,如果没找到,再加载字体,并缓存。
font_manager_init 初始化字体管理器。
font_manager_lookup 查找字体。
font_manager_set 设置缺省的字体管理器。
font_manager_set_assets_manager 设置资源管理器对象
font_manager_set_fallback_get_font 设置一个函数,该函数在找不到字体时加载后补字体。
font_manager_shrink_cache 清除最久没有被使用的缓冲字模。
font_manager_unload_all 卸载全部字体。
font_manager_unload_font 卸载指定的字体。

属性

属性名称 类型 说明

font_manager 函数


  • 函数功能:

获取缺省的字体管理器。

  • 函数原型:
font_manager_t* font_manager ();
  • 参数说明:
参数 类型 说明
返回值 font_manager_t* 返回字体管理器对象。

font_manager_add_font 函数


  • 函数功能:

向缓存中加入字体。

  • 函数原型:
ret_t font_manager_add_font (font_manager_t* fm, font_t* font);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
fm font_manager_t* 字体管理器对象。
font font_t* 字体。

font_manager_create 函数


  • 函数功能:

创建字体管理器。

  • 函数原型:
font_manager_t* font_manager_create (font_loader_t* loader);
  • 参数说明:
参数 类型 说明
返回值 font_manager_t* 返回字体管理器对象。
loader font_loader_t* 字体加载器。

font_manager_deinit 函数


  • 函数功能:

析构字体管理器。

  • 函数原型:
ret_t font_manager_deinit (font_manager_t* fm);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
fm font_manager_t* 字体管理器对象。

font_manager_destroy 函数


  • 函数功能:

析构并释放字体管理器。

  • 函数原型:
ret_t font_manager_destroy (font_manager_t* fm);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
fm font_manager_t* 字体管理器对象。

font_manager_get_font 函数


  • 函数功能:

从缓存中查找字体,如果没找到,再加载字体,并缓存。

  • 函数原型:
font_t* font_manager_get_font (font_manager_t* fm, const char* name, font_size_t size);
  • 参数说明:
参数 类型 说明
返回值 font_t* 返回字体对象。
fm font_manager_t* 字体管理器对象。
name const char* 字体名为NULL时使用缺省字体。
size font_size_t 字体的大小。

font_manager_init 函数


  • 函数功能:

初始化字体管理器。

  • 函数原型:
font_manager_t* font_manager_init (font_manager_t* fm, font_loader_t* loader);
  • 参数说明:
参数 类型 说明
返回值 font_manager_t* 返回字体管理器对象。
fm font_manager_t* 字体管理器对象。
loader font_loader_t* 字体加载器。

font_manager_lookup 函数


  • 函数功能:

查找字体。

  • 函数原型:
font_t* font_manager_lookup (font_manager_t* fm, const char* name, font_size_t size);
  • 参数说明:
参数 类型 说明
返回值 font_t* 返回字体对象。
fm font_manager_t* 字体管理器对象。
name const char* 字体名称。
size font_size_t 字体大小。

font_manager_set 函数


  • 函数功能:

设置缺省的字体管理器。

  • 函数原型:
ret_t font_manager_set (font_manager_t* fm);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
fm font_manager_t* 字体管理器对象。

font_manager_set_assets_manager 函数


  • 函数功能:

设置资源管理器对象

之所以需要设置资源管理器对象而不是使用缺省的资源管理器对象是因为在designer中有两个字体管理器

  • 一个用于designer本身加载字体。

  • 一个用于被设计的窗口加载字体。

这两个字体管理器需要从不同的路径加载资源。

  • 函数原型:
ret_t font_manager_set_assets_manager (font_manager_t* fm, assets_manager_t* assets_manager);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
fm font_manager_t* 字体管理器对象。
assets_manager assets_manager_t* 资源管理器。

font_manager_set_fallback_get_font 函数


  • 函数功能:

设置一个函数,该函数在找不到字体时加载后补字体。

  • 函数原型:
ret_t font_manager_set_fallback_get_font (font_manager_t* fm, font_manager_get_font_t fallback_get_font, void* ctx);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
fm font_manager_t* 字体管理器对象。
fallback_get_font font_manager_get_font_t 回调函数。
ctx void* 回调函数的上下文。

font_manager_shrink_cache 函数


  • 函数功能:

清除最久没有被使用的缓冲字模。

  • 函数原型:
ret_t font_manager_shrink_cache (font_manager_t* fm, uint32_t cache_size);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
fm font_manager_t* 字体管理器对象。
cache_size uint32_t 每种字体保留缓存字模的个数。

font_manager_unload_all 函数


  • 函数功能:

卸载全部字体。

  • 函数原型:
ret_t font_manager_unload_all (font_manager_t* fm);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
fm font_manager_t* 字体管理器对象。

font_manager_unload_font 函数


  • 函数功能:

卸载指定的字体。

  • 函数原型:
ret_t font_manager_unload_font (font_manager_t* fm, const char* name, font_size_t size);
  • 参数说明:
参数 类型 说明
返回值 ret_t 返回RET_OK表示成功否则表示失败。
fm font_manager_t* 字体管理器对象。
name const char* 字体名为NULL时使用缺省字体。
size font_size_t 字体的大小(矢量字体指定为0即可)。