I'd like to shift composite glyphs in MM layers, with specific values for each layer. Set the marging in glyphs with components with are in a FontLab MM.
I've been trying and couldn't get it working.
glyph.Shift doesn't work with composites, I couldn't find a way with components.deltas either.
(probably I'm doing something wrong, FontLab API is a bit cryptic to me, It can't be that hard set sidebearings : )

In the thread, a question was raised that can be reformulated as follows: "how can one build the latin small letter alpha?", which is uni0251 (in the IPA extensions). Even with a serif font, its lower part appears to be that of a d and its upper part that of a q. My question here is how to do that programmatically.

Diner's picture

Robofab in Glyphs and Python 2.7

Hey All,

I've been having trouble getting Robofab to work in Glyphs and even after installing it fresh from the latest source, I don't actually see a Python 2.7 folder in my Library, only 2.3 - 2.6 . . .

I suspect this conversation has already taken place somewhere on the forums but darned if I can find it . . . Any direction is appreciated!

Thanks in advance all,

writlarge's picture

Failed Font Experiment

I recently completed a failed font experiment, and, although I don't know if it's of any interest to anyone, I thought I'd share it anyway. If my wasted time fuels someone else's creative endeavors, then it wasn't entirely wasted.

The concept was weighting glyphs in a font based on their frequency of use in a given text canon. So, for example, my plan was to have a Shakespeare version of the font, a Brontë version of the font, etc. The less frequently a character is used in the canon, the darker the character would be in the font.

In any case, a more detailed writeup that includes python scripts and examples can be read here.

I'm trying to write a simple python script that acts on the glyphs that the user has selected in the FontLab font window:

I'm especially interested in the glyphs (or maybe more accurately "glyph slots") that are in the encoding but are un-filled.

So far I've tried two things:

# 1 - glyph slots
selectedSlots = fl.count_selected
print "Number of selected glyph slots:", selectedSlots

# 2 - selected glyph names
selectedNames = [ fl.font.glyphs[i].name for i in range(len(fl.font.glyphs)) if fl.Selected(i) ]
print "List of selected glyph names:", selectedNames

This is basically a question of, "What do you wish could be automated in font production?"

DotlessHyphen's picture

Python script

Need help to write a simple Python script. Leave your e-mail and I will contact you off list.

Simplepolator allows you to interpolate compatible glyphs in the same font, without leaving FontLab nor interrupting your workflow.

Simply select two compatible glyphs and run the macro:
Five new glyphs will be automatically created, allowing you to choose the best variation.
Making it super-easy to apply the Gunnlaugur SE Briem's method on "How to make mistakes.

A quick video showing how to use it:


Hi everybody, I have a question. I know I can replace glyphs in the same OpenType font.

However, is it possible to replace glyphs in one OpenType font to glyphs from another OpenType font. Is there a python script available for that? Or is there some other way to achieve that? Thank you in advance.

Hi all,
First off, I have zero experience with coding and syntax for proper output.

I have just finished a typeface with the usual ligatures (fl, fi, ffl, ffi, even st & ct) and I want to make the ligatures automatic instead of being forced to navigate to the glyphs palette and manually apply ligatures.

I know the answer is in Robofab or Python but I do not have any experience with them and can't find a decent walk-through in the context of type design, specifically ligatures (since Python does all sorts of applications, type design being one).

Is there not a standard snippet of code that applies to all typefaces that automates the ligatures? "when U+0066 & U+0066 appear consecutively with U+FB00"?
I presume not.

Also, I use Fontographer 5.

Thanks in advance.

I´m working on my first typeface. It is supposed to look as if cut out of paper. In order to improve the "handmade" look, I designed several glyphs for each charakter. (You can see it on the example .png I uploaded. I searched a few days but didn´t find an answer to my question: is there a script that makes the font choose different glyphs for each charakter incidentally?
Until now, I have to pick every alternative glyph in the glyphs window in indesign, which is too time consuming, of course.
Any suggestions? If somebody doesn´t know the answer but knows where I could improve my knowledge about open type and python in general, this might help, too.
Thank you!

Hello there:

As there is nothing like Prepolator for PC....
I'm thinking of some kind of basic script to help PC users to prepare fonts for "mask to master" interpolation.

Nothing too complex, maybe something simple like this:

For each glyph in the current open font:
- Count number of points
- Count number of contours
- Save list as .txt file, or just output somewhere that can be copied and pasted.

So, we can run the script in 2 fonts, open the list in excel & quickly find the glyphs that needs more tunning to be compatible.
Can this be done? Where do I star looking for info to code this?

Thanks in advance.

Hello everyone,

we made a script for automatic font family naming in FontLab and I want to share with you.

DotlessHyphen's picture

Need a simple Python script

Can anyone help (urgent) writing a simple Python script for Font Lab?
Please contact off list at:

Urgent help appreciated

I just successfully installed the AFDKO command-line tools on Mac OS X as I've just tested runnin gthe "autohint -h" line and it gives me plenty of Help information… but I'm having problems when trying to install the FontLab macros.

I've followed the guide step by step here


and I don't actually get any error in the Terminal window it's just nothing actually happens. This is what I get when following the 1-8 steps for installing the FontLab macros:

Last login: Tue Jul 6 14:51:49 on ttys002
mike-jarboes-macbook-pro:~ Reserves$ cd

Michel Boyer's picture

Python and codepoints above FFFF

Here is a Python script that dumps to the output a utf-8 input file. The script works fine on Linux but if the input contains characters above U+FFFF it does not behave as expected on the Mac with whatever version of Python I use (I tried with Python 2.5, and 2.6 on OS X 10.5, and with Python 2.5, 2.6 and 3.1 on OS X 10.6).

Having a problem with the default 3d Extrude script in fontlab. IT generate the shadow a little bit offset witch make it look missdesign. I'm sure it was report many time. But is somebody have a better python script or a workaround ?

Hey, I was wondering if anyone could help me with a python script. I'm making a script font, and would like to substitute out the final glyph in each word (with one that has a finishing flourish).

I remember seeing something like that here before, but I can't find it now :(

Hi, everybody...

I mixed two good things: first, the fabulous Interpolate Nudge module from Christian Robertson and by the other hand, DialogKit from Tal Leming, the result is a very simple tool that for me is very useful. I share this with you, maybe it could be useful for someone else... Please, feel free to use it!

Interpolate Nudge ->
Robofab ->
(I've only tested it on FontLab 5.0.4 / OSX)

No warranty
The script is provided as is (Free and without warranties, support, etc...)

Donwload the last version from:

Syndicate content Syndicate content