Karl Ove Hufthammer

Kerning i fri programvare

Kerning er ein skriftteknologi som gjer at tekst får rett fordeling av luft mellom bokstavane. Men kor godt er dette støtta i fri programvare?

Litt kjapp historikk

Først ei veldig kort innføring i tekstreproduseringshistorie: For lenge, lenge sidan fanst det verken trykkemaskiner eller elektroniske skrivarar. Om ei bok skulle gjerast tilgjengelig i eit nytt eksemplar, måtte ho skrivast på nytt – for hand. So kom trykkekunsten, der kvar side vart skore ut eit trestykke, som so kunne påførast blekk og brukast til å trykka sida fleire gongar. Den «typografiske» kvaliteten sank, men fordelane er openbare.

Men den verkelig store revolusjonen kom med innføringa av lause typar (rundt 1400-talet), som Gutenberg er kjent som oppfinnaren av (men prinsippet var tatt i bruk i blant anna Kina århundrer før). Her var kvar bokstav ei laus (metall)blokk, og desse blokkene vert sett saman til sider, som so kunne trykkast. Igjen gjekk ting enklare og raskare, men det var eit lite problem: Bokstavblokkene kunne (i utgangspunktet) ikkje overlappa kvarandre. Eine bokstaven begynte først der førre slutta.

Kva er so problemet med dette? Hugs på at bokstavar deler plass stadig vekk. Når for eksempel bokstavane «V» og «A» står saman, er det god plass under «V»-en til «A»-en. Resultatet med lause typar vert her veldig forstyrrande; den typografiske kvaliteten vert dårligare.

Men problemet var lett nok å løysa. Ein trengte berre laga eigne blokker der dei problematiske bokstavapara sto saman (ligaturar), eller skjera til kantane på blokkene slik at dei passa saman (kerning).

La oss no spola fram til slutten av 1800-talet, då skrivemaskiner begynte å verta masseprodusert. Brorparten av skrivemaskinene var basert på ein teknikk der kvar bokstav tok like stor plass. Ein tynn bokstav som «I» vil altso ta opp like stor plass som ein «W»! Typografisk er resultatet tragisk, men fordelane, rask og tilgjengelig tekstproduksjon, vart sett på som viktigare.

Seinare kom skrivarar til datamaskiner. Dei første var eigentlig berre elektroniske skrivemaskiner, men dei vart gradvis meir avanserte. Det same gjorde datamaskinene, som etter kvart vart allemannseige. Og maskinene fekk grafiske brukargrensesnitt, med avansert skriftteknologi, der dei gamle trykte typane kunne representerast digitalt. Men so var me brått tilbake til eit gammalt problem: Sjølv om bokstavane ikkje trengte vera like breie lenger, vart dei framleis skrivne direkte etter kvarandre, slik at høgre del av éin bokstav ikkje overlappa venstre del av neste.

Men dei som utvikla skriftteknologiane var forutsjåande nok til å ta omsyn til dette. Skriftene kunne innehelda informasjon om sokalla kerningpar, som er par med teikn som skal settast nærare eller lengre frå kvarandre enn standard.

Dette kunne òg brukast på meir fancy skrifter, der ein prøver å etterlikna ein handskriven stil, og ein bokstav overlappa fleire andre.

Men eitt problem gjenstod. Programma støtta ikkje kerninginformasjonen i skriftene. Og dette er dessverre framleis mykje situasjonen, med nokre hederlige unntak. (Program laga for profesjonell utforming av trykksaker støttar alle kerning.)

Kerningstøtta i fri programvare

Det er av naturlig interessa å sjå på støtta for kerning i fri programvare berekna på tekstproduksjon. Eg har derfor undersøkt desse programma:

Resultatet vart nedslåande. Verken AbiWord eller KWord støttar kerning. Det gjer tilsynelatande ikkje OpenOffice.org heller, men ser me nærare etter, merker teksten vår, og går inn dialogen for teiknformatering, kan me faktisk slå det på. Men det må gjerast manuelt for kvart einaste dokument. Kor hjernedaud (for å seia det litt forsiktig) kan utviklarane vera, at dei legg inn støtte for kerning, men slår det av som standard‽

Lyspunktet er Scribus, som støttar kerning perfekt, og har det påslått som standard.

Konklusjonen er at verken AbiWord eller KWord bør brukast til å produsera dokument som faktisk skal (skrivast ut og) lesast. OpenOffice.org kan til nød brukast, viss brukaren er veldig bevisst, og ikkje har noko imot å måtte fikla med innstillingar for å få eit akseptabelt resultat. Scribus er ikkje eigna som eit teksthandsamingsprogram (det er eit generelt trykksakprogram), men gjev best resultat.

