Speaking of Emoji, I just completed Unicode 8 for Smol Emoji. 20 new glyphs added.


I set up an F-Droid repository for the alpha/beta testing:


Configuring this was a bit of an adventure, but it seems to work now?

Currently it has the latest build (1.10a3) that you may already have installed. Let's see how well this works once I post a new build at some point.

Lagrange Meets a Green Robot


For now iOS is firmly in focus when it comes to mobile, but the Android port has also seen some progress.

It's wonderful that the Noto fonts are under SIL OFL.

Preparing these for the v1.8 release...

Some subscriptions are better without the web links. πŸ˜‰

Coming in v1.8.

Courier is such a classic font. This brings back strong memories of playing around with WordPerfect and an HP LaserJet on my parents' PC back in the early 90's. πŸ–¨

Show thread

Working on much more flexible fonts for v1.8. The previously hardcoded font library is now defined by a set of .fontpack files.

Use of platform-dependent text/font APIs (i.e., system fonts) is likely too much to include in this release, but now at least you'll be able to freely customize the UI and pages with any TTF fonts you have available.

Introducing bookmark folders and better popup menus in v1.7:


See the release announcement for all the details. Just uploaded v1.7.0 to git.skyjake.fi and GitHub, download while it's hot! πŸ”₯

A foggy September morning turned into a gorgeous sunny afternoon. My favorite time of the year to snap some pics.

A little teaser: in the upcoming v1.7, you can finally organize your bookmarks into folders.

Managed to get context menus working via NSMenu on macOS. It did need a minor tweak in SDL to make it realize the right mouse button has been released after the menu goes away.

Show thread

A first step toward multiple windows in : popup menus that live outside the main window.

On Mac/Windows it makes more sense to use native menus for this, but everywhere else a platform-agnostic method is needed, and this one is purely based on SDL-managed borderless windows.

This morning I was puzzled by all hostname lookups failing in Lagrange on my phone. Could it be an iOS beta thing? Maybe my router needs rebooting? But everything else works...?

After half an hour of troubleshooting I remembered I had been testing input widget changes the night before. πŸ€¦β€β™‚οΈ

There's been a little pause on this but I'm still working on my small Emoji font. Here's today's glyph: A turkey!


The Emoji test page in Lagrange shows full coverage up to Unicode 7. The turkey is part of Unicode 8 (about halfway done).

Note: Lagrange uses Noto Emoji/Symbol fonts as well.

It's a bit of a challenge to call FriBidi at the right time. I'll need to refactor the document layout somewhat so the text renderer has visibility to the full paragraph and can process it in one go. At the moment it's more of a line-based operation, which makes it more challenging to apply alignment (and justification).

Show thread

Looks like FriBidi is doing its thing!

(i.e., applying the Unicode Bidirectional Algorithm)

Still need to optimize the text handling a bit to avoid repeated processing of static strings, e.g., UI labels. Text selection is also a bit wonky over RTL runs...

HarfBuzz & FriBidi mean a big step forward in supporting complex scripts. The final big issue remaining is expanding the collection of available fonts.

Show thread

After a while it became evident that trying to write my own text shaping engine would be a monumental project of its own. And since HarfBuzz already exists, quite a waste a time...

So I've gradually been integrating HarfBuzz into Lagrange's text renderer. There are still a few issues with the current set of fonts not containing all combining glyphs.

Next step: FriBidi for dealing with RTL scripts.

Show thread

Fancy a custom UI theme? 😎

In v1.6, UI colors can be customized via a config file.

v1.5 is now available with several UI improvements.


- improved identity management
- multi-line text input
- query response length indicator
- animated sidebars and dialogs
- custom fallback font
- Gempub navigation

Show older

skyjake's choices:


skyjake's personal Mastodon instance