summaryrefslogtreecommitdiff
path: root/tex/context
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2017-10-05 17:04:18 +0200
committerContext Git Mirror Bot <phg42.2a@gmail.com>2017-10-05 17:04:18 +0200
commit6359695c65028baeb2296bd4b2e0c41a34dd8f0e (patch)
tree95fe600e7e858e0fc10cf4028bb6a8c7906ef41e /tex/context
parent318b6f5f9f606d1fa45c1f23564478475fa1fc4c (diff)
downloadcontext-6359695c65028baeb2296bd4b2e0c41a34dd8f0e.tar.gz
2017-10-05 16:30:00
Diffstat (limited to 'tex/context')
-rw-r--r--tex/context/base/mkii/cont-new.mkii2
-rw-r--r--tex/context/base/mkii/context.mkii2
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/font-oto.lua14
-rw-r--r--tex/context/base/mkiv/math-act.lua4
-rw-r--r--tex/context/base/mkiv/publ-imp-default.lua2
-rw-r--r--tex/context/base/mkiv/publ-imp-default.mkvi2
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin25710 -> 25743 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin426091 -> 426111 bytes
-rw-r--r--tex/context/base/mkiv/strc-itm.mkvi6
-rw-r--r--tex/context/base/mkiv/tabl-tbl.mkiv60
-rw-r--r--tex/context/fonts/mkiv/stix-two-math.lfg36
-rw-r--r--tex/context/interface/mkiv/i-context.pdfbin818486 -> 818629 bytes
-rw-r--r--tex/context/interface/mkiv/i-readme.pdfbin60766 -> 60766 bytes
15 files changed, 118 insertions, 14 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index 57b49b8a1..f4d801b6d 100644
--- a/tex/context/base/mkii/cont-new.mkii
+++ b/tex/context/base/mkii/cont-new.mkii
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2017.10.02 10:34}
+\newcontextversion{2017.10.05 16:25}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
diff --git a/tex/context/base/mkii/context.mkii b/tex/context/base/mkii/context.mkii
index 56884db5e..c9dfd1494 100644
--- a/tex/context/base/mkii/context.mkii
+++ b/tex/context/base/mkii/context.mkii
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2017.10.02 10:34}
+\edef\contextversion{2017.10.05 16:25}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 79b80846a..9441154c3 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2017.10.02 10:34}
+\newcontextversion{2017.10.05 16:25}
%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/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index 2a8d1ab60..5a6eabb3f 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -41,7 +41,7 @@
%D up and the dependencies are more consistent.
\edef\contextformat {\jobname}
-\edef\contextversion{2017.10.02 10:34}
+\edef\contextversion{2017.10.05 16:25}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/font-oto.lua b/tex/context/base/mkiv/font-oto.lua
index 8faad27e1..4b986bd3b 100644
--- a/tex/context/base/mkiv/font-oto.lua
+++ b/tex/context/base/mkiv/font-oto.lua
@@ -404,7 +404,7 @@ local function initializehashes(tfmdata)
-- already done
end
-local function checkmathreplacements(tfmdata,fullname)
+local function checkmathreplacements(tfmdata,fullname,fixitalics)
if tfmdata.mathparameters then
local characters = tfmdata.characters
local changed = tfmdata.changed
@@ -418,6 +418,16 @@ local function checkmathreplacements(tfmdata,fullname)
local n = u.next
local v = u.vert_variants
local h = u.horiz_variants
+ if fixitalics then
+ -- quite some warnings on stix ...
+ local ui = u.italic
+ if ui and not r.italic then
+ if trace_preparing then
+ report_prepare("using %i units of italic correction from %C for %U",ui,unicode,replacement)
+ end
+ r.italic = ui -- print(ui,ri)
+ end
+ end
if n and not r.next then
if trace_preparing then
report_prepare("forcing %s for %C substituted by %U","incremental step",unicode,replacement)
@@ -498,7 +508,7 @@ local function featuresinitializer(tfmdata,value)
end
--
if substitutionsdone then
- checkmathreplacements(tfmdata,fullname)
+ checkmathreplacements(tfmdata,fullname,features.fixitalics)
end
--
registerbasehash(tfmdata)
diff --git a/tex/context/base/mkiv/math-act.lua b/tex/context/base/mkiv/math-act.lua
index 826669a3d..5d33031cf 100644
--- a/tex/context/base/mkiv/math-act.lua
+++ b/tex/context/base/mkiv/math-act.lua
@@ -177,9 +177,9 @@ local function applytweaks(when,target,original)
local goodie = goodies[i]
local mathematics = goodie.mathematics
local tweaks = mathematics and mathematics.tweaks
- if tweaks then
+ if type(tweaks) == "table" then
tweaks = tweaks[when]
- if tweaks then
+ if type(tweaks) == "table" then
if trace_defining then
report_math("tweaking math of %a @ %p (%s)",target.properties.fullname,target.parameters.size,when)
end
diff --git a/tex/context/base/mkiv/publ-imp-default.lua b/tex/context/base/mkiv/publ-imp-default.lua
index 28f5bb316..f77121c16 100644
--- a/tex/context/base/mkiv/publ-imp-default.lua
+++ b/tex/context/base/mkiv/publ-imp-default.lua
@@ -101,6 +101,7 @@ return {
"title",
"keywords",
"journal", "volume", "number", "pages",
+ "note",
},
},
book = {
@@ -118,6 +119,7 @@ return {
"keywords",
"publisher", "address",
"editionset",
+ "note",
},
},
},
diff --git a/tex/context/base/mkiv/publ-imp-default.mkvi b/tex/context/base/mkiv/publ-imp-default.mkvi
index 564bfcf4e..22638c900 100644
--- a/tex/context/base/mkiv/publ-imp-default.mkvi
+++ b/tex/context/base/mkiv/publ-imp-default.mkvi
@@ -46,7 +46,7 @@
[\s!default:\s!cite]
[\s!default]
[\c!alternative=num,
- [\c!compress=\v!yes,
+ \c!compress=\v!yes,
\c!sorttype=normal,
\c!authorconversion=\v!name]
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index f25ca8f25..02750e284 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index 8dcafa533..e9d4ff0e2 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/strc-itm.mkvi b/tex/context/base/mkiv/strc-itm.mkvi
index a28193415..d69a75af0 100644
--- a/tex/context/base/mkiv/strc-itm.mkvi
+++ b/tex/context/base/mkiv/strc-itm.mkvi
@@ -410,8 +410,14 @@
\settrue\c_strc_itemgroups_pack
\fi}
+\def\strc_itemgroups_process_set_option_unpack
+ {\ifcase\c_strc_itemgroups_nesting\else
+ \setfalse\c_strc_itemgroups_pack
+ \fi}
+
\setvalue{\??itemgroupkeyword\!!zerocount }{} % ignore 0
\setvalue{\??itemgroupkeyword\v!packed }{\strc_itemgroups_process_set_option_pack}
+\setvalue{\??itemgroupkeyword\v!unpacked }{\strc_itemgroups_process_set_option_unpack}
\setvalue{\??itemgroupkeyword\v!intro }{\settrue\c_strc_itemgroups_intro} % here? not set to false
\setvalue{\??itemgroupkeyword\v!autointro }{\settrue\c_strc_itemgroups_auto_intro}
\setvalue{\??itemgroupkeyword\v!broad }{\ifx\itemgroupfirst\empty
diff --git a/tex/context/base/mkiv/tabl-tbl.mkiv b/tex/context/base/mkiv/tabl-tbl.mkiv
index 401e82fec..28baf7f5d 100644
--- a/tex/context/base/mkiv/tabl-tbl.mkiv
+++ b/tex/context/base/mkiv/tabl-tbl.mkiv
@@ -168,6 +168,7 @@
\newcount \c_tabl_tabulate_plines_min
\newcount \c_tabl_tabulate_plines_max
\newcount \c_tabl_tabulate_max_colorcolumn
+\newcount \c_tabl_tabulate_max_vrulecolumn
\newcount \c_tabl_tabulate_repeathead
\newcount \c_tabl_tabulate_noflines
\newcount \c_tabl_tabulate_totalnoflines
@@ -244,6 +245,7 @@
\installcorenamespace{tabulateheader}
\installcorenamespace{tabulatealigning}
\installcorenamespace{tabulatepreamble}
+\installcorenamespace{tabulatevrule}
\installcorenamespace{tabulatehead}
\installcorenamespace{tabulatefoot}
@@ -1428,10 +1430,22 @@
% normal columns:
+% \def\tabl_tabulate_column_normal#1#2%
+% {\unskip
+% \aligntab
+% \ifconditional\c_tabl_tabulate_equal\tabulateequalpos\else\tabulatenormalpos\fi
+% \aligntab
+% \global\c_tabl_tabulate_kind#1%
+% \global\c_tabl_tabulate_type#2%
+% \aligntab}
+
\def\tabl_tabulate_column_normal#1#2%
{\unskip
\aligntab
\ifconditional\c_tabl_tabulate_equal\tabulateequalpos\else\tabulatenormalpos\fi
+ \ifnum\c_tabl_tabulate_column>\c_tabl_tabulate_max_vrulecolumn\else
+ \tabl_tabulate_column_vrule_setup
+ \fi
\aligntab
\global\c_tabl_tabulate_kind#1%
\global\c_tabl_tabulate_type#2%
@@ -1450,6 +1464,10 @@
% ruled columns
+\def\tabl_tabulate_column_vruled_preset
+ {\global\let\m_tabl_tabulate_vrule_color_local\m_tabl_tabulate_vrule_color_default
+ \global\d_tabl_tabulate_vrulethickness_local\d_tabl_tabulate_vrulethickness_default}
+
\def\tabl_tabulate_column_vruled#1#2%
{\unskip % 0-n
%\ifnum\c_tabl_tabulate_column=\plusone
@@ -1457,12 +1475,17 @@
%\else\ifnum\c_tabl_tabulate_column=\c_tabl_tabulate_nofcolumns
% \global\c_tabl_tabulate_has_rule_spec_last\plusone
%\fi\fi
- \global\let\m_tabl_tabulate_vrule_color_local\m_tabl_tabulate_vrule_color_default
- \global\d_tabl_tabulate_vrulethickness_local\d_tabl_tabulate_vrulethickness_default
+ \ifnum\c_tabl_tabulate_column>\c_tabl_tabulate_max_vrulecolumn
+ \global\c_tabl_tabulate_max_vrulecolumn\c_tabl_tabulate_column
+ \fi
\doifelsefastoptionalcheck{\tabl_tabulate_column_vruled_yes#1#2}{\tabl_tabulate_column_vruled_nop#1#2}}
+\def\tabl_tabulate_column_vrule_setup
+ {\begincsname\??tabulatevrule\the\c_tabl_tabulate_column\endcsname}
+
\def\tabl_tabulate_column_vruled_nop
- {\tabl_tabulate_column_normal}
+ {\expandafter\glet\csname\??tabulatevrule\the\c_tabl_tabulate_column\endcsname\tabl_tabulate_column_vruled_preset
+ \tabl_tabulate_column_normal}
\def\tabl_tabulate_column_vruled_step#1%
{\doifelsenumber{#1}
@@ -1470,9 +1493,36 @@
{\xdef\m_tabl_tabulate_vrule_color_local{#1}}}
\def\tabl_tabulate_column_vruled_yes#1#2[#3]%
- {\rawprocesscommalist[#3]\tabl_tabulate_column_vruled_step
+ {\expandafter\gdef\csname\??tabulatevrule\the\c_tabl_tabulate_column\endcsname
+ {\tabl_tabulate_column_vruled_preset
+ \rawprocesscommalist[#3]\tabl_tabulate_column_vruled_step}%
\tabl_tabulate_column_normal#1#2}
+\def\tabl_tabulate_vrule_reset
+ {\ifcase\c_tabl_tabulate_max_vrulecolumn\else
+ \tabl_tabulate_vrule_reset_indeed
+ \fi}
+
+\def\tabl_tabulate_vrule_reset_indeed
+ {\dofastloopcs\c_tabl_tabulate_max_vrulecolumn\tabl_tabulate_vrule_reset_step
+ \global\c_tabl_tabulate_max_vrulecolumn\zerocount}
+
+\def\tabl_tabulate_vrule_reset_step % undefined or relax
+ {\global\expandafter\let\csname\??tabulatevrule\the\fastloopindex\endcsname\undefined}
+
+\appendtoks
+ \tabl_tabulate_vrule_reset
+\to \t_tabl_tabulate_every_after_row
+
+% sometimes more efficient:
+%
+% \def\tabl_tabulate_column_vruled_yes#1#2[#3]%
+% {\rawprocesscommalist[#3]\tabl_tabulate_column_vruled_step
+% \expandafter\xdef\csname\??tabulatevrule\the\c_tabl_tabulate_column\endcsname
+% {\global\d_tabl_tabulate_vrulethickness_local\the\d_tabl_tabulate_vrulethickness_default
+% \noexpand\xdef\noexpand\m_tabl_tabulate_vrule_color_local{\m_tabl_tabulate_vrule_color_local}}%
+% \tabl_tabulate_column_normal#1#2}
+
\def\tabl_tabulate_column_vruled_normal
{\vrule\s!width\d_tabl_tabulate_vrulethickness\relax}
@@ -1636,7 +1686,7 @@
\ifnum\c_tabl_tabulate_column>\c_tabl_tabulate_max_colorcolumn
\global\c_tabl_tabulate_max_colorcolumn\c_tabl_tabulate_column
\fi
- \setxvalue{\??tabulatecolor\the\c_tabl_tabulate_column}{#1}%
+ \global\expandafter\xdef\csname\??tabulatecolor\the\c_tabl_tabulate_column\endcsname{#1}%
\hbox \thealignbackgroundcolorattr{#1}{}% pack ?
\endgroup}
diff --git a/tex/context/fonts/mkiv/stix-two-math.lfg b/tex/context/fonts/mkiv/stix-two-math.lfg
index ded97f92e..7652796a9 100644
--- a/tex/context/fonts/mkiv/stix-two-math.lfg
+++ b/tex/context/fonts/mkiv/stix-two-math.lfg
@@ -1,3 +1,32 @@
+-- Bah, I really hate these patches especially because one needs to make
+-- sure that they are still valid when the font gets updated. So, let's
+-- do it runtime (not in the cached copy) and issue a warning every run.
+-- As we cannot rely on version numbers (if we have more patches) we
+-- check for values instead.
+--
+-- This font also has inconsistent italics in smalelr sizes which we can
+-- fix in a more general way but I'm not sure if we want that.
+
+local function fix_italic(target,original,name,value,factor)
+ local m = target.parameters.mathsize
+ local u = original.resources.unicodes[name]
+ if m and u then
+ local c = target.characters[u]
+ if c then
+ local i = c.italic
+ if i then
+ local d = original.descriptions[u]
+ if d and d.math.italic == value then
+ if m then
+ logs.report("patching font","fixing italic correction of %U at math size %i by %0.3f",u,m,factor)
+ c.italic = factor * i
+ end
+ end
+ end
+ end
+ end
+end
+
return {
name = "stix-two-math",
version = "1.00",
@@ -21,6 +50,13 @@ return {
-- todo = { feature = 'ss14', value = 1, comment = "" },
circled = { feature = 'ss16', value = 1, comment = "Mathematical Alternative Circled Operators" },
},
+ tweaks = {
+ aftercopying = {
+ function(target,original)
+ fix_italic(target,original,"uni222B.updsp",80,3)
+ end,
+ },
+ },
},
}
diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf
index 456f9e620..802270a96 100644
--- a/tex/context/interface/mkiv/i-context.pdf
+++ b/tex/context/interface/mkiv/i-context.pdf
Binary files differ
diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf
index 2af2fc801..c9cc4fc32 100644
--- a/tex/context/interface/mkiv/i-readme.pdf
+++ b/tex/context/interface/mkiv/i-readme.pdf
Binary files differ