예제 #1
0
        // Token: 0x06006C28 RID: 27688 RVA: 0x001F1C14 File Offset: 0x001EFE14
        internal string NextGlyphContent(out bool inline, out uint lcid)
        {
            inline = false;
            lcid   = 0U;
            if (this._nextGlyphRun >= this._fixedPageInfo.GlyphRunCount)
            {
                return(null);
            }
            GlyphRunInfo glyphRunInfo = this._fixedPageInfo.GlyphRunAtPosition(this._nextGlyphRun);

            lcid = glyphRunInfo.LanguageID;
            this._nextGlyphRun++;
            return(glyphRunInfo.UnicodeString);
        }
예제 #2
0
        //------------------------------------------------------
        //
        //  Internal Methods
        //
        //------------------------------------------------------

        #region Internal Methods
        /// <summary>
        /// Return the content of the next glyph run, with a boolean indication
        /// whether it is separated by a space form the preceding glyph run.
        /// </summary>
        internal string NextGlyphContent(out bool inline, out uint lcid)
        {
            // Right now, we use the simplest possible heuristic for
            // spacing glyph runs: All pairs of adjacent glyph runs are assumed
            // to be separated by a word break.
            inline = false;
            lcid   = 0;

            // End of page?
            if (_nextGlyphRun >= _fixedPageInfo.GlyphRunCount)
            {
                return(null);
            }

            // Retrieve inline, lcid and return value from the next glyph run info.
            GlyphRunInfo glyphRunInfo = _fixedPageInfo.GlyphRunAtPosition(_nextGlyphRun);

            lcid = glyphRunInfo.LanguageID;

            // Point to the next glyph run for the next call and return.
            ++_nextGlyphRun;
            return(glyphRunInfo.UnicodeString);
        }