Rivinvaihdot ja kappaleet datan käsittelyssä, luku 3 Erityisongelmia:

Tekstin jako riveille uudelleenmuotoilussa

Olettakaamme, että meillä on teksti, jossa ei ole valmiita rivinvaihtoja ja joka pitäisi tulostaa paperille. Yhtä hyvin voimme olettaa, että valmiit rivinvaihdot pitää unohtaa eli teksti pitää muotoilla uudestaan. Joka tapauksessa meillä on olennaisesti teksti, joka on aivan liian pitkä mahtuakseen yhdelle riville ja joka siis pitää rivittää.

Oletamme, että jokin ulkoinen seikka kuten paperin tai kuvaruudun leveys määrää rivien enimmäispituuden. Emme tässä puutu siihen, että tämän pituuden mittayksikkönä voi olla merkki tai fysikaalinen mitta kuten millimetri. Emme myöskään puutu siihen, miten ohjelma laskee, paljonko kullekin riville mahtuu tai miten se mahdollisesti tasaa rivit samanmittaisiksi käyttämällä vaihtelevanmittaisia sananvälejä.

Yksinkertaisin rivitystapa on se, että jokaista välilyöntiä pidetään mahdollisena jakokohtana. Tässä on kaksi ongelmaa. Toisaalta tulos voi olla huono, koska mahdollisia jakokohtia on liian vähän, etenkin, jos rivinpituus on melko pieni (esim. sanomalehden palsta) ja jos tekstissä on pitkiä sanoja, kuten suomessa on. Toisaalta mahdollisia jakokohtia on liikaa, koska jokainen välilyönti ei ole fiksu jakokohta. Esimerkiksi ilmaisua "1 000 000" ei pitäisi jakaa eri riveille, ei mielellään myöskään sellaista kuin "5 m" (lue: "viisi metriä").

Jälkimmäiseen ongelmaan eräs ratkaisu on käyttää merkkiä tai merkintää, joka vastaa välilyöntiä mutta jonka kohdalta rivinjako ei ole sallittu. Ks. kirjoitusta Sitovan välilyönnin käyttö suomen kielessä. Tämä on melkoisen kömpelö tapa, koska tekstin kirjoittajan tai muokkaajan pitää nähdä paljon vaivaa. Toisenlaista lähestymistapaa edustaa Unicode Technical Report #14: Line Breaking Properties, jossa on pyritty yksityiskohtaisesti määrittelemään joukko perussääntöjä (oletussääntöjä) rivitykselle. Nämä säännöt, joita tuskin on vielä missään toteutettu, auttaisivat osaltaan parantamaan rivitysmenetelmiä. On kuitenkin huomattava, että ne koskevat merkkitasoa, eikä kaikkia asiaan liittyviä ongelmia voida suinkaan ratkaista sillä tasolla, siis esim. tyyppiä "sen-ja-sen merkin jälkeen ei saa panna rivinvaihtoa" olevilla säännöillä.