Skip to content
Search

Typeface

lastmod 2026-07-07created 2014-04-03127 edits

A typeface is a set of character shapes designed with consistency. Related terms include type style and font, but nowadays they are often used interchangeably without distinction.

Category

Tools

Libraries

Font files are copyrighted, but the font (typeface) itself is not copyrightable. For details,

see the page above.

Computer font

A computer font is the shape of the characters seen on a computer, or the electronic data file that holds them.

Display methods

Display methods fall broadly into bitmap, vector, and stroke methods.

  • Bitmap fonts: made of fixed-size dots, so they process quickly, but they only look right at their set size, and when enlarged, the rounded parts of strokes look like stairs.
  • Outline fonts: also called vector fonts; they don't break when resized, but drawing the lines takes a little more processing time.
  • Stroke fonts use a series of specified lines and additional information to define the profile, size, and shape of a line of a particular shape.

User interface fonts in older operating systems embedded (added) bitmap fonts into vector fonts. Bitmap fonts alone have problems with scaling down, scaling up, and printing (because scalable bitmap information is usually not included: the actual font specification does allow scalable bitmap information), so the vector method is used alongside them.

A bitmap appears on screen exactly as drawn, whereas with vector fonts, rendering the outline on screen introduces distortion and can make glyphs break into unwanted shapes. For this reason, bitmaps are designed for specific sizes and then embedded into the vector font.

Width variation

Depending on how character widths vary, fonts can be divided into fixed-width fonts and variable-width fonts.

  • Fixed-width fonts: assign the same width regardless of the character.
    • In Korean fonts, a Hangul character actually takes up twice the width of a Latin character.
  • Variable-width fonts: assign a width that varies by character.
    • Wide width: characters such as W get a wide width.
    • Narrow width: characters such as i get a narrow width.

Various methods have been introduced for finer control over appearance. For example, for pairs like 'VA' that end up with too much kerning (letter spacing) by ordinary means, the font itself may contain kerning pair information, or kerning may be specified manually.

Depending on the script, variable-width fonts are often rarely used or hard to use at all. For example, variable-width fonts are hard to make for Chinese characters, and as a result kana and Hangul fonts are also often fixed-width.

Font properties

When displayed on a computer, fonts are affected by various property settings. Typographic design has the following elements.

  • Size: font size is measured in points. Computer fonts commonly use 9~12 points, and fonts of 6 points or smaller can become very hard to read.
  • Alignment: right alignment, left alignment, justified alignment, and center alignment are mainly used.
  • Widows and orphans: a word displayed alone, cut off from its sentence, is called a widow, and one cut off at the start of a paragraph is called an orphan.
  • Line length: the line length of a paragraph follows the principle that too much is as bad as too little; neither too long nor too short.
  • Leading: line spacing, or the vertical space between lines. Usually about 20% larger than the font size. Lines that are too close together or too far apart become hard to read.
  • Kerning: letter spacing, or character spacing, is the horizontal space between characters. It should usually be large enough to display the characters adequately.

Font formats

Type 1 and Type 3 fonts
Type 1 and Type 3 fonts were developed by Adobe for professional digital typesetting. With PostScript they become outline fonts made of cubic Bézier curves. Type 1 fonts are limited to a subset of the PostScript language and use Adobe's hinting system, and were very widely used. Type 3 fonts allow unrestricted use of the PostScript language but contain no hinting information, so they may break on low-resolution devices (dot matrix printers and computer screens).
TrueType fonts
TrueType is a font system developed by Apple. It was created to replace Type 1 fonts. Unlike Type 1 fonts, TrueType is drawn with Bézier curves. Today it is widely used and supported on all major operating systems.
OpenType fonts
OpenType is a smart font system designed by Adobe and Microsoft. OpenType fonts contain outlines in TrueType or Type 1 (actually CFF) format, along with a wide range of metadata.
METAFONT
METAFONT is a different kind of font. Unlike TrueType, it is built on a vector font system.

Terminology

