
Converts crossword puzzle file formats, supports reading/writing various formats, generates PDFs, and includes a web interface for creating digital puzzles.
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 and a command line tool to perform conversions and dump puzzle information.
In your build.gradle:
dependencies {
implementation "com.jeffpdavidson.kotwords:kotwords:1.5.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.
Release builds include Mac/Windows/Linux command-line tools.
Example to convert a PUZ file to a PDF:
kotwords-cli convert \
--input-file=/path/to/puzzle.puz \
--input-format=PUZ \
--output-file=/path/to/puzzle.pdf \
--output-format=PDFExample to print all clues and answers in a JPZ file:
kotwords-cli dump-entries \
--file=/path/to/puzzle.jpz \
--output-format="[[clue]]: [[answer]]"Run the tool with no flags to see all available commands, and add --help after any command to see the available options.
Kotwords is a standard Gradle project that can be imported into IntelliJ. Common commands include:
./gradlew check
./gradlew jsBrowserDevelopmentRun
./gradlew publishToMavenLocal
Bug reports and contributions welcome!
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 and a command line tool to perform conversions and dump puzzle information.
In your build.gradle:
dependencies {
implementation "com.jeffpdavidson.kotwords:kotwords:1.5.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.
Release builds include Mac/Windows/Linux command-line tools.
Example to convert a PUZ file to a PDF:
kotwords-cli convert \
--input-file=/path/to/puzzle.puz \
--input-format=PUZ \
--output-file=/path/to/puzzle.pdf \
--output-format=PDFExample to print all clues and answers in a JPZ file:
kotwords-cli dump-entries \
--file=/path/to/puzzle.jpz \
--output-format="[[clue]]: [[answer]]"Run the tool with no flags to see all available commands, and add --help after any command to see the available options.
Kotwords is a standard Gradle project that can be imported into IntelliJ. Common commands include:
./gradlew check
./gradlew jsBrowserDevelopmentRun
./gradlew publishToMavenLocal
Bug reports and contributions welcome!