groffでポーランドの分音符を正しく表示するには?

groffでポーランドの分音符を正しく表示するには?

私は遊んでいgroff ますが、次からPDFを生成したいです。test.ms

.TL
Tytuł
.AU
Imię Nazwisko
.NH
Wstęp
.PP
Pierwszy paragraf. Jakieś informacje, żeby były polskie znaki.
.PP
Drugi paragraf. Reszta znaków:

ąęćłńśóżźĄĘĆŁŃŚÓŻŹ
.NH
Bla bla bla
.PP
safsdsdfsasdds

ご覧のとおり、ポーランドの発音区別記号が含まれています。コンパイル後は、groff -ms test.ms -T pdf > test.pdf次のような混乱が見られます。 ひどい!

私の最初の推測は、utf-8サポートで再コンパイルすることです。

$ groff -Kutf8 -ms test.ms -T pdf > test.pdf
test.ms:4: warning: can't find special character `u0065_0328'
test.ms:8: warning: can't find special character `u0073_0301'
test.ms:8: warning: can't find special character `u00A0'
test.ms:8: warning: can't find special character `u007A_0307'
test.ms:12: warning: can't find special character `u0061_0328'
test.ms:12: warning: can't find special character `u006E_0301'
test.ms:12: warning: can't find special character `u007A_0301'
test.ms:12: warning: can't find special character `u0041_0328'
test.ms:12: warning: can't find special character `u0045_0328'
test.ms:12: warning: can't find special character `u004E_0301'
test.ms:12: warning: can't find special character `u0053_0301'
test.ms:12: warning: can't find special character `u005A_0307'
test.ms:12: warning: can't find special character `u005A_0301'

Groffはほとんどのシンボルを無視し、PDFは次のようになります。

まだかなり悪いです。

いくつかのグーグルの最後に見つかったこれ:

groff -Kutf8 -Tdvi -mec -ms test.ms > test.dvi
dvipdfm -cz 9 test.dvi

はい、それでも失敗します(1文字だけスキップする方が良いですが)。

$ groff -Kutf8 -Tdvi -mec -ms test.ms > test.dvi
test.ms:8: warning: can't find special character `u00A0'

どのように動作させることができますか?

編集する:これが出力ですlocale

LANG=pl_PL.UTF-8
LANGUAGE=
LC_CTYPE="pl_PL.UTF-8"
LC_NUMERIC="pl_PL.UTF-8"
LC_TIME="pl_PL.UTF-8"
LC_COLLATE="pl_PL.UTF-8"
LC_MONETARY="pl_PL.UTF-8"
LC_MESSAGES="pl_PL.UTF-8"
LC_PAPER="pl_PL.UTF-8"
LC_NAME="pl_PL.UTF-8"
LC_ADDRESS="pl_PL.UTF-8"
LC_TELEPHONE="pl_PL.UTF-8"
LC_MEASUREMENT="pl_PL.UTF-8"
LC_IDENTIFICATION="pl_PL.UTF-8"
LC_ALL=

答え1

キャラクターA0は壊れない空間だ。 「Jakies」と「infomacje」の間になるようです。エディタを使用して通常のスペースに置き換えることができます。

提案:を押す必要がある文字を入力し、クリックしたときに誤って+を使用してスペースをAltGr入力することがあるため、壊れないスペースを強調表示するようにエディタ(emacs、vim)を設定しました。spacespaceAltGr

最初の推測の後、警告は、一部の文字(ę、ś、ż...)が基本ではなく発音区別符号を組み合わせてエンコードされたことを示すようです。たとえば、「e with ogonek」(16進数119)ではなく、e == e(16進数65)+ ogonek(16進数328)です。ソースファイルの編集方法は?作成キーを使用して、Compose e ,「ę」などの発音区別記号を持つ「スタンドアロン」文字を生成できます。

答え2

問題はgroff

バラよりこのリンク

関連情報