Skip to content

Häufig gestellte Fragen (FAQ)

GHPS edited this page Jan 31, 2022 · 2 revisions

txt2pho spricht Wörter mit Umlauten falsch aus

txt2pho erwartet eine Eingabedatei, in der die deutschen Umlaute nach ISO-8859-1 kodiert sind. Dieser Standard ist etwas in die Jahre gekommen, heutzutage werden viele Texte von Editoren, aber auch von der Shell in dem flexibleren und leistungsfähigeren UTF-8 kodiert. Deshalb ist es notwendig, entweder direkt den Editor auf diese Kodierung umzustellen oder die Eingabedatei selbst zu konvertieren. Beides ist recht einfach.

Unter Linux bietet sich zur Konvertierung das Tool iconv an, etwa in der Eingabepipe von txt2pho.

iconv -cs -f UTF-8 -t ISO-8859-1

Aus einer pho-Datei, in der die Umlaute fehlen,

echo "Äpfel"|./txt2pho -m
_ 10   0  91
p 105   5  83  24  82  43  81
f 76  18  80  45  79  71  79  97  78
E 71  25  77  54  77  82  76
l 60  12  76  45  76  78  76
_ 483   1  85   6  85  10  85  14  85  18  85  22  85  26  85  30  85  35  85  39  85

wird dann eine Datei mit korrekter Kodierung.

echo "Äpfel"| iconv -cs -f UTF-8 -t ISO-8859-1|./txt2pho -m
_ 10   0  89 
_ 56  34  88  70  86 
E 89   3  85  26  84  48  84  71  83  93  82 
p 84   8  80  32  80 
f 65  15  79  46  78  77  78 
@ 52  10  77  48  76  87  76 
l 55  24  76  60  76  96  76 
_ 483   4  85   8  85  12  85  16  85  20  85  24  85  29  85  33  85  37  85  41  85 

Andere Compilerversion verwenden

txt2pho (und preproc) ist recht genügsam, was die Version des verwendeten GCC-Compilers angeht. Jede Version, die in den letzten Jahrzehnten veröffentlich wurde, müsste eigentlich ausreichen. Getestet sind die Compiler-Versionen 7.5.0, 8.4.0 und 11.1. Mit letzterer Version wird aktuell entwickelt.

Um eine andere, ältere Version des c-Compilers zu verwenden, reicht es aus, dem make-Kommando die entsprechenden Versionen von CC (für den c-Compiler) und CPP (für den c++-Compiler) als Parameter zu übergeben. Natürlich muss diese Compiler-Version auch installiert sein und funktionieren.

 make CC=gcc-8 CPP=g++-8