X-Git-Url: http://git.nikiroo.be/?p=fanfix.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Foutput%2FInfoText.java;fp=src%2Fbe%2Fnikiroo%2Ffanfix%2Foutput%2FInfoText.java;h=69376856e83216c4c2f99e55e12c92a24b2abe55;hp=0000000000000000000000000000000000000000;hb=08fe2e33007063e30fe22dc1d290f8afaa18eb1d;hpb=ed48062ebfb0d611b74834e313bfb0a2b81416e6 diff --git a/src/be/nikiroo/fanfix/output/InfoText.java b/src/be/nikiroo/fanfix/output/InfoText.java new file mode 100644 index 0000000..6937685 --- /dev/null +++ b/src/be/nikiroo/fanfix/output/InfoText.java @@ -0,0 +1,74 @@ +package be.nikiroo.fanfix.output; + +import java.io.IOException; + +import be.nikiroo.fanfix.Instance; +import be.nikiroo.fanfix.bundles.StringId; +import be.nikiroo.fanfix.data.Chapter; +import be.nikiroo.fanfix.data.Paragraph.ParagraphType; + +class InfoText extends Text { + // quote chars + private char openQuote = Instance.getTrans().getChar( + StringId.OPEN_SINGLE_QUOTE); + private char closeQuote = Instance.getTrans().getChar( + StringId.CLOSE_SINGLE_QUOTE); + private char openDoubleQuote = Instance.getTrans().getChar( + StringId.OPEN_DOUBLE_QUOTE); + private char closeDoubleQuote = Instance.getTrans().getChar( + StringId.CLOSE_DOUBLE_QUOTE); + + @Override + protected String getDefaultExtension() { + return ""; + } + + @Override + protected void writeChapterHeader(Chapter chap) throws IOException { + writer.write("\n"); + + if (chap.getName() != null && !chap.getName().isEmpty()) { + writer.write(Instance.getTrans().getString(StringId.CHAPTER_NAMED, + chap.getNumber(), chap.getName())); + } else { + writer.write(Instance.getTrans().getString( + StringId.CHAPTER_UNNAMED, chap.getNumber())); + } + + writer.write("\n\n"); + } + + @Override + protected void writeTextLine(ParagraphType type, String line) + throws IOException { + switch (type) { + case NORMAL: + case QUOTE: + StringBuilder builder = new StringBuilder(); + for (char car : line.toCharArray()) { + if (car == '—') { + builder.append("---"); + } else if (car == '–') { + builder.append("--"); + } else if (car == openDoubleQuote) { + builder.append("\""); + } else if (car == closeDoubleQuote) { + builder.append("\""); + } else if (car == openQuote) { + builder.append("'"); + } else if (car == closeQuote) { + builder.append("'"); + } else { + builder.append(car); + } + } + + line = builder.toString(); + break; + default: + break; + } + + super.writeTextLine(type, line); + } +}