Apoorva Joshi
apoorvaj.io
Apoorva Joshi
@apoorvaj.io
Computer graphics, systems programming, general methods.

Staff graphics engineer at @unity.com. Formerly Playdead, NVIDIA, Microsoft.

apoorvaj.io

📍Copenhagen
i.e. the median Zig programmer is better than the median JS programmer.
October 1, 2025 at 10:40 PM
5. Papaya uses Harfbuzz and FreeType for high quality rendering.

6. Text rendering is done in a worker WASM thread. So it is async and faster than JS.

Text rendering is hard, and literally half of all commits to papaya.io so far. So please let me know when you find bugs! :)
August 15, 2025 at 10:31 PM
3. This is where @mikkomononen.bsky.social 's excellent Skribidi library came to the rescue. This might be the first WASM implementation of Skribidi in the wild. I was able to make some upstream contributions.

4. Papaya supports Arabic, Chinese-Japanese-Korean, Hebrew, Latin and 20 more scripts.
August 15, 2025 at 10:31 PM
Hey Mikko, it's basically impossible for me to find your email address anywhere. Any chance you could DM/email me? My email address is on my website.
July 6, 2025 at 6:00 PM
I'm using Skribidi for emoji, FreeType for everything else. :)
June 12, 2025 at 9:18 PM
Uh, bsky's image upscaling makes it look weird. But at native res, it's absolutely *chef kiss*
June 12, 2025 at 9:16 PM
If you've ever worked with font rendering, then you'll know that it's the most impressive to get the fonts looking good at low sizes, because then hinting comes into play, which is where FreeType shines over other simpler libraries.
June 12, 2025 at 8:51 PM