Skip to content

KitePDF 0.8.1

Choose a tag to compare

@yuroyami yuroyami released this 30 Aug 18:24
· 1120 commits to main since this release

One fix. 0.8.0 merged separate rows of text into a single line on dense pages, so extracted text came out scrambled.

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

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 separate rows merging into one line (fixes #23, reported by @bfovez).

0.8.0 made fontSize report the real size. KitePDF groups text into lines by allowing half a font size of vertical wobble, so that tolerance rescaled with it: from an accidental 0.5pt to half the em box, around 11pt on charts whose fonts pad the em. Rows 1 to 1.4pt apart merged, text interleaved in reading order:

0.7.0:  LFBP/PUF PAU/PYRENEES, FRANCE
0.8.0:  LApt ElevFBP/P616'UF PAU/PYRENEES, FRANCE
0.8.1:  LFBP/PUF PAU/PYRENEES, FRANCE

A line is a shared baseline. The tolerance is now slack around it: 5% of the font size, floored at 0.5pt. That restores 0.7.0's grouping line for line on the reported file, and matches how mutool splits the page. The corrected fontSize values stay.

Full changelog: v0.8.0...v0.8.1