求ImGui格鲁吉亚语菜单所需.h格式字体的创建或获取方法
解决ImGui格鲁吉亚语菜单的.h格式字体问题
你需要的.h格式字体本质是把TTF文件转成C语言数组的形式,ImGui官方就提供了工具来做这件事,步骤如下:
第一步:准备支持格鲁吉亚语的TTF字体
找一款完整支持格鲁吉亚字符的TTF字体,比如Noto Sans Georgian(免费开源,字符覆盖全),你手里现有的格鲁吉亚TTF也能用。第二步:用ImGui自带工具转换为.h文件
ImGui的misc/fonts目录下有个BinaryToCompressedC工具,先编译这个工具(对应平台的工程文件在同目录里)。编译完成后,在命令行运行:BinaryToCompressedC.exe your-georgian-font.ttf georgian_font.h GeorgiaFont其中
GeorgiaFont是生成的数组名,你可以自定义。运行后就会得到你需要的.h格式字体文件。第三步:在ImGui中加载这个字体
在你的代码里包含生成的头文件,然后在ImGui初始化时加载:#include "georgian_font.h" // ... ImGui初始化代码 ... ImGuiIO& io = ImGui::GetIO(); ImFont* georgianFont = io.Fonts->AddFontFromMemoryCompressedTTF(GeorgiaFont_compressed_data, GeorgiaFont_compressed_size, 16.0f); // 可以设置默认字体为格鲁吉亚字体 io.FontDefault = georgianFont;调整最后一个参数(16.0f)可以设置字体大小。
测试字符支持
加载后直接在菜单里输入格鲁吉亚文字,确认所有字符都能正常显示和输入。如果有缺失,换一款字符覆盖更全的TTF重新转换即可。
内容的提问来源于stack exchange,提问作者Giorgi
相关产品推荐
相关产品推荐

