我在 Ubuntu 14.04 下运行一个旧的 DOS 办公套件dosemu
。一切似乎都运行良好,只是我无法打印构成 DOS 的 cp437 字符集特征的线条绘制字符。
我能够打印到我的 USB 打印机和 cups-pdf 打印机,但在这两种情况下,这些特殊字符都显示为带有重音符号和变音符号的其他字符,显然来自不同的字符集。
在我复制到主目录的dosemu
配置文件中,我设置了以下内容:.dosemurc
$_external_char_set = "utf8"
$_internal_char_set = "cp437"
如果我将办公文件保存为 内的文本文件dosemu
,则使用 EDIT 时字符会正确显示。然后从 Ubuntu,我可以使用 来iconv
转换字符集,但这不是最好的解决方案,因为我无法打印原始文件中可能存在的任何图形字符。
有人知道如何解决我的字符集问题吗?
答案1
哇!回忆往事……
这是一个典型的 PC-DOS 问题,从未体面地在 DOS 上也同样没有解决。这完全取决于(显然仍然取决于)你的打印机支持cp437...
25 年前我解决这个问题的唯一方法是使用 IBM ProPrinter 或 Tandy DMP-80,因为它们是少数支持 cp437 的打印机之一。
话虽如此,取决于你使用的 DOS 应用程序,您可能仍会发现打印机(想到了 Epson)为某些应用程序(想到了 Lotus 1-2-3)编写了“驱动程序”,这些应用程序将 cp437 简单地转换为其内部字符集。
(爱普生绝不解决了画线字符的问题以体面的方式,所以不要急着出去买一个!)