summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/csplain/fonts
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-09-06 23:13:44 +0000
committerKarl Berry <karl@freefriends.org>2013-09-06 23:13:44 +0000
commita5409c09805bf26ec9aa61b1c32fddbd4a5d2a67 (patch)
tree30056c5ca7998f3dd66ed8be5f8c3383620679d7 /Master/texmf-dist/tex/csplain/fonts
parentd211c476a793546259e3fe8b6417f3f36d477a99 (diff)
csplain (6sep13)
git-svn-id: svn://tug.org/texlive/trunk@31589 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/csplain/fonts')
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/ams-math.tex23
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cavantga.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cbookman.tex3
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/chars-8z.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/chelvet.tex3
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cncent.tex3
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cpalatin.tex3
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-adventor.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-antt.tex4
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-bonum.tex3
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-charter.tex4
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-cursor.tex3
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-heros.tex3
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-pagella.tex3
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-schola.tex3
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/cs-termes.tex3
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/ctimes.tex3
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/exchars.tex295
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/lmfonts.tex2
-rw-r--r--Master/texmf-dist/tex/csplain/fonts/tx-math.tex35
20 files changed, 364 insertions, 38 deletions
diff --git a/Master/texmf-dist/tex/csplain/fonts/ams-math.tex b/Master/texmf-dist/tex/csplain/fonts/ams-math.tex
index 260194c8a18..a8338ed7e0e 100644
--- a/Master/texmf-dist/tex/csplain/fonts/ams-math.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/ams-math.tex
@@ -154,7 +154,7 @@
% but now there is a different usage of the \resizefont:
% \def\dgsize{17pt}\def\sizespec{at\dgsize}\resizefont\tenrm
-\def\corrmsizes#1{} % see tx-math for the example of \corrmsizes
+\def\corrmsizes{} % see tx-math for the example of \corrmsizes
%% macros:
@@ -163,23 +163,23 @@
\def\mitvariables{\def\rm{\fam0\tenrm}%
\mathcodechanges 0:0-9\mathcodechanges 1:A-Z\mathcodechanges 1:a-z}
-\def\loadmathfamily #1 #2 {\corrmsizes{#1}%
+\def\loadmathfamily #1 #2 {\chardef\tmp#1\relax\corrmsizes
\let\dgsize=\sizemtext
- \font\tmp=\whichtfm{#2} at\dgsize \textfont#1=\tmp
+ \font\mF=\whichtfm{#2} at\dgsize \textfont#1=\mF
\let\dgsize=\sizemscript
- \font\tmp=\whichtfm{#2} at \dgsize \scriptfont#1=\tmp
+ \font\mF=\whichtfm{#2} at \dgsize \scriptfont#1=\mF
\let\dgsize=\sizemsscript
- \font\tmp=\whichtfm{#2} at\dgsize \scriptscriptfont#1=\tmp
+ \font\mF=\whichtfm{#2} at\dgsize \scriptscriptfont#1=\mF
\ptmunit=1pt \let\dgsize=\undefined
}
-\def\setmathfamily #1#2{\corrmsizes{#1}%
+\def\setmathfamily #1#2{\let\mF=#2%
\let\dgsize=\sizemtext
- \font\tmp = \specfontname #2 at\sizemtext \textfont#1=\tmp
+ \font#2= \specfontname\mF \space at\sizemtext \textfont#1=#2%
\let\dgsize=\sizemscript
- \font\tmp = \specfontname #2 at\sizemscript \scriptfont#1=\tmp
+ \font#2= \specfontname\mF \space at\sizemscript \scriptfont#1=#2%
\let\dgsize=\sizemsscript
- \font\tmp = \specfontname #2 at\sizemsscript \scriptscriptfont#1=\tmp
- \ptmunit=1pt \let\dgsize=\undefined
+ \font#2= \specfontname\mF \space at\sizemsscript \scriptscriptfont#1=#2%
+ \let\dgsize=\undefined \let#2=\mF
}
\def\specfontname #1{\expandafter \ignoreatpt \fontname #1 \relax}
\def\ignoreatpt #1 #2\relax{\whichtfm{#1}}
@@ -512,3 +512,6 @@ Jul. 2013: \ifx\dgsize\undefined added
Jul. 2013: \def\corrmsizes{} without dependency
Aug. 2013: \mathpreloaded introduced
Aug. 2013: \newdimen\ptmunit only once
+Aug. 2013: \tmp -> \mF (the sequence is printed in overfull messages)
+ \mF tuned in \setmathfamily
+ \corrmsizes without parameter
diff --git a/Master/texmf-dist/tex/csplain/fonts/cavantga.tex b/Master/texmf-dist/tex/csplain/fonts/cavantga.tex
index a3e1aa99a20..0ee89f56310 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cavantga.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cavantga.tex
@@ -4,6 +4,8 @@
\message{FONT: AvantGarde -
\string\rm, \string\it, \string\bf, \string\bi, \string\tt.}
+\ifx\font\unicoded \message{WARNING: This font family is unavailable in UNICODE.}
+ \endinput\fi
\ifx\sizespec\undefined \def\sizespec{}\fi
\ifx\font\corkencoded
diff --git a/Master/texmf-dist/tex/csplain/fonts/cbookman.tex b/Master/texmf-dist/tex/csplain/fonts/cbookman.tex
index 35d115c34c9..5fa2a157dc9 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cbookman.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cbookman.tex
@@ -4,6 +4,9 @@
\message{FONT: Bookman -
\string\rm, \string\it, \string\bf, \string\bi, \string\tt.}
+\ifx\font\unicoded \message{WARNING: This font family is unavailable in UNICODE.}
+ \endinput\fi
+
\ifx\sizespec\undefined \def\sizespec{}\fi
\ifx\font\corkencoded
\def\tmp{8t \sizespec}\def\tmpa{8t \sizespec}
diff --git a/Master/texmf-dist/tex/csplain/fonts/chars-8z.tex b/Master/texmf-dist/tex/csplain/fonts/chars-8z.tex
index ae39441aa6a..4f7330c2e83 100644
--- a/Master/texmf-dist/tex/csplain/fonts/chars-8z.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/chars-8z.tex
@@ -21,7 +21,7 @@
\chardef\currency 164
\chardef\section 167
\chardef\clq 154 % czech single left quote
-\chardef\crq 155 % czech single right quote
+\chardef\crq 96 % czech single right quote
\chardef\flq 142 % french single left quote
\chardef\frq 143 % french single right quote
diff --git a/Master/texmf-dist/tex/csplain/fonts/chelvet.tex b/Master/texmf-dist/tex/csplain/fonts/chelvet.tex
index 34b771da76d..4afba8cc891 100644
--- a/Master/texmf-dist/tex/csplain/fonts/chelvet.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/chelvet.tex
@@ -5,6 +5,9 @@
\string\rm, \string\it, \string\bf, \string\bi, \string\tt,
\string\cond\string\rm, ..., \string\cond\string\bi, \string\narrow.}
+\ifx\font\unicoded \message{WARNING: This font family is unavailable in UNICODE.}
+ \endinput\fi
+
\ifx\sizespec\undefined \def\sizespec{}\fi
\ifx\font\corkencoded
\def\tmp{8t \sizespec}\def\tmpa{8t \sizespec}
diff --git a/Master/texmf-dist/tex/csplain/fonts/cncent.tex b/Master/texmf-dist/tex/csplain/fonts/cncent.tex
index dd9a3e64f62..9a180a76776 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cncent.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cncent.tex
@@ -4,6 +4,9 @@
\message{FONT: NewCentury -
\string\rm, \string\it, \string\bf, \string\bi, \string\tt.}
+\ifx\font\unicoded \message{WARNING: This font family is unavailable in UNICODE.}
+ \endinput\fi
+
\ifx\sizespec\undefined \def\sizespec{}\fi
\ifx\font\corkencoded
\def\tmp{8t \sizespec}\def\tmpa{8t \sizespec}
diff --git a/Master/texmf-dist/tex/csplain/fonts/cpalatin.tex b/Master/texmf-dist/tex/csplain/fonts/cpalatin.tex
index 6a071afea16..8fe9b45ce3f 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cpalatin.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cpalatin.tex
@@ -4,6 +4,9 @@
\message{FONT: Palatino -
\string\rm, \string\it, \string\bf, \string\bi, \string\tt.}
+\ifx\font\unicoded \message{WARNING: This font family is unavailable in UNICODE.}
+ \endinput\fi
+
\ifx\sizespec\undefined \def\sizespec{}\fi
\ifx\font\corkencoded
\def\tmp{8t \sizespec}\def\tmpa{8t \sizespec}
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-adventor.tex b/Master/texmf-dist/tex/csplain/fonts/cs-adventor.tex
index 0de83efb1de..edb304d3496 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-adventor.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-adventor.tex
@@ -28,7 +28,7 @@
\expandafter\csname\expandafter\tenonlytext\string#1c\endcsname}
\def\tenonlytext{ten}
-\ifx\font\corkencoded \else \input chars-8z \fi
+\ifx\font\corkencoded\else \ifx\font\unicoded\else \input chars-8z \fi\fi
\ifx\mathpreloaded X\else \input tx-math \fi
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-antt.tex b/Master/texmf-dist/tex/csplain/fonts/cs-antt.tex
index 0f9bcb31b75..2937157bf1a 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-antt.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-antt.tex
@@ -49,8 +49,8 @@
\def\txr{cs-anttr} \def\txmi{mi-anttri}
\def\txb{cs-anttb} \def\txbi{mi-anttbi}
-\ifx\mathpreloaded X\else \input tx-math \fi
-\ifx\font\corkencoded \else \input chars-8z \fi
+\ifx\font\corkencoded\else \ifx\font\unicoded\else \input chars-8z \fi\fi
+\ifx\mathpreloaded X\else \input tx-math \fi
% end of cs-antt.tex
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-bonum.tex b/Master/texmf-dist/tex/csplain/fonts/cs-bonum.tex
index 4d8d67b17ac..53dd6a465c1 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-bonum.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-bonum.tex
@@ -28,8 +28,7 @@
\expandafter\csname\expandafter\tenonlytext\string#1c\endcsname}
\def\tenonlytext{ten}
-\ifx\font\corkencoded \else \input chars-8z \fi
-
+\ifx\font\corkencoded\else \ifx\font\unicoded\else \input chars-8z \fi\fi
\ifx\mathpreloaded X\else \input tx-math \fi
% end of cs-bonum.tex
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-charter.tex b/Master/texmf-dist/tex/csplain/fonts/cs-charter.tex
index 8398ae2f5eb..a1381320f14 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-charter.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-charter.tex
@@ -8,6 +8,9 @@
\message{FONT: Charter -
\string\rm, \string\it, \string\bf, \string\bi}
+\ifx\font\unicoded \message{WARNING: This font family is unavailable in UNICODE.}
+ \endinput\fi
+
\font\tenrm=bchr\tmp
\font\tenbf=bchb\tmp
\font\tenit=bchri\tmp
@@ -15,6 +18,7 @@
\tenrm
+\ifx\font\corkencoded\else \input chars-8z \fi
\ifx\mathpreloaded X\else \input tx-math \fi
% end of cs-charter.tex
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-cursor.tex b/Master/texmf-dist/tex/csplain/fonts/cs-cursor.tex
index cde44cd41a3..7f9a070b2d3 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-cursor.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-cursor.tex
@@ -23,8 +23,7 @@
\expandafter\csname\expandafter\tenonlytext\string#1c\endcsname}
\def\tenonlytext{ten}
-\ifx\font\corkencoded \else \input chars-8z \fi
-
+\ifx\font\corkencoded\else \ifx\font\unicoded\else \input chars-8z \fi\fi
\ifx\mathpreloaded X\else \input tx-math \fi
% end of cs-cursor.tex
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-heros.tex b/Master/texmf-dist/tex/csplain/fonts/cs-heros.tex
index b1154bd8e47..e1016cb3274 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-heros.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-heros.tex
@@ -49,8 +49,7 @@
\let\tenrmc=\tenrmnc \let\tenbfc=\tenbfnc
\let\tenitc=\tenitnc \let\tenbic=\tenbinc \tenrm}
-\ifx\font\corkencoded \else \input chars-8z \fi
-
+\ifx\font\corkencoded\else \ifx\font\unicoded\else \input chars-8z \fi\fi
\ifx\mathpreloaded X\else \input tx-math \fi
% end of cs-heros.tex
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-pagella.tex b/Master/texmf-dist/tex/csplain/fonts/cs-pagella.tex
index a1fb5c32729..08f0b7f0f17 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-pagella.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-pagella.tex
@@ -28,8 +28,7 @@
\expandafter\csname\expandafter\tenonlytext\string#1c\endcsname}
\def\tenonlytext{ten}
-\ifx\font\corkencoded \else \input chars-8z \fi
-
+\ifx\font\corkencoded\else \ifx\font\unicoded\else \input chars-8z \fi\fi
\ifx\mathpreloaded X\else \input tx-math \fi
% end of cs-pagella.tex
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-schola.tex b/Master/texmf-dist/tex/csplain/fonts/cs-schola.tex
index bd4ef4b59ad..86fd033cf8f 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-schola.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-schola.tex
@@ -28,8 +28,7 @@
\expandafter\csname\expandafter\tenonlytext\string#1c\endcsname}
\def\tenonlytext{ten}
-\ifx\font\corkencoded \else \input chars-8z \fi
-
+\ifx\font\corkencoded\else \ifx\font\unicoded\else \input chars-8z \fi\fi
\ifx\mathpreloaded X\else \input tx-math \fi
% end of cs-schola.tex
diff --git a/Master/texmf-dist/tex/csplain/fonts/cs-termes.tex b/Master/texmf-dist/tex/csplain/fonts/cs-termes.tex
index 5f547853cec..356eb5ed0e6 100644
--- a/Master/texmf-dist/tex/csplain/fonts/cs-termes.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/cs-termes.tex
@@ -28,8 +28,7 @@
\expandafter\csname\expandafter\tenonlytext\string#1c\endcsname}
\def\tenonlytext{ten}
-\ifx\font\corkencoded \else \input chars-8z \fi
-
+\ifx\font\corkencoded\else \ifx\font\unicoded\else \input chars-8z \fi\fi
\ifx\mathpreloaded X\else \input tx-math \fi
% end of cs-termes.tex
diff --git a/Master/texmf-dist/tex/csplain/fonts/ctimes.tex b/Master/texmf-dist/tex/csplain/fonts/ctimes.tex
index 82825f7f552..6b3fdb4aa4e 100644
--- a/Master/texmf-dist/tex/csplain/fonts/ctimes.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/ctimes.tex
@@ -4,6 +4,9 @@
\message{FONT: Times -
\string\rm, \string\it, \string\bf, \string\bi, \string\tt.}
+\ifx\font\unicoded \message{WARNING: This font family is unavailable in UNICODE.}
+ \endinput\fi
+
\ifx\sizespec\undefined \def\sizespec{}\fi
\ifx\font\corkencoded
\def\tmp{8t \sizespec}\def\tmpa{8t \sizespec}
diff --git a/Master/texmf-dist/tex/csplain/fonts/exchars.tex b/Master/texmf-dist/tex/csplain/fonts/exchars.tex
new file mode 100644
index 00000000000..aa6a9c0b527
--- /dev/null
+++ b/Master/texmf-dist/tex/csplain/fonts/exchars.tex
@@ -0,0 +1,295 @@
+% exchars.tex
+%%%%%%%%%%%%%%%%%%%%%%%%
+% Petr Olsak Aug. 2013
+
+% This macros implement the handling of characters from expert
+% or some other special fonts.
+% See the end of this file for more information.
+
+% Macros:
+
+\def\exchardef #1#2 #3 {\def#1{\printexchar#1{#2}{#3}}}
+
+\def\printexchar#1#2#3{% if \addprotect\exfont then all \exchars are protected.
+ \ifx\exfont\relax \noexpand#1\else
+ \ifx\exxfont\undefined
+ {\exfont{#2}%
+ \ifx\exxfont\undefined
+ \excharblackbox{#1}{#2}{#3}%
+ \message{WARNING: extra font unavailable for \string#1/#2 in \tmpa.}%
+ \else
+ \char#3
+ \fi}%
+ \else \char#3
+ \fi\fi
+}
+\def\exfont#1{\expandafter\expandafter\expandafter
+ \separethefont\expandafter\fontname\expandafter\font\space\relax
+ \expandafter \ifx\csname ex:\tmpa/#1\endcsname \relax \else
+ \font\exxfont=\csname ex:\tmpa/#1\endcsname\space\tmpb\relax \exxfont
+ \fi
+}
+\def\separethefont#1 #2\relax{\def\tmpa{#1}\def\tmpb{#2}}
+\def\excharblackbox #1#2#3%
+ {\leavevmode\kern.05em\vrule height.5em width.5em depth0pt\kern.05em }
+\def\setexfont #1 #2 #3 {\expandafter\def\csname ex:#1/#2\endcsname{#3}}
+
+% Fonts declarations:
+
+\def\declexfamily #1 #2 #3{% we spare TeX memory, so we set only one
+ \def\tmpb{#1} % preloaded family; others \declexfamily are ingnored
+ \edef\tmpb{\meaning\tmpb}
+ \ifx\tmpa\tmpb
+ \message{EXCHARS: extra characters in TS1 encoding prepared for #2 family.}#3\fi
+}
+\expandafter\expandafter\expandafter
+ \separethefont\expandafter\fontname\expandafter\tenrm\space\relax
+\edef\tmpa{\meaning\tmpa}
+
+\def\setexfamilyA #1 #2 #3 #4 #5 #6 #7 #8 {%
+ \setexfont #1#3#7 TS1 ts1-#2r
+ \setexfont #1#4#7 TS1 ts1-#2b
+ \setexfont #1#5#7 TS1 ts1-#2ri
+ \setexfont #1#6#7 TS1 ts1-#2bi
+ \setexfont pcrr#8 TS1 ts1-qcrr
+}
+\declexfamily ptmr8z Times {\setexfamilyA ptm qtm r b ri bi 8z 8u }
+\declexfamily pagk8z Avantgarde {\setexfamilyA pag qag k d ko do 8z 8u }
+\declexfamily pbkl8z Bookman {\setexfamilyA pbk qbk l d li di 8z 8u }
+\declexfamily phvr8z Helvetica {\setexfamilyA phv qhv r b ro bo 8z 8u }
+\declexfamily pncr8z NewCentury {\setexfamilyA pnc qcs r b ri bi 8z 8u }
+\declexfamily pplr8z Palatino {\setexfamilyA ppl qpl r b ri bi 8z 8u }
+\declexfamily ptmr8t Times {\setexfamilyA ptm qtm r b ri bi 8t 8t }
+\declexfamily pagk8t Avatgarde {\setexfamilyA pag qag k d ko do 8t 8t }
+\declexfamily pbkl8t Bookman {\setexfamilyA pbk qbk l d li di 8t 8t }
+\declexfamily phvr8t Helvetica {\setexfamilyA phv qhv r b ro bo 8t 8t }
+\declexfamily pncr8t NewCentury {\setexfamilyA pnc qcs r b ri bi 8t 8t }
+\declexfamily pplr8t Palatino {\setexfamilyA ppl qpl r b ri bi 8t 8t }
+
+\def\setexfamilyB #1 #2 #3 #4 #5 #6 {%
+ \setexfont #6-#1#2 TS1 ts1-#1#2
+ \setexfont #6-#1#3 TS1 ts1-#1#3
+ \setexfont #6-#1#4 TS1 ts1-#1#4
+ \setexfont #6-#1#5 TS1 ts1-#1#5
+}
+\declexfamily cs-qtmr Termes {\setexfamilyB qtm r b ri bi cs }
+\declexfamily cs-qagr Adventor {\setexfamilyB qag r b ri bi cs }
+\declexfamily cs-qbkr Bonum {\setexfamilyB qbk r b ri bi cs }
+\declexfamily cs-qhvr Heros {\setexfamilyB qhv r b ri bi cs }
+\declexfamily cs-qcsr Pagella {\setexfamilyB qcs r b ri bi cs }
+\declexfamily cs-qplr Schola {\setexfamilyB qpl r b ri bi cs }
+\declexfamily cs-qcrr Cursor {\setexfamilyB qcr r b ri bi cs }
+\declexfamily ec-qtmr Termes {\setexfamilyB qtm r b ri bi ec }
+\declexfamily ec-qagr Adventor {\setexfamilyB qag r b ri bi ec }
+\declexfamily ec-qbkr Bonum {\setexfamilyB qbk r b ri bi ec }
+\declexfamily ec-qhvr Heros {\setexfamilyB qhv r b ri bi ec }
+\declexfamily ec-qcsr Pagella {\setexfamilyB qcs r b ri bi ec }
+\declexfamily ec-qplr Schola {\setexfamilyB qpl r b ri bi ec }
+\declexfamily ec-qcrr Cursor {\setexfamilyB qcr r b ri bi ec }
+
+\declexfamily cs-lmr10 LatinModern {%
+ \setexfamilyB lm r10 bx10 ri10 bxi10 cs
+ \setexfamilyB lm tt10 csc10 csco10 ss10 cs }
+\declexfamily ec-lmr10 LatinModern {%
+ \setexfamilyB lm r10 bx10 ri10 bxi10 ec
+ \setexfamilyB lm tt10 csc10 csco10 ss10 ec }
+
+\def\tmp{%
+ \setexfont csr8 TS1 ts1-lmr8
+ \setexfont csr9 TS1 ts1-lmr9
+ \setexfont csr10 TS1 ts1-lmr10
+ \setexfont csr12 TS1 ts1-lmr12
+ \setexfont csr17 TS1 ts1-lmr17
+ \setexfont csbx8 TS1 ts1-lmbx8
+ \setexfont csbx9 TS1 ts1-lmbx9
+ \setexfont csbx10 TS1 ts1-lmbx10
+ \setexfont csbx12 TS1 ts1-lmbx12
+ \setexfont csti8 TS1 ts1-lmri8
+ \setexfont csti9 TS1 ts1-lmri9
+ \setexfont csti10 TS1 ts1-lmri10
+ \setexfont csti12 TS1 ts1-lmri12
+ \setexfont csbxti10 TS1 ts1-lmbxi10
+ \setexfont cstt10 TS1 ts1-lmtt10
+ \setexfont cstt12 TS1 ts1-lmtt12
+ \setexfont cstt8 TS1 ts1-lmtt8
+ \setexfont cstt9 TS1 ts1-lmtt9
+}
+\declexfamily csr10 CSfont {\tmp}
+\declexfamily csr12 CSfont {\tmp}
+\declexfamily csr8 CSfont {\tmp}
+\declexfamily csr9 CSfont {\tmp}
+
+% user can declare more metrics by \setexfont.
+
+% Character declarations:
+
+\exchardef \excapitalcompwordmark TS1 23
+\exchardef \exascendercompwordmark TS1 31
+\exchardef \exquotestraightbase TS1 13
+\exchardef \exquotestraightdblbase TS1 18
+\exchardef \extwelveudash TS1 21
+\exchardef \exthreequartersemdash TS1 22
+\exchardef \exleftarrow TS1 24
+\exchardef \exrightarrow TS1 25
+\exchardef \exblank TS1 32
+\exchardef \exdollar TS1 36
+\exchardef \exquotesingle TS1 39
+\exchardef \exasteriskcentered TS1 42
+\exchardef \exdblhyphen TS1 45
+\exchardef \exfractionsolidus TS1 47
+\exchardef \exzerooldstyle TS1 48
+\exchardef \exoneoldstyle TS1 49
+\exchardef \extwooldstyle TS1 50
+\exchardef \exthreeoldstyle TS1 51
+\exchardef \exfouroldstyle TS1 52
+\exchardef \exfiveoldstyle TS1 53
+\exchardef \exsixoldstyle TS1 54
+\exchardef \exsevenoldstyle TS1 55
+\exchardef \exeightoldstyle TS1 56
+\exchardef \exnineoldstyle TS1 57
+\exchardef \exlangle TS1 60
+\exchardef \exminus TS1 61
+\exchardef \exrangle TS1 62
+\exchardef \exmho TS1 77
+\exchardef \exbigcircle TS1 79
+\exchardef \exohm TS1 87
+\exchardef \exlbrackdbl TS1 91
+\exchardef \exrbrackdbl TS1 93
+\exchardef \exuparrow TS1 94
+\exchardef \exdownarrow TS1 95
+\exchardef \exasciigrave TS1 96
+\exchardef \exborn TS1 98
+\exchardef \exdivorced TS1 99
+\exchardef \exdied TS1 100
+\exchardef \exleaf TS1 108
+\exchardef \exmarried TS1 109
+\exchardef \exmusicalnote TS1 110
+\exchardef \extildelow TS1 126
+\exchardef \exdblhyphenchar TS1 127
+\exchardef \exasciibreve TS1 128
+\exchardef \exasciicaron TS1 129
+\exchardef \exacutedbl TS1 130
+\exchardef \exgravedbl TS1 131
+\exchardef \exdagger TS1 132
+\exchardef \exdaggerdbl TS1 133
+\exchardef \exbardbl TS1 134
+\exchardef \experthousand TS1 135
+\exchardef \exbullet TS1 136
+\exchardef \excelsius TS1 137
+\exchardef \exdollaroldstyle TS1 138
+\exchardef \excentoldstyle TS1 139
+\exchardef \exflorin TS1 140
+\exchardef \excolonmonetary TS1 141
+\exchardef \exwon TS1 142
+\exchardef \exnaira TS1 143
+\exchardef \exguarani TS1 144
+\exchardef \expeso TS1 145
+\exchardef \exlira TS1 146
+\exchardef \exrecipe TS1 147
+\exchardef \exinterrobang TS1 148
+\exchardef \exinterrobangdown TS1 149
+\exchardef \exdong TS1 150
+\exchardef \extrademark TS1 151
+\exchardef \expertenthousand TS1 152
+\exchardef \expilcrow TS1 153
+\exchardef \exbaht TS1 154
+\exchardef \exnumero TS1 155
+\exchardef \exdiscount TS1 156
+\exchardef \exestimated TS1 157
+\exchardef \exopenbullet TS1 158
+\exchardef \exservicemark TS1 159
+\exchardef \exlquill TS1 160
+\exchardef \exrquill TS1 161
+\exchardef \excent TS1 162
+\exchardef \exsterling TS1 163
+\exchardef \excurrency TS1 164
+\exchardef \exyen TS1 165
+\exchardef \exbrokenbar TS1 166
+\exchardef \exsection TS1 167
+\exchardef \exasciidieresis TS1 168
+\exchardef \excopyright TS1 169
+\exchardef \exordfeminine TS1 170
+\exchardef \excopyleft TS1 171
+\exchardef \exlnot TS1 172
+\exchardef \excircledP TS1 173
+\exchardef \exregistered TS1 174
+\exchardef \exasciimacron TS1 175
+\exchardef \exdegree TS1 176
+\exchardef \expm TS1 177
+\exchardef \extwosuperior TS1 178
+\exchardef \exthreesuperior TS1 179
+\exchardef \exasciiacute TS1 180
+\exchardef \exmu TS1 181
+\exchardef \exparagraph TS1 182
+\exchardef \experiodcentered TS1 183
+\exchardef \exreferencemark TS1 184
+\exchardef \exonesuperior TS1 185
+\exchardef \exordmasculine TS1 186
+\exchardef \exsurd TS1 187
+\exchardef \exonequarter TS1 188
+\exchardef \exonehalf TS1 189
+\exchardef \exthreequarters TS1 190
+\exchardef \exeuro TS1 191
+\exchardef \extimes TS1 214
+\exchardef \exdiv TS1 246
+
+\endinput
+
+===================================================================================
+
+After:
+
+\input ctimes \input exchars
+
+you can try to type: The leaf in roman: \exleaf,
+{\it the leaf in italics: \exleaf},
+{\bf the leaf in bold: \exleaf}.
+\end
+
+You have to include exchars.tex immediatelly after \input ctimes
+or \input lmfonts or \input cs-pagella etc. or at the begin of the document
+if none of such files is loaded.
+
+-----------------------------------------------------------------------------------
+
+Usage of \exchardef:
+
+\exchardef \exmacro ENC CODE
+
+The ``exchardefed'' macro tries to find the extra metrics derived from the
+metrics of the current font and from the specified encoding ENC.
+If it is found then the macro switches to the extra metric in the group and
+prints the character of CODE.
+
+Usage of \setexfont:
+
+\setexfont base-metrics ENC extra-metrics
+
+This command declares the extra-metrics as the metrics used when the current
+font has the base-metrics and the ``exchardefed'' character is printed in ENC
+encoding. Without this declaration the extra metrics is unknown and the
+``exchardefed'' character is not printed (only warning is written on the
+terminal and \excharblackbox is printed to the document.
+
+You can swtich to the extra-metrics for more than one character by \exfont:
+
+Test 1: {\exfont{TS1}\exonequarter \exonehalf \exthreequarters}
+Test 2: \exonequarter \exonehalf \exthreequarters
+
+The only difference between Test 1 and Test 2 is that the characters in Test 1
+can be corrected by kerning if the kerning pairs are in the metrics. The
+characters in Test 2 are without kerning.
+
+User can declare his/her own encoding and metrics-pairs by \setexfont and
+extra characters by \exchardef. This file implements only one encoding
+as an example: TS1 -- TeX companion symbols.
+
+Users of encTeX can add the UTF-8 declarations of ``exchadefed'' symbols. Example:
+
+\mubyte \exonehalf ^^c2^^bd\endmubyte
+\mubyte \exflorin ^^c6^^92\endmubyte
+etc...
+
+Now user can write raw characters in the document: ½.
+
+----------------------------------------------------------------------------------
diff --git a/Master/texmf-dist/tex/csplain/fonts/lmfonts.tex b/Master/texmf-dist/tex/csplain/fonts/lmfonts.tex
index bc433f88299..aa1ed043dbf 100644
--- a/Master/texmf-dist/tex/csplain/fonts/lmfonts.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/lmfonts.tex
@@ -7,8 +7,8 @@
\ifx\sizespec\undefined \def\sizespec{}\fi
+\ifx\font\corkencoded\else \ifx\font\unicoded\else \input chars-8z \fi\fi
\ifx\mathpreloaded A\else \input ams-math \fi
-\ifx\font\corkencoded \else \input chars-8z \fi
\ifx\font\corkencoded \def\tmp{ec}\else \def\tmp{cs}\fi
diff --git a/Master/texmf-dist/tex/csplain/fonts/tx-math.tex b/Master/texmf-dist/tex/csplain/fonts/tx-math.tex
index f5df0efe4b2..adbf868bec0 100644
--- a/Master/texmf-dist/tex/csplain/fonts/tx-math.tex
+++ b/Master/texmf-dist/tex/csplain/fonts/tx-math.tex
@@ -91,10 +91,19 @@
\ifx\bisans\undefined % user can define his own \bfsans, \bisans
\def\bfsans{phvb8z}\def\bisans{phvbo8z} % \bffam, \bifam normal
\def\bbfsans{phvb8z}\def\bbisans{phvbo8z} % \bffam, \bifam bold
- \def\corrmsizes#1{\ifnum#1=10 \ptmunit=.83pt \fi % wee need to correct
- \ifnum#1=11 \ptmunit=.83pt \fi} % the sizes o phvb8t and
+ \def\corrmsizes{\ifnum\tmp=10 \ptmunit=.83pt \fi % wee need to correct
+ \ifnum\tmp=11 \ptmunit=.83pt \fi} % the sizes o phvb8t and
\fi % phvbo8t fonts
-\ifx\corrmsizes\undefined \def\corrmsizes#1{}\fi
+\ifx\corrmsizes\undefined \def\corrmsizes{}\fi
+
+% User can use \corrmsizes if he/she loads new family. The following example
+% loads ZapfChancery as \fam 15 with fonts scaled by 1.32 as compared with
+% others fonts in math formula:
+
+% \def\zapf {\fam 15 }
+% \addto\corrmsizes {\ifnum\tmp=15 \ptmunit=1.32pt \fi}
+% \addto\normalmath {\loadmathfamily 15 pzcmi8z } \normalmath
+% \addto\boldmath {\loadmathfamily 15 pzcmi8z }
% macros:
@@ -103,16 +112,17 @@
\def\mitvariables{\def\rm{\fam0\tenrm}%
\mathcodechanges 0:0-9\mathcodechanges 1:A-Z\mathcodechanges 1:a-z}
-\def\loadmathfamily #1 #2 {\corrmsizes{#1}%
- \font\tmp = #2 at\sizemtext \textfont#1=\tmp
- \font\tmp = #2 at\sizemscript \scriptfont#1=\tmp
- \font\tmp = #2 at\sizemsscript \scriptscriptfont#1=\tmp
+\def\loadmathfamily #1 #2 {\chardef\tmp#1\relax\corrmsizes
+ \font\mF = #2 at\sizemtext \textfont#1=\mF
+ \font\mF = #2 at\sizemscript \scriptfont#1=\mF
+ \font\mF = #2 at\sizemsscript \scriptscriptfont#1=\mF
\ptmunit=1pt
}
-\def\setmathfamily #1#2{%
- \font\tmp = \specfontname #2 at\sizemtext \textfont#1=\tmp
- \font\tmp = \specfontname #2 at\sizemscript \scriptfont#1=\tmp
- \font\tmp = \specfontname #2 at\sizemsscript \scriptscriptfont#1=\tmp
+\def\setmathfamily #1#2{\let\mF=#2%
+ \font#2= \specfontname \mF\space at\sizemtext \textfont#1=#2%
+ \font#2= \specfontname \mF\space at\sizemscript \scriptfont#1=#2%
+ \font#2= \specfontname \mF\space at\sizemsscript \scriptscriptfont#1=#2%
+ \let#2=\mF
}
\def\specfontname #1{\expandafter \ignoreatpt \fontname #1 \relax}
\def\ignoreatpt #1 #2\relax{#1}
@@ -713,3 +723,6 @@
Jul. 2013: \corrmsizes defined if \bisans undefined
Aug. 2013: \mathpreloaded introduced
Aug. 2013: \newdimen\ptmunit only once
+Aug. 2013: \tmp -> \mF (the sequence is printed in overfull messages)
+ \mF tuned in \setmathfamily
+ \corrmsizes without parameter