Lukiessani tätä C++-raamattua (Stroustrupin, tietenkin) on käynyt usein mielessä, miten hienolta voi C++-koodi näyttää, vaikka olisi simppeliä Timesiä. Kiinteäleveyksinen fontti ei ehkä olekaan se välttämättömyys, joksi me usein sitä luulemme.
Stroustrupin kirjassa siis koodipätkät ovat Timesillä, kommentoinnit kursivoituna, mutta ei muuten. Kaivelin vähän aikaa googlella joitain sopivia keskusteluja aiheesta, mutta löysin yllättävän vähän. Tosin en tehnytkään kuin yhden hienon hakukyselyn. Tuloksissa pulpahteli esille perinteinen Codinghorror-artikkeli ja vähän lähempänä sivuava blogikeskustelu. Ne eivät kuitenkaan tyydyttäneet janoani. Onko siis esimerkiksi C++:aa tai HTML:ää kirjoitettaessa välttämätöntä nauttia kiinteistä fonteista ja niiden tuomista rajoituksista? Koska vaihtelevavälinen fontti on usein helpompi lihavoida, kursivoida ja jopa alleviivata kuin vastaava Courier.
Courier New ja Consolas molemmat tekevät hyvät ja selkeät erot 1:n ja l:n välillä, mikä on tärkeätä. Sama pätee 0O-merkeille ja niiden eroille. Pirskatti, yritin tehdä hyviä screenshot-demonstraatioita erilaisista fonteista GVimissä, mutta eipä tuo Gvimin graafinen runko tuekaan vaihtelevia fontteja. Se on aika iso ongelma, jos haluaa murtautua ulos perinteistä. Tulokset eroista saa kuitenkin muillakin tavoilla.
Mikä olisi se sopiva fontti sitten? Helvetica-sarja ei käy, koska merkit ovat paikoitellen aivan liian samannäköiset. Times-sarja on taas aika heikko sekin, kovin kapea ainakin. Kapeudestahan voisi olla merkittävää hyötyä tietyissä tilanteissa.
Yllä näkyvä Bitstream Vera Sans on suhteellisen miellyttävä, vaikka onkin Helvetica/(Arial) -heimoa tyypiltään: kirjainten päitä ei ole "muotoiltu" ja se aiheuttaa sekavuutta esimerkiksi ison I:n ja pienen l:n kanssa. Tämä näyttää olevan jotain:
Ehkä en taidakaan ihan heti lopetella näiden fonttien käyttelyä. Sillä tapahtuuhan joka tapauksessa suuri osa kirjoituksesta terminaalissa, jossa ei ole vaihtoehtoja. Yksi huomionarvoinen asia: teknisellä puolella ainut säätämistä aiheuttava ongelma on tabulaattori. Kiinteiden fonttien kanssa voidaan aina sanoa, että tab = 4 väliä, mutta kuinkas sen tekee vaihtelevien fonttien kanssa? No, periaatteessa samalla tavalla. Kuitenkin menetelmiä voi täällä olla useita. Voidaan merkitä tabin leveyttä vaikka pikselin tarkkuudella jos niin halutaan. Samoiten etevä editori voisi käyttää erileveyksisistä spacea, jos se esiintyy koodissa lainausmerkkien sisällä (normaalia tekstiä ja normaali sanaväli) tai koodissa muuten (hieman leveämpi väli selkeyttämään). Tämmöinen vaihtelu toisi mm. esittelemääni vaihtelua elämään. Ehkä ei tarpeen, mutta on hyvä omistaa pari ajatusta takaraivossa sadepäivää varten.