GSApplication
¶
The mothership. Everything starts here.
print(App)
<EditGlyphData.app>
- class GSApplication¶
open
()clearLog
()Properties
- currentDocument¶
The active
GSDocument
object or None.- Type:
# topmost open document document = Glyphs.currentDocument
- documents¶
An array of open
GSDocument
objects.- Type:
list
- defaults¶
A dict like object for storing preferences. You can get and set key-value pairs.
Please be careful with your keys. Use a prefix that uses the reverse domain name. e.g. “com.MyName.foo.bar”.
# Check for whether or not a preference exists, because has_key() doesn't work in this PyObjC-brigde if App.defaults["com.MyName.foo.bar"] is None: # do stuff # Get and set values value = App.defaults["com.MyName.foo.bar"] App.defaults["com.MyName.foo.bar"] = newValue # Remove value # This will restore the default value del(App.defaults["com.MyName.foo.bar"])
- versionString¶
String containing EditGlyphData.app’s version number. May contain letters also, like ‘2.3b’. To check for a specific version, use
versionNumber
.- Type:
string
- versionNumber¶
EditGlyphData.app’s version number. Use this to check for version in your code.
- Type:
float
- buildNumber¶
EditGlyphData.app’s build number.
Especially if you’re using preview builds, this number may be more important to you than the version number. The build number increases with every released build and is the most significant evidence of new EditGlyphData versions, while the version number is set arbitrarily and stays the same until the next stable release.
- Type:
int
Add menu items to EditGlyphDatas main menus.
Following constants for accessing the menus are defined:
APP_MENU
,FILE_MENU
,EDIT_MENU
,GLYPH_MENU
,PATH_MENU
,FILTER_MENU
,VIEW_MENU
,SCRIPT_MENU
,WINDOW_MENU
,HELP_MENU
def doStuff(sender): # do stuff newMenuItem = NSMenuItem('My menu title', doStuff) Glyphs.menu[EDIT_MENU].append(newMenuItem)
Functions
- open(path[, showInterface=True])¶
Opens a document
- Parameters:
path (str) – The path where the document is located.
showInterface (bool) – If a document window should be opened. Default: True
- Returns:
The opened document object or None.
- Return type:
- showMacroWindow()¶
Opens the macro window
- clearLog()¶
Deletes the content of the console in the macro window
- showNotification(title, message)¶
Shows the user a notification in Mac’s Notification Center.
App.showNotification('Export fonts', 'The export of the fonts was successful.')
GSDocument
¶
The document class
- class GSDocument¶
Properties
- infos¶
An array of
GSGlyphInfo
objects.doc.infos[index] doc.infos[name] for info in Font.infos: ...
- Type:
list
- fileVersion¶
The file version
- Type:
int
- selectedInfos¶
A list of all selected info objects
- Type:
list
GSGlyphInfo
¶
This contains valuable information from the glyph database.
- class GSGlyphInfo¶
info = GSGlyphInfo() info.name = "myGlyphName"
Properties
- name¶
Human-readable name (“nice name”).
- Type:
str
- productionName¶
Production name. Will return a value only if production name differs from nice name, otherwise None.
- Type:
str
- category¶
This is mostly from the UnicodeData.txt file from unicode.org. Some corrections have been made (Accents, …) e.g: “Letter”, “Number”, “Punctuation”, “Mark”, “Separator”, “Symbol” or “Other”
- Type:
str
- subCategory¶
The subCategory of the glyph. e.g. ‘Currency’, ‘Math’
- Type:
str
- decompose¶
This glyph may be composed of the glyphs returned as a list of
GSGlyphInfo
objects.- Type:
list
- marks¶
This glyph may be combined with these accents, returned as a list of glyph names.
- Type:
list
- anchors¶
Anchors defined for this glyph, as a list of anchor names.
- Type:
list
- unicode¶
the first Unicode value. READ ONLY
- Type:
str
- unicodes¶
a unicodes values
- Type:
list
- unicodeLegacy¶
a unicode that is only stored for historic reasons and should not be used any more
- Type:
str
- script¶
Script of glyph, e.g: “latin”, “cyrillic”, “greek”.
- Type:
str
- case¶
e.g: GSUppercase, GSLowercase, GSSmallcaps, GSMinor, GSNoCase
- Type:
int
- index¶
index of glyph in database. Used for sorting in UI.
- Type:
str
- sortName¶
Alternative name of glyph used for sorting in UI.
- Type:
str
- sortNameKeep¶
Alternative name of glyph used for sorting in UI, when using ‘Keep Alternates Next to Base Glyph’ from Font Info.
- Type:
str
- desc¶
Unicode description of glyph.
- Type:
str
- altNames¶
Alternative names for glyphs that are not used, but should be recognized (e.g., for conversion to nice names).
- Type:
str
- direction¶
Writing direction.
- Type:
integer
glyph.direction = GSRTL
Functions
- generateUniName()¶
- sets the produciton name from the unicode
- mirror¶
The corresponding unicode of the glyph that is used when in RLT
- Type:
str
- deprecated¶
If that info is deprecated
- Type:
bool
- GetSaveFile(message=None, proposedFileName=None, filetypes=None)¶
Opens a file chooser dialog.
- Parameters:
message –
filetypes –
proposedFileName –
- Returns:
The selected file or None
- Return type:
str
- GetOpenFile(message=None, allowsMultipleSelection=False, filetypes=None)¶
Opens a file chooser dialog.
- Parameters:
message – A message string.
allowsMultipleSelection – Boolean, True if user can select more than one file
filetypes – list of strings indicating the filetypes, e.g., [“gif”, “pdf”]
path – The initial directory path
- Returns:
The selected file or a list of file names or None
- Return type:
str or list
- GetFolder(message=None, allowsMultipleSelection=False)¶
Opens a folder chooser dialog.
- Parameters:
message –
allowsMultipleSelection –
path –
- Returns:
The selected folder or None
- Return type:
str
- Message(title, message, OKButton=None)¶
Shows an alert panel.
- Parameters:
title –
message –
OKButton –
- LogToConsole(message)¶
Write a message to the Mac’s Console.app for debugging.
- Parameters:
message –
- LogError(message)¶
Log an error message and write it to the Macro window’s output (in red).
- Parameters:
message –
Writing Directions¶
The writing directions of the Edit View.
- GSBIDI¶
for characters that follow the main writing direction (like punctuation)
- GSLTR¶
Left to Right (e.g. Latin)
- GSRTL¶
Right to Left (e.g. Arabic, Hebrew)
- GSVertical¶
Top to Bottom, Right to Left (e.g. Chinese, Japanese, Korean)
- GSVerticalToRight¶
Top to Bottom, Left to Right (e.g. Mongolian)