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

예, 여전히 실패합니다(한 문자만 건너뛰는 것이 더 좋지만).

$ 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(16진수 65) + ogonek(16진수 328)입니다. 소스 파일을 어떻게 편집합니까? 작성 키를 사용하여 Compose e ,"ę" 와 같이 발음 구별 부호가 있는 "독립형" 문자를 생성할 수 있습니다 .

답변2

문제는 groff.

바라보다이 링크.

관련 정보