groff
とms
マクロを使用して、PostScriptに出力しています。 LinuxVoidの場合。別のフォントを使用して、Unicode文字も出力したい。 this の質問に書かれているようにフォントを変換しました。指定されたように、それは私のために働きました(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