为什么VT100终端只使用等宽字体?

osi*_*siv 3 terminal hardware

为什么可视终端VT100需要等宽字体?有视觉限制:24 x 80 个字符。但是为什么不使用可变宽度字符呢?

例如,在PuTTY 文档的第 4.8.2 段中说,可变宽度字体字符被重新绘制,以便它们适合一个固定宽度字体字符。

Tho*_*key 10

VT100 早于(1976 年)在终端中使用任何可变间距字体。那是偶然的。在终端中使用固定间距字体的原因不止一个,但主要的一个原因是光标寻址假定字符的固定间距布局(行/列的网格)。

对于比例字体,字符的宽度不同,并且不适合常规网格(例如,字母“i”比“M”或“W”窄)。

终端中的比例字体直到 1980 年代才出现,然后很少像9term那样出现。有了这些,你不能使用诸如 vi(或 vim)之类的程序,而是使用诸如sam.

PuTTY 的文档在4.8.2 中说:

默认情况下,您将从系统上安装的所有固定宽度字体中进行选择,因为 VT100 样式的终端处理需要固定宽度字体。但是,如果您勾选标记为“允许选择可变间距字体”的框,PuTTY 也将提供可变宽度字体:如果您选择其中之一,字体将被强制转换为固定大小的字符单元格,这可能会看起来不太好(但可以使用某些字体正常工作)。

字体是否具有可扩展性与否,个人符号,是不是,没有大量的工作。结果将显示大量空白区域,或者在固定间距网格上显示时覆盖其邻居的字符。

最初 xterm 不允许使用比例字体,但(在1998 年,在 PuTTY 之前)它被修改为允许这样做,但警告结果不会很好。字体告诉字符的最小和最大大小,没有任何提示,大多数字符位于该范围内。xterm 的forcePackedFont资源允许您选择使用哪个极端。

  • 原始硬件终端中的显存不是像素数组,而是字符数组。例如,您可以在给定位置为“a”编写代码,然后屏幕上就会出现相应的字符。没有“字体”的概念,字符只是由硬件绘制的。当然,要使这种方法有意义,所有字符都必须具有相同的宽度。附带说明一下,这个模型被模拟并在 PC BIOS 中保持活跃多年。MS-DOS 时代的许多程序都利用了它。 (3认同)