_       _       
  (_) ___ | |_ ____
  | |/ _ \| __|_  /
  | | (_) | |_ / / 
 _/ |\___/ \__/___|

Final-year project: Font design automation tools

Project Title

Font design automation tools

Programme / year



To develop free software tools that assist designers in creating new typographical fonts.

Project Description

[max 200 words; Include motivation, significance, applications, etc.] Even using modern software tools, designing a new font is typically a slow process, in which a designer carefully crafts the glyph that represents each character in the font by drawing its exact outline in a vector graphics editor, such as Inkscape or Adobe Illustrator, or in a dedicated font editor such as FontForge. This process is typically repeated for every character in the font, including upper case letters, lower case letters, digits and punctuation marks. Depending on the intended use of the font, additional glyphs for accented characters may also be required. The objective of this project is to design intelligent software tools (programs and/or scripts) to assist in this process by automating steps in the process. For example, a useful facility would be to draw a single character by hand and then automatically generate a complete set of characters in the same style, which the designer could then tweak by hand. Another approach would be to generate a set of starter glyphs by supplying a set of typographical design parameters, such as stroke weight, stroke contrast, x-height, cap height, descender/ascender height, serif shape, etc. Used in conjunction with a set of skeleton letter forms, these parameters could be used to create a font with the general characteristics desired by the designer, which could subsequently be edited by hand. Another very important element in font design is the precise spacing between characters (known as kerning), which professional font designers spend a lot of time perfecting. An algorithmic approach could be used to calculate the required spacing between each pair of characters, guided by their exact glyph shapes.

Key Outcomes

[main milestones and sub-goals of the project; include learning outcomes and research areas]

Additional project information

[Additional project information you would like to include in the proposal (e.g. skills required, software or hardware focused, where the student would be located during the project, links to relevant websites/resources, etc.]

Is a particular major required?

No major option is required for this project.