pub fn display_width(s: &str) -> usize
计算字符串的显示宽度(使用 unicode-width crate,比手动范围匹配更准确) 约定:tab 视为 4 列,其他控制字符视为 0 列,与终端归一化策略保持一致