Many of the character types were wrong. Now the asc* names really do mean ASCII, rather than latin-1.