summaryrefslogtreecommitdiff
path: root/macros/luatex/optex/base/logos.opm
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex/optex/base/logos.opm')
-rw-r--r--macros/luatex/optex/base/logos.opm62
1 files changed, 62 insertions, 0 deletions
diff --git a/macros/luatex/optex/base/logos.opm b/macros/luatex/optex/base/logos.opm
new file mode 100644
index 0000000000..f7161e8eda
--- /dev/null
+++ b/macros/luatex/optex/base/logos.opm
@@ -0,0 +1,62 @@
+%% This is part of OpTeX project, see http://petr.olsak.net/optex
+
+\_codedecl \TeX {Logos TeX, LuaTeX, etc. <2020-02-28>} % preloaded in format
+
+ \_doc ----------------------------
+ Despite plain \TeX/ each macro for logos ends by \`\ignoreslash`.
+ This macro ignores next slash if it is present.
+ You can `use \TeX/ like this` for protecting the space following the logo.
+ This is visually more comfortable.
+ The macros \`\TeX`, \`\OpTeX`, \`\LuaTeX`, \`\XeTeX` are defined.
+ \_cod ----------------------------
+
+\_protected\_def \_TeX {T\_kern-.1667em\_lower.5ex\_hbox{E}\_kern-.125emX\_ignoreslash}
+\_protected\_def \_OpTeX {Op\_kern-.1em\_TeX}
+\_protected\_def \_LuaTeX {Lua\_TeX}
+\_protected\_def \_XeTeX {X\_kern-.125em\_phantom E%
+ \_pdfsave\_rlap{\_pdfscale{-1}{1}\_lower.5ex\_hbox{E}}\_pdfrestore \_kern-.1667em \_TeX}
+
+\_def\_ignoreslash {\_futurelet\_next \_ignoreslashA}
+\_def\_ignoreslashA {\_ifx\_next/\_ea\_ignoreit\_fi}
+
+\_public \TeX \OpTeX \LuaTeX \XeTeX \ignoreslash ;
+
+ \_doc -----------------------------
+ The \`\_slantcorr` macro expands to slant-correction of current font. It is
+ used to shifting A if the \`\LaTeX` logo is in italic.
+ \_cod -----------------------------
+
+\_protected\_def \_LaTeX{\_tmpdim=.42ex L\_kern-.36em \_kern \_slantcorr % slant correction
+ \_raise \_tmpdim \_hbox{\_thefontscale[710]A}%
+ \_kern-.15em \_kern-\_slantcorr \_TeX}
+\_def\_slantcorr{\_ea\_ignorept \_the\_fontdimen1\_font\_tmpdim}
+
+\_public \LaTeX ;
+
+ \_doc -----------------------------
+ \`\OPmac`, \`\CS` and \`\csplain` logos.
+ \_cod -----------------------------
+
+\_def\_OPmac{\_leavevmode
+ \_lower.2ex\_hbox{\_thefontscale[1400]O}\_kern-.86em P{\_em mac}\_ignoreslash}
+\_def\_CS{$\_cal C$\_kern-.1667em\_lower.5ex\_hbox{$\_cal S$}\_ignoreslash}
+\_def\_csplain{\_CS plain\_ignoreslash}
+
+\_public \OPmac \CS \csplain ;
+
+ \_doc ----------------------------
+ The expandable versions of logos used in Outlines needs the expandable
+ \`\ingnslash` (instead of the \^`\ignoreslash`).
+ \_cod \_fin ----------------------
+
+\_def\_ignslash#1{\_ifx/#1\_else #1\_fi}
+\_regmacro {}{}{% conversion for PDF outlines
+ \_def\TeX{TeX\_ignslash}\_def\OpTeX{OpTeX\_ignslash}%
+ \_def\LuaTeX{LuaTeX\_ignslash}\_def\XeTeX{XeTeX\_ignslash}%
+ \_def\LaTeX{LaTeX\_ignslash}\_def\OPmac{OPmac\_ignslash}%
+ \_def\CS{CS}\_def\csplain{csplain\_ignslash}%
+}
+\_public \ignslash ;
+
+\_endcode
+