ASCII 字符画在聊天应用里乱掉的原因和解决办法
聊天窗口很窄,又很少用等宽字体。选择较窄的字体,或以图片发送。
在电脑上看起来没问题的 ASCII 字符画,发到聊天应用里往往就散架了。原因有两个:聊天字体不是等宽字体,而消息气泡很窄。
为什么行会错位?
每个字符宽度不同
ASCII 字符画默认每个字符宽度相同。聊天应用使用为阅读设计的字体,空格、i、l、. 较窄,W、M、@ 较宽。
等宽字体 聊天应用字体
| HAPPY | | HAPPY |
|_________| |_________|
上面一行大多是空格,下面一行大多是下划线,所以即使字符数相同,两行的长度也不一样。越依赖空格来定位的图,乱得越明显。
气泡很窄
在手机上,消息气泡只占屏幕的一部分。一行比气泡长时,多出的部分会换到下一行,整幅图就乱了。对使用大字号的人来说更严重。
四种解决办法
1. 应用有等宽格式就用
有些聊天软件可以用等宽字体显示文字。
| 应用 | 方法 |
|---|---|
| 在文字前后各加三个反引号(```) | |
| Telegram | 在前后各加三个反引号,或在格式菜单中选择“等宽” |
| Slack | 在前后各加三个反引号,生成代码块 |
| Discord | 在前后各加三个反引号(详细说明) |
这样能改善对齐,但不支持的符号可能会改用备用字体。气泡并不会因此变宽,所以在手机上长行仍可能换行。微信这类没有等宽显示功能的应用,请使用下面第 2 到第 4 种方法。
2. 选择较窄的字体
lab.ascii 的每张字体卡片都会显示结果占多少列。在手机上,Small、Mini、Small Slant 和 Digital 会标有**“适合窄屏”**。同一个单词,换一种字体宽度可能相差一倍。
| 字体 | HELLO 的宽度 |
|---|---|
| Standard | 30 列 |
| Small | 25 列 |
| Mini | 16 列 |
| Digital | 11 列 |
较长的文字可以分成两条消息发送。
3. 使用单行图案
单行颜文字没有需要对齐的行,不过外观仍可能随应用的字体和符号支持而变化。
ʕ•ᴥ•ʔ (づ。◕‿‿◕。)づ \(^o^)/ (╯°□°)╯︵ ┻━┻
在符号图案库中,可以复制文字,或使用卡片上的“保存 PNG”按钮。纯文本不包含字体设置;PNG 会保留预览的颜色和行距比例。
4. 以图片发送
多行横幅和转换后的照片,在应用使用其他字体或把长行换行时会变形。使用 PNG 按钮,就能把字符的形状和排版留在图片里,不受接收方应用字体的影响。不过应用仍可能会缩放或压缩图片。
在支持文件分享的设备上,分享按钮可以不先保存,直接把结果作为 PNG 文件发送。其他设备可能会改为分享文字和链接;需要发送图片时,请保存 PNG 后作为附件发送。
不同场合怎么选
| 想发送的内容 | 最佳选择 |
|---|---|
| 短单词(HELLO、LOVE) | 较窄的字体,以文字发送 |
| 长句子 | 保存为 PNG |
| 转换后的照片 | 保存为 PNG |
| 表达反应或心情 | 单行颜文字 |
| 生日祝福 | 小图案用文字,大图案用 PNG |
发送前先确认
最可靠的方法是先发给自己看看。大多数应用都能给自己的账号发消息,或有一个只有自己的备忘聊天。即使在你的手机上看起来没问题,对方的设备或字号也可能不同,所以重要的消息请选择 PNG。
电脑版聊天应用的气泡更宽,但在电脑上的预览并不能说明在手机上会是什么样子。
lab.ascii 也能用韩文制作横幅。输入韩文就会自动切换到韩文模式。