Files
Oleksandr Karpovich 45c1a7df47 Add API to configure the fallback fonts provider when all default methods return null (#935)
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">
2024-06-19 14:05:11 +02:00
..
2024-05-21 10:21:45 +02:00
2024-05-21 10:21:45 +02:00
2021-10-21 10:43:25 +03:00
2024-05-21 10:21:45 +02:00
2023-12-06 16:32:23 +01:00
2023-12-06 16:32:23 +01:00

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". import-build-gradle-project.png
  • Set target device and Run ios-run-in-appcode.png
  • 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