Glyph
In a font file, the shape information of each individual character is called a glyph. Fonts are classified as bitmap fonts, outline fonts, and so on, depending on how glyphs are stored; TrueType stores the outlines of characters. The order of glyphs inside a font file is not fixed.
Character map (CharMap)
cmap - Character To Glyph Index Mapping Table
A mapping table between character codes and glyphs. The character map holds which character code corresponds to which glyph.
Metrics
Values for the characteristics of a face. It stores information such as the size of the design grid used to make the font, the area of the characters within the grid, and the position of the underline. It also stores size information for individual glyphs: how tall each one is, where the next character should go, how much margin there is, and so on.
Hinting, kerning
Advanced information such as hinting and kerning, which adjusts the shape and spacing of characters, is also recorded in full in the face. When text is rendered, this information is used to place glyphs in exactly the right positions and to produce readable output when scaling up or down. In short, you can think of the face as containing all the information needed to render text.
Serif font
The part that sticks out sharply like a fishhook at the end of a character's stroke is called a serif. It corresponds to Roman type, or to Myeongjo type in Hangul. It is mainly used for body text, probably because serifs help readability a little.
Sans-serif font
Sans-serif is a font made of plain straight lines, without the sharp fishhook-like decorative strokes. In French, sans means "without". So Sans-serif means "without serif". It corresponds to Gothic type. It is mainly used for titles or parts that need emphasis.
Fixed-width font (Monospace Font)
Each character fits into a square box, so all characters have the same height and size.
Variable-width font (proportional font; Proportional font)
A proportional font is a font in which each character takes up only as much width as it needs.
Ligature
A ligature combines two characters into a single shape. For example, in French, œ is a ligature of oe.
Includes multi-character ligatures (combined special symbols) to make combinations of symbols often used in code easier to read.
A typical example is JetBrainsMonoNL, where the suffix "NL" stands for "No Ligatures". (In coding, "!=" is combined into "≠")

Font metrics

The word Sphinx, set in Adobe Caslon Pro to illustrate the concepts of baseline, x-height, body size, descent and ascent.

Baseline
Think of it as the line that capital letters sit on.
Reportedly, in some cases numerals can also extend below this line.
Ascent (ascender height)
From the baseline to the highest part of a character. Can vary from character to character.
The recommended distance above the baseline for single-spaced text.
Aescent (descender height)
From the baseline to the lowest part of a character
The recommended distance below the baseline for single-spaced text.
Cap Height
From the baseline to the height of typical capital letters, excluding a few characters
Characters such as H, I, O, and A can reportedly rise above this height.
x-height
From the baseline to the height of typical lowercase letters
Specifically, from the baseline to the height of the lowercase x
Some lowercase letters can be taller or shorter than this height.
Overshoot
Going beyond the Cap Height (or x-height) above
Mean line (or midline)
Midway between the baseline and the cap height
Not necessarily the same as the x-height.
Top
The maximum distance above the baseline for the tallest glyph in the font at a given text size.
Bottom
The maximum distance below the baseline for the lowest glyph in the font at a given text size.
Leading
The recommended additional space to add between lines of text.

Font_metrics.png

Developer favorite font

A list of recommended fonts for developers. A font for development should meet the following conditions as far as possible.

  • It must support fixed-width characters.
  • It must make similar characters distinguishable, such as the digit 1, the capital letter I, and the lowercase letter l.
Dotum, DotumChe, Gulim, GulimChe
Fonts installed by default on Windows.
Basic fonts that are easy to use in Visual Studio, but the capital I and lowercase l are hard to tell apart.
In Eclipse, they are sometimes not rendered as fixed-width.
Nanum Gothic Coding (Nanumfont)
http://dev.naver.com/projects/nanumfont/ 1
Run as a Naver open project, with the goal of developing a font for Korean developers.
Bitstream Vera Fonts
http://www.gnome.org/fonts/
Monaco
http://en.wikipedia.org/wiki/Monaco_(typeface)
http://www.gringod.com/2006/11/01/new-version-of-monaco-font/
Monaco font, a font for coding
NERD FONTS
https://www.nerdfonts.com/
https://github.com/ryanoasis/nerd-fonts
(vim-devicons) https://github.com/ryanoasis/vim-devicons/wiki/Installation
JetBrains Mono (JetBrainsMono, JetBrainsMonoNL)
https://www.jetbrains.com/ko-kr/lp/mono/
https://github.com/JetBrains/JetBrainsMono
D2 Coding
https://github.com/naver/d2codingfont
D2Coding Nerd
https://github.com/kelvinks/D2Coding_Nerd
Jetendard
JetBrainsMono Nerd Font Mono rebuilt with Pretendard Korean glyphs for balanced Hangul monospace rendering.
https://github.com/kuskhan/jetendard

