Links
Tags
Creators
Details
Licensed LGPL-2.1-or-later
Published last year
Updated last month
All versions
1.0.1
Release
IngameIME-1.12.2-1.0.14 months ago 12.2K
Compatibility
Minecraft: Java Edition
1.12.2
Platform
Forge
Supported environments
Client-side
Required content
Any compatible version
Changes
IngameIME 1.0.0 -> 1.0.1 更新说明
总览
1.0.1 是针对 1.0.0 的热修版本,重点修复 Windows 11 输入法 emoji、NeoFontRender 兼容和无 Neo 环境下候选词排序问题。
- 修复 Win11 输入法提交 emoji 时出现
ð、错误 emoji、多个错误 emoji 的问题。 - 修复 NeoFontRender 启用时 emoji 删除异常的问题。
- 修复无 NeoFontRender 时 emoji 候选无法显示导致候选序号错位的问题。
- 普通文本输入路径尽量保持不变,降低对 JEI 等依赖文本框输入事件的影响。
- 更新 native core 资源和 Forge 开发环境配置。
修复内容
Win11 输入法 emoji 输入
- 增加 UTF-8 mojibake 修复逻辑,修复 emoji 被错误解码成
ð等字符的问题。 - 输入法 commit 文本会在 Java 侧再次修复,避免错误内容写入文本框。
- 对包含 surrogate pair 或 emoji format code point 的文本改用
GuiTextField.writeText直接写入。 - 普通 BMP 文本仍走原来的
keyTyped路径,保留文本框原有事件行为。
NeoFontRender 下的 emoji 编辑
- 修复输入 emoji 后显示成其他 emoji 的问题。
- 修复一次输入出现多个错误 emoji 的问题。
- 修复删除 emoji 时整行文字被删除的问题。
- 修复删除 emoji 时原本要删除的 emoji 变成另一个 emoji 的问题。
- Backspace / Delete 现在会按 emoji cluster 删除,避免只删除 surrogate pair 的一半。
- 光标和选择区落入 emoji cluster 中间时会自动对齐到边界。
无 NeoFontRender 时的候选词排序
- 当当前字体无法渲染 emoji 候选时,候选框显示
×作为占位。 - 占位只影响显示,不修改候选词原始数据。
- 修复 emoji 候选被跳过后,后续候选整体前移的问题。
- 安装 NeoFontRender 后,emoji 候选会继续按原始 emoji 正常显示。
JEI 等特殊文本框影响控制
- 普通文本继续通过原有屏幕输入事件写入。
- 只有 emoji / surrogate pair / emoji format 文本才走直接写入路径。
- JEI 搜索框写入后继续同步 JEI filter 文本,避免搜索状态不同步。
调试日志
DebugLog 开启后新增或增强了以下日志,方便定位 emoji 输入问题:
[IME Commit]:记录输入法提交的原始文本和修复后文本。[IME DirectWrite]:记录 emoji 文本直接写入文本框的情况。[IME KeyTyped]:记录普通文本经由 keyTyped 路径写入的情况。[IME ClusterDelete]:记录 emoji cluster 删除范围。[Java Candidates]:记录候选词原文、显示文本、UTF-16 和 code point。
构建与资源
- 更新 Forge 开发环境相关配置。
- 更新 Gradle wrapper / build 配置。
- 更新
ingameime_core.dllnative 资源。 - 版本号提升到
1.0.1。
已知说明
×仅用于候选框显示占位,不代表实际提交内容被替换。- 无 NeoFontRender 时,候选框可以保持正确排序,但游戏内正文是否能显示 emoji 仍取决于字体渲染能力。
升级建议
- 如果使用 Windows 11 输入法输入 emoji,建议从
1.0.0升级到1.0.1。 - 如果使用 NeoFontRender,建议测试 emoji 输入、删除、移动光标和 JEI 搜索框输入。
- 如果遇到候选词错位或 emoji 显示异常,开启 DebugLog 后附带
latest.log排查。
Supplementary resources
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:DqGLeBcL:bJV2WwvM"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:DqGLeBcL:bJV2WwvM"
}

