compose by day, ktor by night 🦉
learning 日本語 🎌
21y/o muslim from morocco 🇲🇦
building thingies at skaldebane.dev 💙
free palestine 🇵🇸🕊
I'm not very familiar with the way atproto works, maybe it's a dumb idea, but couldn't there possibly be a middle-ground?
I'm not very familiar with the way atproto works, maybe it's a dumb idea, but couldn't there possibly be a middle-ground?
love the concept though!
love the concept though!
it's right on time as i wanna do fundamental changes in user flow. stuff like automatically scanning font families from storage, a synced font library, etc... but i'm getting way ahead of myself for a small side project 😅
it's right on time as i wanna do fundamental changes in user flow. stuff like automatically scanning font families from storage, a synced font library, etc... but i'm getting way ahead of myself for a small side project 😅
there will be new big features; it's gonna be better for me to work on; it'll soon be published on more platforms... but at the end of the day, users will still be mostly seeing these as small, incremental (& overdue) improvements
there will be new big features; it's gonna be better for me to work on; it'll soon be published on more platforms... but at the end of the day, users will still be mostly seeing these as small, incremental (& overdue) improvements
I'm hoping to post more technical content like this in the future, and I'll be sharing more of what I find interesting along the way.
I'm hoping to post more technical content like this in the future, and I'll be sharing more of what I find interesting along the way.
1. The keen-eyed of you might've noticed that I used the ByteArray-based API, with a random Uuid as its identity, instead of the simpler File-based API. This is to work around a Compose Multiplatform font caching issue affecting font variations: youtrack.jetbrains.com/issue/CMP-8983
1. The keen-eyed of you might've noticed that I used the ByteArray-based API, with a random Uuid as its identity, instead of the simpler File-based API. This is to work around a Compose Multiplatform font caching issue affecting font variations: youtrack.jetbrains.com/issue/CMP-8983
As they're only supported on SDK 26 (Android 8) and later, I may include a WebView fallback, disable VF features, or something else for older versions.
As they're only supported on SDK 26 (Android 8) and later, I may include a WebView fallback, disable VF features, or something else for older versions.
More on that in my last post: bsky.app/profile/ska...
More on that in my last post: bsky.app/profile/ska...
I use a bit of Rust code to read the metadata out of these font files, using Gobley (UniFFI) to interop with it and bundle it as a shared library.
For Files, it's as easy as passing the path to the Rust side.
I use a bit of Rust code to read the metadata out of these font files, using Gobley (UniFFI) to interop with it and bundle it as a shared library.
For Files, it's as easy as passing the path to the Rust side.
The only solution I've found thus far is to open an input stream from the Uri, write it to a temporary File, create a Font out of it, then immediately delete it.²
The only solution I've found thus far is to open an input stream from the Uri, write it to a temporary File, create a Font out of it, then immediately delete it.²