From ea875b751757e8debae41de47ef82da932846f08 Mon Sep 17 00:00:00 2001 From: soywiz Date: Wed, 17 Feb 2021 23:21:51 +0100 Subject: [PATCH] Korge 2.0.7.0 + optimized bunnymark + sprites10k + new text-metrics sample + gradle 6.8.2 --- gradle.properties | 30 +-- gradle/wrapper/gradle-wrapper.jar | Bin 58910 -> 59203 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 2 +- gradlew.bat | 21 +- .../bunnymark/src/commonMain/kotlin/main.kt | 7 +- .../sprites10k/src/commonMain/kotlin/Main.kt | 2 +- sample/text-metrics/.gitignore | 1 + sample/text-metrics/build.gradle.kts | 13 ++ .../src/commonMain/kotlin/main.kt | 196 ++++++++++++++++++ .../src/commonMain/resources/Pacifico.ttf | Bin 0 -> 75568 bytes .../src/commonMain/resources/clear_sans.fnt | 99 +++++++++ .../src/commonMain/resources/clear_sans.png | Bin 0 -> 26343 bytes 13 files changed, 336 insertions(+), 37 deletions(-) create mode 100644 sample/text-metrics/.gitignore create mode 100644 sample/text-metrics/build.gradle.kts create mode 100644 sample/text-metrics/src/commonMain/kotlin/main.kt create mode 100644 sample/text-metrics/src/commonMain/resources/Pacifico.ttf create mode 100644 sample/text-metrics/src/commonMain/resources/clear_sans.fnt create mode 100644 sample/text-metrics/src/commonMain/resources/clear_sans.png diff --git a/gradle.properties b/gradle.properties index d2ef271..f36e2ec 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,15 +1,15 @@ -korgePluginVersion=2.0.6.0 - -web.bind.port=8080 - -org.gradle.jvmargs=-Xmx3g -org.gradle.parallel=true -org.gradle.parallel.intra=true -org.gradle.configureondemand=true -kotlin.mpp.stability.nowarn=true - -korge.enable.desktop=true -korge.enable.android.indirect=true -#korge.enable.android.direct=true -korge.enable.ios=true -korge.enable.js=true +korgePluginVersion=2.0.7.0 + +web.bind.port=8080 + +org.gradle.jvmargs=-Xmx3g +org.gradle.parallel=true +org.gradle.parallel.intra=true +org.gradle.configureondemand=true +kotlin.mpp.stability.nowarn=true + +korge.enable.desktop=true +korge.enable.android.indirect=true +#korge.enable.android.direct=true +korge.enable.ios=true +korge.enable.js=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 62d4c053550b91381bbd28b1afc82d634bf73a8a..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f 100644 GIT binary patch delta 6656 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 Yte!%o?r4GTrVtxD61Ym!|5fq-1K$0e!T1w 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 28ff446..2a56324 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index fbd7c51..4f906e0 100755 --- a/gradlew +++ b/gradlew @@ -130,7 +130,7 @@ fi if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath diff --git a/gradlew.bat b/gradlew.bat index a9f778a..ac1b06f 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -54,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -64,21 +64,6 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line @@ -86,7 +71,7 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell diff --git a/sample/bunnymark/src/commonMain/kotlin/main.kt b/sample/bunnymark/src/commonMain/kotlin/main.kt index 78aa097..e333b9f 100644 --- a/sample/bunnymark/src/commonMain/kotlin/main.kt +++ b/sample/bunnymark/src/commonMain/kotlin/main.kt @@ -32,7 +32,9 @@ class Bunny(tex: BmpSlice) : FastSprite(tex) { // bunnymark ported from PIXI.js // https://www.goodboydigital.com/pixijs/bunnymark/ // https://www.goodboydigital.com/pixijs/bunnymark/js/bunnyBenchMark.js -suspend fun main() = Korge(width = 800, height = 600, bgcolor = Colors["#2b2b9b"]) { +suspend fun main() = Korge(width = 800, height = 600, bgcolor = Colors["#2b2b9b"], batchMaxQuads = com.soywiz.korge.render.BatchBuilder2D.MAX_BATCH_QUADS) { +//suspend fun main() = Korge(width = 800, height = 600, bgcolor = Colors["#2b2b9b"], batchMaxQuads = com.soywiz.korge.render.BatchBuilder2D.MAX_BATCH_QUADS, debug = true) { +//suspend fun main() = Korge(width = 800, height = 600, bgcolor = Colors["#2b2b9b"], debug = true) { val wabbitTexture = resourcesVfs["bunnys.png"].readBitmap() val bunny1 = wabbitTexture.sliceWithSize(2, 47, 26, 37) @@ -42,6 +44,9 @@ suspend fun main() = Korge(width = 800, height = 600, bgcolor = Colors["#2b2b9b" val bunny5 = wabbitTexture.sliceWithSize(2, 2, 26, 37) val startBunnyCount = 2 + //val startBunnyCount = 400_003 + //val startBunnyCount = 200_000 + //val startBunnyCount = 250_000 //val startBunnyCount = 1_000_000 //val startBunnyCount = 200_000 val bunnyTextures = listOf(bunny1, bunny2, bunny3, bunny4, bunny5) diff --git a/sample/sprites10k/src/commonMain/kotlin/Main.kt b/sample/sprites10k/src/commonMain/kotlin/Main.kt index 8a5df3e..897ee91 100644 --- a/sample/sprites10k/src/commonMain/kotlin/Main.kt +++ b/sample/sprites10k/src/commonMain/kotlin/Main.kt @@ -5,7 +5,7 @@ import com.soywiz.korim.bitmap.* import com.soywiz.korim.format.* import com.soywiz.korio.file.std.* -suspend fun main() = Korge(width = 1600, height = 1200) { +suspend fun main() = Korge(width = 1600, height = 1200, batchMaxQuads = com.soywiz.korge.render.BatchBuilder2D.MAX_BATCH_QUADS) { val numberOfGreen = 5000 //val numberOfGreen = 20000 diff --git a/sample/text-metrics/.gitignore b/sample/text-metrics/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/sample/text-metrics/.gitignore @@ -0,0 +1 @@ +/build diff --git a/sample/text-metrics/build.gradle.kts b/sample/text-metrics/build.gradle.kts new file mode 100644 index 0000000..7722c57 --- /dev/null +++ b/sample/text-metrics/build.gradle.kts @@ -0,0 +1,13 @@ +import com.soywiz.korge.gradle.* + +apply() + +korge { + id = "com.soywiz.samples.textmetrics" + name = "Text2" + description = "Shows show text metrics" + orientation = com.soywiz.korge.gradle.Orientation.LANDSCAPE + jvmMainClassName = "MainKt" + + targetDefault() +} diff --git a/sample/text-metrics/src/commonMain/kotlin/main.kt b/sample/text-metrics/src/commonMain/kotlin/main.kt new file mode 100644 index 0000000..c35ae0e --- /dev/null +++ b/sample/text-metrics/src/commonMain/kotlin/main.kt @@ -0,0 +1,196 @@ +import com.soywiz.korev.* +import com.soywiz.korge.* +import com.soywiz.korge.scene.* +import com.soywiz.korge.ui.* +import com.soywiz.korge.view.* +import com.soywiz.korgw.* +import com.soywiz.korim.bitmap.effect.* +import com.soywiz.korim.vector.* +import com.soywiz.korim.color.* +import com.soywiz.korim.font.* +import com.soywiz.korim.text.* +import com.soywiz.korio.async.* +import com.soywiz.korio.file.std.* +import com.soywiz.korma.geom.* +import com.soywiz.korma.geom.vector.* +import com.soywiz.korui.* +import com.soywiz.korui.layout.* +import kotlin.reflect.* + +val DEFAULT_BG = Colors["#2b2b2b"] + +suspend fun main() { + //GLOBAL_CHECK_GL = true + Korge(width = 960, height = 720, bgcolor = DEFAULT_BG, clipBorders = false, scaleAnchor = Anchor.TOP_LEFT) { + val font0 = resourcesVfs["clear_sans.fnt"].readFont() + val font1 = debugBmpFont + val font2 = DefaultTtfFont + val font3 = BitmapFont(DefaultTtfFont, 64.0) + val font4 = BitmapFont(DefaultTtfFont, 64.0, paint = Colors.BLUEVIOLET, effect = BitmapEffect( + blurRadius = 0, + dropShadowX = 2, + dropShadowY = 2, + dropShadowColor = Colors.GREEN, + dropShadowRadius = 1, + //borderSize = 1, + //borderColor = Colors.RED, + )) + val font5 = resourcesVfs["Pacifico.ttf"].readFont() + lateinit var text1: Text + + val textStrs = mapOf( + "simple" to "01xXhjgÁEñÑ", + "UPPER" to "ABCDEFGHIJKLMNOPQRSTUVWXYZ", + "lower" to "abcdefghijklmnopqrstuvwxyz", + "number" to "0123456789", + "fox" to "The quick brown fox jumps over the lazy dog. 1234567890", + ) + val fontSizes = listOf(8, 16, 32, 64, 128, 175) + val verticalAlignments = VerticalAlign.values().toList() + val horizontalAlignments = HorizontalAlign.values().toList() + + val fonts = mapOf( + "DebugBMP" to font1, + "BMPFile" to font0, + "ExternalTTF" to font5, + "DefaultTTF" to font2, + "TTFtoBMP" to font3, + "TTFtoBMPEffect" to font4, + ) + + container { + xy(0, 500) + val leftPadding = 50 + text1 = text(textStrs["simple"]!!, 175.0, Colors.WHITE, font2, alignment = TextAlignment.BASELINE_LEFT, autoScaling = true).xy(leftPadding, 0) + val gbounds = graphics {}.xy(leftPadding, 0) + + val baseLineLine = solidRect(960 + 1200, 1, Colors.ORANGE) + val baseAscent = solidRect(960 + 1200, 1, Colors.BLUE) + val baseDescent = solidRect(960 + 1200, 1, Colors.PURPLE) + + var cachedBounds: Rectangle? = null + fun updateBounds() { + val currentBounds = text1.getLocalBounds() + if (cachedBounds != currentBounds) { + cachedBounds = currentBounds + gbounds.clear() + gbounds.stroke(Colors.RED, StrokeInfo(2.0)) { + rect(text1.getLocalBounds()) + } + gbounds.stroke(Colors.BLUE, StrokeInfo(2.0)) { + line(-5, 0, +5, 0) + line(0, -5, 0, +5) + } + val metrics = text1.font.getOrNull()!!.getFontMetrics(text1.fontSize) + baseLineLine.xy(0.0, -metrics.baseline) + baseAscent.xy(0.0, -metrics.ascent) + baseDescent.xy(0.0, -metrics.descent) + } + } + + addUpdater { + updateBounds() + } + updateBounds() + + } + + data class SecInfo( + val name: String, + val prop: KMutableProperty0, + val items: List, + val convert: (T) -> String = { it.toString().toLowerCase().capitalize() } + ) + + korui(width, 200) { + for (info in listOf( + SecInfo("Vertical", text1::verticalAlign, verticalAlignments), + SecInfo("Horizontal", text1::horizontalAlign, horizontalAlignments), + SecInfo("Size", text1::textSize, fontSizes.map { it.toDouble() }) { "${it.toInt()}" }, + )) { + @Suppress("UNCHECKED_CAST") val rinfo = (info as SecInfo) + horizontal { + label("${info.name}:") + val prop = ObservableProperty(info.prop) + @Suppress("UNCHECKED_CAST") val rprop = (prop as ObservableProperty) + for (item in info.items) { + toggleButton(rinfo.convert(item)) { + prop.observeStart { this.pressed = (it == item) } + onClick { + rprop.value = item + } + } + } + } + } + val fontProp = ObservableProperty(text1.font.getOrNull()!!).observeStart { text1.font = it } + horizontal { + label("Font:") + gameWindow.onDragAndDropFileEvent { + when (it.type) { + DropFileEvent.Type.START -> { + views.clearColor = DEFAULT_BG.interpolateWith(0.2, Colors.RED) + } + DropFileEvent.Type.END -> { + views.clearColor = DEFAULT_BG + } + DropFileEvent.Type.DROP -> { + try { + val file = it.files?.firstOrNull()?.jailParent() + val font = file?.readFont() + if (font != null) { + fontProp.value = font + } + } catch (e: Throwable) { + gameWindow.alertError(e) + throw e + } + } + } + } + for ((key, value) in fonts) { + toggleButton(key) { + fontProp.observeStart { this.pressed = (it == value) } + onClick { fontProp.value = value } + } + } + } + horizontal { + label("Text:") + val prop = ObservableProperty(textStrs.values.first()).observeStart { text1.text = it } + for ((key, value) in textStrs) { + toggleButton(key) { + prop.observeStart { this.pressed = (it == value) } + onClick { prop.value = value } + } + } + } + horizontal { + checkBox("Autoscale") { + checked = text1.autoScaling + onChange { text1.autoScaling = it } + } + checkBox("Smooth") { + checked = text1.smoothing + onChange { text1.smoothing = it } + } + checkBox("Native Render") { + checked = text1.useNativeRendering + onChange { text1.useNativeRendering = it } + } + } + horizontal { + button("Select file...") { + onClick { + launchImmediately { + val file = gameWindow.openFileDialog().firstOrNull() + if (file != null) { + fontProp.value = file.readFont() + } + } + } + } + } + } + } +} diff --git a/sample/text-metrics/src/commonMain/resources/Pacifico.ttf b/sample/text-metrics/src/commonMain/resources/Pacifico.ttf new file mode 100644 index 0000000000000000000000000000000000000000..6d47cdc9acee83109bbbf1d444ea9a0c67ade028 GIT binary patch literal 75568 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 literal 0 HcmV?d00001 diff --git a/sample/text-metrics/src/commonMain/resources/clear_sans.fnt b/sample/text-metrics/src/commonMain/resources/clear_sans.fnt new file mode 100644 index 0000000..268c7be --- /dev/null +++ b/sample/text-metrics/src/commonMain/resources/clear_sans.fnt @@ -0,0 +1,99 @@ +info face="Clear Sans" size=64 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=0 +common lineHeight=62 base=48 scaleW=256 scaleH=256 pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4 +page id=0 file="clear_sans.png" +chars count=95 +char id=32 x=100 y=41 width=1 height=1 xoffset=0 yoffset=0 xadvance=12 page=0 chnl=15 +char id=33 x=128 y=173 width=7 height=31 xoffset=2 yoffset=17 xadvance=12 page=0 chnl=15 +char id=34 x=95 y=230 width=13 height=13 xoffset=4 yoffset=17 xadvance=20 page=0 chnl=15 +char id=35 x=67 y=77 width=28 height=31 xoffset=2 yoffset=17 xadvance=32 page=0 chnl=15 +char id=36 x=221 y=0 width=21 height=34 xoffset=3 yoffset=17 xadvance=28 page=0 chnl=15 +char id=37 x=189 y=39 width=43 height=32 xoffset=1 yoffset=16 xadvance=46 page=0 chnl=15 +char id=38 x=124 y=75 width=27 height=31 xoffset=2 yoffset=17 xadvance=31 page=0 chnl=15 +char id=39 x=109 y=230 width=5 height=13 xoffset=4 yoffset=17 xadvance=12 page=0 chnl=15 +char id=40 x=38 y=0 width=14 height=42 xoffset=2 yoffset=15 xadvance=18 page=0 chnl=15 +char id=41 x=53 y=0 width=14 height=42 xoffset=1 yoffset=15 xadvance=18 page=0 chnl=15 +char id=42 x=50 y=230 width=18 height=16 xoffset=1 yoffset=15 xadvance=21 page=0 chnl=15 +char id=43 x=160 y=171 width=25 height=25 xoffset=3 yoffset=23 xadvance=31 page=0 chnl=15 +char id=44 x=115 y=230 width=7 height=12 xoffset=2 yoffset=43 xadvance=12 page=0 chnl=15 +char id=45 x=233 y=99 width=15 height=4 xoffset=1 yoffset=35 xadvance=18 page=0 chnl=15 +char id=46 x=160 y=222 width=7 height=5 xoffset=2 yoffset=43 xadvance=12 page=0 chnl=15 +char id=47 x=122 y=0 width=20 height=40 xoffset=0 yoffset=15 xadvance=22 page=0 chnl=15 +char id=48 x=96 y=141 width=23 height=31 xoffset=2 yoffset=17 xadvance=28 page=0 chnl=15 +char id=49 x=115 y=173 width=12 height=31 xoffset=6 yoffset=17 xadvance=28 page=0 chnl=15 +char id=50 x=167 y=139 width=22 height=31 xoffset=2 yoffset=17 xadvance=26 page=0 chnl=15 +char id=51 x=0 y=173 width=21 height=31 xoffset=1 yoffset=17 xadvance=26 page=0 chnl=15 +char id=52 x=27 y=109 width=26 height=31 xoffset=0 yoffset=17 xadvance=28 page=0 chnl=15 +char id=53 x=144 y=139 width=22 height=31 xoffset=1 yoffset=17 xadvance=26 page=0 chnl=15 +char id=54 x=233 y=35 width=22 height=31 xoffset=2 yoffset=17 xadvance=26 page=0 chnl=15 +char id=55 x=24 y=141 width=23 height=31 xoffset=2 yoffset=17 xadvance=28 page=0 chnl=15 +char id=56 x=48 y=141 width=23 height=31 xoffset=1 yoffset=17 xadvance=26 page=0 chnl=15 +char id=57 x=120 y=141 width=23 height=31 xoffset=1 yoffset=17 xadvance=26 page=0 chnl=15 +char id=58 x=19 y=230 width=7 height=23 xoffset=2 yoffset=25 xadvance=12 page=0 chnl=15 +char id=59 x=152 y=171 width=7 height=30 xoffset=2 yoffset=25 xadvance=12 page=0 chnl=15 +char id=60 x=0 y=205 width=26 height=24 xoffset=3 yoffset=24 xadvance=31 page=0 chnl=15 +char id=61 x=69 y=230 width=25 height=14 xoffset=3 yoffset=28 xadvance=31 page=0 chnl=15 +char id=62 x=27 y=205 width=25 height=24 xoffset=2 yoffset=24 xadvance=31 page=0 chnl=15 +char id=63 x=235 y=136 width=20 height=31 xoffset=1 yoffset=17 xadvance=23 page=0 chnl=15 +char id=64 x=156 y=0 width=38 height=38 xoffset=2 yoffset=17 xadvance=43 page=0 chnl=15 +char id=65 x=96 y=77 width=27 height=31 xoffset=0 yoffset=17 xadvance=28 page=0 chnl=15 +char id=66 x=190 y=137 width=22 height=31 xoffset=3 yoffset=17 xadvance=28 page=0 chnl=15 +char id=67 x=80 y=109 width=25 height=31 xoffset=2 yoffset=17 xadvance=29 page=0 chnl=15 +char id=68 x=233 y=67 width=22 height=31 xoffset=3 yoffset=17 xadvance=28 page=0 chnl=15 +char id=69 x=22 y=173 width=20 height=31 xoffset=3 yoffset=17 xadvance=25 page=0 chnl=15 +char id=70 x=43 y=173 width=20 height=31 xoffset=3 yoffset=17 xadvance=24 page=0 chnl=15 +char id=71 x=179 y=73 width=26 height=31 xoffset=2 yoffset=17 xadvance=31 page=0 chnl=15 +char id=72 x=132 y=107 width=24 height=31 xoffset=3 yoffset=17 xadvance=30 page=0 chnl=15 +char id=73 x=100 y=173 width=14 height=31 xoffset=1 yoffset=17 xadvance=17 page=0 chnl=15 +char id=74 x=84 y=173 width=15 height=31 xoffset=0 yoffset=17 xadvance=19 page=0 chnl=15 +char id=75 x=182 y=105 width=24 height=31 xoffset=3 yoffset=17 xadvance=28 page=0 chnl=15 +char id=76 x=64 y=173 width=19 height=31 xoffset=3 yoffset=17 xadvance=23 page=0 chnl=15 +char id=77 x=38 y=77 width=28 height=31 xoffset=3 yoffset=17 xadvance=35 page=0 chnl=15 +char id=78 x=232 y=104 width=23 height=31 xoffset=3 yoffset=17 xadvance=30 page=0 chnl=15 +char id=79 x=54 y=109 width=25 height=31 xoffset=2 yoffset=17 xadvance=30 page=0 chnl=15 +char id=80 x=213 y=136 width=21 height=31 xoffset=3 yoffset=17 xadvance=26 page=0 chnl=15 +char id=81 x=195 y=0 width=25 height=38 xoffset=2 yoffset=17 xadvance=30 page=0 chnl=15 +char id=82 x=72 y=141 width=23 height=31 xoffset=3 yoffset=17 xadvance=27 page=0 chnl=15 +char id=83 x=157 y=107 width=24 height=31 xoffset=1 yoffset=17 xadvance=27 page=0 chnl=15 +char id=84 x=152 y=75 width=26 height=31 xoffset=0 yoffset=17 xadvance=26 page=0 chnl=15 +char id=85 x=106 y=109 width=25 height=31 xoffset=3 yoffset=17 xadvance=31 page=0 chnl=15 +char id=86 x=206 y=72 width=26 height=31 xoffset=0 yoffset=17 xadvance=27 page=0 chnl=15 +char id=87 x=0 y=77 width=37 height=31 xoffset=1 yoffset=17 xadvance=39 page=0 chnl=15 +char id=88 x=0 y=109 width=26 height=31 xoffset=0 yoffset=17 xadvance=27 page=0 chnl=15 +char id=89 x=207 y=104 width=24 height=31 xoffset=0 yoffset=17 xadvance=25 page=0 chnl=15 +char id=90 x=0 y=141 width=23 height=31 xoffset=1 yoffset=17 xadvance=26 page=0 chnl=15 +char id=91 x=81 y=0 width=12 height=42 xoffset=3 yoffset=15 xadvance=18 page=0 chnl=15 +char id=92 x=100 y=0 width=21 height=40 xoffset=1 yoffset=15 xadvance=22 page=0 chnl=15 +char id=93 x=68 y=0 width=12 height=42 xoffset=2 yoffset=15 xadvance=18 page=0 chnl=15 +char id=94 x=27 y=230 width=22 height=19 xoffset=2 yoffset=17 xadvance=27 page=0 chnl=15 +char id=95 x=168 y=222 width=23 height=4 xoffset=0 yoffset=50 xadvance=23 page=0 chnl=15 +char id=96 x=123 y=230 width=10 height=9 xoffset=5 yoffset=14 xadvance=24 page=0 chnl=15 +char id=97 x=160 y=197 width=20 height=24 xoffset=1 yoffset=24 xadvance=24 page=0 chnl=15 +char id=98 x=89 y=43 width=20 height=33 xoffset=3 yoffset=15 xadvance=26 page=0 chnl=15 +char id=99 x=181 y=197 width=19 height=24 xoffset=2 yoffset=24 xadvance=23 page=0 chnl=15 +char id=100 x=67 y=43 width=21 height=33 xoffset=2 yoffset=15 xadvance=26 page=0 chnl=15 +char id=101 x=97 y=205 width=20 height=24 xoffset=2 yoffset=24 xadvance=24 page=0 chnl=15 +char id=102 x=172 y=39 width=16 height=33 xoffset=0 yoffset=15 xadvance=14 page=0 chnl=15 +char id=103 x=45 y=43 width=21 height=33 xoffset=2 yoffset=24 xadvance=26 page=0 chnl=15 +char id=104 x=131 y=41 width=20 height=33 xoffset=3 yoffset=15 xadvance=26 page=0 chnl=15 +char id=105 x=249 y=0 width=6 height=31 xoffset=2 yoffset=17 xadvance=11 page=0 chnl=15 +char id=106 x=143 y=0 width=12 height=40 xoffset=-3 yoffset=17 xadvance=12 page=0 chnl=15 +char id=107 x=152 y=41 width=19 height=33 xoffset=3 yoffset=15 xadvance=23 page=0 chnl=15 +char id=108 x=243 y=0 width=5 height=33 xoffset=3 yoffset=15 xadvance=12 page=0 chnl=15 +char id=109 x=186 y=171 width=32 height=24 xoffset=3 yoffset=24 xadvance=38 page=0 chnl=15 +char id=110 x=118 y=205 width=20 height=24 xoffset=3 yoffset=24 xadvance=26 page=0 chnl=15 +char id=111 x=139 y=204 width=20 height=24 xoffset=2 yoffset=24 xadvance=25 page=0 chnl=15 +char id=112 x=110 y=41 width=20 height=33 xoffset=3 yoffset=24 xadvance=26 page=0 chnl=15 +char id=113 x=23 y=43 width=21 height=33 xoffset=2 yoffset=24 xadvance=26 page=0 chnl=15 +char id=114 x=241 y=193 width=14 height=24 xoffset=3 yoffset=24 xadvance=18 page=0 chnl=15 +char id=115 x=0 y=230 width=18 height=24 xoffset=1 yoffset=24 xadvance=22 page=0 chnl=15 +char id=116 x=136 y=173 width=15 height=30 xoffset=0 yoffset=18 xadvance=16 page=0 chnl=15 +char id=117 x=201 y=196 width=19 height=24 xoffset=3 yoffset=24 xadvance=26 page=0 chnl=15 +char id=118 x=53 y=205 width=21 height=24 xoffset=0 yoffset=24 xadvance=22 page=0 chnl=15 +char id=119 x=219 y=168 width=31 height=24 xoffset=0 yoffset=24 xadvance=32 page=0 chnl=15 +char id=120 x=75 y=205 width=21 height=24 xoffset=0 yoffset=24 xadvance=22 page=0 chnl=15 +char id=121 x=0 y=43 width=22 height=33 xoffset=0 yoffset=24 xadvance=23 page=0 chnl=15 +char id=122 x=221 y=193 width=19 height=24 xoffset=1 yoffset=24 xadvance=21 page=0 chnl=15 +char id=123 x=0 y=0 width=19 height=42 xoffset=1 yoffset=15 xadvance=21 page=0 chnl=15 +char id=124 x=94 y=0 width=5 height=42 xoffset=7 yoffset=15 xadvance=19 page=0 chnl=15 +char id=125 x=20 y=0 width=17 height=42 xoffset=2 yoffset=15 xadvance=21 page=0 chnl=15 +char id=126 x=134 y=230 width=25 height=7 xoffset=3 yoffset=29 xadvance=31 page=0 chnl=15 diff --git a/sample/text-metrics/src/commonMain/resources/clear_sans.png b/sample/text-metrics/src/commonMain/resources/clear_sans.png new file mode 100644 index 0000000000000000000000000000000000000000..f5f331d2029be57d5fac1703d63f0ffd6deca56c GIT binary patch literal 26343 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