[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.