![Mac 和 Windows 之间一致的纯文本文件打印](https://linux22.com/image/1572343/Mac%20%E5%92%8C%20Windows%20%E4%B9%8B%E9%97%B4%E4%B8%80%E8%87%B4%E7%9A%84%E7%BA%AF%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6%E6%89%93%E5%8D%B0.png)
我有多个纯文本文件,我想用固定宽度的字体打印它们。我希望它们以 Mac OS X / MacOS 的默认字体打印,我相信它是 Monaco.ttf 或大约 14pt 的衍生字体。我的页面是 80 列 x 64 行,双面。
在 OS X 下使用 lpr 可以正常工作。但是在 Windows 7 中,当我从 Cygwin 尝试时,我得到的字体、点大小、列数都不同,而且最重要的是它是单面的。字体看起来像某种 Courier 变体。我最终重新启动进入 OS X 只是为了打印文档。
如何让 Cygwin(或 Windows)中的 lpr 执行我想要的操作?如果我无法使用 lpr 执行此操作,还有其他方法吗?我唯一的要求是我必须能够从 Cygwin 内部将纯文本导入命令。我不介意 shell 脚本包装器,也不介意使用 AutoHotKey 或等效程序操纵 GUI 程序的脚本。
答案1
安装a2ps
。
$ a2ps --help
Usage: a2ps [OPTION]... [FILE]...
Convert FILE(s) or standard input to PostScript. By default, the output
is sent to the default printer. An output file may be specified with -o.
它有几个选项来定义转换中的行数和列数或字体大小。
编码的默认字体定义在
/usr/share/a2ps/encoding/*.edf
要添加其他字体,请添加以下行
AppendLibraryPath: /usr/share/fonts/...
到文件/etc/a2ps-site.cfg