# OCR for Advent of Code puzzles Crate to convert [Advent of Code](https://adventofcode.com) from ASCII letters to characters. This is required for several of the puzzle days through the years, including: [2016/09](https://adventofcode.com/2016/day/9), [2019/08](https://adventofcode.com/2019/day/9), [2019/11](https://adventofcode.com/2019/day/11), [2021/13](https://adventofcode.com/2021/day/13), and [2022/10](https://adventofcode.com/2022/day/10). This has been made to help automate parsing of those puzzles for my own AoC solutions, but are shared for others interest. ## Installation ```sh cargo install advent-of-code-ocr ``` ## Usage The main function to parse a screen from AoC is the `parse_string_to_letters`. ```rust use advent_of_code_ocr::parse_string_to_letters; // Input is: // ####.###....##.###..###..#..#..##..#..#. // #....#..#....#.#..#.#..#.#.#..#..#.#..#. // ###..#..#....#.###..#..#.##...#..#.####. // #....###.....#.#..#.###..#.#..####.#..#. // #....#....#..#.#..#.#.#..#.#..#..#.#..#. // ####.#.....##..###..#..#.#..#.#..#.#..#. let input = "####.###....##.###..###..#..#..##..#..#.\n#....#..#....#.#..#.#..#.#.#..#..#.#..#.\n###..#..#....#.###..#..#.##...#..#.####.\n#....###.....#.#..#.###..#.#..####.#..#.\n#....#....#..#.#..#.#.#..#.#..#..#.#..#.\n####.#.....##..###..#..#.#..#.#..#.#..#."; assert_eq!(parse_string_to_letters(input), "EPJBRKAH"); ``` Two other functions are exposed by this crate: - `parse_letter` which tries to convert a single AoC character to a `Option` - `split_screen` which splits a full AoC screen to individual AoC characters.