For folks who missed yesterday's refterm stream - refterm v2 now handles splatting large binary files, VT code text decoration, massive line lengths (1gb in the demo), glyph size correction, and more:https://www.youtube.com/watch?v=99dKzubvpKE …
-
-
Replying to @cmuratori
In the video, you mentioned looking for a C library that does grapheme clustering. utf8proc is a C library with a simple API for finding grapheme cluster breaks: https://juliastrings.github.io/utf8proc/doc/utf8proc_8h.html#aae83bdcabf3a97c1046c0700ba353640 …
1 reply 0 retweets 1 like -
Replying to @kssreeram
I had tried utf8proc, because someone else recommended it. Unfortunately it doesn't seem to actually produce extended grapheme boundaries, only smaller ones? Maybe there are ways to use it better than I did, but it did not seem to produce the information I actually needed.
1 reply 0 retweets 1 like -
Replying to @cmuratori @kssreeram
Here's a ~200 line extended grapheme cluster break finder I use in my editors. Haven't abused it, but I believe it's complete - you can see the Unicode spec transpiled from English to C.https://gist.github.com/MarkMendell/e854207bedcf34145197cd12fd0003c3 …
2 replies 1 retweet 4 likes -
Replying to @mark_dev_ @kssreeram
Thank you very much for the pointer! I will take a look.
1 reply 0 retweets 1 like -
Replying to @cmuratori @mark_dev_
Are you using EGCs as the unit for caching glyphs? If so, that might be the real problem. To render many scripts correctly, EGC to glyph mapping must be treated as a many-to-many mapping (called “shaping”). EGC code like utf8proc won’t do that. But Uniscribe presumably does.
2 replies 0 retweets 1 like
Yes - that is the point here. In order to cache finished cells you must first determine what the combination of glyphs will be for that cell, which (sometimes) requires combining multiple glyphs. So you cannot use a basic grapheme cluster. You must use extended clusters.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.