411 REFERENCE · Wikibooks
FontLab/Scripting
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
FontLab
About
This chapter is about making and using Python macros within FontLab and FontLab Studio, the Font creation tools from FontLab.
Goals
The aim is to support two learning paths:
To give non-programming font designers a complete and efficient tutorial to get useful scripting work done.
To give programmers, who are not font designers, an efficient tour of the APIs so they can write scripts for a font designer.
"Efficient" covers several points:
That all the materials needed are in one place, so the reader doesn't have to trawl for fragmented info (i.e. it's done here once for everybody)
That the material is presented in the appropriate sequence to achieve a given purpose. (need to collate a list of tutorial examples)
Compatibility between versions of FontLab, Python and OS's are given, so a working combination can be assembled in every case.
Application configuration (options, modes) necessary for each task are included, either for manual setup or as part of the scripting.
About the Draft Outline
Please add comments on goals, sequence, content and structure.
This contents outline is a flat text for now, so we can just throw stuff in. Items will find their place as the content shapes up.
When the outline has stopped morphing and is stable, a chapter hierarchy will be created out of it (e.g. FontLab/Scripting/sub-chaptername/sub-sub-chaptername). The tree will be stable when any new page you can think of has a natural and obvious place in the hierarchy.
Place comments in italics to distinguish them from actual content.
Bullets are used instead of numbered points to make structure shuffling easy.
Outline Contents
FontLab & Python version compatibility
Macro Setup 25% Jul 18, 2006
Creating Macros
Using Macros
System Macros
Tal Leming's Script browser
Python Language
The Python home page
Wikibook Programming:Python
List of pages with Python programs
FontLab API
The Unofficial FontLab 4.5 Python reference
RoboFab API
RoboFab Home Page
The LettError RoboFab Wiki and Feedback page
General Macros
Application Configuration
Process standardization
Font Import
Editing Environment
Font Generation
Font Validation
FontFont's FontQA framework
Family Generation
Specialized Macros
Ben Kiel's RoboFab Macros and Article
Erik van Blokland's Superpolator
Adam Twardoch's FontLab on steroids starter pack.
Glyph Transfer
Scripted transfer between VFBs
Transfer via XML
TTX
UFO
ftxdumperfuser
Glyph Statistics
External Resources
The FontLab Scripting mail list and archive
FontLab Studio 5 Windows & Mac mailing lists.
Categorization note
Suggest this goes in the Computer Software/Software Guides/ bookshelf as it is about scripting within a specific application. The scripting language used is Python, so arguably it is a sub-specialization of Python, but against that is the fact that Python is being used to call the application-specific font APIs in FontLab and RoboFab. These make it a font-specific dialect of Python. It could be placed in Language guides as its own category (Font Processing), or in Domain-specific languages, though this is stretching it as it uses pure Python. However, most people other than font designers would not choose this context to learn pure Python, so its not just Python. The categorization options would appear to be:
Computer Software/Software Guides/FontLab Scripting
Domain-specific languages/Font Processing/FontLab Scripting
Programming Languages/FontLab Scripting
Another option which has now been done, is to roll this book into a larger one about FontLab in general. i.e. /FontLab/Scripting/
This makes the category choice simple. i.e. Computer Software/Software Guides/FontLab