┌────────────────────────────────┐ │ BRIAN KRENT ❯ FONTS ❯ MONOIKOS │ ├────────────────────────────────┘ │ │ ┌─▪ Monoikos is a font family intended for use in │ │ fixed-width text environments, such as computer │ │ programming IDEs and terminal interfaces. │ │ │ ├─▪ The typeface design has a simple, “nostalgic │ │ novelty” aesthetic, with geometry strongly influ- │ │ enced by a block grid, yielding forms reminiscent │ │ of low-resolution bitmap fonts. More specifically, │ │ a 5 wide by 9 tall block grid is at the heart of │ │ its design; with a 7 block cap-height, 5 block │ │ x-height, and 2 block descender. │ │ │ └─▪ The Monoikos font family is distributed under the │ SIL Open Font License, Version 1.1. │ │ ├────────── │ DOWNLOAD │ │ ┌─▪ TrueType font (recommended for Windows & Linux) │ │ │ ├─▪ OpenType PostScript font (recommended for macOS) │ │ │ └─▪ Web fonts:¹ WOFF & WOFF2 │ │ ├─────────── │ NOTA BENE │ │ ┌─▪ This is a pre-release, alpha version of the font. │ │ │ ├─▪ Typeface design is mostly complete, but some glyph │ │ details are not yet finalized. Font implementation │ │ is incomplete, having various known issues yet │ │ to be fully addressed. │ │ │ └─▪ Additional weights and styles are not ready yet. │ │ ├──────── │ SAMPLE │ │ THE QUICK BROWN FOX JUMPS OVER THE RED, LAZY DOG! │ the quick brown fox jumps over the red, lazy dog. │ ABCDEFGHIJKLMNOPQRSTUVWXYZ[0123456789]{(½⅛¼¾⅜⅝⅞)} │ abcdefghijklmnopqrstuvwxyz{⁰¹²³⁴⁵⁶⁷⁸⁹⁄₀₁₂₃₄₅₆₇₈₉} │ aeszwmkxvunrhyocdbqpgjiltffiflµμ;L71¦|lIioO0⊘øØƟΘθϴ │ hamburgefonstiv,oes,5Hlpx,xHJCMI,panxose,1hbdlkqp │ 1:49 PM,π≈3.141592653589793238463,7°1′2″3‴4⁗;§4.2 │ 5:7,5÷7,5/7,⁵⁄₇=0.714285714285714285714285714285… │ ⸮?!¡¿﹖.,·;:…_"'❝❞“”‘’❮«»❯{[(\|¦/)]}√✓☑∆◊•*⁎⁑⁂†‡§¶ │ *⩨#=+-–—〒 Víðsýni / мир во всем мире / αυθαίρετες │ ¤₠₣₶₫₢₵¢$฿£₤₳₦₭₴€¥₹₽₧₱₮₸₩₪,ķy/ţ/ẳbễ\ỡ\ẵ\Ồồ(3′×4′) │ ℞&⅋^%‰‱°℃℉#@¬~×/÷∓+±-∞∝≠≈=⊂∩∪⊃∈∋≤≥<>©®℗™℠℡℻⌘⎇⌥⇧⇪⎋ │ ΑαΒβΓγΔδΕεΖζΗηΘθΙιΚκΛλΜμ{µ}ΝνΞξΟοΠπΡρςΣ∑σΤτΥυͰͱϙͷ │ ΦφΧχΨψΩω,Ñúöîé˚åÅßẞ;Ðð∂ƒ∫∬∮∯∅⦰A\Ằ\ŨAΑАaαɑ;;ίϊΐύϋΰ │ ↊↋ꞱꞰʎʌʍʇɹɺɯɰʞᵷǝɐŊŋÞþÇçØøÆ挜ŧťłŁĿªº☙❦❧⸘‽⁉⁈⁇‼όώάέή │ z = ƒ(x,y); ∂z/∂x=2x+y.∀∫∮∬∯w∭x∰y⨌z|Mathematics| │ (d/dt)·ƒ(x(t),y(t))=(∂ƒ/∂x)(dx/dt)+(∂ƒ/∂y)(dy/dt) │ ∉∌∄⊄⊅⊈⊉⊊⊋≭≠ŁłØø/⁒٪%‰‱﹪⁄⅟₇℀℁⅍℅℆½⅓⅔¼¾⅕⅖⅗⅘⅙⅚⅛⅜⅝⅞∛∜√2 │ ⋲⋺⋶⋽∈∋⋸⋵⋹⋳⋻⋿∃⋷⋾⋴⋼∊∍⪽⪾⊂⊃⊆⊇⊌⊎⩁⊍⩀∩∪➔◊≤≥<>↑Up⤴|↓Down⤵ │ Arrows:←⤶|⤷→⤵_—⤴↑|↗→↘↓↙←↖↑↗→↘↓↙←↖↑_↙↓↙↖↔↕⇑⇒⇓⇐⇔⇕➔¬ │ ≋≈~≣⩧≡=-≍≗≖≃=≂≈≊⩭≅≌≟≞∓+±⨨⨣⨥⨧⨤⨦⨢∔⍅⍆∗×⨰-⨩⨪÷∹⨫⨬∺⸟∻⩪~ │ ☐☑☒⊟◫◰◱◲◳⊞⊠⧅⧄⧈⧇⊡⧆⌹⌸⍠⍰▤▥▦▧▨▩❏❐❑❒⋰⋮⋯…⁚⁞⸪⸫⁙⸬⁘⸭⁝⸞⸛⸟∝∞ │ ⊖⊕⨸⊗⦼⊘⊜⦷⊚⊙⊛⍟●○◐◑◒◓◔◕◴◵◶◷◍⓪①②③④⑤⑥⑦⑧⑨⑩⑪ │ ┌┬┐╭─────────────╮ ╷ ╎ ⑫⑬⑭⑮⑯⑰⑱⑲⑳㉑㉒㉓ │ ├┼┤│ Box Drawing │╶┼╴╌ ㉔㉕㉖㉗㉘㉙㉚㉛㉜㉝㉞♾ │ └┴┘╰─────────────╯ ╵ ╎ Windows 10 Render Sample │ │ ├─────────────────────────── │ BACKGROUND / DESIGN NOTES │ │ ┌─▪ Monoikos came about as a nostalgic desire for the │ │ simplistic forms of various monospaced bitmap │ │ fonts with constrained glyph designs 5 pixels │ │ wide with 7 pixel cap-height and 5 pixel x-height. │ │ Many early pixel based fonts were based around │ │ these dimensions;² presumably because it’s a │ │ reasonably comfortable minimum pixel area for │ │ Latin-based glyphs.³ │ │ │ ├─▪ I found myself rather unsatisfied with modern │ │ monospaced fonts. I longed for a font which would │ │ evoke happy memories of computing from my child- │ │ hood, but with refinements for my personal taste. │ │ Although some came close, like ProFont,⁴ nothing │ │ fully scratched that itch. I set out to create │ │ my own, transferring that which was in my mind’s │ │ eye onto graph paper. These drawings became the │ │ basis for Monoikos. An initial implementation was │ │ quick and dirty; the typeface designs were turned │ │ into a pseudo-pixel font. But, this font failed │ │ to actualize the curvature in my hand drawn │ │ designs. I started drawing curved forms in Adobe │ │ Illustrator, but became distracted with other │ │ projects, and work on the font stalled. │ │ │ ├─▪ In 2019, I revived the endeavor, using ProFont as │ │ a starting point, since the core glyph design was │ │ similar. Thus, this current font implementation │ │ of Monoikos is a derivative work of ProFont Dist- │ │ ribution 2.2.⁵ However, when compared to ProFont, │ │ Monoikos’s design deviates in notable ways: │ │ ┌ Embracing the “crevice” for use across various │ │ │ glyphs; e.g., b, d, h, n, p, q, r and u. │ │ ├ Removal of bilateral serifs where reasonable; │ │ │ e.g., bottom of 1, 4, l, and i. │ │ ├ Changes intended to improve negative-space │ │ │ balance; e.g., f, i, j, J, l, t, X, and y. │ │ ├ Double-story glyphs for minuscule a and g. │ │ ├ Ascender above cap-height for minuscule │ │ │ letters; e.g., b, d, f, h, k, l, and t. │ │ └ Enlarged dots; e.g., i, j, ü, !, ?, and …. │ │ Further, there are a slew of other differences │ │ (some subtle, some not so subtle) seen in glyphs │ │ such as C, D, G, Q, R, V, w, W, 2, 3, 6, 7, 9, !, │ │ ?, %, &, {, and [. Additionally, Monoikos has │ │ greater character coverage; the Mac font suitcase │ │ for ProFont Distribution 2.2 contains 254 glyphs, │ │ whereas Monoikos has over 1,100 glyphs. │ │ │ └─▪ Some characters have glyphs which are stylized │ intentionally, resulting in a little quirkiness: │ ┌ Percent (%) has its ovals slightly above │ │ cap-height and below baseline; this helps │ │ call attention to the symbol and helps with │ │ visual spacing within the glyph itself. │ │ Incidentally, this creates a consistency with │ │ the Arabic percent sign (٪), such that the │ │ zero holes of % line up with the dots of ٪. │ ├ Per ten thousand (‱) is tad squished, using │ │ crescents to represent two of the zeros. │ ├ Copyright, registered, and phonorecord symbols │ │ (©, ®, ℗) have their ovals partially cropped, │ │ allowing larger letters for improved readabil- │ │ ity at small sizes. │ ├ The quote mark differs from comma in form. │ │ This a stylistic choice, but also avoids │ │ potential confusion between the comma (,) and │ │ the single low-9 quotation mark (‚). │ ├ The double question mark (⁇) is stylized. │ ├ Certain punctuation marks have a dot size │ │ larger than the standard dot so that they │ │ stand out more. E.g., period (.), comma (,), │ │ colon (:), semicolon (;), exclamation mark (!), │ │ and question mark (?), among a few others. │ ├ In some situations, intentionally included │ │ inconsistencies are there to differentiate │ │ glyphs of characters that would otherwise have │ │ identical glyphs; cf. “visual spoofing”.⁶ │ └ The numeral four (4) is intentionally piercing. │ │ ├─────────────────────────────────── │ PARTIAL TO-DO LIST / KNOWN ISSUES │ │ ┌─▪ Fix issue with OpenType PostScript font rendering │ │ under Windows where extraneous pixels appear │ │ below the baseline; e.g. bottom of capital R. │ │ (The TrueType font does not exhibit this issue.) │ │ │ ├─▪ Release additional weights (light, regular, bold) │ │ and styles (oblique & italic). Also in the │ │ works: a blocky, pseudo-pixel font variation │ │ called Monoikos Mosaic, and a single-line font │ │ for engravers, plotters, etc. │ │ │ └─▪ Add in TrueType instructing for improved display │ at smaller sizes. │ │ ├─────────── │ FOOTNOTES │ │ ┌─▪ 1. Web font browser compatibility: WOFF & WOFF2. │ │ │ ├─▪ 2. Examples of bitmap glyph forms (excluding │ │ pixel padding space) that have 5 pixel width, │ │ 5 pixel x-height, and 7 pixel cap-height include │ │ the Apple ][ font (1977) and TI-81 font (1980). │ │ The Apple ][ bitmap font has been reimplemented │ │ by Rebecca Bettencourt into a TrueType font │ │ called PrintChar21. │ │ │ ├─▪ 3. Without delving too far down the rabbit hole, │ │ “minimum comfortable” dimensions for monospaced, │ │ Latin, bitmap-based glyphs can be reasoned about │ │ as an avoidance of parallel strokes touching. │ │ First, given that we’re working with strokes of │ │ one pixel thickness, notice that an odd number of │ │ pixels permit a centered stroke, be it vertical │ │ or horizontal; so, odd numbered pixel dimensions │ │ are preferable in this context. Second, since m, │ │ M, w, and W tend to have three vertical strokes, │ │ a five pixel width accommodates these with a one │ │ pixel space between each stroke. Thus, we arrive │ │ at a width of five pixels for the glyph’s form. │ │ Third, for reasons similar to the aforementioned, │ │ the three horizontal strokes of minuscule s and e │ │ are straightforwardly accommodated by an x-height │ │ of five pixels. Forth, for capital letters to be │ │ taller than minuscules and maintain vertical │ │ symmetry (for letters like B and E), a seven │ │ pixel cap-height naturally emerges. Fifth, room │ │ for descenders (e.g., g, j, p, q, y) avoids awk- │ │ wardly cramped glyphs for such characters. A two │ │ pixel descender emerges directly as a consequence │ │ to maintain a one pixel gap without distortion of │ │ forms above the baseline. Therefore, ignoring │ │ additional space required between glyphs, the │ │ forms have the following dimensional constraints: │ │ ┌ width: 5 pixels │ │ ├ cap-height: 7 pixels │ │ ├ x-height: 5 pixels │ │ └ descender: 2 pixels │ │ Latin-based bitmap fonts with smaller dimensions │ │ have been made (with compromises), but that dis- │ │ cussion is outside the scope of this note. │ │ │ ├─▪ 4. ProFont’s vector forms are quite similar to │ │ the bitmap forms of Monaco 9 point. │ │ │ ├─▪ 5. Monoikos is released under the SIL Open Font │ │ License, Version 1.1; sub-licensed as permitted │ │ by the MIT License of ProFont Distribution 2.2. │ │ ProFont Distribution 2.2 is copyright 2014 by │ │ Andrew Welch, Carl Osterwald, and Steve Gilardi. │ │ │ └─▪ 6. “Visual spoofing” refers the practice of │ using visually similar characters in place the │ expected characters, typically for deception. │ Cf. “Visual Spoofing” (C. Weber, Unicode Security │ Guide), “IDN Homograph Attack” (Wikipedia), and │ “Security Issues FAQ” (Unicode). │ │ │ └─▪ © 2019–2023 Brian Krent