Skip to content

KitePDF 0.8.2

Choose a tag to compare

@yuroyami yuroyami released this 30 Aug 19:41
· 727 commits to main since this release

One fix, the second half of the 0.8.1 story. Words ran together in dense text. Found by auditing the related code, not from a report.

implementation("io.github.yuroyami:kitepdf:0.8.2")

Requirements

  • Kotlin 2.4.10+ (older compilers cannot read these artifacts)
  • JDK 21
  • Android SDK 37 / minSdk 21 (compose-viewer 24, native-renderer 29)
  • Compose Multiplatform 1.12.0-beta02 for kitepdf-compose-viewer
  • Pulls in KiteImage 0.1.0, Ktor 3.5.2 (kitepdf-net), Skiko 0.148.2 (renderers)
  • Targets: Android, JVM, iOS, tvOS, watchOS, macOS, Linux, Windows, Android Native, JS, Wasm

Fixed

Fixed words gluing together in dense chart text.

0.8.1 fixed the line-grouping tolerance that 0.8.0's corrected font size had rescaled. The sibling rule had the same problem: KitePDF inserts a space at a gap of a quarter of a font size, and that threshold rescaled too. On fonts that pad their em box it grew past real word gaps, so words glued:

0.7.0 / 0.8.2:  HIRL (60m)   RVR 150m   1 RVR 75m
0.8.0 / 0.8.1:  HIRL(60m)    RVR150m    1RVR 75m

The threshold is now a tenth of the font size, floored at 0.25pt. Calibrated against two references at once: a normal document keeps its exact mutool-matching spacing (any factor from 0.05 to 0.12 does), and the regressed chart returns to 0.7.0 spacing byte for byte. Line text and the search and selection path share the rule.

Full changelog: v0.8.1...v0.8.2