Fonts
不能在 groff -ms 中使用不同的字型系列
我正在使用
groff
宏ms
並將其輸出到 PostScript。在 Linux 虛空上。我想使用不同的字型並輸出 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