summaryrefslogtreecommitdiff
path: root/tex/context/base
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base')
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4091 -> 4081 bytes
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/core-env.lua9
-rw-r--r--tex/context/base/core-sys.mkiv2
-rw-r--r--tex/context/base/file-job.lua44
-rw-r--r--tex/context/base/mult-low.lua4
-rw-r--r--tex/context/base/page-brk.mkiv245
-rw-r--r--tex/context/base/publ-aut.lua1
-rw-r--r--tex/context/base/publ-dat.lua2
-rw-r--r--tex/context/base/publ-imp-apa.mkiv2
-rw-r--r--tex/context/base/publ-ini.lua5
-rw-r--r--tex/context/base/s-inf-03.pdfbin1975 -> 1977 bytes
-rw-r--r--tex/context/base/status-files.pdfbin24803 -> 24802 bytes
-rw-r--r--tex/context/base/status-lua.log2
-rw-r--r--tex/context/base/syst-ini.mkiv10
-rw-r--r--tex/context/base/type-imp-buy.mkiv136
17 files changed, 365 insertions, 101 deletions
diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv
index d20324a2b..e01596804 100644
--- a/tex/context/base/cont-new.mkiv
+++ b/tex/context/base/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2014.01.30 12:15}
+\newcontextversion{2014.01.30 22:19}
%D This file is loaded at runtime, thereby providing an excellent place for
%D hacks, patches, extensions and new features.
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf
index 79cb94d0e..337e02978 100644
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files differ
diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv
index 888d78583..db52afdf5 100644
--- a/tex/context/base/context.mkiv
+++ b/tex/context/base/context.mkiv
@@ -28,7 +28,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2014.01.30 12:15}
+\edef\contextversion{2014.01.30 22:19}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/core-env.lua b/tex/context/base/core-env.lua
index a4d1fdd92..8cbc93038 100644
--- a/tex/context/base/core-env.lua
+++ b/tex/context/base/core-env.lua
@@ -78,6 +78,15 @@ setmetatableindex(tex.ifs, function(t,k)
return csname_id(k) ~= undefined and create(k)[2] == iftrue -- inefficient, this create, we need a helper
end)
+function context.setconditional(name,value)
+ if value then
+ context.settruevalue(name)
+ else
+ context.setfalsevalue(name)
+ end
+end
+
+
-- todo : global
-- not possible as we let at the tex end to zerocount and plusone
diff --git a/tex/context/base/core-sys.mkiv b/tex/context/base/core-sys.mkiv
index 8f56b6f16..c07722f56 100644
--- a/tex/context/base/core-sys.mkiv
+++ b/tex/context/base/core-sys.mkiv
@@ -89,6 +89,8 @@
% \ctxcommand{updatefilenames("\jobame","\inputfilename","\outputfilename")}%
% \to \everysetupsystem
+\newconditional\prerollrun % when true it means that we have a forced number of runs
+
% Some mechanisms (see x-res-01) use either \jobfilename or
% \jobfilename.somesuffix, in which case we need to use the
% full name if given or a default (like \jobfilename.xml);
diff --git a/tex/context/base/file-job.lua b/tex/context/base/file-job.lua
index 288a690d2..c88eb7e9d 100644
--- a/tex/context/base/file-job.lua
+++ b/tex/context/base/file-job.lua
@@ -801,23 +801,45 @@ function commands.getcommandline() -- has to happen at the tex end in order to e
inputfile = basename(inputfile)
end
+ local forcedruns = arguments.forcedruns
local kindofrun = arguments.kindofrun
- local currentrun = arguments.maxnofruns
- local maxnofruns = arguments.currentrun
+ local currentrun = arguments.currentrun
+ local maxnofruns = arguments.maxnofruns or arguments.runs
+
+ -- context.setupsystem {
+ -- [constants.directory] = validstring(arguments.setuppath),
+ -- [constants.inputfile] = inputfile,
+ -- [constants.file] = validstring(arguments.result),
+ -- [constants.random] = validstring(arguments.randomseed),
+ -- -- old:
+ -- [constants.n] = validstring(kindofrun),
+ -- [constants.m] = validstring(currentrun),
+ -- }
context.setupsystem {
- [constants.directory] = validstring(arguments.setuppath),
- [constants.inputfile] = inputfile,
- [constants.file] = validstring(arguments.result),
- [constants.random] = validstring(arguments.randomseed),
+ directory = validstring(arguments.setuppath),
+ inputfile = inputfile,
+ file = validstring(arguments.result),
+ random = validstring(arguments.randomseed),
-- old:
- [constants.n] = validstring(kindofrun),
- [constants.m] = validstring(currentrun),
+ n = validstring(kindofrun),
+ m = validstring(currentrun),
}
- environment.kindofrun = tonumber(kindofrun) or 0
- environment.maxnofruns = tonumber(maxnofruns) or 0
- environment.currentrun = tonumber(currentrun) or 0
+ forcedruns = tonumber(forcedruns) or 0
+ kindofrun = tonumber(kindofrun) or 0
+ maxnofruns = tonumber(maxnofruns) or 0
+ currentrun = tonumber(currentrun) or 0
+
+ local prerollrun = forcedruns > 0 and currentrun > 0 and currentrun < forcedruns
+
+ environment.forcedruns = forcedruns
+ environment.kindofrun = kindofrun
+ environment.maxnofruns = maxnofruns
+ environment.currentrun = currentrun
+ environment.prerollrun = prerollrun
+
+ context.setconditional("prerollrun",prerollrun)
if validstring(arguments.arguments) then
context.setupenv { arguments.arguments }
diff --git a/tex/context/base/mult-low.lua b/tex/context/base/mult-low.lua
index 1e4fef212..250b20c22 100644
--- a/tex/context/base/mult-low.lua
+++ b/tex/context/base/mult-low.lua
@@ -279,7 +279,9 @@ return {
--
"dorecurse", "doloop", "exitloop", "dostepwiserecurse", "recurselevel", "recursedepth", "dofastloopcs", "dowith",
--
- "newconstant", "setnewconstant", "newconditional", "settrue", "setfalse", "setconstant",
+ "newconstant", "setnewconstant", "setconstant", "setconstantvalue",
+ "newconditional", "settrue", "setfalse", "settruevalue", "setfalsevalue",
+ --
"newmacro", "setnewmacro", "newfraction",
"newsignal",
--
diff --git a/tex/context/base/page-brk.mkiv b/tex/context/base/page-brk.mkiv
index cc9a9b4d2..2b89f5b4f 100644
--- a/tex/context/base/page-brk.mkiv
+++ b/tex/context/base/page-brk.mkiv
@@ -316,75 +316,204 @@
%D Test page breaks.
-\newdimen \d_page_tests_test
-\newconstant\c_page_tests_mode
+% \newdimen \d_page_tests_test
+% \newconstant\c_page_tests_mode
-\newconstant\testpagemethod % todo: \testnewpage[method=,lines=,voffset=]
-\newconstant\testpagetrigger
+\newconstant\testpagemethod % old
+\newconstant\testpagetrigger % old
-\unexpanded\def\testpage {\c_page_tests_mode\plusone \dodoubleempty\page_tests_test} %
-\unexpanded\def\testpageonly{\c_page_tests_mode\plustwo \dodoubleempty\page_tests_test} % no penalties added to the mvl
-\unexpanded\def\testpagesync{\c_page_tests_mode\plusthree\dodoubleempty\page_tests_test} % force sync
-
-\def\page_tests_test[#1][#2]% don't change, only add more methods
+% \unexpanded\def\testpage {\c_page_tests_mode\plusone \dodoubleempty\page_tests_test} %
+% \unexpanded\def\testpageonly{\c_page_tests_mode\plustwo \dodoubleempty\page_tests_test} % no penalties added to the mvl
+% \unexpanded\def\testpagesync{\c_page_tests_mode\plusthree\dodoubleempty\page_tests_test} % force sync
+%
+% \def\page_tests_test[#1][#2]% don't change, only add more methods
+% {\relax % needed before \if
+% \ifconditional\c_page_breaks_enabled
+% % new from here
+% \ifcase\testpagetrigger
+% \endgraf
+% \or\ifvmode
+% \dosomebreak\allowbreak
+% \else % indeed?
+% \vadjust{\allowbreak}%
+% \endgraf
+% \fi\fi
+% % till here
+% \ifdim\pagegoal<\maxdimen \relax
+% \ifdim\pagetotal<\pagegoal \relax
+% \d_page_tests_test\dimexpr
+% #1\lineheight
+% +\pagetotal
+% \ifdim\lastskip<\parskip+\parskip\fi
+% \ifsecondargument+#2\fi
+% \relax
+% \ifcase\testpagemethod
+% \ifdim\d_page_tests_test>.99\pagegoal
+% \penalty-\plustenthousand
+% \fi
+% \or
+% \ifdim\dimexpr\d_page_tests_test-\pagegoal\relax>-\lineheight
+% \penalty-\plustenthousand
+% \fi
+% \or
+% \getnoflines\pagegoal
+% \ifdim\dimexpr\d_page_tests_test-\noflines\lineheight\relax>-\lineheight
+% \penalty-\plustenthousand
+% \fi
+% \or % same as 0 but more accurate
+% \ifdim\dimexpr\d_page_tests_test-10\scaledpoint\relax>\pagegoal
+% \penalty-\plustenthousand
+% \fi
+% \fi
+% \else\ifnum\c_page_tests_mode=\plusthree
+% \page_tests_flush_so_far
+% \fi\fi
+% \else\ifnum\c_page_tests_mode=\plusone
+% \goodbreak
+% \fi\fi
+% \else
+% \endgraf
+% \fi}
+%
+% \def\page_tests_flush_so_far
+% {\endgraf
+% \ifdim\pagetotal>\pagegoal
+% \ifdim\dimexpr\pagetotal-\pageshrink\relax>\pagegoal
+% \goodbreak
+% \else
+% \page
+% \fi
+% \fi}
+
+\installcorenamespace {pagechecker}
+\installcorenamespace {pagecheckermethod}
+
+\installcommandhandler \??pagechecker {pagechecker} \??pagechecker
+
+\setuppagechecker
+ [\c!method=1,
+ \c!before=,
+ \c!after=,
+ \c!inbetween=,
+ \c!lines=\plusthree,
+ \c!offset=\zeropoint]
+
+\def\page_check_amount
+ {\dimexpr
+ \pagecheckerparameter\c!lines\lineheight
+ +\pagetotal
+ \ifdim\lastskip<\parskip+\parskip\fi
+ \ifsecondargument+\pagecheckerparameter\v!offset\fi
+ \relax}
+
+\unexpanded\def\checkpage
+ {\dodoubleempty\page_check}
+
+\def\page_check[#1][#2]%
{\relax % needed before \if
+ \endgraf
\ifconditional\c_page_breaks_enabled
- % new from here
- \ifcase\testpagetrigger
- \endgraf
- \or\ifvmode
- \dosomebreak\allowbreak
- \else % indeed?
- \vadjust{\allowbreak}%
- \endgraf
- \fi\fi
- % till here
- \ifdim\pagegoal<\maxdimen \relax
- \ifdim\pagetotal<\pagegoal \relax
- \d_page_tests_test\dimexpr
- #1\lineheight
- +\pagetotal
- \ifdim\lastskip<\parskip+\parskip\fi
- \ifsecondargument+#2\fi
- \relax
- \ifcase\testpagemethod
- \ifdim\d_page_tests_test>.99\pagegoal
- \penalty-\plustenthousand
- \fi
- \or
- \ifdim\dimexpr\d_page_tests_test-\pagegoal\relax>-\lineheight
- \penalty-\plustenthousand
- \fi
- \or
- \getnoflines\pagegoal
- \ifdim\dimexpr\d_page_tests_test-\noflines\lineheight\relax>-\lineheight
- \penalty-\plustenthousand
- \fi
- \or % same as 0 but more accurate
- \ifdim\dimexpr\d_page_tests_test-10\scaledpoint\relax>\pagegoal
- \penalty-\plustenthousand
- \fi
- \fi
- \else\ifnum\c_page_tests_mode=\plusthree
- \page_tests_flush_so_far
- \fi\fi
- \else\ifnum\c_page_tests_mode=\plusone
- \goodbreak
- \fi\fi
+ \begingroup
+ \edef\currentpagechecker{#1}%
+ \ifsecondargument\setupcurrentpagechecker[#2]\fi
+ \csname\??pagecheckermethod\pagecheckerparameter\c!method\endcsname
+ \endgroup
+ \fi}
+
+\setvalue{\??pagecheckermethod 0}%
+ {\ifdim\pagegoal<\maxdimen \relax
+ \ifdim\pagetotal<\pagegoal \relax
+ \ifdim\page_check_amount>.99\pagegoal
+ \pagecheckerparameter\c!before
+ \penalty-\plustenthousand
+ \pagecheckerparameter\c!after
+ \else
+ \pagecheckerparameter\c!inbetween
+ \fi
+ \else
+ \pagecheckerparameter\c!inbetween
+ \fi
\else
- \endgraf
+ \pagecheckerparameter\c!inbetween
\fi}
-\def\page_tests_flush_so_far
- {\endgraf
- \ifdim\pagetotal>\pagegoal
- \ifdim\dimexpr\pagetotal-\pageshrink\relax>\pagegoal
- \goodbreak
+\setvalue{\??pagecheckermethod 1}%
+ {\ifdim\pagegoal<\maxdimen \relax
+ \ifdim\pagetotal<\pagegoal \relax
+ \ifdim\dimexpr\page_check_amount-\pagegoal\relax>-\lineheight
+ \pagecheckerparameter\c!before
+ \penalty-\plustenthousand
+ \pagecheckerparameter\c!after
+ \else
+ \pagecheckerparameter\c!inbetween
+ \fi
\else
- \page
+ \pagecheckerparameter\c!inbetween
\fi
+ \else
+ \goodbreak
+ \pagecheckerparameter\c!inbetween
\fi}
+\setvalue{\??pagecheckermethod 2}%
+ {\ifdim\pagegoal<\maxdimen \relax
+ \ifdim\pagetotal<\pagegoal \relax
+ \getnoflines\pagegoal
+ \ifdim\dimexpr\page_check_amount-\noflines\lineheight\relax>-\lineheight
+ \pagecheckparameter\c!before
+ \penalty-\plustenthousand
+ \pagecheckerparameter\c!after
+ \else
+ \pagecheckerparameter\c!inbetween
+ \fi
+ \else
+ \pagecheckerparameter\c!inbetween
+ \fi
+ \else
+ \pagecheckerparameter\c!inbetween
+ \fi}
+
+\setvalue{\??pagecheckermethod 3}%
+ {\ifdim\pagegoal<\maxdimen \relax
+ \ifdim\pagetotal<\pagegoal \relax
+ \ifdim\dimexpr\page_check_amount-10\scaledpoint\relax>\pagegoal
+ \pagecheckerparameter\c!before
+ \penalty-\plustenthousand
+ \pagecheckerparameter\c!after
+ \else
+ \pagecheckerparameter\c!inbetween
+ \fi
+ \else
+ \ifdim\pagetotal>\pagegoal
+ \ifdim\dimexpr\pagetotal-\pageshrink\relax>\pagegoal
+ \goodbreak
+ \pagecheckerparameter\c!inbetween
+ \else
+ \pagecheckerparameter\c!before
+ \page
+ \pagecheckerparameter\c!after
+ \fi
+ \else
+ \pagecheckerparameter\c!inbetween
+ \fi
+ \fi
+ \else
+ \pagecheckerparameter\c!inbetween
+ \fi}
+
+\definepagechecker[\s!unknown:0] [\c!method=0,\c!before=,\c!after=,\c!inbetween=]
+\definepagechecker[\s!unknown:1][]\s!unknown:0][\c!method=1]
+\definepagechecker[\s!unknown:2][]\s!unknown:0][\c!method=2]
+\definepagechecker[\s!unknown:3][]\s!unknown:0][\c!method=3]
+
+\def\page_tests_test_a[#1][#2]{\checkpage[\s!unknown:1][\c!lines=#1,\c!voffset=\ifsecondargument#2\else\zeropoint\fi]}
+\def\page_tests_test_b[#1][#2]{\checkpage[\s!unknown:2][\c!lines=#1,\c!voffset=\ifsecondargument#2\else\zeropoint\fi]}
+\def\page_tests_test_c[#1][#2]{\checkpage[\s!unknown:3][\c!lines=#1,\c!voffset=\ifsecondargument#2\else\zeropoint\fi]}
+
+\unexpanded\def\testpage {\dodoubleempty\page_tests_test_a} %
+\unexpanded\def\testpageonly{\dodoubleempty\page_tests_test_b} % no penalties added to the mvl
+\unexpanded\def\testpagesync{\dodoubleempty\page_tests_test_c} % force sync
+
%D Test column breaks.
\unexpanded\def\testcolumn
diff --git a/tex/context/base/publ-aut.lua b/tex/context/base/publ-aut.lua
index 9fe286abf..ba492a93b 100644
--- a/tex/context/base/publ-aut.lua
+++ b/tex/context/base/publ-aut.lua
@@ -455,7 +455,6 @@ end
local compare = sorters.comparers.basic -- (a,b)
local strip = sorters.strip
local splitter = sorters.splitters.utf
-local sort = sorters.sort
function authors.preparedsort(dataset,list,sorttype_a,sorttype_b,sorttype_c)
local luadata = datasets[dataset].luadata
diff --git a/tex/context/base/publ-dat.lua b/tex/context/base/publ-dat.lua
index 20fada411..8fce94822 100644
--- a/tex/context/base/publ-dat.lua
+++ b/tex/context/base/publ-dat.lua
@@ -446,7 +446,7 @@ function publications.load(dataset,filename,kind)
if dataset.loaded[fullname] then -- will become better
-- skip
elseif fullname == "" then
- report("no file %a",fullname)
+ report("no file %a",filename)
else
loaders[filetype](dataset,fullname)
end
diff --git a/tex/context/base/publ-imp-apa.mkiv b/tex/context/base/publ-imp-apa.mkiv
index 2db044cbf..3f7b119af 100644
--- a/tex/context/base/publ-imp-apa.mkiv
+++ b/tex/context/base/publ-imp-apa.mkiv
@@ -12,7 +12,7 @@
% common
-\loadbtxdefinitionfile[def]
+% \loadbtxdefinitionfile[def]
\startsetups btx:apa:common:wherefrom
\btxdoifelse {address} {
diff --git a/tex/context/base/publ-ini.lua b/tex/context/base/publ-ini.lua
index 534bca72e..7c3670208 100644
--- a/tex/context/base/publ-ini.lua
+++ b/tex/context/base/publ-ini.lua
@@ -56,7 +56,6 @@ local basiccompare = sorters.basicsorter -- (a,b)
local compare = sorters.comparers.basic -- (a,b)
local strip = sorters.strip
local splitter = sorters.splitters.utf
-local sort = sorters.sort
local context = context
@@ -803,7 +802,7 @@ lists.sorters = {
-- nothing to sort
else
-- if needed we can wrap compare and use the list directly but this is cleaner
- sort(valid,compare)
+ sorters.sort(valid,compare)
for i=1,#valid do
local v = valid[i]
valid[i] = list[v.index]
@@ -1049,7 +1048,7 @@ local function sortedtags(dataset,list,sorttype)
if #valid == 0 or #valid ~= #list then
return list
else
- sort(valid,basiccompare)
+ sorters.sort(valid,basiccompare)
for i=1,#valid do
valid[i] = valid[i].tag
end
diff --git a/tex/context/base/s-inf-03.pdf b/tex/context/base/s-inf-03.pdf
index 56e5500ef..ed1d6e12a 100644
--- a/tex/context/base/s-inf-03.pdf
+++ b/tex/context/base/s-inf-03.pdf
Binary files differ
diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf
index 31e92ca46..2752ed563 100644
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.log b/tex/context/base/status-lua.log
index 3739a8ad0..e9ce12329 100644
--- a/tex/context/base/status-lua.log
+++ b/tex/context/base/status-lua.log
@@ -1,6 +1,6 @@
(cont-yes.mkiv
-ConTeXt ver: 2014.01.30 12:15 MKIV beta fmt: 2014.1.30 int: english/english
+ConTeXt ver: 2014.01.30 22:19 MKIV beta fmt: 2014.1.30 int: english/english
system > 'cont-new.mkiv' loaded
(cont-new.mkiv)
diff --git a/tex/context/base/syst-ini.mkiv b/tex/context/base/syst-ini.mkiv
index ab1c53131..38c34556a 100644
--- a/tex/context/base/syst-ini.mkiv
+++ b/tex/context/base/syst-ini.mkiv
@@ -246,9 +246,10 @@
% Watch out, for the moment we disable the check for already being defined
% later we will revert this but first all chardefs must be replaced.
-\normalprotected\def\newconstant #1{\ifdefined#1\let#1\undefined\fi\newcount#1}
-\normalprotected\def\setnewconstant#1{\ifdefined#1\let#1\undefined\fi\newcount#1#1} % just a number
-\normalprotected\def\setconstant {} % dummy, no checking, so it warns
+\normalprotected\def\newconstant #1{\ifdefined#1\let#1\undefined\fi\newcount#1}
+\normalprotected\def\setnewconstant #1{\ifdefined#1\let#1\undefined\fi\newcount#1#1} % just a number
+\normalprotected\def\setconstant {} % dummy, no checking, so it warns
+\normalprotected\def\setconstantvalue#1#2{\csname#1\endcsname\numexpr#2\relax}
% maybe setconstant with check
@@ -744,6 +745,9 @@
\normalprotected\def\settrue #1{\let#1\conditionaltrue }
\normalprotected\def\setfalse#1{\let#1\conditionalfalse}
+\normalprotected\def\settruevalue #1{\expandafter\let\csname#1\endcsname\conditionaltrue }
+\normalprotected\def\setfalsevalue#1{\expandafter\let\csname#1\endcsname\conditionalfalse}
+
\let\newconditional\setfalse
\let\ifconditional \ifcase
diff --git a/tex/context/base/type-imp-buy.mkiv b/tex/context/base/type-imp-buy.mkiv
index 9815cc44b..dbfffe57c 100644
--- a/tex/context/base/type-imp-buy.mkiv
+++ b/tex/context/base/type-imp-buy.mkiv
@@ -11,27 +11,125 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
+% monotype sabon
+
\starttypescriptcollection[sabon]
-\starttypescript [serif] [sabon] [name]
-
- \definefontsynonym [Serif] [SabonMT]
- \definefontsynonym [SerifItalic] [SabonMT-Italic]
- \definefontsynonym [SerifSlanted] [SabonMT-Italic]
- \definefontsynonym [SerifBold] [SabonMT-SemiBold]
- \definefontsynonym [SerifBoldItalic] [SabonMT-SemiBoldItalic]
- \definefontsynonym [SerifBoldSlanted] [SabonMT-SemiBoldItalic]
- \definefontsynonym [SerifCaps] [SabonMT-RegularSC]
-
- \definefontsynonym[SabonMT] [sab_____]
- \definefontsynonym[SabonMT-Italic] [sabi____]
- \definefontsynonym[SabonMT-ItalicOsF] [saboi___]
- \definefontsynonym[SabonMT-SemiBoldOsF] [sabos___]
- \definefontsynonym[SabonMT-SemiBold] [sabs____]
- \definefontsynonym[SabonMT-RegularSC] [sabsc___]
- \definefontsynonym[SabonMT-SemiBoldItalic] [sabsi___]
- \definefontsynonym[SabonMT-SemiBoldItalicOsF][sasio___]
-\stoptypescript
+ \starttypescript [serif] [sabon] [name]
+ %
+ \definefontsynonym [Serif] [SabonMT]
+ \definefontsynonym [SerifItalic] [SabonMT-Italic]
+ \definefontsynonym [SerifSlanted] [SabonMT-Italic]
+ \definefontsynonym [SerifBold] [SabonMT-SemiBold]
+ \definefontsynonym [SerifBoldItalic] [SabonMT-SemiBoldItalic]
+ \definefontsynonym [SerifBoldSlanted][SabonMT-SemiBoldItalic]
+ \definefontsynonym [SerifCaps] [SabonMT-RegularSC]
+ %
+ \definefontsynonym[SabonMT] [sab_____]
+ \definefontsynonym[SabonMT-Italic] [sabi____]
+ \definefontsynonym[SabonMT-ItalicOsF] [saboi___]
+ \definefontsynonym[SabonMT-SemiBoldOsF] [sabos___]
+ \definefontsynonym[SabonMT-SemiBold] [sabs____]
+ \definefontsynonym[SabonMT-RegularSC] [sabsc___]
+ \definefontsynonym[SabonMT-SemiBoldItalic] [sabsi___]
+ \definefontsynonym[SabonMT-SemiBoldItalicOsF][sasio___]
+ %
+ \stoptypescript
\stoptypescriptcollection
+% itc stone
+
+\starttypescriptcollection[stone]
+
+ \starttypescript [sans] [stone] [name]
+ %
+ \definefontsynonym [Sans] [StoneSansITC-Medium]
+ \definefontsynonym [SansItalic] [StoneSansITC-MediumItalic]
+ \definefontsynonym [SansSlanted] [StoneSansITC-MediumItalic]
+ \definefontsynonym [SansBold] [StoneSansITC-Bold]
+ \definefontsynonym [SansBoldItalic] [StoneSansITC-BoldItalic]
+ \definefontsynonym [SansBoldSlanted][StoneSansITC-BoldItalic]
+ \definefontsynonym [SansCaps] [StoneSansSCITC-Medium]
+ %
+ \definefontsynonym[StoneSansITC-Bold] [stosnb]
+ \definefontsynonym[StoneSansITC-BoldItalic] [stosnbi]
+ \definefontsynonym[StoneSansITC-Medium] [stosnm]
+ \definefontsynonym[StoneSansITC-MediumItalic][stosnmi]
+ \definefontsynonym[StoneSansSemITC-Semi] [stosns]
+ \definefontsynonym[StoneSansSemITC-SemiIta] [stosnsi]
+ \definefontsynonym[StoneSansSCITC-Medium] [stosnscm]
+ \definefontsynonym[StoneSansSemSCITC-Semi] [stosnscs]
+ %
+ \stoptypescript
+
+ \starttypescript [serif] [stone] [name]
+ %
+ \definefontsynonym [Serif] [StoneSerifITC-Medium]
+ \definefontsynonym [SerifItalic] [StoneSerifITC-MediumItalic]
+ \definefontsynonym [SerifSlanted] [StoneSerifITC-MediumItalic]
+ \definefontsynonym [SerifBold] [StoneSerifITC-Bold]
+ \definefontsynonym [SerifBoldItalic] [StoneSerifITC-BoldItalic]
+ \definefontsynonym [SerifBoldSlanted][StoneSerifITC-BoldItalic]
+ \definefontsynonym [SerifCaps] [StoneSerifSCITC-Medium]
+ %
+ \definefontsynonym[StoneSerifITC-Bold] [stosfb]
+ \definefontsynonym[StoneSerifITC-BoldItalic] [stosfbi]
+ \definefontsynonym[StoneSerifITC-Medium] [stosfm]
+ \definefontsynonym[StoneSerifITC-MediumItalic][stosfmi]
+ \definefontsynonym[StoneSerifSemITC-Semi] [stosfs]
+ \definefontsynonym[StoneSerifSemITC-SemiIta] [stosfsi]
+ \definefontsynonym[StoneSerifSCITC-Medium] [stosfscm]
+ \definefontsynonym[StoneSerifSemSCITC-Semi] [stosfscs]
+ %
+ \stoptypescript
+
+ \starttypescript [sans] [stone-oldstyle] [name]
+ %
+ \definefontsynonym [Sans] [StoneSansOSITC-Medium]
+ \definefontsynonym [SansItalic] [StoneSansOSITC-MediumItalic]
+ \definefontsynonym [SansSlanted] [StoneSansOSITC-MediumItalic]
+ \definefontsynonym [SansBold] [StoneSansOSITC-Bold]
+ \definefontsynonym [SansBoldItalic] [StoneSansOSITC-BoldItalic]
+ \definefontsynonym [SansBoldSlanted][StoneSansOSITC-BoldItalic]
+ \definefontsynonym [SansCaps] [StoneSansSCITC-Medium]
+ %
+ \definefontsynonym[StoneSansOSITC-Bold] [stosnob]
+ \definefontsynonym[StoneSansOSITC-BoldItalic] [stosnobi]
+ \definefontsynonym[StoneSansOSITC-Medium] [stosnom]
+ \definefontsynonym[StoneSansOSITC-MediumItalic][stosnomi]
+ \definefontsynonym[StoneSansSemOSITC-Semi] [stosnos]
+ \definefontsynonym[StoneSansSemOSITC-SemiIta] [stosnosi]
+ %
+ \stoptypescript
+
+ \starttypescript [serif] [stone-oldstyle] [name]
+ %
+ \definefontsynonym [Serif] [StoneSerifOSITC-Medium]
+ \definefontsynonym [SerifItalic] [StoneSerifOSITC-MediumItalic]
+ \definefontsynonym [SerifSlanted] [StoneSerifOSITC-MediumItalic]
+ \definefontsynonym [SerifBold] [StoneSerifOSITC-Bold]
+ \definefontsynonym [SerifBoldItalic] [StoneSerifOSITC-BoldItalic]
+ \definefontsynonym [SerifBoldSlanted] [StoneSerifOSITC-BoldItalic]
+ \definefontsynonym [SerifCaps] [StoneSerifSCITC-Medium]
+ %
+ \definefontsynonym[StoneSerifOSITC-Bold] [stosfob]
+ \definefontsynonym[StoneSerifOSITC-BoldItalic] [stosfobi]
+ \definefontsynonym[StoneSerifOSITC-Medium] [stosfom]
+ \definefontsynonym[StoneSerifOSITC-MediumItalic][stosfomi]
+ \definefontsynonym[StoneSerifSemOSITC-Semi] [stosfos]
+ \definefontsynonym[StoneSerifSemOSITC-SemiIta] [stosfosi]
+ %
+ \stoptypescript
+
+\stoptypescriptcollection
+
+% linotype industria
+
+\starttypescriptcollection[industria]
+
+ \starttypescript [sans] [industria] [name]
+ \definefontsynonym[Industria-Solid][lt_50545]
+ \stoptypescript
+
+\stoptypescriptcollection