+ public SilkWriter text(String text) {
+ usabilityCheck();
+
+ attributeParenCloseCheck(true);
+
+ if (formatConfig.indentBeforeDataLine)
+ printIndent();
+
+ String line[] = text.split("\r?\n");
+ if (line == null)
+ return this;
+
+ for (String each : line) {
+ out.print(escapeDataLine(each));
+ }
+
+ return this;
+ }
+
+ public static String escapeText(String text) {
+ String[] line = text.split("\r?\n");
+ if (line == null)
+ return escapeDataLine(text);
+
+ List<String> buf = new ArrayList<String>();
+ for (String each : line) {
+ buf.add(escapeDataLine(each));
+ }
+ return StringUtil.join(buf, StringUtil.NEW_LINE);
+ }
+
+ private static Pattern leadingHyphen = Pattern.compile("\\s*-");
+
+ private static String escapeDataLine(String dataLine) {
+
+ if (dataLine == null)
+ return dataLine;