Files
MailUI4Agents/client/electron/test
JianFeeeee 6085159694 跨端: 5 处 Unicode 符号当图标换成 AmIcon(并把判据扩到"排版符号"这一类)
起因:做邮件详情时顺手把 `Text('‹')` 换成 `AmIcon('chevronLeft')`,
想着"本仓不是有这条判据吗,怎么没抓到" —— 去看了判据,发现它**只扫 emoji 那一段**。

判据(`harmony-arkts.test.mjs:168`)扫的是 U+2600–27BF / U+2B00–2BFF / U+FE0F,
而漏网的 5 处全在这三段**之外**:
    MainPage.ets      Text('‹')   返回键(会话视图)
    MainPage.ets      Text('›')   会话别名前的小箭头
    SettingsPage.ets  Text('›')   「管理」的进入下一级指示
    ComposePage.ets   Text(' ▾')  账号下拉指示
    MailDetailPage.ets Text('‹')  返回键

★ 它们与 emoji 那类**问题不同、但同样是"看着像图标其实不是"**:
  · 字形宽窄由**字体**决定,与旁边 20vp 的 `AmIcon` 对不齐;
  · 而且**WebUI 用的根本不是字符** —— `icons.tsx:135` 是
    `ChevronRightIcon`(SVG)、`AccountSwitcher.tsx:84` 是它**转 90°**。
    所以这同时是"两端不一致",不只是"字形不好看"。

修法:5 处一律换 `AmIcon`,并按 WebUI 的**同一形状**给:
· 两个返回键 → `chevronLeft` 20vp、可点区 `HEADER_BACK_HIT`(与 `AppHeader` 同值)
· 会话别名 / 「管理」→ `chevronRight`
· 账号下拉 → `chevronRight` + `rotate(open ? 90 : 0)`(照 `AccountSwitcher` 那句)

★ 判据扩了一类(`GLYPH_ISH`:U+2039/203A/00AB/00BB/25A0–25CF/25B2/25BC/25C0/25B6),
  并保持原有那条边界不被破坏:**U+2190–21FF 基本箭头仍不扫** ——
  `→`/`←` 在正文里是标点,扫进来会误伤大量正常文案(原注释里已经踩过这个坑)。
  这次的符号是"单个字符整体",所以 `Text('a → b')` 这类多字符本来也不匹配。

★ 扩完之后判据**当场又抓到一处我自己没注意的**(`SettingsPage.ets` 的 `›`)——
  这正是"把判据从'枚举实例'扩到'枚举类'立刻多抓一个"的现场证据,
  也说明原来那三条区间是照"已经出现过的实例"框的,不是照"这类东西的共同形状"框的。
2026-09-20 13:33:13 +08:00
..