summaryrefslogtreecommitdiff
path: root/texmf-dist/tex/latex/richtext/richtext.sty
diff options
context:
space:
mode:
Diffstat (limited to 'texmf-dist/tex/latex/richtext/richtext.sty')
-rw-r--r--texmf-dist/tex/latex/richtext/richtext.sty773
1 files changed, 407 insertions, 366 deletions
diff --git a/texmf-dist/tex/latex/richtext/richtext.sty b/texmf-dist/tex/latex/richtext/richtext.sty
index 3541612b..540f8435 100644
--- a/texmf-dist/tex/latex/richtext/richtext.sty
+++ b/texmf-dist/tex/latex/richtext/richtext.sty
@@ -1,366 +1,407 @@
-%%
-%% This is file `richtext.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% richtext.dtx (with options: `copyright,package')
-%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% richtext package, %%
-%% Copyright (C) 2016 D. P. Story %%
-%% dpstory@uakron.edu %%
-%% %%
-%% This program can redistributed and/or modified under %%
-%% the terms of the LaTeX Project Public License %%
-%% Distributed from CTAN archives in directory %%
-%% macros/latex/base/lppl.txt; either version 1 of the %%
-%% License, or (at your option) any later version. %%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\NeedsTeXFormat{LaTeX2e}[1997/12/01]
-\ProvidesPackage{richtext}
- [2016/10/03 v1.0c richtext: create rich text strings (dps)]
-\RequirePackage{xkeyval}
-\RequirePackage{ifxetex}[2006/08/21]
-\newif\ifrt@formfield \rt@formfieldtrue
-\newif\ifrt@needsbody\rt@needsbodyfalse
-\@ifpackageloaded{eforms}%
- {\ifxetex\let\@eqV\@eqnuV\fi}{\rt@needsbodytrue}
-\providecommand\eq@RV@Body{<?xml version="1.0"?><body %
- xfa:APIVersion="Acroform:2.7.0.0" %
- xfa:contentType="text/html" %
- xfa:spec="2.1" xmlns="http://www.w3.org/1999/xhtml" %
- xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">}
-\providecommand\eq@RV@endBody{</body>}
-\def\rt@bBody{\ifrt@needsbody\eq@RV@Body\fi}
-\def\rt@eBody{\ifrt@needsbody\eq@RV@endBody\fi}
-\newif\ifrtfontstyle\rtfontstylefalse
-\define@key{rtFont}{font}[]{\def\rt@argi{#1}\ifx\rt@argi\@empty
- \let\rf@font\@empty\else\rtfontstyletrue
- \def\rf@font{font-family:#1}\fi}
-\define@key{rtFont}{size}[]{\def\rt@argi{#1}\ifx\rt@argi\@empty
- \let\rf@size\@empty\else\rtfontstyletrue\def\rf@size@num{#1}%
- \def\rf@size@pt{#1pt}\def\rf@size{font-size:#1pt}\fi}
-\def\rf@size@num{12}\def\rf@size@pt{12pt}
-\define@key{rtFont}{raise}[]{\def\rt@argi{#1}\ifx\rt@argi\@empty
- \let\rf@raise\@empty\else\rtfontstyletrue
- \def\rf@raise{vertical-align:#1pt}\fi}
-\define@choicekey+{rtFont}{ulstyle}[\val\nr]%
- {none,ul,2ul,wul,2wul}[none]{%
- \ifcase\nr\relax
- \def\rf@ul{none}\or
- \def\rf@ul{underline}\or
- \def\rf@ul{double}\or
- \def\rf@ul{word}\or
- \def\rf@ul{double word}\fi
- \rtfontstyletrue
-}{}
-\def\rt@r{r}\let\rt@One=1 \let\rt@Zero=0
-\def\rt@parseColor#1(#2\@nil{\def\rt@argi{#2}\ifx\rt@argi\@empty
-\let\rt@rgbdec\rt@Zero\else\let\rt@rgbdec\rt@One\fi}
-\def\rt@gobbletonil#1\@nil{}
-\bgroup\@makeother\#\@makeother\&%
-\gdef\rt@hashtag{#}\gdef\rt@amp{&}\egroup
-\define@key{rtFont}{color}[]{\def\rt@argi{#1}\ifx\rt@argi\@empty
- \let\rf@color\@empty\else\rtfontstyletrue
- \rt@parseColor#1(\@nil
- \if\rt@rgbdec\rt@One
- \def\rf@color{color:#1}\else
- \def\rf@color{color:\rt@hashtag#1}\fi
-\fi}
-\let\rf@color\@empty
-\define@key{rtFont}{url}[]{\def\rt@argi{#1}\ifx\rt@argi\@empty
- \let\rt@url\@empty\else\rtfontstyletrue\def\rt@url{#1}\fi}
-\define@choicekey+{rtFontStyle}{bold}[\val\nr]{normal,bold}[bold]%
- {\edef\rfS@bold{\val}}{}
-\define@choicekey+{rtFontStyle}{italic}[\val\nr]{normal,italic}[italic]%
- {\edef\rfS@italic{\val}}{}
-\define@key{rtFontStyle}{strikeit}[]{\def\rfS@strikeit{line-through}}
-\let\rfS@normal\@empty\let\rfS@bold\@empty
-\let\rfS@italic\@empty\let\rfS@strikeit\@empty
-\define@key{rtFont}{style}[]{\def\rt@argi{#1}\ifx\rt@argi\@empty
- \let\rf@style\@empty\else\rtfontstyletrue\def\rf@style{#1}\fi}
-\define@key{rtFont}{raw}[]{\def\rt@argi{#1}\ifx\rt@argi\@empty
- \let\rf@raw\@empty\else\rtfontstyletrue\def\rf@raw{#1}\fi}
-\def\resetRtFontKeys{% rtFont family
- \let\rf@font\@empty\let\rf@size\@empty
- \let\rf@raise\@empty\let\rf@ul\@empty
- \let\rf@color\@empty\let\rf@style\@empty\let\rt@url\@empty
- \let\rf@raw\@empty
- % rtFontStyle family
- \let\rfS@normal\@empty\let\rfS@bold\@empty
- \let\rfS@italic\@empty\let\rfS@strikeit\@empty
- \rtfontstylefalse}
-\resetRtFontKeys
-\newcommand{\@AddToRichText}{\g@addto@macro\rt@RichText}
-\newcommand{\@AddToPlainText}{\g@addto@macro\rt@PlainText}
-\def\rt@excl{!}
-\def\rt@csarg#1#2{\expandafter#1\csname#2\endcsname}
-\newcommand{\useRV}[1]{\@nameuse{#1-ri}}
-\newcommand{\useV}[1]{\@nameuse{#1-pl}}
-\newif\if@rvstring \@rvstringfalse
-\def\rvorvstring{\if@rvstring
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi
-}
-\def\rt@sub#1{\rvorvstring{<sub>#1</sub>}{#1}}
-\def\rt@sup#1{\rvorvstring{<sup>#1</sup>}{#1}}
-\def\rt@br{\rvorvstring{<br />}{\string\r}}
-\def\rt@bf#1{\rvorvstring{<b>#1</b>}{#1}}
-\def\rt@it#1{\rvorvstring{<i>#1</i>}{#1}}
-\def\rt@spc{\rvorvstring{<span style="xfa-spacerun:yes">\rt@amp
- \rt@hashtag160\rt@SC</span>}{ }}
-\def\rt@SC{;}\def\rt@CN{:}\def\rt@fs{font-style}\def\rt@fw{font-weight}
-\def\rt@td{text-decoration}
-\def\rt@remove@span#1#2{#2}
-\def\rt@StyleAttr{\ifx\rf@font\@empty\else\rf@font\rt@SC\fi
- \ifx\rf@size\@empty\else\rf@size\rt@SC\fi
- \ifrt@formfield\ifx\rf@raise\@empty\else\rf@raise\rt@SC\fi\fi
- \ifx\rf@ul\@empty\ifx\rfS@strikeit\@empty\else
- \rt@td\rt@CN\rfS@strikeit\rt@SC\fi
- \else\rt@td\rt@CN\rf@ul\ifx\rfS@strikeit\@empty\else\space
- \rfS@strikeit\fi\rt@SC\fi
- \ifx\rfS@bold\@empty\else\rt@fw\rt@CN\rfS@bold\rt@SC\fi
- \ifx\rfS@italic\@empty\else\rt@fs\rt@CN\rfS@italic\rt@SC\fi
- \ifx\rf@color\@empty\else\rf@color\rt@SC\fi
- \ifx\rf@raw\@empty\else\rf@raw\fi}
-\let\rt@afterFont\relax
-\newcommand\rt@span[2]{\resetRtFontKeys
- \edef\x{\noexpand\setkeys{rtFont}{#1}}\x\rt@afterFont
- \edef\x{\noexpand\setkeys{rtFontStyle}{\rf@style}}\x
- \edef\rt@Style@ttr{\rt@StyleAttr}%
- \ifx\rt@url\@empty
- \ifx\rt@StyleAttr\@empty\def\x{#2}\else
- \edef\x{<span\ifrtfontstyle\space
- style="\rt@Style@ttr"\fi>#2</span>}\fi
- \else
- \ifx\rt@StyleAttr\@empty\edef\x{<a href="\rt@url">#2</a>}\else
- \edef\x{<a href="\rt@url"
- \ifrtfontstyle style="\rt@Style@ttr">#2</a>\fi}\fi
- \fi
-}
-\define@choicekey+{rtPara}{halign}[\val\nr]%
- {left,center,right,justify}[left]{%
- \ifcase\nr\relax
- \def\rt@halign{text-align:left}\or
- \def\rt@halign{text-align:center}\or
- \def\rt@halign{text-align:right}\or
- \def\rt@halign{text-align:justify}\fi
- \rtfontstyletrue
-}{}
-\define@choicekey+{rtPara}{valign}[\val\nr]{top,middle,bottom}[top]{%
- \ifcase\nr\relax
- \def\rt@valign{text-valign:top}\or
- \def\rt@valign{text-valign:middle}\or
- \def\rt@valign{text-valign:bottom}\fi
- \rtfontstyletrue
-}{}
-\let\rt@halign\@empty\let\rt@valign\@empty
-\define@key{rtPara}{margleft}{\def\rt@margleft{margin-left:#1pt}}
-\define@key{rtPara}{margright}{\def\rt@margright{margin-right:#1pt}}
-\define@choicekey+{rtPara}{indent}[\val\nr]{none,first,hanging}[none]{%
- \edef\rt@indenttype{\nr}%
-}{}
-\define@key{rtPara}{indentby}[12]{\def\rt@indentby{#1pt}}
-\let\rt@margleft\@empty\let\rt@margright\@empty
-\def\rt@indenttype{0}\def\rt@indentby{12pt}
-\define@key{rtPara}{margtop}[0]{\def\rt@margtop{#1pt}}
-\define@key{rtPara}{margbottom}[0]{\def\rt@margbottom{#1pt}}
-\def\rt@margtop{0pt}\def\rt@margbottom{0pt}
-\define@choicekey{rtPara}{linespacing}[\val\nr]%
- {single,oneandhalf,double,exact}[single]{%line-height
- \edef\rt@linespacingtype{\nr}%
- \ifcase\nr
- \let\rt@linesp\@empty\or
- \setlength{\@tempdima}{1.8pt*\rf@size@num}%
- \edef\rt@linesp{\the\@tempdima}\or
- \setlength{\@tempdima}{2.4pt*\rf@size@num}%
- \edef\rt@linesp{\the\@tempdima}\or
- \def\rt@linesp{\rf@size@pt}\fi
-}{}
-\let\rt@linesp\@empty\def\rt@linespacingtype{0}
-\define@key{rtPara}{lineheight}[]{\def\rt@lineheight{#1pt}}
-\let\rt@lineheight\@empty
-\def\rtp@ti{text-indent}\def\rtp@mt{margin-top}
-\def\rtp@mb{margin-bottom}\def\rtp@lh{line-height}
-\def\rt@ParaAttr{%
- \ifx\rt@halign\@empty\else\rt@halign\rt@SC\fi
-\ifrt@formfield
- \ifx\rt@valign\@empty\else\rt@valign\rt@SC\fi
- \ifx\rt@margleft\@empty\else\rt@margleft\rt@SC\fi
- \ifx\rt@margright\@empty\else\rt@margright\rt@SC\fi
- \ifcase\rt@indenttype\space\or
- \rtp@ti\rt@CN\rt@indentby\rt@SC\or
- \rtp@ti\rt@CN-\rt@indentby\rt@SC\fi
- \rtp@mt\rt@CN\rt@margtop\rt@SC\rtp@mb\rt@CN\rt@margbottom\rt@SC
- \ifx\rt@linesp\@empty\else
- \if\rt@linespacingtype3%
- \ifx\rt@lineheight\@empty
- \rtp@lh\rt@CN\rt@linesp\rt@SC
- \else
- \rtp@lh\rt@CN\rt@lineheight\rt@SC
- \fi
- \else
- \rtp@lh\rt@CN\rt@linesp\rt@SC
- \fi
- \fi
-\fi
-}
-\begingroup
-\catcode`\@=0 @catcode`@\=12
-@gdef@rtbs{\}
-@endgroup
-\def\rt@cs#1{\rvorvstring{\rtbs\rtbs#1}{\string\134#1}}
-\let\rt@afterParaFont\relax
-\def\rt@dir{ dir="ltr"}
-\newcommand\rtpara[2][]{\begingroup
- \setkeys{rtPara,rtFont}{#1}\rt@afterParaFont
- \edef\rt@Para@ttr{\rt@ParaAttr\rt@StyleAttr}%
- \global\let\rt@RichText\@empty
- \global\let\rt@PlainText\@empty
- \def\rt@ctrlName{#2}%
- \def\{{\string\{}\def\}{\string\}}%
- \def\1{\string\1}\def\2{\string\2}\def\3{\string\3}%
- \@makeother\$\@makeother\#\@makeother\^\@makeother\_\@makeother\~%
- \@makeother\&\def\&{\rvorvstring{\string&amp;}{\string&}}% req
- \@makeother\<\def\<{\rvorvstring{\string&lt;}{\string<}}% req
- \@makeother\>\def\>{\rvorvstring{\string&gt;}{\string>}}%
- \@makeother\'\def\'{\rvorvstring{\string&apos;}{\string'}}%
- \@makeother\"\def\"{\rvorvstring{\string&quot;}{\string"}}%
- \let\cs\rt@cs
- \rtpara@cont}
-\def\rtpara@cont#1{%
- \let\sup\rt@sup\let\sub\rt@sub
- \let\br\rt@br\let\bf\rt@bf\let\it\rt@it
- \let\spc\rt@spc
- \let\span\rt@remove@span
- \@rvstringfalse
- \edef\x{#1}\expandafter\@AddToPlainText\expandafter{\x}%
- \let\span\relax
- \@rvstringtrue
- \rtpara@i#1\span!;\endgroup}
-\def\rtpara@i#1\span#2;{\def\argii{#2}%
- \g@addto@macro\rt@RichText{#1}%
- \ifx\argii\rt@excl
- \rt@csarg\xdef{\rt@ctrlName-ri}%
- {%
- <p\rt@dir\ifx\rt@Para@ttr\@empty\else\space
- style="\rt@Para@ttr"\fi>\rt@RichText</p>%
- }%
- \rt@csarg\xdef{\rt@ctrlName-pl}{\rt@PlainText}%
- \let\rt@next\relax
- \else
- \def\rt@next{\rtpara@ii#2;}%
- \fi
-\rt@next}
-\def\rtpara@ii#1#2#3;{\def\argii{#2}%
- \ifx\argii\rt@excl
- \let\rt@next\relax
- \else
- \let\span\rt@span
- \let\br\rt@br\let\bf\rt@bf\let\it\rt@it
- \@rvstringtrue
- \span{#1}{#2}\edef\rt@tmp{\noexpand\g@addto@macro
- \noexpand\rt@RichText{\x}}\rt@tmp
- \rt@csarg\xdef{\rt@ctrlName-ri}%
- {%
- <p\rt@dir\ifx\rt@Para@ttr\@empty\else\space
- style="\rt@Para@ttr"\fi>\rt@RichText</p>%
- }%
- \rt@csarg\xdef{\rt@ctrlName-pl}{\rt@PlainText}%
- \let\span\relax
- \def\rt@next{\rtpara@i#3;}%
- \fi\rt@next}
-\rt@csarg\def{par-ri}{}\rt@csarg\def{par-pl}{\string\r}
-\rt@csarg\def{skipline-ri}%
- {<p><span style="xfa-spacerun:yes">\rt@amp
- \rt@hashtag160;</span></p>}
-\rt@csarg\def{skipline-pl}{\string\r\space}
-\def\rt@skipline{skipline}
-\rt@csarg\def{br-ri}{}\rt@csarg\def{br-pl}{\string\r}
-\def\rt@DSAttr{\ifx\rf@font\@empty\else\rf@font\rt@SC\fi
- \ifx\rf@size\@empty\else\rf@size\rt@SC\fi
- \ifx\rf@raise\@empty\else\rf@raise\rt@SC\fi
- \ifx\rf@ul\@empty\ifx\rfS@strikeit\@empty\else
- \rt@td\rt@CN\rfS@strikeit\rt@SC\fi
- \else\rt@td\rt@CN\rf@ul\ifx\rfS@strikeit\@empty\else\space
- \rfS@strikeit\fi\rt@SC\fi
- \ifx\rfS@bold\@empty\else\rt@fw\rt@CN\rfS@bold\rt@SC\fi
- \ifx\rfS@italic\@empty\else\rt@fs\rt@CN\rfS@italic\rt@SC\fi
- \ifx\rf@color\@empty\else\rf@color\rt@SC\fi}
-\newcommand\useDefaultDS{font-family:Helvetica,sans-serif;%
- font-size:12.0pt;font-style:normal;font-weight:normal;%
- text-align:left;color:\rt@hashtag000000}
-\newcommand{\setDefaultStyle}[2]{\begingroup
- \edef\x{\noexpand\setkeys{rtFont}{#2}}\x
- \edef\x{\noexpand\setkeys{rtFontStyle}{\rf@style}}\x
- \ifx\rf@ul\@empty\else
- \let\rt@ul\@empty\PackageWarning{richtext}{%
- The ul key is not supported within\MessageBreak
- \string\setDefaultStyle. Ignoring it}\fi
- \ifx\rf@raise\@empty\else
- \let\rt@raise\@empty\PackageWarning{richtext}{%
- The raise key is not supported within\MessageBreak
- \string\setDefaultStyle. Ignoring it}\fi
- \ifx\rt@url\@empty\else\let\rf@url\@empty
- \PackageWarning{richtext}{%
- The url key is not supported within\MessageBreak
- \string\setDefaultStyle. Ignoring it}\fi
- \ifx\rf@font\@empty
- \def\rf@font{font-family:Helvetica,sans-serif}\fi
- \ifx\rf@size\@empty\def\rf@size{font-size:\rf@size@pt}\fi
- \ifx\rf@color\@empty\def\rf@color{color:\rt@hashtag000000}\fi
- \rt@csarg\xdef{#1-DS}{\rt@DSAttr}%
-\endgroup}
-\newcommand{\useDS}[1]{\@nameuse{#1-DS}}
-\newif\ifrt@firsttok \rt@firsttoktrue
-\newif\ifrt@itsskipline \rt@itsskiplinefalse
-\def\rt@addtoRVV#1{%
- \toks4={\useRV{#1}}\edef\rt@tmpRV{\the\toks0\the\toks4}%
- \toks4={\useV{#1}}\edef\rt@tmpV{\the\toks2\the\toks4}%
- \toks0=\expandafter{\rt@tmpRV}\toks2=\expandafter{\rt@tmpV}%
-}
-\def\rt@testifbgroup{\@ifnextchar\bgroup
- {\let\rt@nultiargs=1\rt@gobbletonil}
- {\let\rt@nultiargs=0\rt@gobbletonil}}
-\newcommand{\setRVVContent}[2]{\begingroup
- \rt@firsttoktrue \rt@itsskiplinefalse
- \rt@testifbgroup#2\@nil
- \def\contName{#1}\toks0={}\toks2={}\toks4={}%
- \if\rt@nultiargs1\def\rt@next{\setRVVContent@i#2;}\else
- \def\rt@next{\setRVVContent@i{#2};}\fi\rt@next}
-\def\setRVVContent@i#1{\def\rt@argi{#1}%
- \ifx\rt@argi\rt@SC
- \rt@csarg\xdef{\contName-vcont}{\the\toks0}%
- \rt@csarg\xdef{\contName-pcont}{\the\toks2}%
- \let\rt@next\endgroup
- \else
- \expandafter\ifx\csname #1-ri\endcsname\relax
- \PackageWarning{richtext}
- {The name '#1' is not declared,\MessageBreak
- will ignore it. Check the spelling}%
- \def\rt@next{\setRVVContent@i}%
- \else
- \ifrt@firsttok\rt@firsttokfalse\else
- \ifx\rt@argi\rt@skipline
- \rt@itsskiplinetrue
- \else
- \ifrt@itsskipline
- \rt@addtoRVV{br}\rt@itsskiplinefalse
- \else
- \rt@addtoRVV{par}%
- \fi
- \fi
- \fi
- \rt@addtoRVV{#1}%
- \def\rt@next{\setRVVContent@i}%
- \fi
- \fi\rt@next
-}
-\def\useRVContent#1{\@nameuse{#1-vcont}}
-\def\useVContent#1{\@nameuse{#1-pcont}}
-\endinput
-%%
-%% End of file `richtext.sty'.
+%%
+%% This is file `richtext.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% richtext.dtx (with options: `copyright,package')
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% richtext package, %%
+%% Copyright (C) 2016--2020 %%
+%% dpstory@uakron.edu %%
+%% %%
+%% This program can redistributed and/or modified under %%
+%% the terms of the LaTeX Project Public License %%
+%% Distributed from CTAN archives in directory %%
+%% macros/latex/base/lppl.txt; either version 1 of the %%
+%% License, or (at your option) any later version. %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NeedsTeXFormat{LaTeX2e}[1997/12/01]
+\ProvidesPackage{richtext}
+ [2020/07/02 v1.1.1 richtext: create rich text strings (dps)]
+\RequirePackage{xkeyval}
+\RequirePackage{ifpdf}
+\RequirePackage{ifxetex}[2006/08/21]
+\RequirePackage{eforms}
+\@ifundefined{ifpdfmarkup}{\newif\ifpdfmarkup}{}\pdfmarkupfalse
+\ifpdf\else\ifxetex\else\pdfmarkuptrue\fi\fi
+\newif\ifrt@formfield \rt@formfieldtrue
+\newif\ifrt@needsbody\rt@needsbodyfalse
+\@ifpackageloaded{eforms}%
+ {\ifxetex\let\@eqV\@eqnuV\fi}{\rt@needsbodytrue}
+\ifxetex\else\hypersetup{pdfencoding=pdfdoc}\fi
+\providecommand\eq@RV@Body{<?xml version="1.0"?><body %
+ xfa:APIVersion="Acroform:2.7.0.0" %
+ xfa:contentType="text/html" %
+ xfa:spec="2.1" xmlns="http://www.w3.org/1999/xhtml" %
+ xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">}
+\providecommand\eq@RV@endBody{</body>}
+\def\rt@bBody{\ifrt@needsbody\eq@RV@Body\fi}
+\def\rt@eBody{\ifrt@needsbody\eq@RV@endBody\fi}
+\newif\ifrtfontstyle\rtfontstylefalse
+\define@key{rtFont}{font}[]{\def\rt@argi{#1}\ifx\rt@argi\@empty
+ \let\rf@font\@empty\else\rtfontstyletrue
+ \def\rf@font{font-family:#1}\fi}
+\define@key{rtFont}{size}[]{\def\rt@argi{#1}\ifx\rt@argi\@empty
+ \let\rf@size\@empty\else\rtfontstyletrue\def\rf@size@num{#1}%
+ \def\rf@size@pt{#1pt}\def\rf@size{font-size:#1pt}\fi}
+\def\rf@size@num{12}\def\rf@size@pt{12pt}
+\define@key{rtFont}{raise}[]{\def\rt@argi{#1}\ifx\rt@argi\@empty
+ \let\rf@raise\@empty\else\rtfontstyletrue
+ \def\rf@raise{vertical-align:#1pt}\fi}
+\define@choicekey+{rtFont}{ulstyle}[\val\nr]%
+ {none,ul,2ul,wul,2wul}[none]{%
+ \ifcase\nr\relax
+ \def\rf@ul{none}\or
+ \def\rf@ul{underline}\or
+ \def\rf@ul{double}\or
+ \def\rf@ul{word}\or
+ \def\rf@ul{double word}\fi
+ \rtfontstyletrue
+}{}
+\def\rt@r{r}\let\rt@One=1 \let\rt@Zero=0
+\def\rt@parseColor#1(#2\@nil{\def\rt@argi{#2}\ifx\rt@argi\@empty
+\let\rt@rgbdec\rt@Zero\else\let\rt@rgbdec\rt@One\fi}
+\def\rt@gobbletonil#1\@nil{}
+\bgroup\@makeother\#\@makeother\&%
+\gdef\rt@hashtag{#}\gdef\rt@amp{&}\egroup
+\define@key{rtFont}{color}[]{\def\rt@argi{#1}\ifx\rt@argi\@empty
+ \let\rf@color\@empty\else\rtfontstyletrue
+ \rt@parseColor#1(\@nil
+ \if\rt@rgbdec\rt@One
+ \def\rf@color{color:#1}\else
+ \def\rf@color{color:\rt@hashtag#1}\fi
+\fi}
+\let\rf@color\@empty
+\define@key{rtFont}{url}[]{\def\rt@argi{#1}\ifx\rt@argi\@empty
+ \let\rt@url\@empty\else\rtfontstyletrue\def\rt@url{#1}\fi}
+\define@choicekey+{rtFontStyle}{bold}[\val\nr]{normal,bold}[bold]%
+ {\edef\rfS@bold{\val}}{}
+\define@choicekey+{rtFontStyle}{italic}[\val\nr]{normal,italic}[italic]%
+ {\edef\rfS@italic{\val}}{}
+\define@key{rtFontStyle}{strikeit}[]{\def\rfS@strikeit{line-through}}
+\let\rfS@normal\@empty\let\rfS@bold\@empty
+\let\rfS@italic\@empty\let\rfS@strikeit\@empty
+\define@key{rtFont}{style}[]{\def\rt@argi{#1}\ifx\rt@argi\@empty
+ \let\rf@style\@empty\else\rtfontstyletrue\def\rf@style{#1}\fi}
+\define@key{rtFont}{raw}[]{\def\rt@argi{#1}\ifx\rt@argi\@empty
+ \let\rf@raw\@empty\else\rtfontstyletrue\def\rf@raw{#1}\fi}
+\def\resetRtFontKeys{% rtFont family
+ \let\rf@font\@empty\let\rf@size\@empty
+ \let\rf@raise\@empty\let\rf@ul\@empty
+ \let\rf@color\@empty\let\rf@style\@empty\let\rt@url\@empty
+ \let\rf@raw\@empty
+ \let\rfS@normal\@empty\let\rfS@bold\@empty
+ \let\rfS@italic\@empty\let\rfS@strikeit\@empty
+ \rtfontstylefalse}
+\resetRtFontKeys
+\newcommand{\@AddToRichText}{\g@addto@macro\rt@RichText}
+\newcommand{\@AddToPlainText}{\g@addto@macro\rt@PlainText}
+\def\rt@excl{!}
+\def\rt@csarg#1#2{\expandafter#1\csname#2\endcsname}
+\newcommand{\useRV}[1]{\@nameuse{#1-ri}}
+\newcommand{\useV}[1]{\@nameuse{#1-pl}}
+\newif\if@rvstring \@rvstringfalse
+\def\rvorvstring{\if@rvstring
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+\def\rt@sub#1{\rvorvstring{<sub>#1</sub>}{#1}}
+\def\rt@sup#1{\rvorvstring{<sup>#1</sup>}{#1}}
+\def\rt@br{\rvorvstring{<br />}{\string\r}}
+\def\rt@bf#1{\rvorvstring{<b>#1</b>}{#1}}
+\def\rt@it#1{\rvorvstring{<i>#1</i>}{#1}}
+\def\rt@spc{\rvorvstring{<span style="xfa-spacerun:yes">\rt@amp
+ \rt@hashtag160\rt@SC</span>}{ }}
+\def\rt@SC{;}\def\rt@CN{:}\def\rt@fs{font-style}\def\rt@fw{font-weight}
+\def\rt@td{text-decoration}
+\def\rt@remove@span#1#2{#2}
+\def\rt@StyleAttr{\ifx\rf@font\@empty\else\rf@font\rt@SC\fi
+ \ifx\rf@size\@empty\else\rf@size\rt@SC\fi
+ \ifrt@formfield\ifx\rf@raise\@empty\else\rf@raise\rt@SC\fi\fi
+ \ifx\rf@ul\@empty\ifx\rfS@strikeit\@empty\else
+ \rt@td\rt@CN\rfS@strikeit\rt@SC\fi
+ \else\rt@td\rt@CN\rf@ul\ifx\rfS@strikeit\@empty\else\space
+ \rfS@strikeit\fi\rt@SC\fi
+ \ifx\rfS@bold\@empty\else\rt@fw\rt@CN\rfS@bold\rt@SC\fi
+ \ifx\rfS@italic\@empty\else\rt@fs\rt@CN\rfS@italic\rt@SC\fi
+ \ifx\rf@color\@empty\else\rf@color\rt@SC\fi
+ \ifx\rf@raw\@empty\else\rf@raw\fi}
+\let\rt@afterFont\relax
+\newcommand\rt@span[2]{\resetRtFontKeys
+ \edef\x{\noexpand\setkeys{rtFont}{#1}}\x\rt@afterFont
+ \edef\x{\noexpand\setkeys{rtFontStyle}{\rf@style}}\x
+ \edef\rt@Style@ttr{\rt@StyleAttr}%
+ \ifx\rt@url\@empty
+ \ifx\rt@StyleAttr\@empty\def\x{#2}\else
+ \edef\x{<span\ifrtfontstyle\space
+ style="\rt@Style@ttr"\fi>#2</span>}\fi
+ \else
+ \ifx\rt@StyleAttr\@empty\edef\x{<a href="\rt@url">#2</a>}\else
+ \edef\x{<a href="\rt@url"
+ \ifrtfontstyle style="\rt@Style@ttr">#2</a>\fi}\fi
+ \fi
+}
+\define@choicekey+{rtPara}{halign}[\val\nr]%
+ {left,center,right,justify}[left]{%
+ \ifcase\nr\relax
+ \def\rt@halign{text-align:left}\or
+ \def\rt@halign{text-align:center}\or
+ \def\rt@halign{text-align:right}\or
+ \def\rt@halign{text-align:justify}\fi
+ \rtfontstyletrue
+}{}
+\define@choicekey+{rtPara}{valign}[\val\nr]{top,middle,bottom}[top]{%
+ \ifcase\nr\relax
+ \def\rt@valign{text-valign:top}\or
+ \def\rt@valign{text-valign:middle}\or
+ \def\rt@valign{text-valign:bottom}\fi
+ \rtfontstyletrue
+}{}
+\let\rt@halign\@empty\let\rt@valign\@empty
+\define@key{rtPara}{margleft}{\def\rt@margleft{margin-left:#1pt}}
+\define@key{rtPara}{margright}{\def\rt@margright{margin-right:#1pt}}
+\define@choicekey+{rtPara}{indent}[\val\nr]{none,first,hanging}[none]{%
+ \edef\rt@indenttype{\nr}%
+}{}
+\define@key{rtPara}{indentby}[12]{\def\rt@indentby{#1pt}}
+\let\rt@margleft\@empty\let\rt@margright\@empty
+\def\rt@indenttype{0}\def\rt@indentby{12pt}
+\define@key{rtPara}{margtop}[0]{\def\rt@margtop{#1pt}}
+\define@key{rtPara}{margbottom}[0]{\def\rt@margbottom{#1pt}}
+\def\rt@margtop{0pt}\def\rt@margbottom{0pt}
+\define@choicekey{rtPara}{linespacing}[\val\nr]%
+ {single,oneandhalf,double,exact}[single]{%line-height
+ \edef\rt@linespacingtype{\nr}%
+ \ifcase\nr
+ \let\rt@linesp\@empty\or
+ \setlength{\@tempdima}{1.8pt*\rf@size@num}%
+ \edef\rt@linesp{\the\@tempdima}\or
+ \setlength{\@tempdima}{2.4pt*\rf@size@num}%
+ \edef\rt@linesp{\the\@tempdima}\or
+ \def\rt@linesp{\rf@size@pt}\fi
+}{}
+\let\rt@linesp\@empty\def\rt@linespacingtype{0}
+\define@key{rtPara}{lineheight}[]{\def\rt@lineheight{#1pt}}
+\let\rt@lineheight\@empty
+\def\rtp@ti{text-indent}\def\rtp@mt{margin-top}
+\def\rtp@mb{margin-bottom}\def\rtp@lh{line-height}
+\def\rt@ParaAttr{%
+ \ifx\rt@halign\@empty\else\rt@halign\rt@SC\fi
+\ifrt@formfield
+ \ifx\rt@valign\@empty\else\rt@valign\rt@SC\fi
+ \ifx\rt@margleft\@empty\else\rt@margleft\rt@SC\fi
+ \ifx\rt@margright\@empty\else\rt@margright\rt@SC\fi
+ \ifcase\rt@indenttype\space\or
+ \rtp@ti\rt@CN\rt@indentby\rt@SC\or
+ \rtp@ti\rt@CN-\rt@indentby\rt@SC\fi
+ \rtp@mt\rt@CN\rt@margtop\rt@SC\rtp@mb\rt@CN\rt@margbottom\rt@SC
+ \ifx\rt@linesp\@empty\else
+ \if\rt@linespacingtype3%
+ \ifx\rt@lineheight\@empty
+ \rtp@lh\rt@CN\rt@linesp\rt@SC
+ \else
+ \rtp@lh\rt@CN\rt@lineheight\rt@SC
+ \fi
+ \else
+ \rtp@lh\rt@CN\rt@linesp\rt@SC
+ \fi
+ \fi
+\fi }
+\begingroup
+\catcode`\@=0 @catcode`@\=12 @gdef@rtbs{\} @endgroup
+\def\rt@cs#1{\rvorvstring{\rtbs\rtbs#1}{\string\134#1}}
+\let\rt@afterParaFont\relax
+\def\rt@dir{ dir="ltr"}
+\def\rt@sp@ce{ }
+\def\rtpdfSPDef{\string\040}
+\def\rtpdfSPDefPrnt{\string\040\allowbreak}
+\bgroup\obeyspaces
+\gdef\makePDFSp{\global\let =\pdfSP}%
+\gdef\makeTeXSp{\global\let =\rt@sp@ce}%
+\gdef\makeTeXSpPrnt{\global\let =\rtpdfSPDefPrnt}%
+\egroup
+\bgroup\catcode`\^^M=\active%
+\gdef\insertPDFSp@tEOL{%
+ \catcode`\^^M=\active%
+ \let^^M\rtpdfSPDef%
+ \endlinechar=`\^^M}%
+\egroup
+\newcommand\rtpara[2][]{\begingroup
+ \setkeys{rtPara,rtFont}{#1}\rt@afterParaFont
+ \edef\rt@Para@ttr{\rt@ParaAttr\rt@StyleAttr}%
+ \global\let\rt@RichText\@empty
+ \global\let\rt@PlainText\@empty
+ \def\rt@ctrlName{#2}%
+ \def\{{\string\{}\def\}{\string\}}%
+ \def\1{\string\1}\def\2{\string\2}\def\3{\string\3}%
+ \@makeother\$\@makeother\#\@makeother\^\@makeother\_\@makeother\~%
+ \@makeother\&\def\&{\rvorvstring{\string&amp;}{\string&}}% req
+ \@makeother\<\def\<{\rvorvstring{\string&lt;}{\string<}}% req
+ \@makeother\>\def\>{\rvorvstring{\string&gt;}{\string>}}%
+ \@makeother\'\def\'{\rvorvstring{\string&apos;}{\string'}}%
+ \@makeother\"\def\"{\rvorvstring{\string&quot;}{\string"}}%
+ \let\cs\rt@cs
+ \rtpara@cont}
+\def\rtpara@cont{\ifpdfmarkup
+ \makePDFSp\obeyspaces\insertPDFSp@tEOL\fi
+ \@ifnextchar\bgroup\rtpara@cont@i{\expandafter
+ \rtpara@cont@i\@gobble}}
+\def\rtpara@cont@i#1{%
+ \let\sup\rt@sup\let\sub\rt@sub
+ \let\br\rt@br\let\bf\rt@bf\let\it\rt@it
+ \let\spc\rt@spc
+ \let\span\rt@remove@span
+ \@rvstringfalse
+ \edef\x{#1}\expandafter\@AddToPlainText\expandafter{\x}%
+ \let\span\relax
+ \@rvstringtrue
+ \rtpara@i#1\span!;\endgroup}
+\def\rtpara@i#1\span#2;{\def\argii{#2}%
+ \@AddToRichText{#1}%
+ \ifx\argii\rt@excl
+ \rt@csarg\xdef{\rt@ctrlName-ri}%
+ {%
+ <p\rt@dir\ifx\rt@Para@ttr\@empty\else\space
+ style="\rt@Para@ttr"\fi>\rt@RichText</p>%
+ }%
+ \rt@csarg\xdef{\rt@ctrlName-pl}{\rt@PlainText}%
+ \let\rt@next\relax
+ \else
+ \def\rt@next{\rtpara@ii#2;}%
+ \fi
+\rt@next}
+\def\rtpara@ii#1#2#3;{\def\argii{#2}%
+ \ifx\argii\rt@excl
+ \let\rt@next\relax
+ \else
+ \let\span\rt@span
+ \let\br\rt@br\let\bf\rt@bf\let\it\rt@it
+ \@rvstringtrue
+ \span{#1}{#2}\edef\rt@tmp{\noexpand
+ \@AddToRichText{\x}}\rt@tmp
+ \rt@csarg\xdef{\rt@ctrlName-ri}%
+ {%
+ <p\rt@dir\ifx\rt@Para@ttr\@empty\else\space
+ style="\rt@Para@ttr"\fi>\rt@RichText</p>%
+ }%
+ \rt@csarg\xdef{\rt@ctrlName-pl}{\rt@PlainText}%
+ \let\span\relax
+ \def\rt@next{\rtpara@i#3;}%
+ \fi\rt@next}
+\rt@csarg\def{par-ri}{}\rt@csarg\def{par-pl}{\string\r}
+\rt@csarg\def{skipline-ri}%
+ {<p><span style="xfa-spacerun:yes">\rt@amp
+ \rt@hashtag160;</span></p>}
+\rt@csarg\def{skipline-pl}{\string\r\space}
+\def\rt@skipline{skipline}
+\rt@csarg\def{br-ri}{}\rt@csarg\def{br-pl}{\string\r}
+\def\rt@DSAttr{\ifx\rf@font\@empty\else\rf@font\rt@SC\fi
+ \ifx\rf@size\@empty\else\rf@size\rt@SC\fi
+ \ifx\rf@raise\@empty\else\rf@raise\rt@SC\fi
+ \ifx\rf@ul\@empty\ifx\rfS@strikeit\@empty\else
+ \rt@td\rt@CN\rfS@strikeit\rt@SC\fi
+ \else\rt@td\rt@CN\rf@ul\ifx\rfS@strikeit\@empty\else\space
+ \rfS@strikeit\fi\rt@SC\fi
+ \ifx\rfS@bold\@empty\else\rt@fw\rt@CN\rfS@bold\rt@SC\fi
+ \ifx\rfS@italic\@empty\else\rt@fs\rt@CN\rfS@italic\rt@SC\fi
+ \ifx\rf@color\@empty\else\rf@color\rt@SC\fi}
+\newcommand\useDefaultDS{font-family:Helvetica,sans-serif;%
+ font-size:12.0pt;font-style:normal;font-weight:normal;%
+ text-align:left;color:\rt@hashtag000000}
+\newcommand{\setDefaultStyle}[2]{\begingroup
+ \edef\x{\noexpand\setkeys{rtFont}{#2}}\x
+ \edef\x{\noexpand\setkeys{rtFontStyle}{\rf@style}}\x
+ \ifx\rf@ul\@empty\else
+ \let\rt@ul\@empty\PackageWarning{richtext}{%
+ The ul key is not supported within\MessageBreak
+ \string\setDefaultStyle. Ignoring it}\fi
+ \ifx\rf@raise\@empty\else
+ \let\rt@raise\@empty\PackageWarning{richtext}{%
+ The raise key is not supported within\MessageBreak
+ \string\setDefaultStyle. Ignoring it}\fi
+ \ifx\rt@url\@empty\else\let\rf@url\@empty
+ \PackageWarning{richtext}{%
+ The url key is not supported within\MessageBreak
+ \string\setDefaultStyle. Ignoring it}\fi
+ \ifx\rf@font\@empty
+ \def\rf@font{font-family:Helvetica,sans-serif}\fi
+ \ifx\rf@size\@empty\def\rf@size{font-size:\rf@size@pt}\fi
+ \ifx\rf@color\@empty\def\rf@color{color:\rt@hashtag000000}\fi
+ \rt@csarg\xdef{#1-DS}{\rt@DSAttr}%
+\endgroup}
+\newcommand{\useDS}[1]{\@nameuse{#1-DS}}
+\newif\ifrt@firsttok \rt@firsttoktrue
+\newif\ifrt@itsskipline \rt@itsskiplinefalse
+\def\rt@addtoRVV#1{%
+ \toks4={\useRV{#1}}\edef\rt@tmpRV{\the\toks0\the\toks4}%
+ \toks4={\useV{#1}}\edef\rt@tmpV{\the\toks2\the\toks4}%
+ \toks0=\expandafter{\rt@tmpRV}\toks2=\expandafter{\rt@tmpV}%
+}
+\def\rt@testifbgroup{\@ifnextchar\bgroup
+ {\let\rt@nultiargs=1\rt@gobbletonil}
+ {\let\rt@nultiargs=0\rt@gobbletonil}}
+\newcommand{\setRVVContent}[2]{\begingroup
+ \rt@firsttoktrue \rt@itsskiplinefalse
+ \rt@testifbgroup#2\@nil
+ \def\contName{#1}\toks0={}\toks2={}\toks4={}%
+ \if\rt@nultiargs1\def\rt@next{\setRVVContent@i#2;}\else
+ \def\rt@next{\setRVVContent@i{#2};}\fi\rt@next}
+\def\setRVVContent@i#1{\def\rt@argi{#1}%
+ \ifx\rt@argi\rt@SC
+ \rt@csarg\xdef{\contName-vcont}{\the\toks0}%
+ \rt@csarg\xdef{\contName-pcont}{\the\toks2}%
+ \let\rt@next\endgroup
+ \else
+ \expandafter\ifx\csname #1-ri\endcsname\relax
+ \PackageWarning{richtext}
+ {The name '#1' is not declared,\MessageBreak
+ will ignore it. Check the spelling}%
+ \def\rt@next{\setRVVContent@i}%
+ \else
+ \ifrt@firsttok\rt@firsttokfalse\else
+ \ifx\rt@argi\rt@skipline
+ \rt@itsskiplinetrue
+ \else
+ \ifrt@itsskipline
+ \rt@addtoRVV{br}\rt@itsskiplinefalse
+ \else
+ \rt@addtoRVV{par}%
+ \fi
+ \fi
+ \fi
+ \rt@addtoRVV{#1}%
+ \def\rt@next{\setRVVContent@i}%
+ \fi
+ \fi\rt@next
+}
+\def\useRVContent#1{\@nameuse{#1-vcont}}
+\def\useVContent#1{\@nameuse{#1-pcont}}
+\newenvironment{displayRtPara}[1]{%
+ \gdef\displayRtParaName{#1}\let\rtpdfSPDef\rt@sp@ce
+ \let\makePDFSp\makeTeXSp\let\rt@spc\rt@sp@ce
+ \def\rt@SC{;\allowbreak}\def\rt@CN{:\allowbreak}%
+}{%
+ \rt@csarg\xdef{displayRV\displayRtParaName}%
+ {\useRV{\displayRtParaName}}
+ \rt@csarg\xdef{displayV\displayRtParaName}%
+ {\useV{\displayRtParaName}}
+}
+\newenvironment{displayRtPara*}[1]{%
+ \gdef\displayRtParaName{#1}\let\rtpdfSPDef\rtpdfSPDefPrnt
+ \let\makePDFSp\makeTeXSpPrnt\let\rt@spc\rtpdfSPDefPrnt
+ \def\rt@SC{;\allowbreak}\def\rt@CN{:\allowbreak}%
+}{%
+ \rt@csarg\xdef{displayRV\displayRtParaName}%
+ {\useRV{\displayRtParaName}}
+ \rt@csarg\xdef{displayV\displayRtParaName}%
+ {\useV{\displayRtParaName}}
+}
+\def\displayRV#1{\csname displayRV#1\endcsname}
+\def\displayV#1{\csname displayV#1\endcsname}
+\endinput
+%%
+%% End of file `richtext.sty'.