Extensions File Specification

RoboFont extensions are folders acting like files *.roboFontExt.

File Structure

info.plist

Info.plist is a XML property list. see A DTD is available.

key value
addToMenu list
A list of menu descriptions that should be added to the extension menu, see Menu Item Description.
required
developer string
Name of the developer.
required
developerURL string
Site url of the developer.
required
html integer
Indicating it has a html folder. zero, 0 is False, one, 1 is True. index.html is required if set to True.
not required
launchAtStartUp integer
Indicating it should execute code during start up of RoboFont. zero, 0 is False, one, 1 os True.
required
mainScript string
*.py filename path (relative to the lib folder) executed during start up of RoboFont.
can be an empty string
required
name string
The name of the extensions.
required
timeStamp float
required
version string
Version number of the extension.
required
requiresVersionMajor string
The required major number of RoboFont. To help extension builders which aren’t supporting older versions of RoboFont.
not required
requiresVersionMinor string
The required minor number of RoboFont. To help extension builders which aren’t supporting older versions of RoboFont.
not required

The info.plist can have custom keys if necessary for the extension. It is advised to use reverse domain name as keys (com.example.myExtension).

lib

A folder containing all the *.py script. If a developer prefers to send out only *.pyc files that should be possible but take note that the file should be made with python 2.7 (the build in python version)

This folder will be added to the sys.path so it can import all the other files and folders as modules.

html

An ‘html’ folder is not required. If such a folder is declared in the info.plist it should contain an ‘index.html’. These is plain html that is rendered in the help window with WebKit.

resources

Any additional file necessary for your extension. Commonly used for bitmap, *.png to build tool bar icons, cursors. Or additional compiled command-line tools.