有一些缺失的信息,但我会尝试填写:
- 有多个名为
man2html
. 我相信您指的是我也使用的 Perl 脚本。(我做了一些改进,您可以在我的脚本页面上找到这些改进,但这并没有改变问题)。
- 相比之下,还有另一个程序(参见手册页),它希望格式化手册页本身 - 与 Perl 脚本不同。
- 不久前,其中一位开发人员
groff
添加了一个(错误)功能,将默认行为更改nroff
为产品颜色的转义序列。对于彩色或粗体文本,它们类似于^[[34m
or 。^[[1m
- 除此之外,其他人
nroff
制作的不是转义序列` 而是backspace-sequences,使用重划线来模拟下划线或粗体文本(例如_^HXX^HX)。
- 不是每个人都喜欢这个
groff
功能(例如参见这个邮件列表评论)。
groff
可以通过设置环境变量来覆盖该功能GROFF_NO_SGR
,如grotty
.
除了转义序列与退格序列的问题之外,如果您使用编码为 UTF-8 的语言环境,groff
可能会生成 UTF-8。有几个地方很明显:
该man2html
脚本对 UTF-8 等多字节编码一无所知,并且会做出意想不到的事情。作为一种解决方法,通过设置以下环境变量,将语言环境设置覆盖为 POSIX 可以解决问题:
LANG=C
LC_ALL=C
LC_CTYPE=C
LANGUAGE=C