跳到正文

字符图编辑器

ASCII Diagram Editor

在字符网格上画方框、连线、箭头和标签,转角和交叉点由相邻格是否被占用自动推出,可在 Unicode 制表符和纯 ASCII 之间切换。

手画 ASCII 图最痛苦的是角。该放 ┬ 的地方放了 ┌,图就悄悄错了;后来决定它得放进源码注释,每一个这样的字符都得找出来换掉。这个编辑器从不让你选角。你说盒子在哪、线怎么走,每个格子根据它四个邻居里哪些被占用自己算出字形——所以交叉的线不用彼此知道就产生 ┼,把整幅图切换成纯 ASCII 只是一个设置。

🔒 完全在你的浏览器里运行asciidiagrameditordevelopertext
工具

U+2500 制表符。大约 1995 年以来在用的每一款等宽字体里都有。

选中的图形

还没有选中任何东西。切到选择工具,再点一个图形。

字符图

 
转角和交叉点的字符从来不用人去挑。方框只说自己的边在哪里,线只说自己从哪儿过;接下来每一格自己看它往四个方向里的哪几个相连,再定自己该是什么字。两条线交叉时谁也不知道谁,却能得出一个 ┼,就是这个道理;换成纯 ASCII 只是改一个设置而不是把整张图查找替换一遍,也是这个道理。
ASCII 这一套是故意做得粗的:十一种交叉点和四个转角全都写成一个 +。一张能挺过源码注释、提交信息、Makefile 和用着 1994 年字体的终端的图,比一张更好看但到了对面变成方框的图值钱。
有三件事它不做。不画斜线 —— 没有哪个制表符是斜的,斜着拖会被拐成折线。不会自动绕开挡路的东西,线放在哪儿就走哪儿。方框里的文字也不会自动换行。

怎么用

  1. 先拖盒子,再连接

    用盒子工具拖出一个盒子;点一下得到仍然算盒子的最小尺寸。然后拿箭头工具从一个拖到另一个——落在盒子里面的端点会被拉到最近的边缘格,因为拖*到*一个盒子的意思是连到它上面,穿过中间的线从来不是本意。

  2. 按去向选字符集

    README 或终端用 Unicode 制表符。源码注释、提交信息、Makefile,或任何编码不确定的地方用纯 ASCII——只有 - | + < > ^ v。ASCII 集是刻意有损的:十一种交叉全用一个 +。一幅完整到达的图,胜过一幅更漂亮却以方块到达的图。

  3. 在面板里给盒子加标签,不要往盒子里打字

    选中一个盒子,在下方面板里输入标签;它自动在盒内居中,随盒子移动。比盒子宽的标签会被裁掉而不是换行,页面会说是哪些——换行会改变图的形状,那不是标签该做的事。

常见问题

能画斜线吗?

不能,这不是缺失的功能。没有画斜线的制表符——那个区块有 ─ │ 和各种角,45 度的一个都没有。既不水平也不垂直的拖动改为走成拐角,这正是图要的,你可以选哪一段先走。

它会绕开我的盒子走线吗?

不会。绕障碍的正交自动布线是一个真正的算法,而糟糕的算法比你自己放的直线更糟——它在你画图的时候把你的图挪来挪去。线在你放的位置。

可以从这些接进来

接下来

这些工具吃得下当前工具的产出,结果可以直接送过去。