# ASL Charts

This program lets you manage your ASL charts, play-aids, and other documents, and provides quick access to them as you play your game.

It's written using .NET, so if you're on a recent version of Windows, it should Just Work<sup><small>&trade;</small></sup>; Linux and Mac users will need to use Mono (but see below). Simply unpack the release ZIP file somewhere, then run `asl-charts.exe`.

For demonstration purposes, the program comes with the tables from Ole B&oslash;e’s Quick Reference Data Card pre-installed. Type something into the search box e.g. _"cc"_ or _"tk"_, and the corresponding tables will be shown.
* Use Left/Right to cycle through the search results
* Zoom in and out using Ctrl-Mousewheel or Ctrl-PageUp/Down
* Pan by dragging the mouse, or using Up/Down and PageUp/Down.

These pre-installed files are just for demonstration purposes, and to be useful, the program needs to have more content added, at a minimum, the tables from the ASLRB chapter dividers. Since this is copyrighted material, these are not included in releases, so you will need to scan them yourself, crop them into individual files, then add entries to `$/data/config.json` for each one. Similarly, you can also add play-aids, frequently-referenced rules, anything you might want access to during the course of a game.

Once you've got all your content in, you can also define keyboard shortcuts in `$/data/search-queries.json` to run predefined search queries, and also in `$/data/config.json` to bring up specific files.

##### Note for Linux and Mac users

While you can use Mono to run .NET programs, it appears that Mono sorta supports embedded web browsers, but not really, so while the program will work, the shortcuts report will be unavailable (since it's shown as HTML in an embedded browser). The program will also be unable to report warnings during startup, since this is also done using HTML. Turn on logging to get this information.

##### Note for developers

This project was an experiment in writing a C# program on Linux, but for use on Windows, _without_ an IDE, so if you're wondering why e.g. the program is built using a make file, or resources are managed manually, that's why... :-)
