Lista winnt@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [WINNT] [ot] MS Word/open office - zmiana kodowania dokumentu

To: winnt@man.lodz.pl
Subject: Re: [WINNT] [ot] MS Word/open office - zmiana kodowania dokumentu
From: "Grzegorz Niemirowski" <grzegorz@grzegorz.net>
Date: Wed, 7 Feb 2024 22:46:43 +0100
Otrzymałem oba dokumenty. I już na początku niespodzianka: oba pliki są w formacie RTF, w tym ten z rozszerzeniem .doc. Więc problem w ogóle nie dotyczy formatu .doc. Otwieramy więc plik w Notatniku lub podobnym programie i patrzymy na jakieś miejsce, gdzie jest źle zakodowana polska literka, np.:

{\cf1\afs24\rtlch \ltrch\loch\fs24\loch\f7
co pomy\'9cl\'b9

Widać więc kody 9C i B9 w miejscu literek ś i ą. Szybkie przejrzenie stron kodowych pokazuje, że są to kody ze strony Windows1250. Dlaczego więc użyta jest jakaś azjatycka? Przed tekstem widzimy znaczniki, w tym ostatni znacznik \f7. Oznacza on, że do tekstu ma być zastosowana czcionka 7 z tabeli czcionek. Tabela czcionek jest na początku pliku, w znaczniku \fonttbl. Szukamy tam definicji \f7:

{\f7\froman\fprq2\fcharset128 Bookman Old Style;}

Widzimy, że ma być użyta czcionka Bookman Old Style wraz ze stroną kodową 128. Z tabelki na https://en.wikipedia.org/wiki/Rich_Text_Format widać, że to strona Windows-932, czyli japońska. Tymczasem strona Windows-1250 ma kod 238. Czyli ktoś pomylił strony kodowe dla czcionek. Widać, że taki sam błąd jest w przypadku czcionki \f10, czyli Mangal. Wystarczy więc w tym dwóch miejscach podmienić 128 na 238. Analogicznie w drugim pliku. Naprawa tych plików jest więc bardzo prosta i sprowadza się do zamiany jednej liczby na drugą w kodzie RTF.

--
Grzegorz Niemirowski
https://www.grzegorz.net/

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>