Extension to build alternate glyphs

  • I built a little extension to generate alternate versions (case, sinf, smcp, etc) of glyphs already defined in the current font. The new glyphs have a component of the selected glyph(s). Size and position of the component as well as mark-color and Suffix of the new glyphs can be set. There is an option to decompose and overwrite.

    ISSUE: As far as I can tell everything works fine when the font collection is set to "All Glyphs" but does not really work when a "sub-set" is active.

    I am happy for every advice, improvement or critique so please let me know.

    here is the link to the extension:

  • hi frederik,
    thanks again for this and all the other replies!

    I did some minor changes (like printing a better report in the output window).
    The latest version can be found here:

    thanks, jo

  • admin

    Just as a general question: are there any extension building guidelines (for design or behavior)?

    No there is no actual guideline, but it would be nice if the UI would follow a bit the Human Interface Guidelines

    see https://developer.apple.com/library/mac/#documentation/userexperience/Conceptual/AppleHIGuidelines/Intro/Intro.html

    Shouldn’t “Copy metrics” be active by default only if the glyph is empty?

    Yeah, good catch, this behavior is already adjusted in the beta versions and will be available in the next release.


  • hey,
    thanks a lot for the input!
    I added a check for CurrentFont() is not None.
    Also changed the color conversion.

    About the closing window behavior:
    I added and removed the close function a few times but I guess it is a question how the extension is used.
    Personally i am happy about every click / mouse movement / typing i can avoid.
    In this case I don’t really need the window anymore after the new glyphs are built.
    So why not close it automatically instead of clicking once more to close it.
    I commented it out in the latest version:

    Just as a general question: are there any extension building guidelines (for design or behavior)?

    Maybe a bit off-topic but somehow related:
    In the "Add component" window the "copy metrics" is active if there is at least one outline in the glyph but turned off if there is a component. Shouldn’t "Copy metrics" be active by default only if the glyph is empty?

  • admin

    great extension!

    In the next version the same behavior will be added hen a glyph is added with a script as when the glyph is being added with "Add Glyphs" through the menu.

    Why is the window closing after click "Build new glyphs"?
    and check if the CurrentFont() is not None :)

    you can also use the build in color conversions:

    from AppKit import NSColor
    from lib.tools.misc import rgbaToNSColor, NSColorToRgba
    nsColorObject = NSColor.redColor()
    print NSColorToRgba(nsColorObject)
    print rgbaToNSColor((0, 1, 0, .5))

    (I know, I have to document the public internal objects)