[latex3-commits] [git/LaTeX3-latex3-iftex] master: Added TexpadTeX cases (f48370f)

Duncan Steele (Valletta Ventures) duncan at vallettaventures.com
Sat May 23 13:15:25 CEST 2020


Repository : https://github.com/latex3/iftex
On branch  : master
Link       : https://github.com/latex3/iftex/commit/f48370f77d0516f56792191ffe7ca9accfc6ac58

>---------------------------------------------------------------

commit f48370f77d0516f56792191ffe7ca9accfc6ac58
Author: Duncan Steele (Valletta Ventures) <duncan at vallettaventures.com>
Date:   Fri May 1 16:12:49 2020 +0100

    Added TexpadTeX cases
    
    This adds the following commands to cover TexpadTeX
    
    - \iftexpadtex, \ifTexpadTeX
    - \iftexpadtexunicode, \ifTexpadTeXUnicode
    - \iftexpadtexeightbit, \ifTexpadTeXEightBit
    - \RequireTexpadTeX, \RequireTexpadTeXUnicode, \RequireTexpadTeXEightBit
    
    Please note that TexpadTeX can run in one of two modes
    
    - 8-bit mode roughly similar to pdfTeX
    - Unicode mode roughly similar to XeTeX & LuaTeX


>---------------------------------------------------------------

f48370f77d0516f56792191ffe7ca9accfc6ac58
 iftex.sty | 28 +++++++++++++++++++++++++++-
 iftex.tex | 24 ++++++++++++++++++++++++
 2 files changed, 51 insertions(+), 1 deletion(-)

diff --git a/iftex.sty b/iftex.sty
index 8306f86..3ba7430 100644
--- a/iftex.sty
+++ b/iftex.sty
@@ -88,7 +88,9 @@
 \IFTEX at protected\def\RequireAlephTeX{\IFTEX at Require\ifalephtex{Aleph}\fi}
 % tutex == has \Umathchardef == XeTeX or Lua(HB)TeX currently
 \IFTEX at protected\def\RequireTUTeX{\IFTEX at Require\iftutex{LuaTeX or XeTeX}\fi}
-
+\IFTEX at protected\def\RequireTexpadTeX{\IFTEX at Require\iftexpadtex{TexpadTeX}\fi}
+\IFTEX at protected\def\RequireTexpadTeXUnicode{\IFTEX at Require\iftexpadtexunicode{TexpadTeXUnicode}\fi}
+\IFTEX at protected\def\RequireTexpadTeXEightBit{\IFTEX at Require\iftexpadtexeightbit{TexpadTeXEightBit}\fi}
 
 % As a matter of policy over-write any existing \if*tex macro and set
 % by the tests here.
@@ -210,6 +212,26 @@
 \fi
 \IFTEX at let{TUTeX}{tutex}
 
+% texpadtex
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname TexpadTeXMode\endcsname\relax
+  \IFTEX at let{texpadtex}{false}
+  \IFTEX at let{texpadtexunicode}{false}
+  \IFTEX at let{texpadtexeightbit}{false}
+\else
+  \IFTEX at let{texpadtex}{true}
+  \ifcase\TexpadTeXMode\relax
+    \IFTEX at let{texpadtexunicode}{false}
+    \IFTEX at let{texpadtexeightbit}{true}
+  \or
+    \IFTEX at let{texpadtexunicode}{true}
+    \IFTEX at let{texpadtexeightbit}{false}
+  \fi
+\fi
+\IFTEX at let{TexpadTeX}{texpadtex}
+\IFTEX at let{TexpadTeXUnicode}{texpadtexunicode}
+\IFTEX at let{TexpadTeXEightBit}{texpadtexeightbit}
+
 % Output mode
 % declare as if with \newif
 \def\pdftrue{\let\ifpdf\iftrue}
@@ -228,6 +250,10 @@ end
   \ifnum\OpMode=3 %
     \pdftrue
   \fi
+\else
+  \iftexpadtex
+    \pdftrue
+  \fi
 \fi
 \else
   \ifnum\pdfoutput>0 %
diff --git a/iftex.tex b/iftex.tex
index 8e13546..79c7f35 100644
--- a/iftex.tex
+++ b/iftex.tex
@@ -119,6 +119,27 @@ true for Lua\TeX\ and Xe\TeX, allowing constructs such as
   \usepackage{newtxtext,newtxmath}
 \fi
 \end{verbatim}
+\item[\cs{iftexpadtex}, \cs{ifTexpadTeX}]
+True if Texpad\TeX\ is in use. Please note that Texpad\TeX\ can run in two
+modes, one which uses Unicode and native fonts internally (similar to
+Xe\TeX\ and Lua\TeX), and one which uses 8-bit codepages internally (similar to
+PDF\TeX). These modes can be further distinguished with
+\cs{iftexpadtexunicode} and \cs{iftexpadtexeightbit} respectively, allowing for
+constructs such as
+\begin{verbatim}
+\iftexpadtexunicode
+  \usepackage{fontspec}
+  \setmainfont{Times}
+\else
+  \usepackage{times}
+\fi
+\end{verbatim}
+\begin{description}
+\item[\cs{iftexpadtexunicode}, \cs{ifTexpadTeXUnicode}]
+True if Texpad\TeX\ is running in Unicode mode.
+\item[\cs{iftexpadtexeightbit}, \cs{ifTexpadTeXEightBit}]
+True if Texpad\TeX\ is running in 8-bit mode.
+\end{description}
 
 \end{description}
 
@@ -139,6 +160,9 @@ with a suitable engine, and stops with an error message if not.
 \item[\cs{RequireVTeX}]
 \item[\cs{RequireAlephTeX}]
 \item[\cs{RequireTUTeX}]
+\item[\cs{RequireTexpadTeX}]
+\item[\cs{RequireTexpadTeXUnicode}]
+\item[\cs{RequireTexpadTeXEightBit}]
 \end{description}
 
 





More information about the latex3-commits mailing list.