Check The GitHub Repository

Sugar Font Editor Activity

Kids Make Fonts

IRC Meeting 5, Python or JavaScript revisited


By Dave Crossland (GSoC Mentor)

Today Dave, Eli, and Yash met on Google Hangouts On Air, and the video is at and here:

The main topic of conversation was if we would indeed use Python to write a Sugar Desktop Activity, as I proposed in my Python or JavaScript? blog post. We are still undecided about this.

Last week this was the agenda:

Yash and Eli have been reading some of the things on the list, and both took a first attempt to make a mock UI with PyGTK. But both found it quite frustrating, and haven’t posted anything yet.

Meanwhile, over the last 8 weeks or so, there have been some exciting developments in the Glyphr Studio project. This project is a classical font editor, made in HTML/CSS/JS. The awesome UX designer-developer founder, Matt LaGrandeur, opened an issue announcing his intention to start a complete from-scratch rewrite, “Glyphr Studio 2,” at

Soon after, Matt and contributor Mateusz Zawartka started a “version 2 specifications” repo,, which I have been submitting comments to. This progressed into a UI framework repo for prototyping in,, and the current results can be played with here:

Coincidentally this topic was raised again in the [GSOC] Font Editor Next Steps thread, by the excellent Sugarizer founder and OLPC France member Lionel Laské. My reply noted that both Eli and Yash already have web development skills, and with sugar-web JS based activities can be distributed to Sugar Desktop users.

Since the development of JS font editor libraries now matches the level of the python libraries (eg, for sources defcon is comparable to ufoJS, and for binaries fontTools is comparable to OpenType.js) then I don’t see any strong reasons to prefer one technology or the other.

My main concern is about the performance of sugar-web apps, especially on XO-1s.

So Yash and Eli agreed to attempt to write an essential font editor widget (a glyph table) in both PyGTK3 and JS and then compare the experience, so we can make a decision based on his actual experience rather than a priori assumptions :)

I’m looking forward to trying the PyGTK widget out in the coming days :)