preconv(1)
NAMN
preconv – förbered filer för typsättning med groff
SYNOPSIS
preconv [-dr] [-D reservkodning] [-e kodning] [fil ...] preconv -h preconv --help preconv -v preconv --version
BESKRIVNING
preconv läser varje angiven fil, konverterar dess kodade tecken till en form som troff(1) kan tolka och skriver resultatet till standardutdata. I nuläget innebär detta att kodpunkter i intervallet 0–127 i ISO 646:1991 IRV, US-ASCII, ISO 8859 eller Unicode lämnas oförändrade. Övriga tecken konverteras till groffs form för specialtecken:
\[uXXXX]
där XXXX är ett hexadecimalt tal med fyra till sex siffror som motsvarar en Unicode-kodpunkt.
Som standard infogar preconv även ett roff-anrop av typen:
.lf
i början av varje fil. Detta identifierar filen för senare behandling, inklusive diagnostikmeddelanden.
Optionen -r förhindrar detta beteende.
I normal användning behöver preconv vanligtvis inte köras direkt. Det bör i stället startas med optionerna -k eller -K till groff(1).
Om inga filer anges, eller om fil är ett ensamt bindestreck:
-läser preconv från standardindata.
VAL AV INDATAKODNING
preconv väljer indatakodning enligt följande ordning och stannar vid den första lyckade metoden.
- Om kodningen uttryckligen har angetts med -e, används den.
- Om indatan börjar med en Unicode BOM, väljs UTF-8, UTF-16 eller UTF-32.
- Om indataströmmen är sökbar kontrolleras de två första raderna efter en GNU Emacs-fillokal variabel som anger teckenkodningen, en så kallad kodningstagg.
- Om strömmen är sökbar och biblioteket uchardet finns används det för att försöka avgöra filens kodning.
- Om -D anger en reservkodning används den.
- Annars används kodningen från den aktuella lokalen, LC_CTYPE.
Om lokalen är C, POSIX eller tom antas ISO Latin-1, 8859-1.
Kodningstaggar och detektering med uchardet kräver en sökbar indataström.
När preconv läser från ett rör är strömmen inte sökbar, och dessa metoder hoppas därför över.
Om kodningsdetekteringen är osäker bör någon av följande metoder användas:
- ange kodning med -e
- ange reservkodning med -D
- konfigurera lokalen korrekt
groff stöder även miljövariabeln GROFF_ENCODING, som kan åsidosättas med optionen -K.
Giltiga värden påverkas även av vilket stöd som finns i iconv(3).
KODNINGSTAGGAR
Textredigerare som stöder flera teckenkodningar behöver kunna märka filer med rätt kodning.
Automatisk gissning med heuristik kan fungera bra för många naturliga språk, men är inte fullständigt tillförlitlig. Den kan misslyckas på mycket kort text eller text som inte liknar naturligt språk.
preconv stöder GNU Emacs-konventionen för kodningstaggar, med vissa begränsningar.
Kodningstaggen ska finnas i en särskilt markerad del för fillokala variabler.
Följande syntax tolkas om den finns i en roff-kommentar på den första eller andra raden:
-*- [...;] coding: kodning[; ...] -*-
Både kommentarformerna:
\" \#
känns igen.
Kontrolltecknet, eller no-break-kontrolltecknet, måste vara standardtecknet och stå först på raden. Escape-tecknet måste också vara standardtecknet.
Den enda variabel som preconv tolkar är coding.
Följande MIME-värden för parametern charset känns igen utan hänsyn till skiftläge:
big5 cp1047 euc-jp euc-kr gb2312 iso-8859-1 iso-8859-2 iso-8859-5 iso-8859-7 iso-8859-9 iso-8859-13 iso-8859-15 koi8-r us-ascii utf-8 utf-16 utf-16be utf-16le
Dessutom känns följande alternativa kodningstaggar igen och översätts till motsvarande värde ovan:
ascii chinese-big5 chinese-euc chinese-iso-8bit cn-big5 cn-gb cn-gb-2312 cp878 csascii csisolatin1 cyrillic-iso-8bit cyrillic-koi8 euc-china euc-cn euc-japan euc-japan-1990 euc-korea greek-iso-8bit iso-10646/utf8 iso-10646/utf-8 iso-latin-1 iso-latin-2 iso-latin-5 iso-latin-7 iso-latin-9 japanese-euc japanese-iso-8bit jis8 koi8 korean-euc korean-iso-8bit latin-0 latin1 latin-1 latin-2 latin-5 latin-7 latin-9 mule-utf-8 mule-utf-16 mule-utf-16be mule-utf-16-be mule-utf-16be-with-signature mule-utf-16le mule-utf-16-le mule-utf-16le-with-signature utf8 utf-16-be utf-16-be-with-signature utf-16be-with-signature utf-16-le utf-16-le-with-signature utf-16le-with-signature
Suffixerna:
-dos -unix -mac
ignoreras vid jämförelse med taggarna ovan. Dessa suffix anger vilken radslutskonvention filen använder.
STÖD FÖR ICONV
Även om preconv känner igen alla kodningstaggar ovan kan programmet självt bara tolka två kodningar:
- ISO Latin-1
- UTF-8
ISO 646:1991 IRV, US-ASCII, är en delmängd av båda.
Om stöd för iconv(3) har konfigurerats vid kompilering och finns vid körning skickas övriga kodningar till iconv-biblioteket.
Biblioteket kan känna igen många ytterligare kodningsnamn.
Följande kommando visar om stöd för iconv har byggts in:
preconv -v
När iconv används kan tecken som kodar ogiltiga kodpunkter för den angivna kodningen:
- tas bort från utmatningen
- ersättas med Unicode-ersättningstecknet U+FFFD
Följande exempel använder texten café där det sista tecknet är ett e med akut accent:
printf 'caf\351\n' | LC_ALL=en_US.UTF-8 preconv printf 'caf\351\n' | preconv -e us-ascii printf 'caf\351\n' | preconv -e latin-1
I det första fallet kan uchardet misslyckas med att hitta kodningen. Då används lokalen. Oktalt 351 blir början på en ofullständig UTF-8-sekvens och resulterar i ersättningstecknet.
I det andra fallet kan tecknet inte representeras i US-ASCII och tas bort av iconv.
I det sista fallet identifieras tecknet korrekt som Latin-1 och konverteras rätt.
BEGRÄNSNINGAR
preconv kan inte omvandla indata som programmet inte ser.
Exempel är:
- filer som senare läses in av förprocessorer, exempelvis soelim(1)
- filer som troff(1) inkluderar med anropet so eller liknande
- strängdefinitioner som skickas till troff med kommandoradsoptionen -d
preconv förutsätter att indatan använder standardtecknet för escape, alltså omvänt snedstreck:
\
Programmet skriver specialteckensekvenser enligt detta antagande.
OPTIONER
-h, --help
- Visa ett användningsmeddelande och avsluta.
-v, --version
- Visa versions- och konfigurationsinformation och avsluta.
-d
- Skriv felsökningsmeddelanden till standardfel.
-D reservkodning
- Välj reservkodning om alla metoder för kodningsdetektering misslyckas.
-e kodning
- Hoppa över kodningsdetektering och använd den angivna kodningen.
- Se optionen -K i groff(1).
-r
- Skriv filer i rå form och lägg inte till .lf-anrop.
AVSLUTNINGSSTATUS
preconv avslutas med följande statusvärden:
0
- Körningen lyckades.
1
- Ett fel inträffade under körningen.
2
- Programmet kunde inte tolka kommandoradsargumenten.
SE ÄVEN
KOLOFON
Denna sida är en del av projektet groff, GNU troff.
Information om projektet finns på:
http://www.gnu.org/software/groff/
Sidan hämtades från arkivet:
groff-1.24.1.tar.gz
som hämtades från:
https://ftp.gnu.org/gnu/groff/
den 24 maj 2026.
Om du upptäcker renderingsproblem i HTML-versionen av sidan, eller anser att det finns en bättre eller mer aktuell källa, kan du skicka e-post till:
man-pages@man7.org
HÄNVISAD FRÅN
KORT SAMMANFATTNING
preconv konverterar text från olika teckenkodningar till en form som troff och groff kan tolka.
Använd UTF-8 uttryckligen:
preconv -e utf-8 dokument.roff
Ange reservkodning:
preconv -D latin-1 dokument.roff
Kör via groff:
groff -k dokument.roff
Undvik att lägga till .lf-anrop:
preconv -r dokument.roff
Kontrollera versions- och konfigurationsinformation:
preconv -v