kotwords

Collection of crossword puzzle file format converters and other utilities, written in Kotlin.

APACHE-2.0 License

Stars
24

kotwords

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.

Features

  • 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

How To Use

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.

Development

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!

Package Rankings
Top 35.87% on Repo1.maven.org
Badges
Extracted from project README
GitHub Workflow Status Maven Central javadoc