Perhaps you could employ a hybrid approach. Use the current implementation for the ASCII range with a tree\list for non-ASCII. This should lead to minimal impact for the common cases where non-ASCII characters are either all accepted or rejected. Tom.