internal void UsingChar(char ch)
{
UnicodeCategory cat = Char.GetUnicodeCategory(ch);
Charset cs = UsingCat(cat);
if (cs.m_generic==ch)
{
do
{
if (cs.m_generic==char.MaxValue)
{
cs.m_generic = ch; // all used: this m_generic will never be used
return;
}
cs.m_generic++;
} while (Char.GetUnicodeCategory(cs.m_generic)!=cs.m_cat ||
cs.m_chars.Contains(cs.m_generic));
cs.m_chars[cs.m_generic] = true;
}
else
cs.m_chars[ch] = true;
}