skyjake boosted

Ariane 4 is now in Beta so feel free to raise bugs: oppen.digital/software/ariane4 Hopefully it's retained everything people found useful from the previous versions but now it's got a much more solid foundation to build upon. Still lots to do, this is definitely still Beta software so be kind (well, be kind anyway hyper-critical people...) #gemini

Support for bidi text and complex scripts has landed in the dev branch.

I had to make a few more fixes for actual bidi typesetting (direction changes inside the paragraph), but it's starting to look acceptable now.

There was a final wrinkle where HarfBuzz wasn't detecting the script correctly, leading to some Arabic glyphs being wrong. It remains to be seen whether this is a problem with other complex scripts as well.

Show thread

The BiDi quest continues.

I now have the ability to wrap an entire paragraph in one go while also having FriBidi tell me the directions.

My initial attempt is going badly. Wrapping the entire paragraph in visual order means that the first wrapped line covers the end of the paragraph.

Back to the drawing board… Seems like wrapping needs to be done in logical order and only the drawing in visual order.

Show thread

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

@jazei@libertalia.world Yes for Gemini, and also for any other text viewed inside Lagrange.

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
skyjake boosted

Call for smolZINE Contributions 

Would like to get some cool gemini capsule recommendations, short essays, poetry, or whatever you feel like contributing to the smolZINE. I can fill out each issue on my own but having more diverse perspectives will make it more interesting for everyone I think. If you're interested contact me ( smolzine [at] cyberbot.space ).

Boosts appreciated.

@kensanata Nice, I've given you full translator access rights to the Weblate.

is now available as an official Homebrew cask on macOS. 🍺🎉

This is by far the most convenient way to keep the app updated on your Mac.

Fancy a custom UI theme? 😎

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

@tomasino Test this one, please: media.skyjake.fi/textbuf-clear

Again applied on top of v1.5.2 with no other changes.

This doesn't use the dark green background, but if it works, should be a viable workaround as-is. The difference here is that uses an explicit fill to clear the texture, the alpha isn't zero, and also ensures that the clip region isn't wrong.

Thanks for testing these, much appreciated!

@tomasino Very interesting. I’ll make another patch that tries to fill the buffer to green using a different technique.

@tomasino 🤔 Still can't reproduce this, but here's something to help diagnose further: media.skyjake.fi/textbuf-clear

Patch that onto v1.5.2.

It should look like the attached screenshot. Instead of the noise, you should always see a dark green background.

There is a new iOS TestFlight build with significant improvements: swipe navigation, opening files, and MP3 audio control. Many of the internal changes will be coming to the desktop in v1.6 as usual.

Gemlog post & change log:

gemini://skyjake.fi/gemlog/202
gmi.skyjake.fi/gemlog/2021-06_

v1.5.2 is available:

github.com/skyjake/lagrange/re

This patch contains various small tweaks:
- fixed importing certs via Ctrl/Cmd+V
- workaround for decomposited Unicode characters
- StartupWMClass in .desktop file
- recognize a couple new custom link icons
- more Smol Emoji

@tomasino Hmm maybe I should add some Easter egg animations into the URL bar 😎

You can see the SDL version by checking the package “libsdl2-2.0-0”. (It’s probably 2.0.10.)

@tomasino I’ll apply a workaround for 1.5.2 that’ll hopefully fix it for good. Haven’t been able to repro this, though.

Show older

skyjake's choices:

skyjake.fi

skyjake's personal Mastodon instance