Gemini CLI 修复泰语字符宽度计算导致的 tmux 光标错位

Ryugi62 · ghdev · 2026-10-18

一个社区 PR 修复了 google-gemini/gemini-cli 中泰语/老挝语字符引发的终端渲染问题:终端的 wcwidth 将 U+0E33/U+0EB3(SARA AM)计为占位列,而 Ink 使用的 string-width 将其折叠进前一字符簇("กำ" 计 1 列),两边不一致导致 tmux 中出现重复行、输入跳动等光标失步。

修复方案是在 getCachedStringWidth 中为每个 SARA AM 增加一列宽度,并通过 setStringWidthFunction 在渲染前注册给 Ink。作者补了覆盖泰语(กำ、ทำ、น้ำ、กำลัง、แนะนำ)、老挝语(ຫຳ)、混合 ASCII 及无回归场景的单元测试,textUtils 85/85 通过,prettier/eslint/typecheck 均过;但尚未在真实 tmux 会话中实测验证。

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →