preconv(1)

Från Wiki.linux.se -Linux wikipedia på Svenska.
Hoppa till navigering Hoppa till sök


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.

  1. Om kodningen uttryckligen har angetts med -e, används den.
  2. Om indatan börjar med en Unicode BOM, väljs UTF-8, UTF-16 eller UTF-32.
  3. 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.
  4. Om strömmen är sökbar och biblioteket uchardet finns används det för att försöka avgöra filens kodning.
  5. Om -D anger en reservkodning används den.
  6. 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

Sidslut

Orginalhemsidan på Engelskahttps://man7.org/linux/man-pages/man1/preconv.1.html Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp Stockholm som har sponsrat Linux.se med webbhotell.