为什么 ASCII 线框图(Wireframe)一出现中文就对不齐?是字体问题,还是 Unicode 字符宽度导致的?

7 月 3 日
 rich1e

最近在用 AI 生成 ASCII 线框图时,发现只要内容里出现中文,就很容易出现对齐问题。

例如:

+---------------+
|  /Lesson      |
|  事後回顧      |
+---------------+

理论上,两行内容都是从同一列开始,但实际在很多终端、Markdown 编辑器或代码编辑器中显示时,视觉上却没有垂直对齐。

查了一些资料后,大概了解到原因主要有几点:

目前看到的几种解决方案包括:

我发现使用 Maple Mono 字体,是一个非常简单有效的方案。 如下:

另外,想请教一下大家:

  1. 大家在日常开发中遇到过类似的问题吗?
  2. 有没有哪个终端、编辑器或字体,对 CJK 的等宽显示支持得比较好?
  3. 如果需要生成可跨平台展示的文本线框图,目前有没有比较成熟的最佳实践?

欢迎分享你的经验或踩过的坑!

1944 次点击
所在节点    分享发现
3 条回复
xy2401
7 月 3 日
用过 markdown 写表格 就应该知道这个问题
还涉及到 chrome / electron 的渲染问题
我直接选择放弃
rich1e
7 月 3 日
@xy2401 换个字体或许就可以解决。亲测 vscode 、obsidian 和 iTerm 有效果。

archxm
7 月 3 日
字体问题,之前也遇到了。也是处理 markdown 的表格对齐时。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1224754

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX