FEATURED
  • comic_mono.jpg
  • comic_mono-1.jpg

Comic Mono: A Perfectly Legible Monospace Font

Categories Sans Serif
Tags Comic   Family   Monospaced   Playful  
Designer : dtinth
License: Free for commercial use
Files: 4 Size: 31 KB
Views: 538 Downloads: 5
WebSite: https://github.com/dtinth
Comic Mono is a perfect choice for legible monospace font. It is based on Shannon Miwa's Comic Shanns and has been designed to offer maximum readability. It comes in two weights - Regular and Bold - and has been modified to ensure that all glyphs have the same width. Additionally, glyph metrics have been adjusted to ensure it looks great alongside system fonts, specifically Cousine's metrics. Ideal for any type of project, Comic Mono is the perfect font for those looking for a classic, yet modern font. It has been around since childhood, which makes it a great choice for anyone looking for a timeless typeface.

MIT License

Original work Copyright (c) 2018 Shannon Miwa
Modified work Copyright (c) 2019 dtinth

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Comic Mono
A legible monospace font… the very typeface you’ve been trained to recognize since childhood. This font is a fork of Shannon Miwa’s Comic Shanns (version 1).

Download
ComicMono.ttf
ComicMono-Bold.ttf
Differences from Comic Shanns
All glyphs have been adjusted to have exactly the same width (using code based on monospacifier).
The glyph metrics have been adjusted to make it display better alongside system font, based on Cousine’s metrics.
The name is changed to Comic Mono.
A bold version of the font is generated using FontForge’s Embolden operation.
I have no font creation skills; I’m just a software developer. This font family is created by patching the original font, Comic Shanns (v1), using a Python script, generate.py.

What does it look like?
#!/usr/bin/env python2
# -*- coding: utf-8 -*-

"""
Generates the Comic Mono font files based on Comic Shanns font.

Required files:
- vendor/comic-shanns.otf
- vendor/Cousine-Regular.ttf

Based on:
- monospacifier: https://github.com/cpitclaudel/monospacifier/blob/master/monospacifier.py
- YosemiteAndElCapitanSystemFontPatcher: https://github.com/dtinth/YosemiteAndElCapitanSystemFontPatcher/blob/master/bin/patch
"""

import os
import re
import sys

reload(sys)
sys.setdefaultencoding('UTF8')

import fontforge
import psMat
import unicodedata

def height(font):
return float(font.capHeight)

def adjust_height(source, template, scale):
source.selection.all()
source.transform(psMat.scale(height(template) / height(source)))
for attr in ['ascent', 'descent',
'hhea_ascent', 'hhea_ascent_add',
'hhea_linegap',
'hhea_descent', 'hhea_descent_add',
'os2_winascent', 'os2_winascent_add',
'os2_windescent', 'os2_windescent_add',
'os2_typoascent', 'os2_typoascent_add',
'os2_typodescent', 'os2_typodescent_add',
]:
setattr(source, attr, getattr(template, attr))
source.transform(psMat.scale(scale))

font = fontforge.open('vendor/comic-shanns.otf')
ref = fontforge.open('vendor/Cousine-Regular.ttf')
for g in font.glyphs():
uni = g.unicode
category = unicodedata.category(unichr(uni)) if 0 <= uni <= sys.maxunicode else None
if g.width > 0 and category not in ['Mn', 'Mc', 'Me']:
target_width = 510
if g.width != target_width:
delta = target_width - g.width
g.left_side_bearing += delta / 2
g.right_side_bearing += delta - g.left_side_bearing
g.width = target_width

font.familyname = 'Comic Mono'
font.version = '0.1.1'
font.comment = 'https://github.com/dtinth/comic-mono-font'
font.copyright = 'https://github.com/dtinth/comic-mono-font/blob/master/LICENSE'

adjust_height(font, ref, 0.875)
font.sfnt_names = [] # Get rid of 'Prefered Name' etc.
font.fontname = 'ComicMono'
font.fullname = 'Comic Mono'
font.generate('ComicMono.ttf')

font.selection.all()
font.fontname = 'ComicMono-Bold'
font.fullname = 'Comic Mono Bold'
font.weight = 'Bold'
font.changeWeight(32, "LCG", 0, 0, "squish")
font.generate('ComicMono-Bold.ttf')
CDN
You can use this font in your web pages by including the stylesheet. CDN is provided by jsDelivr.


npm Package
The contents of this package is also published to npm, although the font files are not optimized. See fontsource package (below) for a better option.

Packages published by third parties
Fontsource: @fontsource/comic-mono (thanks @DecliningLotus)
Arch Linux AUR: ttf-comic-mono-git (maintained by DBourgeoisat)
License
It is licensed under the MIT License.

Reviews

Write Your Own Review

How do you rate this font?*

1 star 2 stars 3 stars 4 stars 5 stars
# File name Size Download
1 ComicMono-Bold.ttf 20 KB Download
2 ComicMono.ttf 18 KB Download
3 LICENSE.txt 1 KB Download
4 readme.txt 3 KB Download