pub fn char_width(c: char) -> usize
计算单个字符的显示宽度(使用 unicode-width crate) 约定:tab 视为 4 列,其他控制字符视为 0 列,与终端归一化策略保持一致