漫画单声道
Comic Mono

原始链接: https://dtinth.github.io/comic-mono-font/

文本描述了 Comic Shanns 字体的修改版本,称为 Comic Mono,可通过 GitHub 获取。 作者缺乏传统的字体设计技能,使用 Python 脚本开发了该字体。 为了创建 Comic Mono,他们使用了一个名为 Monospacifier 的现有开源工具来确保所有字形具有相等的间距,并调整了度量以与名为 Cousine 的默认系统字体对齐。 与原版 Comic Shanns 相比,它们提高了可读性并减轻了重量。 还添加了更大胆的版本。 该项目利用开源工具对原始 Comic Shanns 字体文件进行了修补,并要求用户在运行脚本之前提供两个字体文件(原始 Comic Shanns 和 Cousine Regular)。 此外,还存在 Comic Shanns 的替代版本,例如 Serious Shanns 或 Comic Shanns Mono,提供更大的修改和新角色。 用户可以通过 JavaScript Deliver Network (CDN) 访问 Comic Mono 或直接从其 npm 包安装。

一位用户讨论有争议的字体 Comic Sans,强调了对其在专业设置和更高分辨率显示器中使用的担忧。 他们反对独立创作者应免费提供作品的期望,理由是这对个人生计有潜在影响。 他们还提到一些设计师选择免费提供他们的字体(例如 Monotype、Comic Mono 和 Inconsolata)。 用户对免费字体的需求表示沮丧,并批评那些抱怨人们通过工作谋生的人。 他们指出,在严重情况下使用 Comic Sans 可能会显得麻木不仁且不恰当,例如失业或坏消息。 此外,他们认为 Comic Sans 可能不适合高分辨率屏幕,因为它是为较低分辨率屏幕设计的。 他们还指出,Comic Sans 经常与另一种广泛不受欢迎的字体 Papyrus 结合使用,从而导致不良结果。 最后,他们表示,虽然对字体使用的看法各不相同,但他们个人认为 Comic Sans 令人失望,认为它在趣味性方面的尝试不够充分,而且显得强迫。
相关文章

原文

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).

Screenshot

Download

Differences from Comic Shanns

  1. All glyphs have been adjusted to have exactly the same width (using code based on monospacifier).
  2. The glyph metrics have been adjusted to make it display better alongside system font, based on Cousine’s metrics.
  3. The name is changed to Comic Mono.
  4. 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?

Check it out!

#!/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')

Check out these fonts as well

  • The original Comic Shanns by Shannon Miwa has V2 released with support for accented characters and other symbols, such as math symbols.
  • Check out Serious Shanns by Kyle Beechly, which has more modifications to further enhance the legibility, lighter weight, and Nerd Font version.
  • Check out Comic Shanns Mono by Jesus Gonzalez, which is based on Comic Shanns v2 but with metrics adjusted and with more additional characters.

CDN

You can use this font in your web pages by including the stylesheet. CDN is provided by jsDelivr.

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/index.css">

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

License

It is licensed under the MIT License.

联系我们 contact @ memedata.com