How to read NERD FONTS file names

For example, take the file "JetBrainsMonoNLNerdFontMono-Thin.ttf":

JetBrainsMono
The base name of this font. JetBrains Mono is a font developed by JetBrains and optimized for programming and development environments.
Its features include high readability and a design that makes the structure of code easy to grasp.
NL
NL usually stands for No Ligatures, meaning a version without ligatures.
In programmer fonts, this is the version without the ligatures that render characters such as !=, <=, and -> as special symbols.
NerdFont
Indicates that this font is a version with the Nerd Fonts patch applied.
Nerd Fonts are fonts that include icons often used by developers and terminal users.
For example, file type icons, Git status icons, and so on are added.
Mono
Mono means a font with a fixed character width (monospaced).
In situations like programming, a consistent character width is important for aligning code.
Thin
Indicates the font weight. Thin is one of the thinnest weights, giving characters drawn with very fine lines.
Font weights are divided into Light, Regular, Bold, and so on, and Thin is even thinner than Light.
.ttf
The TrueType Font file format.
This format is one of the standard formats for font rendering and is supported on many operating systems, including Windows, macOS, and Linux.

Summary:

  • JetBrains Mono: JetBrains' font for programming
  • NL: version without ligature support
  • NerdFont: adds icons for programming/terminals
  • Mono: fixed-width font
  • Thin: thin weight style
  • .ttf: TrueType Font format

This file is a fixed-width font used mainly in programming environments (e.g. IDEs, terminals), offering extra icons and a thin, refined style.

Free font

GNU Unifont
Basic Multilingual Plane (BMP) compatible.
Alpine
Font_-_Alpine.png
http://www.1001fonts.com/alpine-font.html
Alpine.zip
{|class="wikitable"

! Free For
Personal Use || Free For
Commercial Use || Modification
Allowed || Redistribution
Allowed |- | O || O || X || X |}

Ethnocentric
Font_-_Ethnocentric_Rg.png
http://www.1001fonts.com/ethnocentric-font.html
Ethnocentric.zip
{|class="wikitable"

! Free For
Personal Use || Free For
Commercial Use || Modification
Allowed || Redistribution
Allowed |- | O || O || O || X |}

Good Times
Font_-_Good_Times_Rg.png
http://www.1001fonts.com/good-times-font.html
Good-times.zip
{|class="wikitable"

! Free For
Personal Use || Free For
Commercial Use || Modification
Allowed || Redistribution
Allowed |- | O || O || O || X |}

Advent Pro Font Family
Font-Advent_Pro_Font_Family.png
http://www.1001fonts.com/advent-pro-font.html
https://www.google.com/fonts/specimen/Advent+Pro
Advent-pro.zip
License: OFL
{|class="wikitable"

! Free For
Personal Use || Free For
Commercial Use || Modification
Allowed || Redistribution
Allowed |- | O || O || O || O |}

Modern style

Adobe Source Han fonts (CJK)

Large collection of fonts which comprehensively support Simplified Chinese, Traditional Chinese, Japanese, and Korean, with a consistent design and look.

  • Sans fonts: adobe-source-han-sans-otc-fonts
  • Serif fonts: adobe-source-han-serif-otc-fonts

Arch Linux pacman:

$ sudo pacman -S adobe-source-han-sans-otc-fonts adobe-source-han-serif-otc-fonts

Nanum font

Download (2020-08-22):

  • All fonts: NanumFontSetup_TTF_ALL.zip
  • Barun Gothic: NanumFontSetup_TTF_BARUNGOTHIC.zip

yangheeryu

Personal Github page: https://github.com/yangheeryu

Gowun Dodum & Gowun Batang - Korean fonts
https://github.com/yangheeryu/Gowun-Dodum
Gowun Dodum: a sans-serif font with a comfortable, friendly feel, its strokes keeping their varying weight and slant
Gowun Batang: a serif font with a neat, graceful handwritten look, as if each character were carefully written one by one
SIL Open Font License
11,172 Hangul syllables. Includes the Latin characters, punctuation, and symbols of KS X 1001
Completed by adding 8822 Hangul syllables to the "Gowun Hangul Batang/Dodum" typeface released in 2010
Dongle Hangul
https://github.com/yangheeryu/Dongle
Dongle Hangul is a display typeface with a free, cheerful expression, built outside the square character frame.
Depending on how many strokes a character has, it forms an uneven, bright, and lively rhythm.

