# Third-Party Thanks This file records dependencies and projects that ZenConverter relies on or learns from. Add entries before a dependency becomes part of the build. | Project | Use | License | Status | Notes | | --- | --- | --- | --- | --- | | AndroidX Compose | Planned UI toolkit | Apache-2.0 | Planned | Declared in Gradle skeleton. | | AndroidX Material Icons Extended | App action/category icons | Apache-2.0 | Active | Official Compose icon set used for UI clarity. | | PDFBox-Android | True PDF merge and selectable PDF text extraction | Apache-2.0 | Low-frequency maintenance | Local Maven Central AAR at `app/libs/pdfbox-android-2.0.27.0.aar`, SHA-256 `30277f879cfd571db2a137582c95516a0d4ea6778e945519bc58ca93d57d88c7`. Chosen because Android platform APIs do not provide broad loss-preserving PDF merge, and platform PDF text extraction is only available on newer API/extension levels. | | Bouncy Castle Java APIs | Transitive crypto support required by PDFBox-Android | Bouncy Castle License, MIT-style | Active | Local Maven Central JARs `bcprov-jdk15to18`, `bcpkix-jdk15to18`, and `bcutil-jdk15to18` version `1.72`. Required by the PDFBox-Android POM, especially for PDF security/encryption handling. | | FFmpegKitNext self-built AAR | FFmpeg compatibility remux/extract/transcode path | LGPLv3 main license; packaged GPL-family and codec notices including LAME, libiconv, libvpx, Opus, x264, x265, and cpu-features | Active local binary | Current local AAR is `app/libs/ffmpeg-kit-next-7.1.0.aar`, `arm64-v8a` only, SHA-256: `d1f2512e806ac3ff99b2f4c3d2e36fcca8c5c0eec548d84da81cf94d054cf406`. Exact replacement build command still needs to be recorded before a tagged release. | | smart-exception-java / smart-exception-common | Transitive helper used by the FFmpeg AAR | BSD-3-Clause | Active transitive | Pulled by the FFmpegKit POM or matching local JAR fallback as `com.arthenica:smart-exception-java:0.2.1` and `com.arthenica:smart-exception-common:0.2.1`. | | FFmpeg | Compatibility engine core inside the self-built FFmpegKitNext AAR | LGPL/GPL depending on linked libraries | Active | Current replacement AAR is arm64-only and packages notices for LAME, libiconv, libvpx, Opus, x264, and x265; exact configure flags still need to be recorded before release. | | libzen_office2pdf.so | Experimental DOCX/PPTX/XLSX to PDF native renderer | Apache-2.0 source dependencies; local binary | Active local binary | Bundled only for `arm64-v8a` at `app/src/main/jniLibs/arm64-v8a/libzen_office2pdf.so`. Rebuilt on July 14, 2026 from `native/office2pdf-jni`; size `72,348,456` bytes, SHA-256 `46779f04fc231fb1b1104ba766636e372a1be7cd49b71909346953e512a8e09c`. Exports the explicit font-path JNI method required for bundled CJK font discovery. | | office2pdf | Source dependency of the experimental Office JNI renderer | Apache-2.0 | Active upstream | Pinned in `native/office2pdf-jni/Cargo.toml` at `developer0hye/office2pdf` commit `7de4b28aca59de69342fc89d7d2de73e9482af69`, released as `v0.6.5`. It provides `ConvertOptions.font_paths` for explicit Typst font discovery. | | jni-rs | Rust JNI bindings for the experimental Office renderer | Apache-2.0 OR MIT | Active upstream | Pinned as `jni` version `0.21.1` in `native/office2pdf-jni/Cargo.toml`. A full transitive Cargo license inventory remains a release gate. | | Noto Sans CJK Regular | Bundled Chinese/Japanese/Korean sans fallback for experimental Office-to-PDF output | SIL Open Font License 1.1 | Active upstream font family | Bundled at `app/src/main/assets/fonts/NotoSansCJK-Regular.ttc`, copied from Android Studio layoutlib, size `32,355,424` bytes, SHA-256 `3e7e5afaac2c6d872592d76abedac03a51c6f0fc42d11e311ff2816a6c368afe`. | | Noto Serif CJK Regular | Bundled Chinese/Japanese/Korean serif fallback for SimSun-style Office documents | SIL Open Font License 1.1 | Active upstream font family | Bundled at `app/src/main/assets/fonts/NotoSerifCJK-Regular.ttc`, copied from Android Studio layoutlib, size `26,273,008` bytes, SHA-256 `5dec6bbce13a3bbf1487a022392c23e571abd0696a102f3715697420dd94b47a`. | | FFmpegKit | Reference only | LGPL/GPL depending on package | Reference | Original project is retired; do not rely on it blindly. |