Randy: I work for Epiphyte Corporation, which is designed from the ground up to work, not on its own, but as an element in a virtual corporation, kind of like—
Amy: I know what an epiphyte is.
— Cryptonomicon, by Neal Stephenson
The Epiphyte Mono font is a clear, easy-to-read font primarily intended for
writing code. It is based on the
Liberation Mono font and so is metrically
compatible with Courier New. You can find the TTF files to install on your
computer in the fonts/ directory, or you can download them in a Zip archive
here.
This is my first foray into font design, and it would not be possible if not for the BirdFont font editor and all the work that others have put into Liberation Mono.
Please note that while GitHub identifies this repository as hosting
Brainf*** code, the *.bf files in the
src/ directory are actually generated by the
BirdFont font editor, and contain font information.
Building the fonts from the *.bf source files requires the following
programs:
You can build the fonts with the following steps:
- Open each
*.bffile in BirdFont and select from the menu: Import and Export > Export Fonts. - In some cases you may be able to simply use the
*.ttffiles generated by BirdFont, however it is recommended that you continue through these steps, especially if you want the font files to be Windows-compatible. - Open the
*.ttffiles generated by BirdFont in FontForge. Navigate to Element > Font Info. Select OS/2 from the sidebar in the pop-up window and go to the Panose tab. Set Proportion to Monospaced. Hit OK to close the pop-up window. Now select all glyphs with Ctrl-a. Navigate to Element > Validation > Find Problems.... Under the Random tab, check the box marked Bitmap/outline advance mismatch. Under the BB tab, check the box marked Check Advance. The text field next to that should already have615entered in it. Next, press OK, and glyphs will start appearing one at a time; for each of them, select Fix. Once this is done, generate*.ttffiles by navigating to File > Generate Fonts.... - Use the Python
fonttoolslibrary to set theisFixedPitchfield of theposttable of each of the*.ttffiles to1. This can be accomplished for example with this script. - It remains to run
ttfautohinton each of the four*.ttffiles produced by FontForge. If the name of one isunhinted.ttf, run:$ ttfautohint unhinted.ttf hinted.ttf
The new file hinted.ttf will be the hinted font file, which is ready to be
installed.
This process is quite hack-y, and was found through a lot of trial and error (thanks to GitHub user flocc for help testing on Windows). If you have any questions, please do not hesitate to open an issue or send me an email at jdwinters96@gmail.com.