NeoDunggeunmo

Modern TrueType font based on an old-but-good Korean bitmap font.

A font well suited to Pixel Art games.

Galmuri

Bitmap fonts based on the font design from Nintendo DS

A balanced Hangul bitmap font that stays readable even at small sizes.

Inter

The default font of Tailwind.

Bon Gothic (Noto Sans)

See Noto Sans (Korean: 본고딕; Source Han Sans).

Wanted Sans

  • Github - wanteddev/wanted-sans
  • A straight yet flexible sans-serif font | A Sans-serif font; Geometric with a heart, Humanist with a soul
  • A new font made with the participation of the creator of Pretendard
  • The Korean font is based on Bon Gothic (Noto Sans), and is basically the same as its predecessor, Pretendard
  • However, the ExtraBold weight has been slightly modified
  • Has the same height as Apple San Francisco, and therefore the same as Pretendard
  • Context-aware: automatically displays forms that sit naturally with Hangul and make shapes easier to tell apart in characters and words where needed.
  • Supports a variety of OpenType features as needed, such as tabular figures, case-sensitive forms, localized forms for each language and country, ligatures, fractions and superscripts/subscripts, ordinals and alternate forms, and more

D2 Coding font

Comic Mono monospace font

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

  • A further fork of Comic Shanns, which is itself a monospace fork of Comic Sans
  • Modified so that every glyph is exactly the same width
  • Glyphs adjusted based on the metrics of the Cousine font to blend better with system fonts
  • Bold version generated with FontForge's Embolden feature
  • MIT license

Nanum Gothic Coding

Added to Mono when building web pages.

Sunflower

Added to Sans when building web pages.

Hamlet (Hahmlet)

Added to Serif when building web pages.

8x4x4-fonts

Converts the old-school 8x4x4 johab (composed Hangul) fonts used in the 16-bit DOS era to TrueType and other formats

  • Hanme: Hanme Hangul (for DOS) + English (sans|serif) + (Nerd Font)
  • Iyagi: Iyagi (for DOS) + English (sans|serif) + (Nerd Font)
  • Dkby: Dokkaebi Hangul + English (sans|serif) + (Nerd Font)
  • Sans (the common gothic of the time) + English sans + (Nerd Font)
  • Serif (the common myeongjo of the time) + English serif + (Nerd Font)

Other free fonts

Other fonts

iA-Fonts
Free variable writing fonts from iA
https://github.com/iaolo/iA-Fonts
iA Fonts - fonts that feel somewhere between monospace and proportional | GeekNews
Pretendard
https://github.com/orioncactus/pretendard
https://cactus.tistory.com/306
Pretendard - a Korean font alternative to system-ui that works on any platform | GeekNews
Gorton
Gorton, the most used font in Manhattan | GeekNews
The hardest working font in Manhattan – Aresluna
A font with a retro feel
Geist Pixel
A bitmap-style typeface based on a pixel grid, built on the foundation of Geist Sans/Mono, with a precise and deliberate digital feel
Geist Pixel can be downloaded from the Vercel Font page
Vercel releases the Geist Pixel font | GeekNews
5x5 Pixel font for tiny screens
5x5 pixel font for small screens | GeekNews
5x5 Pixel font for tiny screens (Maurycy's blog)
Nanofont3x4
Nanofont3x4: the smallest 3x4 font with lowercase support | GeekNews
Github - Michaelangel007/nanofont3x4
Geist Pixel
Vercel releases the Geist Pixel font | GeekNews
Introducing Geist Pixel - Vercel
iA Fonts
iA Fonts - fonts that feel somewhere between monospace and proportional | GeekNews
Github iaolo/iA-Fonts
MonoLisa
MonoLisa - a monospace font for developers | GeekNews
MonoLisa - font follows function
Datatype
A variable font that turns text into charts
Datatype - a variable font that turns text into charts | GeekNews
Github - franktisellano/datatype

Favorite site

Guide

Articles

Free Font

Online Tools

Design

References


  1. NanumGothicCoding-2.0.zip ↩

author Zer0 sitemap