diff --git a/autotest/RichTextHtml/Out.html b/autotest/RichTextHtml/Out.html
new file mode 100644
index 000000000..8785d8d43
--- /dev/null
+++ b/autotest/RichTextHtml/Out.html
@@ -0,0 +1,25 @@
+
+
Normal text
+Bold text
+Italic
+Underline
+
+
+Standard paragraph. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Mauris dictum facilisis augue. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur? Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Mauris dictum facilisis augue. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur? Curabitur vitae diam non enim vestibulum interdum. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Etiam sapien elit, consequat eget, tristique non, venenatis quis, ante. Integer tempor. Morbi leo mi, nonummy eget tristique non, rhoncus non leo. Phasellus rhoncus.
+
+
+1.5 line spacing. Vivamus porttitor turpis ac leo. Mauris dictum facilisis augue. Nam quis nulla. Curabitur ligula sapien, pulvinar a vestibulum quis, facilisis vel sapien. Vivamus ac leo pretium faucibus. Pellentesque arcu.Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Mauris dictum facilisis augue. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur? Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Mauris dictum facilisis augue. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur? Curabitur vitae diam non enim vestibulum interdum. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Etiam sapien elit, consequat eget, tristique non, venenatis quis, ante. Integer tempor. Morbi leo mi, nonummy eget tristique non, rhoncus non leo. Phasellus rhoncus.
+
+2.0 line spacing. Pellentesque sapien. Nulla turpis magna, cursus sit amet, suscipit a, interdum id, felis. Integer in sapien. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Suspendisse sagittis ultrices augue. Nullam lectus justo, vulputate eget mollis sed, tempor sed magna.Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Mauris dictum facilisis augue. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur? Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Mauris dictum facilisis augue. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur? Curabitur vitae diam non enim vestibulum interdum. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Etiam sapien elit, consequat eget, tristique non, venenatis quis, ante. Integer tempor. Morbi leo mi, nonummy eget tristique non, rhoncus non leo. Phasellus rhoncus.
+
+
+
\ No newline at end of file
diff --git a/autotest/RichTextHtml/RichTextHtml.cpp b/autotest/RichTextHtml/RichTextHtml.cpp
new file mode 100644
index 000000000..1a20e1342
--- /dev/null
+++ b/autotest/RichTextHtml/RichTextHtml.cpp
@@ -0,0 +1,23 @@
+#include
+#include
+
+using namespace Upp;
+
+CONSOLE_APP_MAIN
+{
+ StdLogSetup(LOG_FILE|LOG_COUT);
+
+ Index css;
+ VectorMap links;
+
+ String body = EncodeHtml(ParseQTF(LoadDataFile("Test.qtf")), css, links, Null);
+
+ String outfn = GetHomeDirFile("Out.html");
+
+ SaveFile(outfn, "\r\n"
+ "" + body + "");
+
+ ASSERT(LoadDataFile("Out.html") == LoadFile(outfn));
+
+ LOG("============ OK");
+}
diff --git a/autotest/RichTextHtml/RichTextHtml.upp b/autotest/RichTextHtml/RichTextHtml.upp
new file mode 100644
index 000000000..57fb191d9
--- /dev/null
+++ b/autotest/RichTextHtml/RichTextHtml.upp
@@ -0,0 +1,11 @@
+uses
+ Core,
+ RichText;
+
+file
+ Test.qtf,
+ RichTextHtml.cpp;
+
+mainconfig
+ "" = "";
+
diff --git a/autotest/RichTextHtml/Test.qtf b/autotest/RichTextHtml/Test.qtf
new file mode 100644
index 000000000..706107d50
--- /dev/null
+++ b/autotest/RichTextHtml/Test.qtf
@@ -0,0 +1,71 @@
+[ $$0,0#00000000000000000000000000000000:Default]
+[{_}
+[s0; Normal text&]
+[s0; [* Bold text]&]
+[s0; [*/ Italic]&]
+[s0; [*_ Underline]&]
+[s0; &]
+[s0; &]
+[s0; Standard paragraph. Lorem ipsum dolor sit amet, consectetuer
+adipiscing elit. Mauris dictum facilisis augue. Lorem ipsum dolor
+sit amet, consectetuer adipiscing elit. Quis autem vel eum iure
+reprehenderit qui in ea voluptate velit esse quam nihil molestiae
+consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla
+pariatur? Lorem ipsum dolor sit amet, consectetuer adipiscing
+elit. Mauris dictum facilisis augue. Lorem ipsum dolor sit amet,
+consectetuer adipiscing elit. Quis autem vel eum iure reprehenderit
+qui in ea voluptate velit esse quam nihil molestiae consequatur,
+vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?
+Curabitur vitae diam non enim vestibulum interdum. Neque porro
+quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur,
+adipisci velit, sed quia non numquam eius modi tempora incidunt
+ut labore et dolore magnam aliquam quaerat voluptatem. Etiam
+sapien elit, consequat eget, tristique non, venenatis quis, ante.
+Integer tempor. Morbi leo mi, nonummy eget tristique non, rhoncus
+non leo. Phasellus rhoncus.&]
+[s0; &]
+[s0; &]
+[s0;ph 1.5 line spacing. Vivamus porttitor turpis ac leo. Mauris
+dictum facilisis augue. Nam quis nulla. Curabitur ligula sapien,
+pulvinar a vestibulum quis, facilisis vel sapien. Vivamus ac
+leo pretium faucibus. Pellentesque arcu.Lorem ipsum dolor sit
+amet, consectetuer adipiscing elit. Mauris dictum facilisis augue.
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quis
+autem vel eum iure reprehenderit qui in ea voluptate velit esse
+quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat
+quo voluptas nulla pariatur? Lorem ipsum dolor sit amet, consectetuer
+adipiscing elit. Mauris dictum facilisis augue. Lorem ipsum dolor
+sit amet, consectetuer adipiscing elit. Quis autem vel eum iure
+reprehenderit qui in ea voluptate velit esse quam nihil molestiae
+consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla
+pariatur? Curabitur vitae diam non enim vestibulum interdum.
+Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet,
+consectetur, adipisci velit, sed quia non numquam eius modi tempora
+incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
+Etiam sapien elit, consequat eget, tristique non, venenatis quis,
+ante. Integer tempor. Morbi leo mi, nonummy eget tristique non,
+rhoncus non leo. Phasellus rhoncus.&]
+[s0; &]
+[s0;pd 2.0 line spacing. Pellentesque sapien. Nulla turpis magna,
+cursus sit amet, suscipit a, interdum id, felis. Integer in sapien.
+Cum sociis natoque penatibus et magnis dis parturient montes,
+nascetur ridiculus mus. Suspendisse sagittis ultrices augue.
+Nullam lectus justo, vulputate eget mollis sed, tempor sed magna.Lorem
+ipsum dolor sit amet, consectetuer adipiscing elit. Mauris dictum
+facilisis augue. Lorem ipsum dolor sit amet, consectetuer adipiscing
+elit. Quis autem vel eum iure reprehenderit qui in ea voluptate
+velit esse quam nihil molestiae consequatur, vel illum qui dolorem
+eum fugiat quo voluptas nulla pariatur? Lorem ipsum dolor sit
+amet, consectetuer adipiscing elit. Mauris dictum facilisis augue.
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quis
+autem vel eum iure reprehenderit qui in ea voluptate velit esse
+quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat
+quo voluptas nulla pariatur? Curabitur vitae diam non enim vestibulum
+interdum. Neque porro quisquam est, qui dolorem ipsum quia dolor
+sit amet, consectetur, adipisci velit, sed quia non numquam eius
+modi tempora incidunt ut labore et dolore magnam aliquam quaerat
+voluptatem. Etiam sapien elit, consequat eget, tristique non,
+venenatis quis, ante. Integer tempor. Morbi leo mi, nonummy eget
+tristique non, rhoncus non leo. Phasellus rhoncus.&]
+[s0; &]
+[s0; ]]
\ No newline at end of file
diff --git a/autotest/RichTextHtml/init b/autotest/RichTextHtml/init
new file mode 100644
index 000000000..94b01df2d
--- /dev/null
+++ b/autotest/RichTextHtml/init
@@ -0,0 +1,5 @@
+#ifndef _RichTextHtml_icpp_init_stub
+#define _RichTextHtml_icpp_init_stub
+#include "Core/init"
+#include "RichText/init"
+#endif