summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Makefile.am4
-rw-r--r--src/plainhtml.cpp89
-rw-r--r--src/plainhtml.h38
3 files changed, 129 insertions, 2 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index 6a1baf9..2906721 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -7,7 +7,7 @@ CXXFLAGS += $(USE_EXCEPTIONS)
kde_module_LTLIBRARIES = tdeio_sword.la
tdeio_sword_la_SOURCES = tdeio_sword.cpp renderer.cpp ks_osishtml.cpp ks_gbfhtml.cpp \
- ks_thmlhtml.cpp utils.cpp swordutils.cpp swordoptions.cpp filter.cpp template.cpp
+ ks_thmlhtml.cpp utils.cpp swordutils.cpp swordoptions.cpp filter.cpp template.cpp plainhtml.cpp
tdeio_sword_la_LIBADD = $(LIB_QT) $(LIB_TDECORE) $(LIB_TDEIO) $(LIB_SWORD)
@@ -20,4 +20,4 @@ messages: rc.cpp
$(XGETTEXT) *.cpp -o $(podir)/tdeio_sword.pot
noinst_HEADERS = tdeio_sword.h renderer.h swordoptions.h ks_osishtml.h \
- ks_gbfhtml.h ks_thmlhtml.h utils.h swordutils.h option.h filter.h template.h
+ ks_gbfhtml.h ks_thmlhtml.h utils.h swordutils.h option.h filter.h template.h plainhtml.h
diff --git a/src/plainhtml.cpp b/src/plainhtml.cpp
new file mode 100644
index 0000000..3f989fa
--- /dev/null
+++ b/src/plainhtml.cpp
@@ -0,0 +1,89 @@
+/***************************************************************************
+ * plainhtml.cpp - description
+ * -------------------
+ * begin : Thu Jun 24 1999
+ * copyright : (C) 1999 by Torsten Uhlmann
+ * email : TUhlmann@gmx.de
+ *
+ * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+#include <plainhtml.h>
+#include <swbuf.h>
+
+SWORD_NAMESPACE_START
+
+PLAINHTML::PLAINHTML()
+{
+}
+
+
+char PLAINHTML::processText(SWBuf &text, const SWKey *key, const SWModule *module)
+{
+ int count = 0;
+
+ SWBuf orig = text;
+ const char *from = orig.c_str();
+ for (text = ""; *from; from++)
+ {
+ if ((*from == '\n') && (from[1] == '\n')) // two newlinea are a paragraph
+ {
+ text += "<P>";
+ from++;
+ continue;
+ } else {
+ if ((*from == '\n')) // && (from[1] != '\n')) // only one new line
+ {
+ text += "<BR>";
+ continue;
+ }
+ }
+
+ if (*from == '{') { //footnote start
+ text += "<FONT COLOR=\"#80000\"><SMALL> (";
+ continue;
+ }
+ else if (*from == '}') //footnote end
+ {
+ text += ") </SMALL></FONT>";
+ continue;
+ }
+ else if (*from == '<') {
+ text += "&lt;";
+ continue;
+ }
+ else if (*from == '>') {
+ text += "&gt;";
+ continue;
+ }
+ else if (*from == '&') {
+ text += "&amp;";
+ continue;
+ }
+ else if ((*from == ' ') && (count > 5000))
+ {
+ text += "<WBR>";
+ count = 0;
+ continue;
+ }
+
+ text += *from;
+ count++;
+ }
+ return 0;
+}
+
+SWORD_NAMESPACE_END
diff --git a/src/plainhtml.h b/src/plainhtml.h
new file mode 100644
index 0000000..e09821a
--- /dev/null
+++ b/src/plainhtml.h
@@ -0,0 +1,38 @@
+/***************************************************************************
+ *
+ * $Id: plainhtml.h 1688 2005-01-01 04:42:26Z scribe $
+ *
+ * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
+ * CrossWire Bible Society
+ * P. O. Box 2528
+ * Tempe, AZ 85280-2528
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ */
+
+#ifndef PLAINHTML_H
+#define PLAINHTML_H
+
+#include <swfilter.h>
+
+SWORD_NAMESPACE_START
+
+/** this filter converts plain text to HTML text
+ * @author Torsten Uhlmann, begin : Tue Jun 15 15:34:26 CEST 1999
+ */
+class SWDLLEXPORT PLAINHTML : public SWFilter {
+public:
+ PLAINHTML();
+ virtual char processText(SWBuf &text, const SWKey *key = 0, const SWModule *module = 0);
+};
+
+SWORD_NAMESPACE_END
+#endif