Character map is read. The formatting information will be uploaded to the github project I'll eventually add here. Most importantly though, character maps contain brightness information on characters in fields. The amount of fields per character is the same within every character map. Characters can be unicode.
The script calculates the pixel size for each character.
Then, for each of the characters (tiles in the image, averages are calculated for each field. The script finds the character in the character map that has field brightness information as similar as possible to what was read from the image.
The script currently supports both the pypng and pillow libraries (because I didn't know pillow, which is far better, was a thing yesterday.)