Designing a new typeface is a burdensome task with the number of glyphs needed ranging from ca. 240 for Western European scripts to more than 20,000 for Chinese. To automate it fully or partially, numerous approaches have been tried ever since the advent of digital typography in the 1960s. These have often dealt with parameterisation of font properties, such as letter height, midline position and types of serifs. More recently, various machine learning (ML) methods have been used to build font models directly from data. Despite superficial success, their results have been lacking, especially in the level of details to the extent of not being usable.
This thesis combines elements of both these traditions by introducing an explicitly parameterized font model, which was automatically optimised using a perceptual ML model approximating legibility under impaired viewing conditions. The process, furthermore, allows the use of any differentiable function as the optimisation target, and a simple font matching task was also undertaken.
Crucially, the model is vector-based and thus more suited for font generation than raster methods more common in the field of ML. On the other hand, the manual construction of the parameterized font model allows for explicit enforcement of typographic conventions, whose learning from data alone has thus far proved unsuccessful. Finally, the parameter values can be adjusted by the user after optimization, which is more feasible with semantically simple, orthogonal parameters.
The source code is available at https://github.com/kaljarv/fontoptim.
Uusien kirjasinten suunnittelu on työlästä, ja se edellyttää noin 240 merkin suunnittelua länsieurooppalaisten kirjoitusjärjestelmien osalta ja jopa 20 000:ta kiinan tapauksessa. Tätä tehtävää on koetettu automatisoida osittain tai täysin aina digitaalisen typografian syntyajoista 1960-luvulla. Yritykset ovat usein pohjautuneet kirjasinten ominaisuuksien, kuten niiden korkeuden, keskiviivan sijainnin ja päätteiden (serifien) tyylin, parametrisointiin. Viime vuosina on myös käytetty koneoppimista kirjasinmallien rakentamiseen suoraan datasta, mutta näiden kokeilujen tulokset ovat olleet vain pinnallisesti onnistuneita eivätkä ne ole kyenneet tuottamaan käyttökelpoisia kirjasimia ennen kaikkea yksityiskohtien tasolla olevien puutteiden vuoksi.
Tämä tutkielma yhdistää osia molemmista näistä lähtökohdista ja perustuu eksplisiittisesti parametrisoituun kirjasinmalliin. Tämä puolestaan optimoitiin koneoppismallin avulla, joka jäljittelee kirjainten tunnistettavuutta olosuhteissa, joissa näkyvyys on puutteellista. Prosessi mahdollistaa myös minkä tahansa muun derivoituvan funktion käyttämisen optimointitavoitteena, ja toisessa kokeessa parametrit täsmättiin olemassa olevaan kirjasimeen yksinkertaisemman tavoitefunktion avulla.
Mallille on lisäksi erityistä se, että se pohjautuu vektorigrafiikkaan ja soveltuu siten kirjasinten luomiseen paremmin kuin koneoppimisen alalla yleisemmät rasteripohjaiset metodit. Toisaalta kirjasinmallin manuaalinen rakentaminen ja parametrien määrittäminen mahdollistavat kirjasinmuotoilun konventioiden noudattamisen, mikä on osoittautunut haasteeksi datalähtöisille menetelmille. Kirjasinparametrejä voidaan lisäksi muokata jälkikäteen käsin, mitä helpottavat parametrien yksiulotteisuus ja riippumattomuus toisistaan.
Lähdekoodi on osoitteessa https://github.com/kaljarv/fontoptim.