web-dev-qa-db-ja.com

groffでポーランド語の発音区別符号を正しく表示するにはどうすればよいですか?

私はgroffで遊んでいて、次のtest.msからPDFを生成したいと思っていました

.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でコンパイルすると、次のような混乱が生じます。 Horrible!

私の最初の推測は、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は次のようになります。

Still awful.

少しグーグルで調べたところ、 this が見つかりました。

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'

これを機能させるにはどうすればよいですか?

EDIT:これが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=
7
atmostmediocre

キャラクター A0は壊れないスペースです。 「ジャキエ」と「インフォーマシエ」の中間のようです。エディターを使用して通常のスペースに置き換えれば、問題はありません。

アドバイス:私は時々意図せずにいくつかを入力するので、壊れないスペースを強調するようにエディター(emacs、vim)をセットアップしました AltGr+space 私が打ったとき space 押す必要のある文字を入力した後 AltGr

最初の推測の後の警告は、一部の文字(ę、ś、ż...)がネイティブではなく発音区別符号を組み合わせてエンコードされていることを示しているようです。例えば。 ę== e(hex 65)+ "e with ogonek"(hex 119)ではなくogonek(hex 328)を組み合わせます。ソースファイルをどのように編集しますか? Composeキーを使用して、発音記号付きの「スタンドアロン」の文字を作成できます。 Composee, 「ę」の。

2
L. Levrel

この問題は、古いバージョンのgroffが原因である可能性があります。

このリンク を参照してください。

0
Marek Kowalczyk