Repository accompanying the publication:
Kadner, F., Keller, Y., & Rothkopf, C. (2021, May). AdaptiFont: Increasing Individuals’ Reading Speed with a Generative Font Model and Bayesian Optimization. In Proceedings of the 2021 CHI Conference on Human Factors in Computing Systems (pp. 1-11).
What is provided • Truetype fonts • Linux installation • Morph fonts
The official GitHub repository for the paper on AdaptiFont: Increasing individuals’ reading speed with a generative fontmodel and Bayesian optimization
This Repositiory supplys additional material for the paper on AdaptiFont: Increasing individuals’ reading speed with a generative font model and Bayesian optimization. Provided are usable fonts in the truetype font (.ttf) format from the centroids of the best clusters for all subjects, as well as a script that you can use to combine your own fonts from the NMF components.
| Subject | Truetype font | NMF components | How it looks |
|---|---|---|---|
| 1 | subject1.ttf | 4.56, 5.32, 5.57 | |
| 2 | subject2.ttf | 5.5, 1.89, 3.66 | |
| 3 | subject3.ttf | 4.56, 4.1, 6.41 | |
| 4 | subject4.ttf | 4.32, 3.76, 5.32 | |
| 5 | subject5.ttf | 4.39, 2.44, 5.59 | |
| 6 | subject6.ttf | 5.80, 1.1, 1.86 | |
| 7 | subject7.ttf | 6.63, 1.59, 2.54 | |
| 8 | subject8.ttf | 5.37, 3.54, 3.56 | |
| 9 | subject9.ttf | 4.27, 3.5, 4.15 | |
| 10 | subject10.ttf | 5.63, 5.38, 1.3 | |
| 11 | subject11.ttf | 5.7, 3.02, 3.08 |
sudo apt install python3.6-dev (May be called differently based on your python3 version)sudo apt install virtualenv, virtualenv venv --python=python3, . venv/bin/activate. I used 3.6.9, but most python 3 versions should do.pip install numpy pillow matplotlib fontToolssudo add-apt-repository ppa:silnrsi/smith-py3 sudo apt-get update sudo apt install python3-fontforgesudo apt install libfontforge-devThere is a tutorial provided on how to create your own fonts in Creating_Fonts.ipynb. For that you will need jupyter and matplotlib pip install jupyter matplotlib. You can also start creating fonts directly from terminal using the create_font.py script. From the repositorys root call for example python3 font_factory/create_font.py example --nmf_dims 1,5,8 --out_folder example_fonts to create a font called example.ttf in example_fonts/example with the NMF component weights of 1,5 and 8 for the 3 dimensions respectively.