Exemplo n.º 1
0
        /// <summary>
        /// Strips indentation, adds &amp;nbsp; for multiple whitespaces and ensures all lines end with a CRLF.
        /// </summary>
        private static string NormalizeText(string text)
        {
            string normalized = StripIndentation(text);

            normalized = AddNbsp(normalized);
            normalized = LineEndingHelper.Normalize(normalized, LineEnding.CRLF);

            return(normalized);
        }
Exemplo n.º 2
0
        public static string RtfEscape(string str)
        {
            str = LineEndingHelper.Normalize(str, LineEnding.LF);
            StringBuilder output = new StringBuilder((int)(str.Length * 1.1));

            foreach (char c in str)
            {
                output.Append(RtfEscape(c));
            }
            return(output.ToString());
        }
Exemplo n.º 3
0
        public static string CompressExcessWhitespace(string str)
        {
            // RegexOptions.Multiline only works with \n, not \r\n
            str = LineEndingHelper.Normalize(str, LineEnding.LF);

            // trim lines made up of only spaces and tabs (but keep the line breaks)
            //str = Regex.Replace(str, @"[ \t]+(?=\r\n|$)", "");
            str = Regex.Replace(str, @"[ \t]+$", "", RegexOptions.Multiline);
            //str = Regex.Replace(str, @"(?<=^|\n)[ \t]+(?=\r\n|$)", "");

            str = str.TrimStart('\n');
            str = str.TrimEnd('\n');
            str = Regex.Replace(str, @"\n{3,}", "\n\n");

            str = LineEndingHelper.Normalize(str, LineEnding.CRLF);
            return(str);
        }