Hollin Wilkins's Avatar
Hollin Wilkins
Scriblz
hollinwilkins.com
Member since

Recent Activity

I have been working on a text layout engine to display rich text. I'm calling it Scripz, here is a big milestone for it:

See online demo here: https://hollinwilkins.com/scriblz/example.html
Source code here: https://codeberg.org/scriblz/scriblz/src/branch/main/scripz.h

  • Fully implemented Unicode Bidirectional Algorithm: https://unicode.org/reports/tr9/
    • This includes overrides and isolates (something kb_text_shape.h does not support out of the box)
    • Everything that kb_text_shape.h supports, as that is the shaping powering this layout engine
  • Font families + fallbacks
  • Font weight
  • Italics
  • Multi-language support (part of BIDI)
  • User-defined styling of text via userdata and tag hooks (see example for lots of different painting techniques when integrated with Scriblz)
  • Fast Reflow: shaping happens only when text content changes. When width changes, no shaping needs to happen, and you still get all of the bidirectional text layout features
  • Simple API: see attached code of the examples
View original message on Discord

&scriblz Update: Scriblz x Clay UI Demo

I've been adding in a bunch of examples to showcase Scriblz (https://codeberg.org/scriblz/scriblz) capabilities.
Here is an example that uses Clay (https://github.com/nicbarker/clay) as the UI layout library and Scriblz
as the rendering backend.

See an interactive browser demo here: https://hollinwilkins.com/scriblz/example.html?example=clay

It showcases some more interesting features like text layout, layer blending, gradients, and images.
Every pixel is rendered with Scriblz and its WebGPU backend.

For full disclosure: AI was used for CMake builds and the examples code. All code in scriblz.h and hw/ folder is my own handwritten

View original message on Discord