I rebased this patch, and added four fixes to it. 1. Fix for the conditions that the superset is used. No longer use it when don't include any normal chars and CSETs. (dfasuperset) 2. Ignore any letter constrations. Otherwise, it mayn't be able to be a superset of the original dfa. (dfasuperset) 3. Change return type of dfahint(). It can check whether used or not from caller.(dfahint) 4. If both kwset and dfahint() aren't used, run DFA matcher in whole range still. Norihiro