iTextSharp.text.pdf.parser.TaggedPdfReaderTool.FixTagName C# (CSharp) Method

FixTagName() private static method

private static FixTagName ( String tag ) : String
tag String
return String
        private static String FixTagName(String tag)
        {
            StringBuilder sb = new StringBuilder();
            for (int k = 0; k < tag.Length; ++k) {
                char c = tag[k];
                bool nameStart =
                    c == ':'
                    || (c >= 'A' && c <= 'Z')
                    || c == '_'
                    || (c >= 'a' && c <= 'z')
                    || (c >= '\u00c0' && c <= '\u00d6')
                    || (c >= '\u00d8' && c <= '\u00f6')
                    || (c >= '\u00f8' && c <= '\u02ff')
                    || (c >= '\u0370' && c <= '\u037d')
                    || (c >= '\u037f' && c <= '\u1fff')
                    || (c >= '\u200c' && c <= '\u200d')
                    || (c >= '\u2070' && c <= '\u218f')
                    || (c >= '\u2c00' && c <= '\u2fef')
                    || (c >= '\u3001' && c <= '\ud7ff')
                    || (c >= '\uf900' && c <= '\ufdcf')
                    || (c >= '\ufdf0' && c <= '\ufffd');
                bool nameMiddle =
                    c == '-'
                    || c == '.'
                    || (c >= '0' && c <= '9')
                    || c == '\u00b7'
                    || (c >= '\u0300' && c <= '\u036f')
                    || (c >= '\u203f' && c <= '\u2040')
                    || nameStart;
                if (k == 0) {
                    if (!nameStart)
                        c = '_';
                }
                else {
                    if (!nameMiddle)
                        c = '-';
                }
                sb.Append(c);
            }
            return sb.ToString();
        }