Skip to content

Character-set planning

Basic Latin character-set planning: turn a font idea into a release

Plan all 95 printable Basic Latin characters, sequence the drawing work, use Typelure release goals, and know when English or Western European coverage needs more.

By Typelure Editorial 7 min read

A character set is a product promise. Saying that a font supports Basic Latin should mean more than having A through Z: users also need lowercase, figures, spacing, punctuation, and the symbols that ordinary text and interfaces call for.

Planning the repertoire before drawing prevents two common endings—a beautiful alphabet that cannot set a sentence, or hundreds of empty slots added without a visual system. Typelure’s release goals separate mappings, outlines, metrics, proof coverage, and ship checks so the work can expand in a deliberate order.

1

SPACE

26

A–Z

26

a–z

10

0–9

32

Punctuation

Typelure workflow schematic. Use it as a diagnostic model; judge the actual outlines and exported files in context.

1. Define the text your first release promises to set

Start with use, not a block name. A logo alphabet, an uppercase poster face, everyday English copy, and Western European text are different releases. Write sample text from the actual product, publication, or audience and inventory every character it contains.

Typelure offers four practical goals. Prototype a direction uses eight control characters. Ship an uppercase display font adds figures and printable punctuation around A–Z. Cover everyday English text uses all 95 printable ASCII characters. Cover Western European text extends that set through Latin-1 Supplement, Latin Extended-A, and selected typographic punctuation.

Typelure release goals
GoalRequired charactersBest use
Prototype a direction8Test space, straight, round, diagonal, uppercase, and lowercase forms
Uppercase display69Headlines and labels that do not promise lowercase
Everyday English95Printable ASCII from U+0020 through U+007E
Western European327Printable ASCII plus U+00A0–U+017F and selected punctuation/currency

2. Count Basic Latin accurately

The Unicode Basic Latin block spans U+0000 through U+007F and includes control characters. Typelure’s Basic Latin recipe intentionally means the 95 printable ASCII positions from U+0020 SPACE through U+007E TILDE. That distinction keeps a release checklist focused on visible text rather than claiming every control code needs a drawn glyph.

The 95 positions comprise one space, 26 uppercase letters, 26 lowercase letters, 10 decimal digits, and 32 punctuation or symbol characters. U+0020 is the exception to the outline rule: it should stay blank while retaining a positive advance width.

Printable Basic Latin inventory
GroupRangeCountExamples
SpaceU+00201SPACE
Punctuation and symbolsU+0021–U+002F15! " # $ % & ' ( ) * + , - . /
DigitsU+0030–U+0039100–9
Punctuation and symbolsU+003A–U+00407: ; < = > ? @
UppercaseU+0041–U+005A26A–Z
Punctuation and symbolsU+005B–U+00606[ backslash ] ^ _ grave
LowercaseU+0061–U+007A26a–z
Punctuation and symbolsU+007B–U+007E4{ | } ~

3. Add the map once, then distinguish mapped from ready

Choose Cover everyday English text in the Completion cockpit and use Add glyph set to create every missing required mapping in one undoable action. This establishes the inventory; it does not draw the font. Newly added slots remain empty until you give them outlines and usable metrics.

The readiness view distinguishes a missing mapping from an empty glyph. A visible Basic Latin character is ready only when the project contains its Unicode mapping, a drawable outline, and a usable width. SPACE is ready when it is mapped, blank, and positively measured. A visible glyph named .notdef is also a release check even though it is not one of the 95 encoded positions; verify its final glyph order in the compiled file as part of external testing.

  • Add missing slots before production so omissions are visible early.
  • Treat the ready-glyph count as coverage, not a quality score for the drawing.
  • Keep Unicode assignments unique; two glyphs mapped to the same code point are a validation error.
  • Do not draw a visible box in SPACE; put the fallback box in .notdef instead.
  • Give punctuation and symbols the same review status as letters rather than leaving them for the export dialog.

4. Draw in structural families instead of Unicode order

Code-point order is useful for an inventory but inefficient for design. Establish the visual grammar with control forms, then expand to related edge and curve families. This lets each new glyph inherit tested proportions, stroke logic, curve tension, and spacing assumptions.

Typelure prioritizes foundational uppercase and lowercase forms before less diagnostic characters. Follow that signal, but keep the release use case in view: a numeric interface may justify moving figures earlier, while a title face may need punctuation before a full lowercase.

  1. 1

    Prove the skeleton

    Draw H, O, A, V, and T; proof HHOHOO and AVATAR.

  2. 2

    Prove lowercase rhythm

    Draw n and o, then a, e, s, r, h, p, d, u, c, g, and q; proof nnonn and Hamburgefontsiv.

  3. 3

    Complete letters by family

    Reuse tested stem, bowl, shoulder, and diagonal logic while preserving glyph-specific joins.

  4. 4

    Build figures as a set

    Compare 0, 1, and 8 first, then proof all ten digits in repeated and mixed sequences.

  5. 5

    Finish punctuation and symbols

    Group dots, commas, quotes, brackets, operators, and currency-like forms by construction.

5. Proof coverage in layers

An alphabet line confirms presence; it does not prove spacing or practical coverage. Use one proof for each failure mode: repeated controls for rhythm, complete group rows for omission, realistic text for texture, and punctuation-heavy strings for the characters readers notice only when they fail.

The Outline proof flags missing characters in the current text. That is a fast way to test a real interface label or paragraph against the project, but it remains a local proof: the readiness goal is what tracks the complete promised repertoire.

  • Controls: HHOHOO AVATAR / nnonn Hamburgefontsiv
  • Uppercase: ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • Lowercase: abcdefghijklmnopqrstuvwxyz
  • Figures: 0123456789 00 11 88 12:34 99.9%
  • Punctuation: ! " # $ % & ' ( ) * + , - . / : ; < = > ? @
  • Remaining symbols: [ backslash ] ^ _ grave { | } ~
  • Sentence: Sphinx of black quartz, judge my vow!

6. Know what Basic Latin leaves outside the release

Printable Basic Latin can set plain English, but it does not include curly quotation marks, en and em dashes, ellipsis, nonbreaking space, the euro sign, or accented letters. If the intended text uses those characters, either document the smaller coverage honestly or choose the Western European goal and finish its additional forms.

Use the Unicode block chart as the mapping reference and the OpenType character-map specification when you need the file-level details. Neither standard replaces proofing the actual language and punctuation your release claims to support.

  • Confirm the release goal matches real sample text from the intended audience.
  • Complete all 95 mappings, including SPACE and every punctuation slot.
  • Draw and measure every visible required character.
  • Proof groups, words, figures, punctuation, and mixed sentences.
  • List unsupported characters in release notes instead of implying broader language coverage.
  • Move to Western European only when you are prepared to proof its accents and nondecomposable letters as carefully as Basic Latin.

Frequently asked questions

Why does Typelure call the recipe 95 characters when Basic Latin has 128 code points?

The Unicode block includes 33 control positions. Typelure’s practical recipe covers the 95 printable positions from U+0020 through U+007E, which are the mappings needed for printable ASCII text.

Does an empty glyph slot count as coverage?

It counts as a mapping, not as a ready visible character. Typelure tracks missing mappings separately from empty outlines so adding the set cannot be mistaken for completing it.

Is Basic Latin enough for an English font?

It can cover plain printable ASCII, but polished English typography commonly uses characters outside it, including curly quotes, en and em dashes, and ellipsis. Define the promise from actual text rather than the block label alone.

Primary references

These references support the standards and file-format details in this guide. Typelure-specific behavior is described from the current product implementation and is dated above.