git-svn-id: svn://ultimatepp.org/upp/trunk@11912 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2018-04-25 07:21:32 +00:00
parent a047e1f31d
commit f697074189
3 changed files with 82 additions and 0 deletions

10
upptst/RTF/RTF.upp Normal file
View file

@ -0,0 +1,10 @@
uses
CtrlLib;
file
Sample.qtf,
main.cpp;
mainconfig
"" = "GUI";

61
upptst/RTF/Sample.qtf Normal file
View file

@ -0,0 +1,61 @@
[*C@3+75 $$1,1#36268203433472503231438721581057:code]
[ $$0,0#00000000000000000000000000000000:Default]
[{_}%EN-US
[s0;= [*8 QTF]&]
[s0; &]
[s0; QTF is the native format of Ultimate`+`+ rich texts (formatted
texts).&]
[s0; &]
[s0; Letters ([@4 a]`-[@4 zA]`-[@4 Z]), numbers ([@4 0]`-[@4 9]), space (32)
and characters&]
[s0; &]
[s0; [*@4 . , ; ! ? % ( ) / < > #]&]
[s0; &]
[s0; Example:&]
[s0; &]
[s1; `"`\1a`[x`]`\1`[`* bold`]`"&]
[s0; &]
[s0; Colors are described as either number [@(128.0.255) 0]`-[@(128.0.255) 9],
with meaning&]
[s0; &]
[ {{1000:1000:1000:1000:1000:1000:1000:1000:1000:1000<96;>96;f4; [s0;%- [* 0]]
:: [s0;%- [* 1]]
:: [s0;%- [* 2]]
:: [s0;%- [* 3]]
:: [s0;%- [* 4]]
:: [s0;%- [* 5]]
:: [s0;%- [* 6]]
:: [s0;%- [* 7]]
:: [s0;%- [* 8]]
:: [s0;%- [* 9]]
::l/0r/0t/0b/0@0 [s0; ]
::@1 [s0; ]
::@2 [s0; ]
::@3 [s0; ]
::@4 [s0; ]
::@5 [s0; ]
::@6 [s0; ]
::@7 [s0; ]
::@8 [s0; ]
::@9 [s0; ]
::l/25r/25t/15b/15@2 [s0;%- [1 Black]]
:: [s0; [1 LtGray]]
:: [s0; [1 White]]
:: [s0;%- [1 Red]]
:: [s0;%- [1 Green]]
:: [s0;%- [1 Blue]]
:: [s0;%- [1 LtRed]]
:: [s0;%- [1 WhiteGray]]
:: [s0;%- [1 LtCyan]]
:: [s0;%- [1 Yellow]]}}&]
[s0;%- &]
[s0;%- [+92 Default is multiline:]&]
[s0;i64;O0;%- [+92 line 1]&]
[s0;i64;O0;%- [+92 line 2]&]
[s0;i64;O0;%- [+92 line 3]&]
[s0;%- [+92 Some more text lines!]&]
[s0;%- &]
[s0;=%-
@@image:2925&2187
(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)
]]

11
upptst/RTF/main.cpp Normal file
View file

@ -0,0 +1,11 @@
#include <CtrlLib/CtrlLib.h>
using namespace Upp;
GUI_APP_MAIN
{
RichText txt = ParseQTF(LoadDataFile("Sample.qtf"));
String out = GetHomeDirFile("upp_test.rtf");
SaveFile(out, EncodeRTF(txt));
LaunchWebBrowser(out);
}