iTextSharp.text.pdf.BidiOrder.ReinsertExplicitCodes C# (CSharp) Метод

ReinsertExplicitCodes() приватный Метод

private ReinsertExplicitCodes ( int textLength ) : int
textLength int
Результат int
        private int ReinsertExplicitCodes(int textLength)
        {
            for (int i = initialTypes.Length; --i >= 0;) {
                sbyte t = initialTypes[i];
                if (t == LRE || t == RLE || t == LRO || t == RLO || t == PDF || t == BN) {
                    embeddings[i] = 0;
                    resultTypes[i] = t;
                    resultLevels[i] = -1;
                } else {
                    --textLength;
                    embeddings[i] = embeddings[textLength];
                    resultTypes[i] = resultTypes[textLength];
                    resultLevels[i] = resultLevels[textLength];
                }
            }

            // now propagate forward the levels information (could have
            // propagated backward, the main thing is not to introduce a level
            // break where one doesn't already exist).

            if (resultLevels[0] == -1) {
                resultLevels[0] = paragraphEmbeddingLevel;
            }
            for (int i = 1; i < initialTypes.Length; ++i) {
                if (resultLevels[i] == -1) {
                    resultLevels[i] = resultLevels[i-1];
                }
            }

            // Embedding information is for informational purposes only
            // so need not be adjusted.

            return initialTypes.Length;
        }