我使用的是groff
与ms
宏和它输出为PostScript。在Linux Void上。我想使用其他字体并输出Unicode字符。我已经按照此问题中的说明转换了字体。如所指定的,它为我工作(没有ms
宏)。但是它没有正确显示标题,作者和标题(不在中心,没有特殊格式)。
.ft linlibertine_rah
.TL
Title
.AU
Author
.NH
Heading
.PP
\[u1E6C]
输出到:
如果使用该-ms
选项编译相同的文档,则会得到带有“ Times”字体且没有Unicode符号(但格式正确)的文档:
在groff_ms
手册中指定了用.FAM
字符串指定字体系列,但结果与相同.ft
。它还输出到控制台:
troff: test.ms:9: warning: can't find special character 'u0054_0323'
它肯定已经检测到字体,.ft samplefont
并输出:
troff: test.ms:1: warning: can't find font 'samplefont'
troff: test.ms:9: warning: can't find special character 'u0054_0323'
所以我的问题是:我怎么使用不同的字体家族groff
与ms
宏?
如果要使用FAM
字符串指定字体系列,则需要使用常规名称以及后缀R B I BI
罗马,粗体,斜体和粗斜体。在链接到的例子,字体家人DejaVuSans
,所以你需要提供的字体DejaVuSansR
,DejaVuSansB
,DejaVuSansI
,和DejaVuSansBI
。以下为我工作:
mkdir -p /tmp/font/devps
cd /tmp/font/devps
convert(){
from=${1?} to=${2?}
ttf2pt1 -a -e "$1" "$2"
afmtodit "$2".afm textmap "$2"
}
convert /usr/share/fonts/dejavu/DejaVuSans.ttf DejaVuSansR
convert /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf DejaVuSansB
convert /usr/share/fonts/dejavu/DejaVuSans-Oblique.ttf DejaVuSansI
convert /usr/share/fonts/dejavu/DejaVuSans-BoldOblique.ttf DejaVuSansBI
export GROFF_FONT_PATH=/tmp/font
groff -Tps -ms >text.ps <<\!
.ps 20
.vs 24
.ds FAM DejaVuSans
.TL
Title
.AU
Author
.NH
Heading
.PP
roman \[u1E6C]
.B "bold \[u1E6C]
.I "italic \[u1E6C]
.BI "bolditalic \[u1E6C]
!
gv text.ps
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句