| { | { | ||||
| return newRuns; //I dont wanna get an exception if text == null, so just return empy list | return newRuns; //I dont wanna get an exception if text == null, so just return empy list | ||||
| } | } | ||||
| char lastChar; | |||||
| foreach (char c in text) | foreach (char c in text) | ||||
| { | { | ||||
| newRuns.Add(new XElement(DocX.w + "r", rPr, tabRun)); | newRuns.Add(new XElement(DocX.w + "r", rPr, tabRun)); | ||||
| break; | break; | ||||
| case '\r': | case '\r': | ||||
| if (sb.Length > 0) | |||||
| { | |||||
| XElement t = new XElement(DocX.w + "t", sb.ToString()); | |||||
| Novacode.Text.PreserveSpace(t); | |||||
| newRuns.Add(new XElement(DocX.w + "r", rPr, t)); | |||||
| sb = new StringBuilder(); | |||||
| } | |||||
| newRuns.Add(new XElement(DocX.w + "r", rPr, breakRun)); | |||||
| break; | |||||
| case '\n': | case '\n': | ||||
| if (lastChar == '\r') break; | |||||
| if (sb.Length > 0) | if (sb.Length > 0) | ||||
| { | { | ||||
| XElement t = new XElement(DocX.w + "t", sb.ToString()); | XElement t = new XElement(DocX.w + "t", sb.ToString()); | ||||
| sb.Append(c); | sb.Append(c); | ||||
| break; | break; | ||||
| } | } | ||||
| lastChar = c; | |||||
| } | } | ||||
| if (sb.Length > 0) | if (sb.Length > 0) |