“ASCII 文本,带重划线”文件格式的用途

“ASCII 文本,带重划线”文件格式的用途

下载 Bash 源代码后,我浏览目录doc并发现以下文件:

这些控制字符不会显示在 Git Web 界面提供的表示形式中,而是显示在可以下载实际文件并在 Vim 等文本编辑器中进行检查。

运行file命令会bash.0打印以下输出:

bash.0: ASCII text, with overstriking

我以前从未遇到过这种文件格式,我想知道它的用途是什么以及如何使用它。在网络上搜索该短语“ASCII 文本,带重划线”并没有多大启发。

答案1

重划是一种使用的方法nroff(参见特罗夫用户手册) 提供比普通 ASCII 更多的印刷可能性:

  • 粗体文本(通过重划相同字符)
  • 带下划线的文本(通过重划线_
  • 重音符号和变音符号(例如 ée通过重划)产生

以及目标输出设备允许的各种其他符号。

在 中bash,这些.0文件由 直接生成nroffMakefile规则如下

.1.0:
        $(RM) $@
        -${NROFF} -man $< > $@

您可以使用查看此类文件less;它将处理重印序列并根据需要替换它们:

less bash.0

最初nroff的输出针对打字机式输出设备,每次收到退格字符时都会备份;过度打印会产生所需的视觉输出。正如所指出的奇尔卢,由于连续敲击不可避免的错位,敲击同一个字符两次通常会导致外观更大胆;增加沉积的墨水量也会有所帮助。

troff目标排版机。)

答案2

网络搜索“退格键”和“重击键”会得到更好的结果。

该文件是一个手册页 - 格式为nroff。通常,诸如此类的文件bash.0只是简单地生成并丢弃。不久前,他们被拯救了,以减少该man计划的工作。而不是/usr/share/man/man1从 读取您的手册页/usr/share/man/cat1。阅读说明catman例如。

nroff是用于格式化手册页和其他文件的 Unix 命令。当它第一次编写时,还有其他几个实用程序,每个实用程序都有自己的标记语言。我用过至少十几种不同的。但它们都以相同的方式解决了打印强调文本的问题:使用回车控制。 退格键之所以引人注目,是因为它们未在其他纯文本文件中使用。 选项卡,回车,换行换页它们都在纯文本文件中发挥作用(尽管换页远没有原来那么重要)。

nroff使用下划线来表示斜体并用粗斜线来表示大胆的。该技术已经过时:它对于可以在同一位置打印多个字符的硬拷贝设备很有用。很少有视频终端能做到这一点。在terminfo(5),那就是

   over_strike               os     os   terminal can over-
                                         strike

或者更多完全地:

如果终端重击(而不是在角色被击中时清除位置)那么它应该具有 os 能力。

在通常情况下,在视频终端的给定行/列上写入的最后一个字符将是全部如图所示。 nroff组织输出,以便将带下划线的字符写为下划线、退格键和实际字符。这样做可以确保没有重印功能的终端可以打印有用的内容。

在列出的极少数具有重击功能的视频终端中,我看到十月 GT40,我使用了大约三年(1976-1979)。那个系统上没有 Unix(它运行 RT-11),但我写了一个文本格式化程序,使用相同类型的重叠文本。最终,我需要硬拷贝,并写了一份公用事业为了实现这一点——类似col,也许——但要解决一个相关的问题。当终端有很多下划线文本时,打印速度非常慢,直到我的程序重新组织文本以减少向前/向后运动之间的切换量。

对于视频终端来说,就没有必要了。但他们不会过度强调。相反,我们有可以识别下划线和展示下划线,或者有groff,它可能会显示彩色文本而不是下划线(和粗体)。

进一步阅读:

答案3

甚至更早之前,它是一种在高尔夫球打印机上打印的方法,其工作方式类似于旧打字机,并且可以打印的字符集非常有限。因此,nroff 使用旧电传打字机的字节流来表示“在屏幕上”的外观。

相关内容