@snoopdouglas what Every other element of 'ranges' must be higher than its predecessor (';' vs '!')" means?
ranges=PoolStringArray( "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", " ", ".", ",", ":", ";", "!", "\?", "-", "_", "\"", "%", "/", "(", ")", "=", "\'", "", "+", "*", "#" )

everyting looks right to me.
edit
nevermind, forgot to read line Each pair of strings in 'Ranges' defines an inclusive range of Unicode characters to import from the image