“The computer is an invaluable tool in type design, offering precision and flexibility. However, the designer's eye and experience are irreplaceable; technology can only assist, not create.”
— Gerard Unger
This thesis is an exploration for new tools for typography that investigates how emerging (AI) technologies can contribute to the type design practice in a meaningful way. I created computational design experiments focusing on three areas: (A) design automation, (B) interfacing, and (C) creative exploration. A lot of care has been put in understanding the current scene through expert interviews, workshops, talks and surveys. With pose estimation, generative visual AI, and large language models that operate on text, I explore whether typographic shapes can be created and manipulated with different modes of expression, in a playful, intuitive and collaborative way.
← Toolkit
ChatGPT is an AI language model developed by OpenAI. It is based on the GPT (Generative Pretrained Transformer) architecture, specifically the GPT-4 version in this instance. ChatGPT is designed to generate human-like text based on the input it receives, making it useful for a wide range of applications such as answering questions, providing explanations, engaging in conversation, assisting with tasks, and more.
https://chatgpt.com/Automatic font generation based on deep learning has aroused a lot of interest in the last decade. However, only a few recently-reported approaches are capable of directly generating vector glyphs and their results are still far from satisfactory. In this paper, we propose a novel method, DeepVecFont, to effectively resolve this problem. Using our method, for the first time, visually-pleasing vector glyphs whose quality and compactness are both comparable to human-designed ones can be automatically generated. The key idea of our DeepVecFont is to adopt the techniques of image synthesis, sequence modeling and differentiable rasterization to exhaustively exploit the dual-modality information (i.e., raster images and vector outlines) of vector fonts.
https://yizhiwang96.github.io/deepvecfont_homepage/DrawBot is a powerful, free application for MacOSX that invites you to write simple Python scripts to generate two-dimensional graphics. The builtin graphics primitives support rectangles, ovals, (bezier) paths, polygons, text objects and transparency.
https://www.drawbot.com/index.htmlFontLab is an integrated font editor for Mac and Windows that helps you create fonts from start to finish, from a simple design to a complex project, and brings a spark of magic into type design.
https://www.fontlab.com/Shaders use OpenGL Shading Language (GLSL), a special OpenGL Shading Language with syntax similar to C. GLSL is executed directly by the graphics pipeline. There are several kinds of shaders, but two are commonly used to create graphics on the web: Vertex Shaders and Fragment (Pixel) Shaders. Vertex Shaders transform shape positions into 3D drawing coordinates. Fragment Shaders compute the renderings of a shape's colors and other attributes.
https://thebookofshaders.com/edit.phpGlyphs is a complete Mac font editor for pros & designers alike.
https://glyphsapp.com/As an asynchronous event-driven JavaScript runtime, Node.js is designed to build scalable network applications. In the following "hello world" example, many connections can be handled concurrently. Upon each connection, the callback is fired, but if there is no work to be done, Node.js will sleep.
https://nodejs.org/opentype.js is an OpenType and TrueType font parser and writer. It allows you to access the letterforms of text from the browser or node.js.
https://opentype.js.org/p5.js is a friendly tool for learning to code and make art. It is a free and open-source JavaScript library built by an inclusive, nurturing community. p5.js welcomes artists, designers, beginners, educators, and anyone else!
https://p5js.org/Processing is a flexible software sketchbook and a language for learning how to code. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. There are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning and prototyping.
https://processing.org/Written from scratch in Python with scalability in mind. A fully featured font editor with all the tools required for drawing typefaces.
https://robofont.com/three.js is a cross-browser JavaScript library and application programming interface (API) used to create and display animated 3D computer graphics in a web browser using WebGL.
https://threejs.org/The Web Speech API enables you to incorporate voice data into web apps. The Web Speech API has two parts: SpeechSynthesis (Text-to-Speech), and SpeechRecognition (Asynchronous Speech Recognition.)
https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API
← Bibliography