Collection of crossword puzzle file format converters and other utilities, written in Kotlin.
The library uses Kotlin multiplatform and supports Java, Javascript, and native Mac/Windows/Linux.
This project also includes a web interface for generating digital versions of different variety puzzles.
- Read crosswords in a variety of file formats, including formats used by online puzzle sites
- Remove a direction of clues to make puzzles more challenging
- Write crosswords in .puz, .jpz, or .ipuz format
- Generate PDFs for crosswords
- Create .jpz and .ipuz files for variety crossword puzzles
In your build.gradle
:
dependencies {
implementation "com.jeffpdavidson.kotwords:kotwords:1.4.0"
}
Sample code for parsing a JPZ file and converting it to a PDF with only Down clues:
val pdf = JpzFile(jpz).asPuzzle().withDownsOnly().asPdf();
See the Javadoc for full API details.
Kotwords is a standard Gradle project that can be imported into IntelliJ. Common commands include:
- Run all tests for all environments:
./gradlew check
- Run a local instance of the web tools:
./gradlew jsRun
- Publish to the local Maven repository for testing in another application:
./gradlew publishToMavenLocal
Bug reports and contributions welcome!