12 kommentarar

  1. Problemet i OpenOffice er kjent og dokumentert i bugrapport 16874. Så forhåpentligvis vil man kunne aktivere kerning som standard med tid og stunder (antakelig i versjon 2.0).

  2. OK, jeg skal medgi at det ser dystert ut. Men i feilrapporteringssystemet til OpenOffice kan man stemme på feilrapporter man anser som viktige. Så hvis vi på denne siden oppfordrer folk til å registrere seg hos OpenOffice og stemme på den tidligere nevnte rapporten, øker kanskje sannsynligheten for at problemet blir fikset i overskuelig framtid? (Eller kanskje jeg bare er litt for optimistisk igjen …)

  3. Jeg fant denne opsjonen aktivert i min OpenOffice.org 2.0 beta – hvis det er det de kaller «Parkniping» på norsk.
    En visuell kontroll tyder også på at det «knipes» her.

  4. Flott! Det heiter for øvrig «kerning» på norsk, ikkje «kniping». Kniping er det som i OpenOffice.org (same dialog) er omsett til «Tett», og gjeld større tekstmengder, ikkje vanligvis teiknpar. Tilsvarande heiter det som er omsett som «Utvida» sperring på norsk. Oppsummert:
    Kerning: (Automatisk) minsking eller auke av mellomrom mellom spesielle teiknpar.
    Kniping: (Uniform) minsking av mellomrom mellom teikn i tekst.
    Sperring: (Uniform) auke av mellomrom mellom teikn i tekst.
    Kerninginformasjonen ligg som tidligare nemnt innebygd i skriftene. For eksempel inneheld den mykje brukte Times New Roman (versjon 3.00) 867 kerningpar.
    Kniping vert gjerne brukt i overskrifter, når ein ikkje har eigne skriftsnitt for dette. I tillegg kan ein bruka kniping for å gjera teksten litt mindre, for eksempel viss det er eit par ord som ikkje får plass på siste linje på ei sida (då kan ein få plass til dei ved å knipa heile teksten bittelitt).
    Sperring vart før brukt i staden for kursiv. Og det ser forferdelig ut, so ikkje bruk det! No brukar me berre sperring i ord med store bokstavar, som overskrifter (det vanlige mellomrommet til store bokstavar er berekna for store bokstavar som står saman med små, og vert for lite når dei står saman med andre store bokstavar).

  5. For øvrig ser eg at eg var litt unøyaktig i teksten. Bokstavar kan overlappa kvarandre utan bruk av kerning, ved at mellomrommet før/etter bokstavane er negativt (eller meir teknisk: at glyffen fyller meir enn glyffboksen). Men dette vert av naturlige grunnar berre brukt i svært liten grad. Viss bokstaven «V» hadde hadde negativt mellomrom etter seg, slik at han passa saman med ein «A», hadde han jo krasja med ein «L».
    Den elegante skrifta i eksempelet har eit slikt negativt mellomrom (blant anna etter «K»-en). Men ho brukar òg mykje kerning.

  6. Litt meir godt nytt: AbiWord støttar no kerning av dei nye OpenType-skriftene (ikkje TrueType-skrifter, den vanlige skriftstandarden) på Windows. Eg har ikkje testa på andre plattformer. Sjå kommentar og bilde i feilrapporten.

  7. Jeg ser du har utelatt alle de TeX-baserte programmene/formatene – LaTeX, ConTeXt osv. Hvis du bruker pdftex som maskin til disse formatene kan du også få «margin kerning», med mer.
    Takk for en interessant artikkel.

  8. Me kan jo kanskje rekna ΤΕΧ som «[p]rogram laga for profesjonell utforming av trykksaker», som som nemnt alle støttar kerning. Men det er likevel ei grei presisering.
    Som du seier, støttar ΤΕΧ (og no brukar eg faktisk dei greske bokstavane i namnet) kerning. Og innebygd støtte for ligaturar, samt dei avanserte ord- og linjedelingsalgoritmane, gjer dette til eit perfekt verktøy om ein ønskjer at sluttresultatet skal ha god typografisk kvalitet.
    Margkerning hadde eg lest om før, men ikkje prøvd ut i praksis. No viser det seg at det er svært lett å få til (berre legg til \usepackage{microtype}). Endå ein grunn til å halda seg til ΤΕΧ, altso.
    Forklaring til dei øvrig lesarane: Margkerning går ut på å skubba nokre teikn litt utanfor margen, slik at det ser ut som dei står kloss inntil.
    Om me for eksempel har jamn høgremarg, vil teikn som har «lette» høgresider, som «-» og «,», og i mindre grad bokstavar som «w», lett sjå ut som dei står litt innanfor margen, og at høgremargen altso ikkje er heilt rett. Med margkerning blir desse skubba litt ut, og høgremargen (og venstremargen) ser rett ut. Om ein går heilt tilbake til Gutenbergs bibel, kan ein visstnok sjå dette trikset brukt.
    Margkerning gjev høgare typografisk kvalitet på sluttproduktet, og er ein kjærkommen teknikk.

  9. No har eg eksperimentert litt meir på microtype-pakken, og eg må seia at skriftutvidingsfunksjonen er noko av det råaste eg har sett. No vil eg aldri gå vekk frå LaΤΕΧ! Det er ingen andre av programma som kjem i nærleiken av å gje eit so typografisk godt resultat.

  10. «Parkniping» (kerning) ser ut til å være påslått som standard i LibreOffice (OpenOffice sin arvtager). Så verden går så smått fremover.

Legg att eit svar til Karl Ove Hufthammer Avbryt svar

E-postadressa vert ikkje synleg for andre. Obligatoriske felt er merkte med *.