3 0 0

[字体管理器用法]给控件单独上字体文件:初始化引擎使用字体

2022-9-12 415

很多时候咱们的项目需要多个字体或多种字体效果,这个时候就需要我们的字体管理器了。

【什么是字体管理器】

JOUI的字体管理器不同其它软件意义上一样;是专供给引擎使用的一种字体收纳包(可以这么理解)添加的字体不会影响计算机本地的字体;比如游戏引擎 一般就会使用多个字体文件来实现多种场合;比如一个窗口多个控件 每个控件使用不同的字体文件来显示;而且不能去安装字体到计算机(或者手动让使用者去安装?) 这样对使用者很不友好(不一定用户能接受)那么强大的字体管理器就出现了 跟游戏引擎一样不需要安装到本地 指定文件即可使用。

【使用方法-全局】

在引擎初始化(Jo_Init)的时候也是有默认字体设置的,在主题包的全局配置中:

我们看【hResFont】参数 就是指定字体文件;这个给字体文件是全局加载;全局字体会默认处于备选 控件如果没有指定字体名称 将会使用全局字体、前提【hFontFace】字体名称是正确的。

【使用方法-单独指定】

引擎初始化后使用【字体_加载自文件】必须要指定字体名称,否则无效;在需要使用的控件创建后 我们用【控件_置字体】即可

.版本 2

pfont [1] = 字体_加载自文件 (Zip_取文件 (hZip, “font/fontawesome-webfont.ttf”),"fontawesome")
pfont [2] = 字体_加载自文件 (Zip_取文件 (hZip, “font/TsangerYuMo.ttf”),"TsangerYuMo")

以上代码实现了从ZIP资源包加载自定义字体到管理器;字体文件可以是从本地 也可以是从资源包 甚至主题包。

最后效果:

清楚看到左边扩展的字体图标加载的是“font/fontawesome-webfont.ttf”字体文件;而右边列表框使用的字体是“font/TsangerYuMo.ttf”文件。

*注意:在软件关闭或不使用字体的时候我们应该使用【字体_删除自文件】来释放加载的字体;以免内存资源浪费。

以上demo源码在发布更新包中的【demo-扩展字体图标】文件

 

 

 

 

最新回复 (3)
  • langyi 2022-9-13
    0 引用 2

    很赞

  • sinewtec 2022-9-14
    0 引用 3

    支持

  • qingfeng12 1月前
    0 引用 4

    刚开始学习,谢谢分享

请先登录后发表评论!

返回
请先登录后发表评论!