groff/troff是否支持印地语等印度语言?已尝试方案无效求协助
groff/troff 对印地语、梵语等印度语言的支持方案
groff/troff原生对印地语、梵语这类需要连字、字形变换的复杂书写系统支持很有限——毕竟它最初是为拉丁字母设计的。你遇到的font-install脚本失效、mom宏没用的问题,本质是传统troff工具链没适配复杂脚本的处理逻辑。
给你几个可行的解决方向:
利用groff的UTF-8输出模式
放弃直接生成PDF/PostScript,改用-Tutf8输出UTF-8文本,同时指定系统中已安装的印度语系字体:groff -Tutf8 -f "Noto Sans Devanagari" your-input-file.ms前提是系统已经装了支持印地语/梵语的字体(比如Noto Sans Devanagari、Sanskrit 2003),不需要用旧的font-install脚本,直接调用系统字体即可。输出的UTF-8文本可以在支持复杂脚本的终端查看,或者转成其他格式。
通过中间格式中转生成PDF
先把groff输出转成HTML,再用支持多语言的工具转PDF:groff -Thtml your-input-file.ms > output.html wkhtmltopdf output.html output.pdf或者用pandoc中转,它对复杂脚本的兼容性更好:
groff -Thtml your-input-file.ms | pandoc -o output.pdf替换为更适配的排版工具
如果groff的方案始终达不到需求,建议换用原生支持复杂书写系统的工具:- LaTeX配合polyglossia包,专门支持Devanagari等印度语系脚本;
- SILE排版系统,对非拉丁字母的排版逻辑做了深度优化。
内容的提问来源于stack exchange,提问作者karthik holla
相关产品推荐
相关产品推荐

