mirror of
https://github.com/bitsycore/skiko.git
synced 2026-10-05 14:37:26 +00:00
New API:
```kotlin
fun TypefaceFontProvider.createAsFallbackProvider(): TypefaceFontProvider
fun FontMgr.defaultWithFallbackFontProvider(fallback: TypefaceFontProvider): FontMgr
```
Usage:
```kotlin
val fontCollection = FontCollection()
val notoEmojiTypeface = Typeface.makeFromData(Data.makeFromBytes(notoEmojisBytes))
val fallbackProvider = TypefaceFontProvider.createAsFallbackProvider().apply {
registerTypeface(notoEmojiTypeface)
}
fontCollection.setDefaultFontManager(FontMgr.defaultWithFallbackFontProvider(fallbackProvider))
```
<img width="400" alt="Screenshot 2024-06-07 at 14 48 28"
src="https://github.com/JetBrains/skiko/assets/7372778/76dc1330-d8e2-4be7-ad92-68214b058b4f">
Skia multiplatform samples
run iOS with Xcode
- Install xcodegen
- run
xcodegen - run
open SkikoSample.xcodeproj
run iOS with debug in AppCode
- If you need to debug skiko sources without publish to maven local, then set a gradle property
skiko.composite.build=1(see gradle.properties) - Install KMM plugin for AppCode
- In AppCode open samples/SkiaMultiplatformSample (File -> Open).
Choose "Open as Project".

- Set target device and Run

- Now you may use breakpoints in common and native Kotlin code
run on browser:
./gradlew jsBrowserRun
run desktop awt:
./gradlew runAwt
run desktop on native MacOS
./gradlew runNative