找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 154|回复: 0

[教程] FontGroup() 游戏里全局使用两种字体的方法

[复制链接]
发表于 2024-1-27 12:18:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 leech 于 2024-1-27 12:21 编辑

大概就是,我提出了希望在游戏中使用一种字体来显示汉字字符,用另外一种字体来显示数字字符(因为我这个汉字字体里的数字嗯,相当的丑
然后觉得一个个打文本标签替换字体过于麻烦(如果文本量大的话)...直觉觉得这种应该会有集成的功能,在群里求助,然后在万能的群友(@孤独爱上了夜晚)帮助下
找到了文档里一个相对冷门?的东西,下面原文(实际功能就是将【多种字体文件的部分】集成一个【新字体】)
字体组
文档给出的例子:
例子里是将"english.ttf"里的0x0020到0x007f的字符“覆盖”到了"japanese.ttf"上的0x0000,0xffff字符,集成新字体
[RenPy] 纯文本查看 复制代码
style default:
     font FontGroup().add("english.ttf", 0x0020, 0x007f).add("japanese.ttf", 0x0000, 0xffff)

比较需要注意的是,替换的字符是从前往后覆盖,有个优先层级在
然后【0x0020】【0x007f】这种unicode编码,也可以使用字符串,比如
[RenPy] 纯文本查看 复制代码
style default:
    font FontGroup().add("TiejiliSC-Regular.ttf",0x30,0x39).add("DouyinSansBold.otf",0x0000,0xffff)

等效于
[RenPy] 纯文本查看 复制代码
style default:
    font FontGroup().add("TiejiliSC-Regular.ttf","0","9").add("DouyinSansBold.otf",0x0000,0xffff)

按具体使用情况可能需要查unicode汉字编码表,下面是常用的
汉字:[0x4e00,0x9fa5]
数字:[0x30,0x39]
小写字母:[0x61,0x7a]
大写字母:[0x41,0x5a]
我觉用来整一些花活不错

QQ图片20240127121713.png

评分

参与人数 2干货 +4 收起 理由
blackpineapple + 2 感谢解答!
ZYKsslm + 2 感谢分享!

查看全部评分

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|RenPy中文空间 ( 苏ICP备17067825号|苏公网安备 32092302000068号 )

GMT+8, 2024-2-28 01:20 , Processed in 0.037508 second(s), 15 queries , File On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表