Skip to content

Instantly share code, notes, and snippets.

@drawcard
Last active July 3, 2017 11:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save drawcard/63747432a23976613df68937e3c37613 to your computer and use it in GitHub Desktop.
Save drawcard/63747432a23976613df68937e3c37613 to your computer and use it in GitHub Desktop.
Glyphs Font Design Process

Font Design Process - Glyphs

For drawing a complete sans-serif Latin Alphabet

Initial Setup

  • Preferences > Addons > Modules > Install Modules
  • Start with Regular font master
  • Font Info > Masters > Metrics: Set values for each of these (or use / slightly adjust the defaults)

General approach

  • Draw the Regular lowercase letters first, then draw the uppercase, numbers, punctuation, language support, ligatures, stylistic sets.
  • Don't do any major kerning or hinting until you have the basic Latin alphabet done.
  • Draw the Light / Bold / Heavy / Condensed / Extended versions after the Regular set is complete.
  • Draw Italic versions in a seperate file.

Drawing Basic Letter Shapes

Let's get the basic letterforms done first, and work out the height and width of common shapes.

Basic Shapes

I, H, O

  • Draw a capital /I as a simple rectangle.
  • From the /I you can create the basic /H form by duplicating the two stems and adding a third rectangular crossbar. The crossbar should be slightly thinner than the stems for visual correction.
  • To draw the uppercase /O you could either start with an ellipse, or a rectangle and smooth off the corners. I like to keep the size roughly in golden mean proportions. The /O should also peak slightly above and below the x-height for visual correction.
  • Take horizontal and vertical stem measurements and fill out the "H" and "O" fields in the Dimensions pallette.
  • Do some basic kerning of each letter - take the vertical stem width, divide by 2, and set the sidebearings with that value. Eg. for a thickness of 70, set sidebearings to 35 each side.

l, i, o, n

  • From the /I, draw a lowercase /l. If desired, scale the height a little more above the /I
  • From the lowercase /l, draw a lowercase /i
  • From the uppercase /O, draw a lowercase /o
  • Now copy the vertical stem of the /i and a portion of the /o to create the lowercase /n
  • Set basic kerning of each letter using the same method as above
  • Type out a few test words - onion, lion, oil - to see how the glyphs read and tweak accordingly

r, u, m, b, d, q, p, h, a

  • Quickly fashion a /r from a major portion of the /n.
  • From the /n, create a u by rotating the glyph around. Adjust for visual correction.
  • Duplicate the glyph shape for /n and form an /m. Adjust the shoulders slightly for visual correction.
  • Combine the /l and /o together to form a /b and then duplicate for /d, /q, /p, correcting ascender & descender height as well as bowl shape for colour and optics. It may also be a good idea to make a component glyph out of the bowl shape, to keep this consistent across the design.
  • From the /b, remove the bowl and copy the shoulder of the /n to form a /h.
  • A simple /a can be constructed from duplicating the /d and shortening the ascender. However it may be best to design a special two story version depending on aesthetics.

j, f, t

  • Duplicate the /i and extend the bottom terminal to form a /j. (For testing purposes, you may need to set negative kerning on the left sidebar to pull the letter inward)
  • The /f can be formed from the /j, if the /j has a curved tail.
  • The /t can then be formed from an inverted /f.

c, e, a (double story)

  • Both letters can be crafted from the /o. The terminals of the /c stretch out slightly for visual balance, and the general body of the /e can be built from it. Take care to ensure the crossbar of the /e is of a slightly thinner stroke.
  • The double story /a can be created by copy-pasting the shape of the /e, and rotating 180° counter clockwise.

x,

  • Draw two straight crossing lines to approximate an /x and use "Filter > Offset curves" to add weight to them. Reposition the outer nodes on each rectangle to align them on the baseline with the inner nodes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment