找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 128|回复: 3

[已解决] 如何使用renpy代码将半角字符改成全角字符?

[复制链接]
发表于 2024-5-12 20:32:15 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 烈林凤 于 2024-5-28 19:05 编辑

如题,我在renpy文档中并没有看到类似的原生方法,我希望将文本中所有字符全部强制变为全角字符,该怎么做?
发表于 2024-5-13 10:36:15 | 显示全部楼层
建议在脚本层面解决字符转换的需求,比如用各种支持正则表达式的编辑器实现替换。

Ren'Py层面实现起来可能会有各种坑。
我试过在say界面处理“what”字符串,Ren'Py会进行校验what的文本并报错。

可以尝试字体组:
https://doc.renpy.cn/zh-CN/text.html#FontGroup
把 target_increment 设置为True,将半角逗号(002C)映射到全角逗号(FF0C),不过没试过不确定能用……
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2024-5-13 17:36:55 | 显示全部楼层
被诅咒的章鱼 发表于 2024-5-13 10:36
建议在脚本层面解决字符转换的需求,比如用各种支持正则表达式的编辑器实现替换。

Ren'Py层面实现起来可能 ...

好的,感谢
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2024-5-19 20:24:10 | 显示全部楼层
被诅咒的章鱼 发表于 2024-5-13 10:36
建议在脚本层面解决字符转换的需求,比如用各种支持正则表达式的编辑器实现替换。

Ren'Py层面实现起来可能 ...

感谢大大提供的思路,我结果测试之后发现确实是可行的,但目前遇到了一些问题:

1。全角和半角字符之间的映射范围很难调整,目前我也仅摸索出半角英文字符到全角英文字符的映射范围(而且还不是正好,只是碰巧),我在网上寻找到范围后,经过测试,发现并不正确(经过偏移之后会发现不再是这个符号),我想要知道这个范围

2。将英文半角字符映射到全角,默认显示的就是英文字符的全角,并不是中文,不知道这个映射范围该如何调整


总的来说就是映射范围目前没有办法确定
我测试使用的代码如下:
[RenPy] 纯文本查看 复制代码
style font_ceshi_13:
    size 40
    color "#fff"
    xycenter(0.5,0.5)
    # font "DreamHanSerif-W25.ttc"
    font FontGroup().add(
        "DreamHanSerif-W25.ttc", 
        0x002C, 
        0x7E,
        target=0xFF0C, 
        target_increment=True).add(
        "DreamHanSerif-W25.ttc", 
        0x0000, 
        0x10FFFF,)

image image_ceshi_13 = Text("全角:。,半角:.,结尾", style="font_ceshi_13")

label ceshi_13:
    "我看看下句话是否能将半角改为全角。"
    window hide
    show image_ceshi_13
    pause


虽然这没有太大的实用价值,但确实是个好问题,我想试着解决一下,感谢解答!

回复 支持 抱歉

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-27 13:59 , Processed in 0.141164 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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