コード例 #1
0
        public IEnumerable <BreakSpan> GetBreakSpanIter()
        {
            List <BreakAtInfo> breakAtList = visitor.GetBreakList();
            int c_index = 0;
            int count   = breakAtList.Count;

            for (int i = 0; i < count; ++i)
            {
                BreakAtInfo brkInfo = breakAtList[i];
                BreakSpan   sp      = new BreakSpan();
                sp.startAt  = c_index;
                sp.len      = (ushort)(brkInfo.breakAt - c_index);
                sp.wordKind = brkInfo.wordKind;

                c_index += sp.len;

                yield return(sp);
            }
            //-------------------
            if (c_index < _endAt)
            {
                BreakSpan sp = new BreakSpan();
                sp.startAt = c_index;
                sp.len     = (ushort)(_endAt - c_index);
                yield return(sp);
            }
        }
コード例 #2
0
        public IEnumerable <BreakSpan> GetBreakSpanIter()
        {
            List <int> breakAtList = visitor.GetBreakList();
            int        c_index     = 0;
            int        i           = 0;

            foreach (int breakAt in breakAtList)
            {
                BreakSpan sp = new BreakSpan();
                sp.startAt = c_index;
                sp.len     = (ushort)(breakAtList[i] - c_index);
                c_index   += sp.len;
                i++;
                yield return(sp);
            }
            //-------------------
            if (c_index < _endAt)
            {
                BreakSpan sp = new BreakSpan();
                sp.startAt = c_index;
                sp.len     = (ushort)(_endAt - c_index);
                yield return(sp);
            }
        }
コード例 #3
0
        public IEnumerable <BreakSpan> GetBreakSpanIter()
        {
            List <int> breakAtList = visitor.GetBreakList();
            int        c_index     = 0;
            int        i           = 0;

            foreach (int breakAt in breakAtList)
            {
                BreakSpan sp = new BreakSpan();
                sp.startAt = c_index;
                sp.len     = breakAtList[i] - c_index;
                c_index   += sp.len;
                i++;
                yield return(sp);
            }
            //-------------------
            if (c_index < textLength)
            {
                BreakSpan sp = new BreakSpan();
                sp.startAt = c_index;
                sp.len     = textLength - c_index;
                yield return(sp);
            }
        }