So a total of 2 tests: one to see if the wide char is in 0..128 and, if it is, a second test on the result of the table lookup. It is still an extra test (compared to the 1 meg lookup) but probably not bad at all since that first test (in the case that all the chars are really ASCII) will always be predicted correctly.