summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/xetexref/README11
-rw-r--r--Master/texmf-dist/doc/latex/xetexref/XeTeX-reference.ltx (renamed from Master/texmf-dist/doc/xetex/xetexref/XeTeX-reference.ltx)93
-rw-r--r--Master/texmf-dist/doc/latex/xetexref/XeTeX-reference.pdfbin0 -> 132786 bytes
-rw-r--r--Master/texmf-dist/doc/xetex/xetexref/README5
-rw-r--r--Master/texmf-dist/doc/xetex/xetexref/XeTeX-reference.pdfbin114757 -> 0 bytes
-rwxr-xr-xMaster/tlpkg/bin/tlpkginfo2
6 files changed, 101 insertions, 10 deletions
diff --git a/Master/texmf-dist/doc/latex/xetexref/README b/Master/texmf-dist/doc/latex/xetexref/README
new file mode 100644
index 00000000000..be8d97775e9
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xetexref/README
@@ -0,0 +1,11 @@
+================
+=== XETEXREF ===
+================
+
+This is unofficial reference documentation for XeTeX detailing its
+extended features.
+
+Will Robertson
+--------------
+Distributable under the LPPL,
+v1.3a or greater (your choice). \ No newline at end of file
diff --git a/Master/texmf-dist/doc/xetex/xetexref/XeTeX-reference.ltx b/Master/texmf-dist/doc/latex/xetexref/XeTeX-reference.ltx
index 4e4f2e0f278..5310c56cf90 100644
--- a/Master/texmf-dist/doc/xetex/xetexref/XeTeX-reference.ltx
+++ b/Master/texmf-dist/doc/latex/xetexref/XeTeX-reference.ltx
@@ -230,6 +230,45 @@ or the unicode character slot:
\char"00A5.
\end{example}
+\cmd|\XeTeXglyphbounds|
+\xarg{edge} \xarg{glyph number}
+\desc{Expands to a dimension corresponding to one of the bounds of a glyph,
+where \xarg{edge} is an integer from 1 to 4 indicating left/top/right/bottom
+edge respectively, and \xarg{glyph number} is an integer glyph index in the
+current font (only valid for TrueType/OpenType/PostScript fonts loaded
+`natively', not TFM-based fonts). The left and right
+measurements are the glyph sidebearings, measured `inwards' from the
+origin and advance respectively, so for a glyph that fits completely
+within its `cell' they will both be positive; for a glyph that
+`overhangs' to the left or right, they will be negative. The actual
+width of the glyph's bounding box, therefore, is the character width
+(advance) minus both these sidebearings. The top and bottom are
+measured from the baseline, like \TeX's height and depth; the height of
+the bounding box is the sum of these two dimensions.}
+\endcmd
+
+\begin{example}
+\def\shadebbox#1{%
+\leavevmode\rlap{%
+ \dimen0=\fontcharwd\font`#1%
+ \edef\gid{\the\XeTeXcharglyph`#1}%
+ \advance\dimen0 by -\XeTeXglyphbounds1 \gid
+ \advance\dimen0 by -\XeTeXglyphbounds3 \gid
+ \kern\XeTeXglyphbounds1 \gid
+ \special{color push rgb 1 1 0.66667}%
+ \vrule width \dimen0
+ height \XeTeXglyphbounds2 \gid
+ depth \XeTeXglyphbounds4 \gid
+ \special{color pop}%
+ \kern\XeTeXglyphbounds3 \gid}%
+ #1}
+
+\noindent
+\font\x="Charis SIL/I" at 24pt \x
+\shadebbox{A} \shadebbox{W} \shadebbox{a} \shadebbox{f}
+\shadebbox{;} \shadebbox{*} \shadebbox{=}
+\end{example}
+
\cmd|\XeTeXfonttype|
\xarg{font}
\desc{
@@ -479,7 +518,7 @@ The idea behind character classes is to define a boundary where tokens can be ad
\xarg{char slot}
\opteq
\xarg{class number}
-\desc{Assigns a class corresponding to \xarg{class number} (range 0--255) to a \xarg{char slot}. Most characters are class 0 by default. Class 1 is for CJK ideographs, classes 2 and 3 are CJK punctuation. The boundary of a text string is considered class 255. Special case class 256 is ignored; useful for diacritics so I'm told.}
+\desc{Assigns a class corresponding to \xarg{class number} (range 0--255) to a \xarg{char slot}. Most characters are class 0 by default. Class 1 is for CJK ideographs, classes 2 and 3 are CJK punctuation. The boundary of a text string is considered class 255, wherever there is a boundary between a `run' of characters and something else --- glue, kern, math, box, etc. Special case class 256 is ignored; useful for diacritics so I'm told.}
\endcmd
\cmd|\XeTeXinterchartoks|
@@ -568,7 +607,7 @@ This description is incomplete.
\desc{Insert (pages of) a PDF.}
\endcmd
-\subsection{Parity with \pdfTeX}
+\section{Parity with \pdfTeX}
\cmd|\pdfpageheight|
\xarg{dimension}
@@ -585,13 +624,59 @@ This description is incomplete.
\endcmd
\cmd|\pdflastxpos|
-\desc{Retrieves the horizontal position saved by the above.}
+\desc{Retrieves the horizontal position saved by \texttt{\char`\\pdfsavepos}.}
\endcmd
\cmd|\pdflastypos|
-\desc{Retrieves the vertical position saved by the above.}
+\desc{Retrieves the vertical position saved by \texttt{\char`\\pdfsavepos}.}
+\endcmd
+
+\cmd|\ifincsname...(\else...)\fi|
+\desc{\TeX\ conditional to branch true if the expansion occurs within \texttt{\char`\\csname ... \char`\\endcsname}.}
+\endcmd
+
+\begin{example}
+\def\x{\ifincsname y\else hello\fi}
+\def\y{goodbye}
+\x/\csname\x\endcsname
+\end{example}
+
+\cmd|\ifprimitive| \xarg{control sequence} |...(\else...)\fi|
+\desc{\TeX\ conditional to test if a control sequence is a primitive and that it has not been redefined.}
+\endcmd
+
+\cmd|\primitive|
+\xarg{control sequence}
+\desc{If the control sequence is a primitive that's been redefined, this command causes it to expand with its original (i.e., primitive) definition.}
+\endcmd
+
+\cmd|\shellescape|
+\desc{Read-only status indicating the level of `shell escape' allowed. That is, whether commands are allowed to be executed through \texttt{\char`\\write18\char`\{...\char`\}}. Expands to zero for off; one for on (allowed); two is `restricted' (default in TeX Live 2009 and greater) in which a subset of commands only are allowed.}
+\endcmd
+
+\begin{example}
+Shell escape \ifnum\shellescape>0 is \else is not \fi enabled.
+\end{example}
+
+\cmd|\strcmp|
+\xarg{arg one}
+\xarg{arg two}
+\desc{Compares the full expansion of the two token list arguments. Expands to zero if they are the same, less than one if the first argument sorts lower (lexicographically) than the second argument, and greater than one if vice versa.}
\endcmd
+\begin{example}
+`a' is less than `z': \strcmp{a}{z}
+
+\def\z{a}
+The tokens expand before being compared: \strcmp{a}{\z}
+
+\def\a{z}
+Therefore, |\a| is greater than |\z|: \strcmp{\a}{\z}
+
+\edef\b{\string b}
+Also note that catcodes are ignored: \strcmp{b}{\b}
+\end{example}
+
\section{Misc.}
\cmd|\XeTeXversion|
diff --git a/Master/texmf-dist/doc/latex/xetexref/XeTeX-reference.pdf b/Master/texmf-dist/doc/latex/xetexref/XeTeX-reference.pdf
new file mode 100644
index 00000000000..087715bc8ed
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/xetexref/XeTeX-reference.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/xetex/xetexref/README b/Master/texmf-dist/doc/xetex/xetexref/README
deleted file mode 100644
index 481e6133e18..00000000000
--- a/Master/texmf-dist/doc/xetex/xetexref/README
+++ /dev/null
@@ -1,5 +0,0 @@
-This is unofficial reference documentation for XeTeX detailing its
-extended features.
-
-Date: 2007-July-23
-Author: Will Robertson \ No newline at end of file
diff --git a/Master/texmf-dist/doc/xetex/xetexref/XeTeX-reference.pdf b/Master/texmf-dist/doc/xetex/xetexref/XeTeX-reference.pdf
deleted file mode 100644
index 096706052e5..00000000000
--- a/Master/texmf-dist/doc/xetex/xetexref/XeTeX-reference.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/tlpkg/bin/tlpkginfo b/Master/tlpkg/bin/tlpkginfo
index 49598411774..f7b8d699c17 100755
--- a/Master/tlpkg/bin/tlpkginfo
+++ b/Master/tlpkg/bin/tlpkginfo
@@ -18,7 +18,7 @@ sub main
# erroneous tds files (warn Robin about them) or problematic (purifyeps).
# list format: pkg1|pkg2|etc
- $erroneous_tds = "elsarticle|purifyeps";
+ $erroneous_tds = "purifyeps|xetexref";
# special packages from latex-tds project (used by prepare())
$corelatex_tds_pkgs = "babel|cyrillic|graphics|latex|psnfss|tools";