Esempio n. 1
0
            private RuleStatus CalcStatus(int current, int next)
            {
                if (current == BreakIterator.Done || next == BreakIterator.Done)
                {
                    return(ICU4N.Text.RuleStatus.WordNone);
                }

                int begin = m_start + current;
                int end   = m_start + next;

                int codepoint;

                for (int i = begin; i < end; i += UTF16.GetCharCount(codepoint))
                {
                    codepoint = UTF16.CharAt(m_text, 0, end, begin);

                    if (UChar.IsDigit(codepoint))
                    {
                        return(ICU4N.Text.RuleStatus.WordNumber);
                    }
                    else if (UChar.IsLetter(codepoint))
                    {
                        // TODO: try to separately specify ideographic, kana?
                        // [currently all bundled as letter for this case]
                        return(ICU4N.Text.RuleStatus.WordLetter);
                    }
                }

                return(ICU4N.Text.RuleStatus.WordNone);
            }