ie9ie10 2024-05-29 12:24 采纳率: 0%
浏览 88

fontforge汉化后出现乱码问题

fontforge汉化后出现乱码问题

  • 问题描述

    • 通过修改fontforge.bat的方式把这个软件改为了简中文字,但软件内部的不少汉字&打开ttf后的不少汉字都出现了乱码情况。

      img

    • 另外打开字体时有warning警告“The following table(s) in the font have been ignored by FontForge忽略'DSIG' 数字(_)名表”

      img

  • 运行环境:windows11 家庭中文版10.0.22631

  • 求问各位怎么解决这个问题……另问一下能不能通过脚本把字体中的字批量转化为png图片呢,因课程需要,蒟蒻想实现这个功能……

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-29 12:24
    关注

    引自免费微信小程序:皆我百晓生

    对于FontForge汉化后出现乱码的问题,这可能是由于字体文件编码与系统默认字符集不匹配导致的。为了解决这个问题,你可以尝试以下步骤:

    1. 确保FontForge的编码设置正确: 打开FontForge,选择Edit -> Preferences(编辑 -> 首选项),在弹出窗口中找到Interface(界面)部分,确保Text encoding(文本编码)设置为UTF-8

    2. 检查字体文件的编码: 打开一个出现问题的ttf文件,在FontForge中,选择File -> Open(文件 -> 打开),然后在打开的文件选择对话框中,确认Encoding(编码)选项被设为Unicode (UTF-8),点击OK打开文件。

    3. 修复DSIG表警告: DSIG表是用于数字签名的,如果你不需要这个功能,可以安全地忽略它。要处理这个警告,你可以右键单击项目树中的DSIG表,然后选择Delete(删除)。删除后,保存并关闭FontForge,再次打开应该就不会看到这个警告了。

    关于将字体中的字批量转化为PNG图片,你可以编写Python脚本来完成这个任务。首先,你需要安装fontforgePillow库。在命令行中执行以下命令:

    pip install fontforge pillow
    

    然后,使用以下Python代码实现批量转换:

    import os
    from PIL import Image
    from fontforge import FontForge
    
    def generate_png(font_path, output_dir, char_range=(32, 126), size=32):
        # 创建输出目录,如果不存在
        if not os.path.exists(output_dir):
            os.makedirs(output_dir)
    
        # 加载字体
        font = FontForge.open(font_path)
    
        for char_code in range(char_range[0], char_range[1] + 1):
            # 设置当前字符
            font.set_char(char_code)
            
            # 渲染字符到图像
            img = font.create_image(size, size)
    
            # 保存图像
            png_file_name = chr(char_code).replace("\"", "") + ".png"
            img.save(os.path.join(output_dir, png_file_name))
    
    if __name__ == "__main__":
        font_path = "your_font.ttf"  # 替换为你的字体文件路径
        output_dir = "output_images"  # 输出PNG图片的目录
        generate_png(font_path, output_dir)
    

    确保替换上述代码中的your_font.ttf为你的字体文件路径,并根据需要调整输出目录和字符范围。运行这段代码,就会在指定的输出目录下生成对应字符的PNG图片。

    注意:这个脚本仅适用于ASCII字符范围内的字符,如果你需要其他字符,可能需要扩展字符范围或者修改代码以支持更多字符集。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月29日