From 82aed3e7e8af29f359ebef4f93684d20e98107e6 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Thu, 25 May 2017 13:21:58 +0200 Subject: 2017-05-25 12:56:00 --- tex/context/base/mkii/cont-new.mkii | 2 +- tex/context/base/mkii/context.mkii | 2 +- tex/context/base/mkiv/char-fio.lua | 14 +- tex/context/base/mkiv/char-utf.lua | 3 +- tex/context/base/mkiv/cont-log.mkiv | 22 +- tex/context/base/mkiv/cont-new.mkiv | 2 +- tex/context/base/mkiv/cont-run.mkiv | 22 +- tex/context/base/mkiv/context.mkiv | 2 +- tex/context/base/mkiv/data-lst.lua | 56 +- tex/context/base/mkiv/data-res.lua | 181 +- tex/context/base/mkiv/data-tmp.lua | 2 +- tex/context/base/mkiv/data-use.lua | 4 +- tex/context/base/mkiv/data-zip.lua | 7 +- tex/context/base/mkiv/file-job.lua | 9 +- tex/context/base/mkiv/file-res.lua | 2 +- tex/context/base/mkiv/font-col.mkvi | 2 +- tex/context/base/mkiv/font-def.lua | 1 - tex/context/base/mkiv/font-ext.lua | 49 + tex/context/base/mkiv/font-gbn.lua | 12 +- tex/context/base/mkiv/font-map.lua | 33 +- tex/context/base/mkiv/font-ocl.lua | 2 +- tex/context/base/mkiv/font-otc.lua | 11 + tex/context/base/mkiv/font-otj.lua | 35 +- tex/context/base/mkiv/font-otl.lua | 1 + tex/context/base/mkiv/font-otn.lua | 14 +- tex/context/base/mkiv/font-otr.lua | 7 +- tex/context/base/mkiv/font-ots.lua | 462 +- tex/context/base/mkiv/font-ttf.lua | 43 +- tex/context/base/mkiv/lang-exc.lua | 16 + tex/context/base/mkiv/lang-ini.lua | 20 + tex/context/base/mkiv/lang-wrd.lua | 6 +- tex/context/base/mkiv/lpdf-ini.lua | 2 + tex/context/base/mkiv/luat-fio.lua | 6 +- tex/context/base/mkiv/lxml-aux.lua | 9 +- tex/context/base/mkiv/lxml-tab.lua | 355 +- tex/context/base/mkiv/lxml-tex.lua | 113 +- tex/context/base/mkiv/math-act.lua | 17 +- tex/context/base/mkiv/math-fbk.lua | 62 +- tex/context/base/mkiv/math-noa.lua | 87 +- tex/context/base/mkiv/node-fnt.lua | 4 +- tex/context/base/mkiv/node-nut.lua | 54 +- tex/context/base/mkiv/node-syn.lua | 281 +- tex/context/base/mkiv/page-one.mkiv | 1 - tex/context/base/mkiv/publ-aut.lua | 18 +- tex/context/base/mkiv/publ-ini.mkiv | 1 + tex/context/base/mkiv/status-files.pdf | Bin 25632 -> 25616 bytes tex/context/base/mkiv/status-lua.pdf | Bin 424884 -> 424658 bytes tex/context/base/mkiv/tabl-frm.mkiv | 115 +- tex/context/base/mkiv/trac-set.lua | 27 +- tex/context/base/mkiv/trac-tex.lua | 2 +- tex/context/fonts/mkiv/lucida-opentype-math.lfg | 1 + tex/context/fonts/mkiv/px-math.lfg | 5 +- tex/context/interface/mkiv/context-en.xml | 7492 ++++++++++---------- tex/context/interface/mkiv/i-align.xml | 92 +- tex/context/interface/mkiv/i-anchor.xml | 4 +- tex/context/interface/mkiv/i-attachment.xml | 74 +- tex/context/interface/mkiv/i-attribute.xml | 26 +- tex/context/interface/mkiv/i-backend.xml | 2 +- tex/context/interface/mkiv/i-background.xml | 24 +- tex/context/interface/mkiv/i-bar.xml | 217 +- tex/context/interface/mkiv/i-blackrule.xml | 10 +- tex/context/interface/mkiv/i-bleed.xml | 4 +- tex/context/interface/mkiv/i-block.xml | 38 +- tex/context/interface/mkiv/i-bookmark.xml | 4 +- tex/context/interface/mkiv/i-boxes.xml | 286 +- tex/context/interface/mkiv/i-buffer.xml | 44 +- tex/context/interface/mkiv/i-button.xml | 4 +- tex/context/interface/mkiv/i-capitals.xml | 18 +- tex/context/interface/mkiv/i-catcodes.xml | 46 +- tex/context/interface/mkiv/i-characteralign.xml | 12 +- tex/context/interface/mkiv/i-characterspacing.xml | 4 +- tex/context/interface/mkiv/i-chart.xml | 452 +- tex/context/interface/mkiv/i-chemical.xml | 8 +- tex/context/interface/mkiv/i-cleaning.xml | 12 +- tex/context/interface/mkiv/i-clipping.xml | 4 +- tex/context/interface/mkiv/i-collector.xml | 12 +- tex/context/interface/mkiv/i-color.xml | 140 +- tex/context/interface/mkiv/i-columns.xml | 6 +- tex/context/interface/mkiv/i-combination.xml | 12 +- tex/context/interface/mkiv/i-commandhandler.xml | 76 +- tex/context/interface/mkiv/i-comment.xml | 62 +- tex/context/interface/mkiv/i-common-argument.xml | 37 +- tex/context/interface/mkiv/i-common-instance.xml | 203 +- tex/context/interface/mkiv/i-common-keyword.xml | 41 + tex/context/interface/mkiv/i-common-string.xml | 17 + tex/context/interface/mkiv/i-common-value.xml | 70 +- tex/context/interface/mkiv/i-context-modules.xml | 40 + tex/context/interface/mkiv/i-context.pdf | Bin 812254 -> 846956 bytes tex/context/interface/mkiv/i-conversion.xml | 114 +- tex/context/interface/mkiv/i-counter.xml | 88 +- tex/context/interface/mkiv/i-database.xml | 118 + tex/context/interface/mkiv/i-dataset.xml | 8 +- tex/context/interface/mkiv/i-define.xml | 4 +- tex/context/interface/mkiv/i-delimitedtext.xml | 176 +- tex/context/interface/mkiv/i-description.xml | 13 +- tex/context/interface/mkiv/i-dimension.xml | 8 +- tex/context/interface/mkiv/i-direction.xml | 6 +- tex/context/interface/mkiv/i-document.xml | 48 +- tex/context/interface/mkiv/i-dummy.xml | 16 +- tex/context/interface/mkiv/i-effect.xml | 10 +- tex/context/interface/mkiv/i-enumeration.xml | 33 +- tex/context/interface/mkiv/i-export.xml | 4 +- tex/context/interface/mkiv/i-field.xml | 26 +- tex/context/interface/mkiv/i-figure.xml | 2 +- tex/context/interface/mkiv/i-file.xml | 110 +- tex/context/interface/mkiv/i-filler.xml | 10 +- tex/context/interface/mkiv/i-fillinline.xml | 4 +- tex/context/interface/mkiv/i-fillinrule.xml | 6 +- tex/context/interface/mkiv/i-firstline.xml | 6 +- tex/context/interface/mkiv/i-fittingpage.xml | 51 +- tex/context/interface/mkiv/i-floats.xml | 488 +- tex/context/interface/mkiv/i-fontfamily.xml | 12 +- tex/context/interface/mkiv/i-fonts.xml | 423 +- tex/context/interface/mkiv/i-form.xml | 2 +- tex/context/interface/mkiv/i-formula.xml | 141 +- tex/context/interface/mkiv/i-fraction.xml | 155 +- tex/context/interface/mkiv/i-framed.xml | 201 +- tex/context/interface/mkiv/i-graphics.xml | 76 +- tex/context/interface/mkiv/i-grid.xml | 24 +- tex/context/interface/mkiv/i-help.xml | 20 +- tex/context/interface/mkiv/i-hemistich.xml | 92 + tex/context/interface/mkiv/i-highlight.xml | 12 +- tex/context/interface/mkiv/i-hspace.xml | 26 +- tex/context/interface/mkiv/i-hyphenation.xml | 14 +- tex/context/interface/mkiv/i-imposition.xml | 10 +- tex/context/interface/mkiv/i-indent.xml | 16 +- tex/context/interface/mkiv/i-indentedtext.xml | 8 +- tex/context/interface/mkiv/i-initial.xml | 8 +- tex/context/interface/mkiv/i-insertion.xml | 8 +- tex/context/interface/mkiv/i-interaction.xml | 10 +- tex/context/interface/mkiv/i-interactionbar.xml | 4 +- tex/context/interface/mkiv/i-interactionmenu.xml | 4 +- tex/context/interface/mkiv/i-interactionscreen.xml | 2 +- tex/context/interface/mkiv/i-interface.xml | 54 +- tex/context/interface/mkiv/i-interlinespace.xml | 22 +- tex/context/interface/mkiv/i-ipsum.xml | 8 +- tex/context/interface/mkiv/i-italiccorrection.xml | 8 +- tex/context/interface/mkiv/i-itemgroup.xml | 40 +- tex/context/interface/mkiv/i-items.xml | 6 +- tex/context/interface/mkiv/i-javascript.xml | 10 +- tex/context/interface/mkiv/i-kerning.xml | 14 +- tex/context/interface/mkiv/i-label.xml | 8 +- tex/context/interface/mkiv/i-labeltext.xml | 20 +- tex/context/interface/mkiv/i-language.xml | 30 +- tex/context/interface/mkiv/i-layer.xml | 14 +- tex/context/interface/mkiv/i-layout.xml | 36 +- tex/context/interface/mkiv/i-linenumber.xml | 22 +- tex/context/interface/mkiv/i-lines.xml | 18 +- tex/context/interface/mkiv/i-linetable.xml | 14 +- tex/context/interface/mkiv/i-linewidth.xml | 2 +- tex/context/interface/mkiv/i-list.xml | 44 +- tex/context/interface/mkiv/i-lohi.xml | 36 +- tex/context/interface/mkiv/i-lua.xml | 68 +- tex/context/interface/mkiv/i-makeup.xml | 8 +- tex/context/interface/mkiv/i-marginblock.xml | 4 +- tex/context/interface/mkiv/i-margindata.xml | 10 +- tex/context/interface/mkiv/i-marker.xml | 8 +- tex/context/interface/mkiv/i-marking.xml | 30 +- tex/context/interface/mkiv/i-math.xml | 96 +- tex/context/interface/mkiv/i-mathalignment.xml | 6 +- tex/context/interface/mkiv/i-mathcases.xml | 6 +- tex/context/interface/mkiv/i-mathfence.xml | 60 +- tex/context/interface/mkiv/i-mathmatrix.xml | 18 +- tex/context/interface/mkiv/i-mathornament.xml | 6 +- tex/context/interface/mkiv/i-mathradical.xml | 8 +- tex/context/interface/mkiv/i-mathstackers.xml | 286 +- tex/context/interface/mkiv/i-metapost.xml | 92 +- tex/context/interface/mkiv/i-mixedcolumns.xml | 8 +- tex/context/interface/mkiv/i-modes.xml | 28 +- tex/context/interface/mkiv/i-modules.xml | 20 +- tex/context/interface/mkiv/i-narrow.xml | 14 +- tex/context/interface/mkiv/i-naturaltable.xml | 42 +- tex/context/interface/mkiv/i-note.xml | 78 +- tex/context/interface/mkiv/i-object.xml | 38 +- tex/context/interface/mkiv/i-offset.xml | 6 +- tex/context/interface/mkiv/i-opposite.xml | 4 +- tex/context/interface/mkiv/i-ornament.xml | 4 +- tex/context/interface/mkiv/i-output.xml | 12 +- tex/context/interface/mkiv/i-overlay.xml | 6 +- tex/context/interface/mkiv/i-pagebreak.xml | 22 +- tex/context/interface/mkiv/i-pagecomment.xml | 2 +- tex/context/interface/mkiv/i-pagefigure.xml | 4 +- tex/context/interface/mkiv/i-pagegrid.xml | 24 +- tex/context/interface/mkiv/i-pageinjection.xml | 12 +- tex/context/interface/mkiv/i-pagelayout.xml | 4 +- tex/context/interface/mkiv/i-pagenumber.xml | 86 +- tex/context/interface/mkiv/i-pageselection.xml | 10 +- tex/context/interface/mkiv/i-pageshift.xml | 4 +- tex/context/interface/mkiv/i-pagestate.xml | 10 +- tex/context/interface/mkiv/i-pairedbox.xml | 14 +- tex/context/interface/mkiv/i-papersize.xml | 12 +- tex/context/interface/mkiv/i-paragraph.xml | 12 +- tex/context/interface/mkiv/i-paragraphnumber.xml | 2 +- tex/context/interface/mkiv/i-paragraphs.xml | 18 +- tex/context/interface/mkiv/i-parallel.xml | 4 +- tex/context/interface/mkiv/i-parbuilder.xml | 6 +- tex/context/interface/mkiv/i-pdf.xml | 34 +- tex/context/interface/mkiv/i-periods.xml | 8 +- tex/context/interface/mkiv/i-position.xml | 64 +- tex/context/interface/mkiv/i-positionbar.xml | 2 +- tex/context/interface/mkiv/i-positioning.xml | 8 +- tex/context/interface/mkiv/i-postponing.xml | 2 +- tex/context/interface/mkiv/i-processor.xml | 6 +- tex/context/interface/mkiv/i-profile.xml | 10 +- tex/context/interface/mkiv/i-publication.xml | 236 +- tex/context/interface/mkiv/i-random.xml | 14 +- tex/context/interface/mkiv/i-readme.pdf | Bin 60864 -> 60771 bytes tex/context/interface/mkiv/i-references.xml | 112 +- tex/context/interface/mkiv/i-regime.xml | 2 +- tex/context/interface/mkiv/i-register.xml | 25 +- tex/context/interface/mkiv/i-renderingwindow.xml | 4 +- tex/context/interface/mkiv/i-replacement.xml | 4 +- tex/context/interface/mkiv/i-rotatation.xml | 8 +- tex/context/interface/mkiv/i-ruby.xml | 8 +- tex/context/interface/mkiv/i-scale.xml | 6 +- tex/context/interface/mkiv/i-script.xml | 14 +- tex/context/interface/mkiv/i-section.xml | 44 +- tex/context/interface/mkiv/i-sectionblock.xml | 10 +- tex/context/interface/mkiv/i-selector.xml | 6 +- tex/context/interface/mkiv/i-setups.xml | 24 +- tex/context/interface/mkiv/i-shift.xml | 8 +- tex/context/interface/mkiv/i-sidebar.xml | 14 +- tex/context/interface/mkiv/i-smash.xml | 22 +- tex/context/interface/mkiv/i-sort.xml | 22 +- tex/context/interface/mkiv/i-soundtrack.xml | 4 +- tex/context/interface/mkiv/i-spellchecking.xml | 4 +- tex/context/interface/mkiv/i-spreadsheet.xml | 14 +- tex/context/interface/mkiv/i-startstop.xml | 4 +- tex/context/interface/mkiv/i-steps.xml | 8 +- tex/context/interface/mkiv/i-stream.xml | 24 +- tex/context/interface/mkiv/i-string.xml | 20 +- tex/context/interface/mkiv/i-strut.xml | 14 +- tex/context/interface/mkiv/i-symbol.xml | 36 +- tex/context/interface/mkiv/i-synonym.xml | 22 +- tex/context/interface/mkiv/i-system.xml | 1119 +-- tex/context/interface/mkiv/i-systemlog.xml | 6 +- tex/context/interface/mkiv/i-table.xml | 16 +- tex/context/interface/mkiv/i-tabulation.xml | 26 +- tex/context/interface/mkiv/i-tagging.xml | 12 +- tex/context/interface/mkiv/i-textbackground.xml | 12 +- tex/context/interface/mkiv/i-textflow.xml | 12 +- tex/context/interface/mkiv/i-textrule.xml | 6 +- tex/context/interface/mkiv/i-texts.xml | 38 +- tex/context/interface/mkiv/i-thinrule.xml | 8 +- tex/context/interface/mkiv/i-token.xml | 8 +- tex/context/interface/mkiv/i-tolerance.xml | 2 +- tex/context/interface/mkiv/i-tooltip.xml | 4 +- tex/context/interface/mkiv/i-tracker.xml | 16 +- tex/context/interface/mkiv/i-translate.xml | 10 +- tex/context/interface/mkiv/i-translation.xml | 4 +- tex/context/interface/mkiv/i-twopassdata.xml | 32 +- tex/context/interface/mkiv/i-unit.xml | 16 +- tex/context/interface/mkiv/i-variables.xml | 48 +- tex/context/interface/mkiv/i-verbatim.xml | 46 +- tex/context/interface/mkiv/i-version.xml | 12 +- tex/context/interface/mkiv/i-viewerlayer.xml | 10 +- tex/context/interface/mkiv/i-visual.xml | 8 +- tex/context/interface/mkiv/i-visualizer.xml | 30 +- tex/context/interface/mkiv/i-vspace.xml | 14 +- tex/context/interface/mkiv/i-whitespace.xml | 10 +- tex/context/interface/mkiv/i-xml.xml | 235 +- tex/context/interface/mkiv/i-xtable.xml | 46 +- tex/context/modules/common/s-abr-01.tex | 84 +- tex/context/modules/mkiv/s-fonts-variable.lua | 13 + tex/context/modules/mkiv/s-fonts-variable.mkiv | 20 +- tex/context/sample/common/samples.tex | 5 +- tex/generic/context/luatex/luatex-basics-chr.lua | 1420 +++- tex/generic/context/luatex/luatex-basics-nod.lua | 38 +- .../context/luatex/luatex-basics-prepare.tex | 2 + tex/generic/context/luatex/luatex-fonts-merged.lua | 1943 ++++- tex/generic/context/luatex/luatex-math.tex | 405 +- 271 files changed, 14063 insertions(+), 8572 deletions(-) create mode 100644 tex/context/base/mkiv/lang-exc.lua create mode 100644 tex/context/interface/mkiv/i-context-modules.xml create mode 100644 tex/context/interface/mkiv/i-database.xml create mode 100644 tex/context/interface/mkiv/i-hemistich.xml (limited to 'tex') diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index 847856cb9..148c8d7c3 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.05.12 22:40} +\newcontextversion{2017.05.25 12:50} %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 725f87c00..8c265aa46 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.05.12 22:40} +\edef\contextversion{2017.05.25 12:50} %D For those who want to use this: diff --git a/tex/context/base/mkiv/char-fio.lua b/tex/context/base/mkiv/char-fio.lua index fa69d9356..9939bf041 100644 --- a/tex/context/base/mkiv/char-fio.lua +++ b/tex/context/base/mkiv/char-fio.lua @@ -29,10 +29,10 @@ disableaction(textfileactions, "characters.filters.utf.reorder") appendaction (textlineactions,"system","characters.filters.utf.reorder") disableaction(textlineactions, "characters.filters.utf.reorder") -appendaction (textfileactions,"system","characters.filters.utf.collapse") +appendaction (textfileactions,"system","characters.filters.utf.collapse") -- not per line disableaction(textfileactions, "characters.filters.utf.collapse") -appendaction (textfileactions,"system","characters.filters.utf.decompose") +appendaction (textfileactions,"system","characters.filters.utf.decompose") -- not per line disableaction(textfileactions, "characters.filters.utf.decompose") local report = logs.reporter("unicode filter") @@ -65,12 +65,14 @@ function utffilters.enable() end local function configure(what,v) - if v == "line" then + if v == "" then + report("%a unset",what) + elseif v == "line" then disableaction(textfileactions,what) enableaction (textlineactions,what) elseif not toboolean(v) then if reporting ~= "never" then - report("%a disabled",k) + report("%a disabled",what) reporting = "yes" end enforced[what] = false @@ -82,6 +84,10 @@ local function configure(what,v) end end +-- first line: +-- +-- % directives="filters.utf.collapse=true" + directives.register("filters.utf.reorder", function(v) configure("characters.filters.utf.reorder", v) end) directives.register("filters.utf.collapse", function(v) configure("characters.filters.utf.collapse", v) end) directives.register("filters.utf.decompose", function(v) configure("characters.filters.utf.decompose",v) end) diff --git a/tex/context/base/mkiv/char-utf.lua b/tex/context/base/mkiv/char-utf.lua index 5702f2087..5b677dbac 100644 --- a/tex/context/base/mkiv/char-utf.lua +++ b/tex/context/base/mkiv/char-utf.lua @@ -183,7 +183,8 @@ local p_collapse = nil -- so we can reset if needed local function prepare() local tree = utfchartabletopattern(collapsed) - p_collapse = Cs((tree/collapsed + p_utf8character)^0 * P(-1)) -- the P(1) is needed in order to accept non utf + -- p_collapse = Cs((tree/collapsed + p_utf8character)^0 * P(-1)) + p_collapse = Cs((tree/collapsed + p_utf8character)^0) end function utffilters.collapse(str,filename) diff --git a/tex/context/base/mkiv/cont-log.mkiv b/tex/context/base/mkiv/cont-log.mkiv index 11cdfb9b8..8b4660f3a 100644 --- a/tex/context/base/mkiv/cont-log.mkiv +++ b/tex/context/base/mkiv/cont-log.mkiv @@ -22,23 +22,26 @@ \unexpanded\def\TeX {\dontleavehmode \begingroup - \setbox\scratchbox\hbox{M}% T% + \setbox\scratchbox\hbox{M}% \kern-.1667\wd\scratchbox \lower.5\exheight\hbox{E}% \kern-.125\wd\scratchbox X% \endgroup} +\unexpanded\def\TeXsuffix{\wordboundary\TeX} +\unexpanded\def\TeXprefix{\TeX\wordboundary} + \unexpanded\def\ConTeXt {\dontleavehmode \begingroup Con% + \wordboundary \setbox\scratchboxone\hbox{T\kern\zeropoint e}% \setbox\scratchboxtwo\hbox{Te}% \discretionary{-}{}{\kern\dimexpr\wd\scratchboxtwo-\wd\scratchboxone\relax}% - \TeX - t% + \TeX t% \endgroup} \unexpanded\def\PPCHTeX{ppch\TeX} @@ -196,12 +199,12 @@ %D Some placeholders: \unexpanded\def\eTeX {\mathematics{\varepsilon}-\TeX} -\unexpanded\def\pdfTeX {pdf\TeX} -\unexpanded\def\pdfeTeX {pdfe-\TeX} -\unexpanded\def\luaTeX {lua\TeX} +\unexpanded\def\pdfTeX {pdf\wordboundary\TeX} +\unexpanded\def\pdfeTeX {pdfe-\wordboundary\TeX} +\unexpanded\def\luaTeX {lua\wordboundary\TeX} \unexpanded\def\Lua {Lua} -\unexpanded\def\luajitTeX{luajit\TeX} -\unexpanded\def\metaTeX {meta\TeX} +\unexpanded\def\luajitTeX{luajit\wordboundary\TeX} +\unexpanded\def\metaTeX {meta\wordboundary\TeX} \unexpanded\def\XeTeX {X\lower.5\exheight\hbox{\kern-.15\emwidth\mirror{E}}\kern-.1667\emwidth\TeX} % Adapted from a patch by Mojca: @@ -320,8 +323,11 @@ \def\MetaFont {MetaFont}% \def\MetaFun {MetaFun}% \def\TeX {TeX}% + \def\TeXsuffix{TeX}% + \def\TeXprefix{TeX}% \def\LuaTeX {LuaTeX}% \def\LuajitTeX{LuajitTeX}% + \let\wordboundary\empty \to \everysimplifycommands \protect \endinput diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index 3aacc978c..a80d41e5e 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.05.12 22:40} +\newcontextversion{2017.05.25 12:50} %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/cont-run.mkiv b/tex/context/base/mkiv/cont-run.mkiv index 490c6bee2..68b2f635f 100644 --- a/tex/context/base/mkiv/cont-run.mkiv +++ b/tex/context/base/mkiv/cont-run.mkiv @@ -13,9 +13,27 @@ \writestatus{loading}{ConTeXt Core Macros / Runner} -\unprotect - \registerctxluafile{node-syn}{1.001} \registerctxluafile{cont-run}{1.001} +% \enabletrackers[system.synctex.visualize] +% \enabletrackers[system.synctex.xml] +% \enabledirectives[system.synctex.details] +% \setupsynctex[state=start] + +\unprotect + +\let\synctexsetfilename \clf_synctexsetfilename +\let\synctexresetfilename\clf_synctexresetfilename +\let\synctexblockfilename\clf_synctexblockfilename + +\unexpanded\def\setupsynctex[#1]% + {\begingroup + \getdummyparameters[\c!state=,#1]% + \doifelse{\dummyparameter\c!state}\v!start\clf_synctexenable\clf_synctexdisable + \endgroup} + +\unexpanded\def\blocksynctexfile[#1]% + {\processcommacommand{#1}\synctexblockfilename} + \protect \endinput diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index 6d946e0bc..e7037678d 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -39,7 +39,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2017.05.12 22:40} +\edef\contextversion{2017.05.25 12:50} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/mkiv/data-lst.lua b/tex/context/base/mkiv/data-lst.lua index e4621a6e1..f061393e5 100644 --- a/tex/context/base/mkiv/data-lst.lua +++ b/tex/context/base/mkiv/data-lst.lua @@ -8,18 +8,17 @@ if not modules then modules = { } end modules ['data-lst'] = { -- used in mtxrun, can be loaded later .. todo -local rawget, type, next = rawget, type, next +local type = type +local concat, sortedhash = table.concat,table.sortedhash -local find, concat, upper = string.find, table.concat, string.upper -local fastcopy, sortedpairs = table.fastcopy, table.sortedpairs +local resolvers = resolvers +local listers = resolvers.listers or { } +resolvers.listers = listers -local resolvers = resolvers -local listers = resolvers.listers or { } -resolvers.listers = listers +local resolveprefix = resolvers.resolve -local resolveprefix = resolvers.resolve - -local report_lists = logs.reporter("resolvers","lists") +local report_lists = logs.reporter("resolvers","lists") +local report_resolved = logs.reporter("system","resolved") local function tabstr(str) if type(str) == 'table' then @@ -30,41 +29,18 @@ local function tabstr(str) end function listers.variables(pattern) - local instance = resolvers.instance - local environment = instance.environment - local variables = instance.variables - local expansions = instance.expansions - local pattern = upper(pattern or "") - local configured = { } - local order = instance.order - for i=1,#order do - for k, v in next, order[i] do - if v ~= nil and configured[k] == nil then - configured[k] = v - end - end + local result = resolvers.knownvariables(pattern) + for key, value in sortedhash(result) do + report_lists(key) + report_lists(" env: %s",tabstr(value.environment or "unset")) + report_lists(" var: %s",tabstr(value.variable or "unset")) + report_lists(" exp: %s",tabstr(value.expansion or "unset")) + report_lists(" res: %s",tabstr(value.resolved or "unset")) end - local env = fastcopy(environment) - local var = fastcopy(variables) - local exp = fastcopy(expansions) - for key, value in sortedpairs(configured) do - if key ~= "" and (pattern == "" or find(upper(key),pattern)) then - report_lists(key) - report_lists(" env: %s",tabstr(rawget(environment,key)) or "unset") - report_lists(" var: %s",tabstr(configured[key]) or "unset") - report_lists(" exp: %s",tabstr(expansions[key]) or "unset") - report_lists(" res: %s",tabstr(resolveprefix(expansions[key])) or "unset") - end - end - instance.environment = fastcopy(env) - instance.variables = fastcopy(var) - instance.expansions = fastcopy(exp) end -local report_resolved = logs.reporter("system","resolved") - function listers.configurations() - local configurations = resolvers.instance.specification + local configurations = resolvers.configurationfiles() for i=1,#configurations do report_resolved("file : %s",resolveprefix(configurations[i])) end diff --git a/tex/context/base/mkiv/data-res.lua b/tex/context/base/mkiv/data-res.lua index 4f171c445..d826d0987 100644 --- a/tex/context/base/mkiv/data-res.lua +++ b/tex/context/base/mkiv/data-res.lua @@ -6,15 +6,6 @@ if not modules then modules = { } end modules ['data-res'] = { license = "see context related readme files", } --- In practice we will work within one tds tree, but i want to keep --- the option open to build tools that look at multiple trees, which is --- why we keep the tree specific data in a table. We used to pass the --- instance but for practical purposes we now avoid this and use a --- instance variable. We always have one instance active (sort of global). - --- I will reimplement this module ... way too fuzzy now and we can work --- with some sensible constraints as it is only is used for context. - -- todo: cache:/// home:/// selfautoparent:/// (sometime end 2012) local gsub, find, lower, upper, match, gmatch = string.gsub, string.find, string.lower, string.upper, string.match, string.gmatch @@ -154,8 +145,7 @@ local suffixmap = resolvers.suffixmap resolvers.defaultsuffixes = { "tex" } -- "mkiv", "cld" -- too tricky -resolvers.instance = resolvers.instance or nil -- the current one (slow access) -local instance = resolvers.instance or nil -- the current one (fast access) +local instance = nil -- the current one (fast access) -- An instance has an environment (coming from the outside, kept raw), variables -- (coming from the configuration file), and expansions (variables with nested @@ -218,7 +208,7 @@ local function expandedvariable(var) return lpegmatch(variableexpander,var) or var end -function resolvers.newinstance() -- todo: all vars will become lowercase and alphanum only +function resolvers.reset() -- normally we only need one instance but for special cases we can (re)load one so -- we stick to this model. @@ -227,24 +217,27 @@ function resolvers.newinstance() -- todo: all vars will become lowercase and alp report_resolving("creating instance") end - local environment, variables, expansions, order = allocate(), allocate(), allocate(), allocate() + local environment = { } + local variables = { } + local expansions = { } + local order = { } - local newinstance = { + instance = { environment = environment, variables = variables, expansions = expansions, order = order, - files = allocate(), - setups = allocate(), - found = allocate(), - foundintrees = allocate(), - hashes = allocate(), - hashed = allocate(), + files = { }, + setups = { }, + found = { }, + foundintrees = { }, + hashes = { }, + hashed = { }, pathlists = false,-- delayed - specification = allocate(), - lists = allocate(), - data = allocate(), -- only for loading - fakepaths = allocate(), + specification = { }, + lists = { }, + data = { }, -- only for loading + fakepaths = { }, remember = true, diskcache = true, renewcache = false, @@ -295,18 +288,10 @@ function resolvers.newinstance() -- todo: all vars will become lowercase and alp return v end) - return newinstance - -end - -function resolvers.setinstance(someinstance) -- only one instance is active - instance = someinstance - resolvers.instance = someinstance - return someinstance end -function resolvers.reset() - return resolvers.setinstance(resolvers.newinstance()) +function resolvers.initialized() + return instance ~= nil end local function reset_hashes() @@ -501,10 +486,15 @@ local function load_configuration_files() end end +function resolvers.configurationfiles() + return instance.specification or { } +end + -- scheme magic ... database loading local function load_file_databases() - instance.loaderror, instance.files = false, allocate() + instance.loaderror = false + instance.files = { } if not instance.renewcache then local hashes = instance.hashes for k=1,#hashes do @@ -693,13 +683,13 @@ function resolvers.datastate() end function resolvers.variable(name) - local name = name and lpegmatch(dollarstripper,name) + local name = name and lpegmatch(dollarstripper,name) local result = name and instance.variables[name] return result ~= nil and result or "" end function resolvers.expansion(name) - local name = name and lpegmatch(dollarstripper,name) + local name = name and lpegmatch(dollarstripper,name) local result = name and instance.expansions[name] return result ~= nil and result or "" end @@ -745,7 +735,7 @@ end local done = { } -function resolvers.resetextrapath() +function resolvers.resetextrapaths() local ep = instance.extra_paths if not ep then done = { } @@ -756,6 +746,10 @@ function resolvers.resetextrapath() end end +function resolvers.getextrapaths() + return instance.extra_paths or { } +end + function resolvers.registerextrapath(paths,subpaths) if not subpaths or subpaths == "" then if not paths or path == "" then @@ -932,11 +926,7 @@ function resolvers.cleanedpathlist(v) -- can be cached if needed end function resolvers.expandbraces(str) -- output variable and brace expansion of STRING --- local ori = resolvers.variable(str) --- if ori == "" then - local ori = str --- end - local pth = expandedpathfromlist(resolvers.splitpath(ori)) + local pth = expandedpathfromlist(resolvers.splitpath(str)) return joinpath(pth) end @@ -951,6 +941,20 @@ function resolvers.registerfilehash(name,content,someerror) end end +function resolvers.getfilehashes() + return instance and instance.files or { } +end + +function resolvers.gethashes() + return instance and instance.hashes or { } +end + +function resolvers.renewcache() + if instance then + instance.renewcache = true + end +end + local function isreadable(name) local readable = isfile(name) -- not file.is_readable(name) asit can be a dir if trace_detail then @@ -1029,18 +1033,29 @@ function resolvers.registerintrees(filename,format,filetype,usedmethod,foundname if usedmethod == "direct" and filename == foundname and fit[foundname] then -- just an extra lookup after a test on presence else + local collapsed = collapsepath(foundname,true) local t = { filename = filename, - format = format ~= "" and format or nil, + format = format ~= "" and format or nil, filetype = filetype ~= "" and filetype or nil, usedmethod = usedmethod, foundname = foundname, + fullname = collapsed, } fit[foundname] = t foundintrees[#foundintrees+1] = t end end +function resolvers.foundintrees() + return instance.foundintrees or { } +end + +function resolvers.foundintree(fullname) + local f = fit[fullname] + return f and f.usedmethod == "database" +end + -- split the next one up for readability (but this module needs a cleanup anyway) local function can_be_dir(name) -- can become local @@ -1062,15 +1077,17 @@ local preparetreepattern = Cs((P(".")/"%%." + P("-")/"%%-" + P(1))^0 * Cc("$")) local collect_instance_files local function find_analyze(filename,askedformat,allresults) - local filetype, wantedfiles, ext = '', { }, suffixonly(filename) + local filetype = '' + local filesuffix = suffixonly(filename) + local wantedfiles = { } -- too tricky as filename can be bla.1.2.3: -- - -- if not suffixmap[ext] then + -- if not suffixmap[filesuffix] then -- wantedfiles[#wantedfiles+1] = filename -- end wantedfiles[#wantedfiles+1] = filename if askedformat == "" then - if ext == "" or not suffixmap[ext] then + if filesuffix == "" or not suffixmap[filesuffix] then local defaultsuffixes = resolvers.defaultsuffixes local formatofsuffix = resolvers.formatofsuffix for i=1,#defaultsuffixes do @@ -1088,7 +1105,7 @@ local function find_analyze(filename,askedformat,allresults) end end else - if ext == "" or not suffixmap[ext] then + if filesuffix == "" or not suffixmap[filesuffix] then local format_suffixes = suffixes[askedformat] if format_suffixes then for i=1,#format_suffixes do @@ -1160,11 +1177,10 @@ local function find_qualified(filename,allresults,askedformat,alsostripped) -- t if alsostripped and suffix and suffix ~= "" then -- try to find in tree (no suffix manipulation), here we search for the -- matching last part of the name - local basename = filebasename(filename) - local pattern = lpegmatch(preparetreepattern,filename) - -- messy .. to be sorted out + local basename = filebasename(filename) + local pattern = lpegmatch(preparetreepattern,filename) local savedformat = askedformat - local format = savedformat or "" + local format = savedformat or "" if format == "" then askedformat = resolvers.formatofsuffix(suffix) end @@ -1269,7 +1285,7 @@ end local function find_intree(filename,filetype,wantedfiles,allresults) local pathlists = instance.pathlists if not pathlists then - pathlists = setmetatableindex(allocate(),makepathlist) + pathlists = setmetatableindex({ },makepathlist) instance.pathlists = pathlists end local pathlist = pathlists[filetype] @@ -1588,9 +1604,9 @@ function resolvers.findpath(filename,filetype) end local function findgivenfiles(filename,allresults) - local base = filebasename(filename) - local result = { } - local hashes = instance.hashes + local base = filebasename(filename) + local result = { } + local hashes = instance.hashes -- local function okay(hash,path,name) local found = methodhandler('concatinators',hash.type,hash.name,path,name) @@ -1645,12 +1661,12 @@ end -- why bother local function findwildcardfiles(filename,allresults,result) - local result = result or { } - local base = filebasename(filename) - local dirn = filedirname(filename) - local path = lower(lpegmatch(makewildcard,dirn) or dirn) - local name = lower(lpegmatch(makewildcard,base) or base) - local files = instance.files + local result = result or { } + local base = filebasename(filename) + local dirn = filedirname(filename) + local path = lower(lpegmatch(makewildcard,dirn) or dirn) + local name = lower(lpegmatch(makewildcard,base) or base) + local files = instance.files -- if find(name,"*",1,true) then local hashes = instance.hashes @@ -1736,15 +1752,23 @@ function resolvers.automount() -- implemented later end -function resolvers.load(option) +function resolvers.starttiming() statistics.starttiming(instance) +end + +function resolvers.stoptiming() + statistics.stoptiming(instance) +end + +function resolvers.load(option) + resolvers.starttiming() identify_configuration_files() load_configuration_files() if option ~= "nofiles" then load_databases() resolvers.automount() end - statistics.stoptiming(instance) + resolvers.stoptiming() local files = instance.files return files and next(files) and true end @@ -1851,7 +1875,6 @@ function resolvers.booleanvariable(str,default) end function resolvers.dowithfilesintree(pattern,handle,before,after) -- will move, can be a nice iterator instead - local instance = resolvers.instance local hashes = instance.hashes for i=1,#hashes do local hash = hashes[i] @@ -1891,3 +1914,31 @@ resolvers.obsolete = obsolete resolvers.find_file = resolvers.findfile obsolete.find_file = resolvers.findfile resolvers.find_files = resolvers.findfiles obsolete.find_files = resolvers.findfiles + +-- moved here + +function resolvers.knownvariables(pattern) + if instance then + local environment = instance.environment + local variables = instance.variables + local expansions = instance.expansions + local order = instance.order + local pattern = upper(pattern or "") + local result = { } + for i=1,#order do + for key in next, order[i] do + if result[key] == nil and key ~= "" and (pattern == "" or find(upper(key),pattern)) then + result[key] = { + environment = rawget(environment,key), + variable = key, + expansion = expansions[key], + resolved = resolveprefix(expansions[key]), + } + end + end + end + return result + else + return { } + end +end diff --git a/tex/context/base/mkiv/data-tmp.lua b/tex/context/base/mkiv/data-tmp.lua index eabfce96e..e1903fd82 100644 --- a/tex/context/base/mkiv/data-tmp.lua +++ b/tex/context/base/mkiv/data-tmp.lua @@ -190,7 +190,7 @@ function caches.usedpaths(separator) end function caches.configfiles() - return concat(resolvers.instance.specification,";") + return concat(resolvers.configurationfiles(),";") end function caches.hashed(tree) diff --git a/tex/context/base/mkiv/data-use.lua b/tex/context/base/mkiv/data-use.lua index 930c5739f..65fcc5dc3 100644 --- a/tex/context/base/mkiv/data-use.lua +++ b/tex/context/base/mkiv/data-use.lua @@ -24,7 +24,7 @@ function resolvers.automount(usecache) mountpaths = caches.getreadablepaths("mount") end if mountpaths and #mountpaths > 0 then - statistics.starttiming(resolvers.instance) + resolvers.starttiming() for k=1,#mountpaths do local root = mountpaths[k] local f = io.open(root.."/url.tmi") @@ -45,7 +45,7 @@ function resolvers.automount(usecache) f:close() end end - statistics.stoptiming(resolvers.instance) + resolvers.stoptiming() end end diff --git a/tex/context/base/mkiv/data-zip.lua b/tex/context/base/mkiv/data-zip.lua index 2be88e0fc..32666bef2 100644 --- a/tex/context/base/mkiv/data-zip.lua +++ b/tex/context/base/mkiv/data-zip.lua @@ -203,17 +203,16 @@ function resolvers.usezipfile(archive) if archive and not registeredfiles[archive] then local z = zip.openarchive(archive) if z then - local instance = resolvers.instance local tree = url.query(specification.query).tree or "" if trace_locating then report_zip("registering: archive %a",archive) end - statistics.starttiming(instance) + resolvers.starttiming() resolvers.prependhash('zip',archive) resolvers.extendtexmfvariable(archive) -- resets hashes too registeredfiles[archive] = z - instance.files[archive] = resolvers.registerzipfile(z,tree) - statistics.stoptiming(instance) + resolvers.registerfilehash(archive,resolvers.registerzipfile(z,tree)) + resolvers.stoptiming() elseif trace_locating then report_zip("registering: unknown archive %a",archive) end diff --git a/tex/context/base/mkiv/file-job.lua b/tex/context/base/mkiv/file-job.lua index c7c36a03f..81f0753a0 100644 --- a/tex/context/base/mkiv/file-job.lua +++ b/tex/context/base/mkiv/file-job.lua @@ -55,7 +55,8 @@ local hasscheme = url.hasscheme local jobresolvers = resolvers.jobs local registerextrapath = resolvers.registerextrapath -local resetextrapath = resolvers.resetextrapath +local resetextrapaths = resolvers.resetextrapaths +local getextrapaths = resolvers.getextrapath local pushextrapath = resolvers.pushextrapath local popextrapath = resolvers.popextrapath @@ -147,14 +148,14 @@ implement { name = "resetpath", actions = function() report_jobfiles("resetting path") - resetextrapath() + resetextrapaths() end } implement { name = "allinputpaths", actions = function() - context(concat(resolvers.instance.extra_paths or { },",")) + context(concat(getextrapaths(),",")) end } @@ -1100,7 +1101,7 @@ local report_file = logs.reporter("used file") local report_option = logs.reporter("used option") luatex.registerstopactions(function() - local foundintrees = resolvers.instance.foundintrees + local foundintrees = resolvers.foundintrees() if #foundintrees > 0 then logspushtarget("logfile") logsnewline() diff --git a/tex/context/base/mkiv/file-res.lua b/tex/context/base/mkiv/file-res.lua index 44117ed46..531d365da 100644 --- a/tex/context/base/mkiv/file-res.lua +++ b/tex/context/base/mkiv/file-res.lua @@ -78,7 +78,7 @@ local function readfilename(specification,backtrack,treetoo) end end if not fnd then - local paths = resolvers.instance.extra_paths + local paths = resolvers.getextrapaths() if paths then for i=1,#paths do for i=1,#names do diff --git a/tex/context/base/mkiv/font-col.mkvi b/tex/context/base/mkiv/font-col.mkvi index 88a3ff941..b13047e50 100644 --- a/tex/context/base/mkiv/font-col.mkvi +++ b/tex/context/base/mkiv/font-col.mkvi @@ -100,7 +100,7 @@ {\doifelsenothing{#3}% {\definedfont[#2 at #4sp]}% {\definedfont[#2*#3\space at #4\scaledpoint]}% - \ctxlua{mathematics.registerfallbackid(#1,\fontid\font)}} + \clf_registerfontfallbackid#1\space\fontid\font\space{#2}} % \def\font_fallbacks_finish_math % {\ctxlua{mathematics.finishfallbacks()}} diff --git a/tex/context/base/mkiv/font-def.lua b/tex/context/base/mkiv/font-def.lua index c8394badf..a362d8967 100644 --- a/tex/context/base/mkiv/font-def.lua +++ b/tex/context/base/mkiv/font-def.lua @@ -21,7 +21,6 @@ local trace_defining = false trackers .register("fonts.defining", function local directive_embedall = false directives.register("fonts.embedall", function(v) directive_embedall = v end) trackers.register("fonts.loading", "fonts.defining", "otf.loading", "afm.loading", "tfm.loading") -trackers.register("fonts.all", "fonts.*", "otf.*", "afm.*", "tfm.*") local report_defining = logs.reporter("fonts","defining") diff --git a/tex/context/base/mkiv/font-ext.lua b/tex/context/base/mkiv/font-ext.lua index 6edfe7025..965b6e6dc 100644 --- a/tex/context/base/mkiv/font-ext.lua +++ b/tex/context/base/mkiv/font-ext.lua @@ -1296,3 +1296,52 @@ do -- another hack for a crappy font } end + +do + + local tounicode = fonts.mappings.tounicode + + local function check(tfmdata,key,value) + if value == "ligatures" then + local private = fonts.constructors and fonts.constructors.privateoffset or 0xF0000 + local collected = fonts.handlers.otf.readers.getcomponents(tfmdata.shared.rawdata) + if collected and next(collected)then + for unicode, char in next, tfmdata.characters do + if true then -- if unicode >= private or (unicode >= 0xE000 and unicode <= 0xF8FF) then + local u = collected[unicode] + if u then + local n = #u + for i=1,n do + if u[i] > private then + n = 0 + break + end + end + if n > 0 then + if n == 1 then + u = u[1] + end + char.unicode = u + char.tounicode = tounicode(u) + end + end + end + end + end + end + end + + -- forceunicodes=ligatures : aggressive lig resolving (e.g. for emoji) + -- + -- kind of like: \enabletrackers[fonts.mapping.forceligatures] + + registerotffeature { + name = "forceunicodes", + description = "forceunicodes", + manipulators = { + base = check, + node = check, + } + } + +end diff --git a/tex/context/base/mkiv/font-gbn.lua b/tex/context/base/mkiv/font-gbn.lua index 1f8df642c..6742f90fb 100644 --- a/tex/context/base/mkiv/font-gbn.lua +++ b/tex/context/base/mkiv/font-gbn.lua @@ -71,7 +71,8 @@ function nodes.handlers.setbasemodepass(v) basemodepass = v end -function nodes.handlers.nodepass(head) +-------- nodes.handlers.nodepass(head) +function nodes.handlers.nodepass(head,groupcode,size,packtype,direction) local fontdata = fonts.hashes.identifiers if fontdata then local nuthead = tonut(head) @@ -81,6 +82,7 @@ function nodes.handlers.nodepass(head) local basefont = nil local variants = nil local redundant = nil + local nofused = 0 for n in traverse_id(glyph_code,nuthead) do local font = getfont(n) if font ~= prevfont then @@ -97,6 +99,7 @@ function nodes.handlers.nodepass(head) local processors = shared.processes if processors and #processors > 0 then usedfonts[font] = processors + nofused = nofused + 1 elseif basemodepass then basefont = { n, nil } basefonts[#basefonts+1] = basefont @@ -178,6 +181,7 @@ function nodes.handlers.nodepass(head) local processors = shared.processes if processors and #processors > 0 then usedfonts[font] = processors + nofused = nofused + 1 end end end @@ -189,7 +193,7 @@ function nodes.handlers.nodepass(head) if next(usedfonts) then for font, processors in next, usedfonts do for i=1,#processors do - head = processors[i](head,font,0) or head + head = processors[i](head,font,0,direction,nofused) or head end end end @@ -241,9 +245,9 @@ local basepass = nodes.handlers.basepass local injectpass = nodes.injections.handler local protectpass = nodes.handlers.protectglyphs -function nodes.simple_font_handler(head) +function nodes.simple_font_handler(head,groupcode,size,packtype,direction) if head then - head = nodepass(head) + head = nodepass(head,groupcode,size,packtype,direction) head = injectpass(head) if not basemodepass then head = basepass(head) diff --git a/tex/context/base/mkiv/font-map.lua b/tex/context/base/mkiv/font-map.lua index cf369708c..706c5b709 100644 --- a/tex/context/base/mkiv/font-map.lua +++ b/tex/context/base/mkiv/font-map.lua @@ -19,9 +19,9 @@ local trace_mapping = false trackers.register("fonts.mapping", function(v) trac local report_fonts = logs.reporter("fonts","loading") -- not otf only --- force_ligatures is true per 2017-04-20 so that these emoji's with bad names work too +-- force_ligatures was true for a while so that these emoji's with bad names work too -local force_ligatures = true directives.register("fonts.mapping.forceligatures",function(v) force_ligatures = v end) +local force_ligatures = false directives.register("fonts.mapping.forceligatures",function(v) force_ligatures = v end) local fonts = fonts or { } local mappings = fonts.mappings or { } @@ -279,6 +279,9 @@ do ffl = { name = "f_f_l", unicode = { 0x66, 0x66, 0x6C }, mess = 0xFB04 }, fj = { name = "f_j", unicode = { 0x66, 0x6A } }, fk = { name = "f_k", unicode = { 0x66, 0x6B } }, + + -- endash = { name = "endash", unicode = 0x2013, mess = 0x2013 }, + -- emdash = { name = "emdash", unicode = 0x2014, mess = 0x2014 }, } local o = { } @@ -299,7 +302,7 @@ do end -function mappings.addtounicode(data,filename,checklookups) +function mappings.addtounicode(data,filename,checklookups,forceligatures) local resources = data.resources local unicodes = resources.unicodes if not unicodes then @@ -517,22 +520,26 @@ function mappings.addtounicode(data,filename,checklookups) if not collected then -- move on - elseif force_ligatures then + elseif forceligatures or force_ligatures then for i=1,#dlist do local du = dlist[i] - local u = collected[du] -- always tables - if u then - resolve(descriptions[du],u) + if du >= private or (du >= 0xE000 and du <= 0xF8FF) then + local u = collected[du] -- always tables + if u then + resolve(descriptions[du],u) + end end end else for i=1,#dlist do - local du = dlist[i] - local glyph = descriptions[du] - if glyph.class == "ligature" and not glyph.unicode then - local u = collected[du] -- always tables - if u then - resolve(glyph,u) + local du = dlist[i] + if du >= private or (du >= 0xE000 and du <= 0xF8FF) then + local glyph = descriptions[du] + if glyph.class == "ligature" and not glyph.unicode then + local u = collected[du] -- always tables + if u then + resolve(glyph,u) + end end end end diff --git a/tex/context/base/mkiv/font-ocl.lua b/tex/context/base/mkiv/font-ocl.lua index c166f5ce4..2ecf1ba42 100644 --- a/tex/context/base/mkiv/font-ocl.lua +++ b/tex/context/base/mkiv/font-ocl.lua @@ -40,7 +40,7 @@ else function otf.getactualtext(s) return - "/Span << /ActualText >> BDC", + "/Span << /ActualText >> BDC", "EMC" end diff --git a/tex/context/base/mkiv/font-otc.lua b/tex/context/base/mkiv/font-otc.lua index 5d879ec1d..034cba613 100644 --- a/tex/context/base/mkiv/font-otc.lua +++ b/tex/context/base/mkiv/font-otc.lua @@ -29,6 +29,7 @@ local normalized = { multiple = "multiple", kern = "kern", pair = "pair", + single = "single", chainsubstitution = "chainsubstitution", chainposition = "chainposition", } @@ -40,6 +41,7 @@ local types = { multiple = "gsub_multiple", kern = "gpos_pair", pair = "gpos_pair", + single = "gpos_single", chainsubstitution = "gsub_contextchain", chainposition = "gpos_contextchain", } @@ -403,6 +405,8 @@ local function addfeature(data,feature,specifications) return coverage end + local prepare_single = prepare_pair + local function prepare_chain(list,featuretype,sublookups) -- todo: coveractions local rules = list.rules @@ -627,6 +631,9 @@ local function addfeature(data,feature,specifications) elseif featuretype == "pair" then format = "pair" coverage = prepare_pair(list,featuretype) + elseif featuretype == "single" then + format = "single" + coverage = prepare_single(list,featuretype) end if coverage and next(coverage) then nofsteps = nofsteps + 1 @@ -666,6 +673,10 @@ local function addfeature(data,feature,specifications) category = "gpos" format = "pair" coverage = prepare_pair(list,featuretype) + elseif featuretype == "single" then + category = "gpos" + format = "single" + coverage = prepare_single(list,featuretype) elseif featuretype == "chainsubstitution" then category = "gsub" coverage = prepare_chain(list,featuretype,sublookups) diff --git a/tex/context/base/mkiv/font-otj.lua b/tex/context/base/mkiv/font-otj.lua index 634f8a83c..2c79500e7 100644 --- a/tex/context/base/mkiv/font-otj.lua +++ b/tex/context/base/mkiv/font-otj.lua @@ -1434,6 +1434,35 @@ function injections.isspace(n,threshold,id) end end +-- We have a plugin so that Kai can use the next in plain. Such a plugin is rather application +-- specific. +-- +-- local getboth = nodes.direct.getboth +-- local getid = nodes.direct.getid +-- local getprev = nodes.direct.getprev +-- local getnext = nodes.direct.getnext +-- +-- local whatsit_code = nodes.nodecodes.whatsit +-- local glyph_code = nodes.nodecodes.glyph +-- +-- local function getspaceboth(n) -- fragile: what it prev/next has no width field +-- local prev, next = getboth(n) +-- while prev and (getid(prev) == whatsit_code or (getwidth(prev) == 0 and getid(prev) ~= glyph_code)) do +-- prev = getprev(prev) +-- end +-- while next and (getid(next) == whatsit_code or (getwidth(next) == 0 and getid(next) ~= glyph_code)) do +-- next = getnext(next) +-- end +-- end +-- +-- injections.installgetspaceboth(getspaceboth) + +local getspaceboth = getboth + +function injections.installgetspaceboth(gb) + getspaceboth = gb or getboth +end + local function injectspaces(head) if not triggers then @@ -1458,9 +1487,9 @@ local function injectspaces(head) end for n in traverse_id(glue_code,tonut(head)) do - local prev, next = getboth(n) - local prevchar = ischar(prev) - local nextchar = ischar(next) + local prev, next = getspaceboth(n) + local prevchar = prev and ischar(prev) + local nextchar = next and ischar(next) if nextchar then local font = getfont(next) local trig = triggers[font] diff --git a/tex/context/base/mkiv/font-otl.lua b/tex/context/base/mkiv/font-otl.lua index 9400096a0..bbe05304c 100644 --- a/tex/context/base/mkiv/font-otl.lua +++ b/tex/context/base/mkiv/font-otl.lua @@ -768,6 +768,7 @@ otf.coverup = { multiple = justset, kern = justset, pair = justset, + single = justset, ligature = function(coverage,unicode,ligature) local first = ligature[1] local tree = coverage[first] diff --git a/tex/context/base/mkiv/font-otn.lua b/tex/context/base/mkiv/font-otn.lua index ace7bf12b..d48021347 100644 --- a/tex/context/base/mkiv/font-otn.lua +++ b/tex/context/base/mkiv/font-otn.lua @@ -194,15 +194,13 @@ local report_process = logs.reporter("fonts","otf process") local report_prepare = logs.reporter("fonts","otf prepare") local report_run = logs.reporter("fonts","otf run") -registertracker("otf.verbose_chain", function(v) otf.setcontextchain(v and "verbose") end) -registertracker("otf.normal_chain", function(v) otf.setcontextchain(v and "normal") end) +registertracker("otf.substitutions", "otf.singles","otf.multiples","otf.alternatives","otf.ligatures") +registertracker("otf.positions", "otf.marks","otf.kerns","otf.cursive") +registertracker("otf.actions", "otf.substitutions","otf.positions") +registertracker("otf.sample", "otf.steps","otf.substitutions","otf.positions","otf.analyzing") -registertracker("otf.replacements", "otf.singles,otf.multiples,otf.alternatives,otf.ligatures") -registertracker("otf.positions","otf.marks,otf.kerns,otf.cursive") -registertracker("otf.actions","otf.replacements,otf.positions") -registertracker("otf.injections","nodes.injections") - -registertracker("*otf.sample","otf.steps,otf.actions,otf.analyzing") +registertracker("otf.chain.verbose", function(v) otf.setcontextchain(v and "verbose") end) +registertracker("otf.chain.normal", function(v) otf.setcontextchain(v and "normal") end) local nuts = nodes.nuts local tonode = nuts.tonode diff --git a/tex/context/base/mkiv/font-otr.lua b/tex/context/base/mkiv/font-otr.lua index 3addf3324..4f93c5579 100644 --- a/tex/context/base/mkiv/font-otr.lua +++ b/tex/context/base/mkiv/font-otr.lua @@ -1130,9 +1130,10 @@ readers.hmtx = function(f,fontdata,specification) if width ~= 0 then glyph.width = width end - -- if leftsidebearing ~= 0 then - -- glyph.lsb = leftsidebearing - -- end +-- for now +-- if leftsidebearing ~= 0 then +-- glyph.lsb = leftsidebearing +-- end end -- The next can happen in for instance a monospace font or in a cjk font -- with fixed widths. diff --git a/tex/context/base/mkiv/font-ots.lua b/tex/context/base/mkiv/font-ots.lua index 16c2ce735..1230475b3 100644 --- a/tex/context/base/mkiv/font-ots.lua +++ b/tex/context/base/mkiv/font-ots.lua @@ -155,11 +155,10 @@ local report_process = logs.reporter("fonts","otf process") local report_warning = logs.reporter("fonts","otf warning") local report_run = logs.reporter("fonts","otf run") -registertracker("otf.replacements", "otf.singles,otf.multiples,otf.alternatives,otf.ligatures") -registertracker("otf.positions","otf.marks,otf.kerns,otf.cursive") -registertracker("otf.actions","otf.replacements,otf.positions") -registertracker("otf.injections","nodes.injections") -registertracker("otf.sample","otf.steps,otf.actions,otf.analyzing") +registertracker("otf.substitutions", "otf.singles","otf.multiples","otf.alternatives","otf.ligatures") +registertracker("otf.positions", "otf.marks","otf.kerns","otf.cursive") +registertracker("otf.actions", "otf.substitutions","otf.positions") +registertracker("otf.sample", "otf.steps","otf.substitutions","otf.positions","otf.analyzing") local nuts = nodes.nuts local tonode = nuts.tonode @@ -192,6 +191,7 @@ local getdir = nuts.getdir local getwidth = nuts.getwidth local ischar = nuts.is_char +local usesfont = nuts.uses_font local insert_node_after = nuts.insert_after local copy_node = nuts.copy @@ -932,7 +932,8 @@ end function handlers.gpos_single(head,start,dataset,sequence,kerns,rlmode,step,i,injection) local startchar = getchar(start) - if step.format == "pair" then +-- if step.format == "pair" then + if step.format == "pair" or type(kerns) == "table" then local dx, dy, w, h = setpair(start,factor,rlmode,sequence.flags[4],kerns,injection) if trace_kerns then logprocess("%s: shifting single %s by (%p,%p) and correction (%p,%p)",pref(dataset,sequence),gref(startchar),dx,dy,w,h) @@ -3830,132 +3831,213 @@ otf.helpers.pardirstate = pardirstate -- optimizations the principles of processing the features hasn't changed much since -- the beginning. -local function featuresprocessor(head,font,attr,direction) +do - local sequences = sequencelists[font] -- temp hack + -- experimental speedup (only with hyphenated text and multiple fonts per processing) + -- + -- at some point this might become true by default - if not sequencelists then - return head, false - end + local fastdisc = false directives.register("otf.fastdisc",function(v) fastdisc = v end) - nesting = nesting + 1 + function otf.featuresprocessor(head,font,attr,direction,n) - if nesting == 1 then - currentfont = font - tfmdata = fontdata[font] - descriptions = tfmdata.descriptions -- only needed in gref so we could pass node there instead - characters = tfmdata.characters -- but this branch is not entered that often anyway - local resources = tfmdata.resources - marks = resources.marks - classes = resources.classes - threshold, - factor = getthreshold(font) - checkmarks = tfmdata.properties.checkmarks + local sequences = sequencelists[font] -- temp hack - elseif currentfont ~= font then + if not sequencelists then + return head, false + end - report_warning("nested call with a different font, level %s, quitting",nesting) - nesting = nesting - 1 - return head, false + nesting = nesting + 1 - end + if nesting == 1 then + currentfont = font + tfmdata = fontdata[font] + descriptions = tfmdata.descriptions -- only needed in gref so we could pass node there instead + characters = tfmdata.characters -- but this branch is not entered that often anyway + local resources = tfmdata.resources + marks = resources.marks + classes = resources.classes + threshold, + factor = getthreshold(font) + checkmarks = tfmdata.properties.checkmarks - -- some 10% faster when no dynamics but hardly measureable on real runs .. but: it only - -- works when we have no other dynamics as otherwise the zero run will be applied to the - -- whole stream for which we then need to pass another variable which we won't + elseif currentfont ~= font then - -- if attr == 0 then - -- attr = false - -- end + report_warning("nested call with a different font, level %s, quitting",nesting) + nesting = nesting - 1 + return head, false - head = tonut(head) + end - if trace_steps then - checkstep(head) - end + -- some 10% faster when no dynamics but hardly measureable on real runs .. but: it only + -- works when we have no other dynamics as otherwise the zero run will be applied to the + -- whole stream for which we then need to pass another variable which we won't - local initialrl = direction == "TRT" and -1 or 0 + -- if attr == 0 then + -- attr = false + -- end - local done = false - local datasets = otf.dataset(tfmdata,font,attr) - local dirstack = { } -- could move outside function but we can have local runs - sweephead = { } - - -- Keeping track of the headnode is needed for devanagari. (I generalized it a bit - -- so that multiple cases are also covered.) We could prepend a temp node. - - -- We don't goto the next node when a disc node is created so that we can then treat - -- the pre, post and replace. It's a bit of a hack but works out ok for most cases. - - for s=1,#datasets do - local dataset = datasets[s] - ----- featurevalue = dataset[1] -- todo: pass to function instead of using a global - local attribute = dataset[2] - local sequence = dataset[3] -- sequences[s] -- also dataset[5] - local rlparmode = initialrl - local topstack = 0 - local typ = sequence.type - local gpossing = typ == "gpos_single" or typ == "gpos_pair" -- store in dataset - local handler = handlers[typ] - local steps = sequence.steps - local nofsteps = sequence.nofsteps - if not steps then - -- this permits injection, watch the different arguments - local h, d, ok = handler(head,head,dataset,sequence,nil,nil,nil,0,font,attr) - if ok then - done = true - if h then - head = h - end - end - elseif typ == "gsub_reversecontextchain" then - -- this is a limited case, no special treatments like 'init' etc - local start = find_node_tail(head) - local rlmode = 0 -- how important is this .. do we need to check for dir? - while start do - local char = ischar(start,font) - if char then - local a -- happens often so no assignment is faster - if attr then - a = getattr(start,0) + head = tonut(head) + + if trace_steps then + checkstep(head) + end + + local initialrl = direction == "TRT" and -1 or 0 + + local done = false + local datasets = otf.dataset(tfmdata,font,attr) + local dirstack = { } -- could move outside function but we can have local runs + sweephead = { } + + -- Keeping track of the headnode is needed for devanagari. (I generalized it a bit + -- so that multiple cases are also covered.) We could prepend a temp node. + + -- We don't goto the next node when a disc node is created so that we can then treat + -- the pre, post and replace. It's a bit of a hack but works out ok for most cases. + + local discs = fastdisc and n and n > 1 and setmetatableindex(function(t,k) + local v = usesfont(k,font) + t[k] = v + return v + end) + + for s=1,#datasets do + local dataset = datasets[s] + ----- featurevalue = dataset[1] -- todo: pass to function instead of using a global + local attribute = dataset[2] + local sequence = dataset[3] -- sequences[s] -- also dataset[5] + local rlparmode = initialrl + local topstack = 0 + local typ = sequence.type + local gpossing = typ == "gpos_single" or typ == "gpos_pair" -- store in dataset + local handler = handlers[typ] + local steps = sequence.steps + local nofsteps = sequence.nofsteps + if not steps then + -- this permits injection, watch the different arguments + local h, d, ok = handler(head,head,dataset,sequence,nil,nil,nil,0,font,attr) + if ok then + done = true + if h then + head = h end - if not a or (a == attr) then - for i=1,nofsteps do - local step = steps[i] - local lookupcache = step.coverage - if lookupcache then - local lookupmatch = lookupcache[char] - if lookupmatch then - -- todo: disc? - local ok - head, start, ok = handler(head,start,dataset,sequence,lookupmatch,rlmode,step,i) - if ok then - done = true - break + end + elseif typ == "gsub_reversecontextchain" then + -- this is a limited case, no special treatments like 'init' etc + local start = find_node_tail(head) + local rlmode = 0 -- how important is this .. do we need to check for dir? + while start do + local char = ischar(start,font) + if char then + local a -- happens often so no assignment is faster + if attr then + a = getattr(start,0) + end + if not a or (a == attr) then + for i=1,nofsteps do + local step = steps[i] + local lookupcache = step.coverage + if lookupcache then + local lookupmatch = lookupcache[char] + if lookupmatch then + -- todo: disc? + local ok + head, start, ok = handler(head,start,dataset,sequence,lookupmatch,rlmode,step,i) + if ok then + done = true + break + end end + else + report_missing_coverage(dataset,sequence) end - else - report_missing_coverage(dataset,sequence) end - end - if start then + if start then + start = getprev(start) + end + else start = getprev(start) end else start = getprev(start) end - else - start = getprev(start) end - end - else - local start = head - local rlmode = initialrl - if nofsteps == 1 then -- happens often - local step = steps[1] - local lookupcache = step.coverage - if not lookupcache then - report_missing_coverage(dataset,sequence) + else + local start = head + local rlmode = initialrl + if nofsteps == 1 then -- happens often + local step = steps[1] + local lookupcache = step.coverage + if not lookupcache then + report_missing_coverage(dataset,sequence) + else + while start do + local char, id = ischar(start,font) + if char then + -- local a = attr and getattr(start,0) + -- if a then + -- a = (a == attr) and (not attribute or getprop(start,a_state) == attribute) + -- else + -- a = not attribute or getprop(start,a_state) == attribute + -- end + local a -- happens often so no assignment is faster + if attr then + if getattr(start,0) == attr and (not attribute or getprop(start,a_state) == attribute) then + a = true + end + elseif not attribute or getprop(start,a_state) == attribute then + a = true + end + if a then + local lookupmatch = lookupcache[char] + if lookupmatch then + local ok + head, start, ok = handler(head,start,dataset,sequence,lookupmatch,rlmode,step,1) + if ok then + done = true + end + end + if start then + start = getnext(start) + end + else + start = getnext(start) + end + elseif char == false then + -- whatever glyph + start = getnext(start) + elseif id == glue_code then + -- happens often + start = getnext(start) + elseif id == disc_code then + if not discs or discs[start] == true then + local ok + if gpossing then + start, ok = kernrun(start,k_run_single, font,attr,lookupcache,step,dataset,sequence,rlmode,handler) + elseif typ == "gsub_ligature" then + start, ok = testrun(start,t_run_single,c_run_single,font,attr,lookupcache,step,dataset,sequence,rlmode,handler) + else + start, ok = comprun(start,c_run_single, font,attr,lookupcache,step,dataset,sequence,rlmode,handler) + end + if ok then + done = true + end + else + start = getnext(start) + end + elseif id == math_code then + start = getnext(end_of_math(start)) + elseif id == dir_code then + start, topstack, rlmode = txtdirstate(start,dirstack,topstack,rlparmode) + elseif id == localpar_code then + start, rlparmode, rlmode = pardirstate(start) + else + start = getnext(start) + end + end + end + else while start do local char, id = ischar(start,font) @@ -3975,37 +4057,54 @@ local function featuresprocessor(head,font,attr,direction) a = true end if a then - local lookupmatch = lookupcache[char] - if lookupmatch then - local ok - head, start, ok = handler(head,start,dataset,sequence,lookupmatch,rlmode,step,1) - if ok then - done = true + for i=1,nofsteps do + local step = steps[i] + local lookupcache = step.coverage + if lookupcache then + local lookupmatch = lookupcache[char] + if lookupmatch then + -- we could move all code inline but that makes things even more unreadable + local ok + head, start, ok = handler(head,start,dataset,sequence,lookupmatch,rlmode,step,i) + if ok then + done = true + break + elseif not start then + -- don't ask why ... shouldn't happen + break + end + end + else + report_missing_coverage(dataset,sequence) end end if start then start = getnext(start) end else - start = getnext(start) + start = getnext(start) end elseif char == false then -- whatever glyph - start = getnext(start) + start = getnext(start) elseif id == glue_code then -- happens often - start = getnext(start) + start = getnext(start) elseif id == disc_code then - local ok - if gpossing then - start, ok = kernrun(start,k_run_single, font,attr,lookupcache,step,dataset,sequence,rlmode,handler) - elseif typ == "gsub_ligature" then - start, ok = testrun(start,t_run_single,c_run_single,font,attr,lookupcache,step,dataset,sequence,rlmode,handler) + if not discs or discs[start] == true then + local ok + if gpossing then + start, ok = kernrun(start,k_run_multiple, font,attr,steps,nofsteps,dataset,sequence,rlmode,handler) + elseif typ == "gsub_ligature" then + start, ok = testrun(start,t_run_multiple,c_run_multiple,font,attr,steps,nofsteps,dataset,sequence,rlmode,handler) + else + start, ok = comprun(start,c_run_multiple, font,attr,steps,nofsteps,dataset,sequence,rlmode,handler) + end + if ok then + done = true + end else - start, ok = comprun(start,c_run_single, font,attr,lookupcache,step,dataset,sequence,rlmode,handler) - end - if ok then - done = true + start = getnext(start) end elseif id == math_code then start = getnext(end_of_math(start)) @@ -4018,94 +4117,20 @@ local function featuresprocessor(head,font,attr,direction) end end end + end - else - while start do - local char, id = ischar(start,font) - if char then - -- local a = attr and getattr(start,0) - -- if a then - -- a = (a == attr) and (not attribute or getprop(start,a_state) == attribute) - -- else - -- a = not attribute or getprop(start,a_state) == attribute - -- end - local a -- happens often so no assignment is faster - if attr then - if getattr(start,0) == attr and (not attribute or getprop(start,a_state) == attribute) then - a = true - end - elseif not attribute or getprop(start,a_state) == attribute then - a = true - end - if a then - for i=1,nofsteps do - local step = steps[i] - local lookupcache = step.coverage - if lookupcache then - local lookupmatch = lookupcache[char] - if lookupmatch then - -- we could move all code inline but that makes things even more unreadable - local ok - head, start, ok = handler(head,start,dataset,sequence,lookupmatch,rlmode,step,i) - if ok then - done = true - break - elseif not start then - -- don't ask why ... shouldn't happen - break - end - end - else - report_missing_coverage(dataset,sequence) - end - end - if start then - start = getnext(start) - end - else - start = getnext(start) - end - elseif char == false then - -- whatever glyph - start = getnext(start) - elseif id == glue_code then - -- happens often - start = getnext(start) - elseif id == disc_code then - local ok - if gpossing then - start, ok = kernrun(start,k_run_multiple, font,attr,steps,nofsteps,dataset,sequence,rlmode,handler) - elseif typ == "gsub_ligature" then - start, ok = testrun(start,t_run_multiple,c_run_multiple,font,attr,steps,nofsteps,dataset,sequence,rlmode,handler) - else - start, ok = comprun(start,c_run_multiple, font,attr,steps,nofsteps,dataset,sequence,rlmode,handler) - end - if ok then - done = true - end - elseif id == math_code then - start = getnext(end_of_math(start)) - elseif id == dir_code then - start, topstack, rlmode = txtdirstate(start,dirstack,topstack,rlparmode) - elseif id == localpar_code then - start, rlparmode, rlmode = pardirstate(start) - else - start = getnext(start) - end - end + if trace_steps then -- ? + registerstep(head) end - end - if trace_steps then -- ? - registerstep(head) end - end + nesting = nesting - 1 + head = tonode(head) - nesting = nesting - 1 - head = tonode(head) + return head, done + end - return head, done end -- so far @@ -4119,13 +4144,13 @@ function otf.registerplugin(name,f) end end -local function plugininitializer(tfmdata,value) +function otf.plugininitializer(tfmdata,value) if type(value) == "string" then tfmdata.shared.plugin = plugins[value] end end -local function pluginprocessor(head,font) +function otf.pluginprocessor(head,font) local s = fontdata[font].shared local p = s and s.plugin if p then @@ -4138,7 +4163,7 @@ local function pluginprocessor(head,font) end end -local function featuresinitializer(tfmdata,value) +function otf.featuresinitializer(tfmdata,value) -- nothing done here any more end @@ -4148,18 +4173,15 @@ registerotffeature { default = true, initializers = { position = 1, - node = featuresinitializer, - plug = plugininitializer, + node = otf.featuresinitializer, + plug = otf.plugininitializer, }, processors = { - node = featuresprocessor, - plug = pluginprocessor, + node = otf.featuresprocessor, + plug = otf.pluginprocessor, } } -otf.nodemodeinitializer = featuresinitializer -otf.featuresprocessor = featuresprocessor - -- This can be used for extra handlers, but should be used with care! otf.handlers = handlers -- used in devanagari @@ -4289,9 +4311,9 @@ local function spaceinitializer(tfmdata,value) -- attr if type(kern) ~= "table" then left[k] = kern elseif single then - left[k] = v[3] + left[k] = kern[3] else - local one = v[1] + local one = kern[1] if one then left[k] = one[3] end diff --git a/tex/context/base/mkiv/font-ttf.lua b/tex/context/base/mkiv/font-ttf.lua index 37b30f314..339764d4a 100644 --- a/tex/context/base/mkiv/font-ttf.lua +++ b/tex/context/base/mkiv/font-ttf.lua @@ -160,11 +160,12 @@ local function applyaxis(glyph,shape,deltas,dowidth) local points = shape.points if points then local nofpoints = #points - local h = nofpoints + 1 -- weird, the example font seems to have left first - ----- l = nofpoints + 2 + local h = nofpoints + 2 -- weird, the example font seems to have left first + local l = nofpoints + 1 ----- v = nofpoints + 3 ----- t = nofpoints + 4 - local width = dowidth and glyph.width -- what if hvar + local dw = 0 + local dl = 0 for i=1,#deltas do local deltaset = deltas[i] local xvalues = deltaset.xvalues @@ -190,10 +191,22 @@ local function applyaxis(glyph,shape,deltas,dowidth) p[2] = p[2] + factor * y end end - elseif width then -- and p == h then - local x = xvalues[d+1] - if x then - width = width + factor * x + elseif dowidth then + -- we've now ran into phantom points which is a bit fuzzy because: + -- are there gaps in there? + -- + -- todo: move this outside the loop (when we can be sure of all 4 being there) + if d == h then + -- we have a phantom point hadvance + local x = xvalues[i] + if x then + dw = dw + factor * x + end + elseif d == l then + local x = xvalues[i] + if x then + dl = dl + factor * x + end end end end @@ -213,10 +226,14 @@ local function applyaxis(glyph,shape,deltas,dowidth) end end end - if width then + if dowidth then local x = xvalues[h] if x then - width = width + factor * x + dw = dw + factor * x + end + local x = xvalues[l] + if x then + dl = dl + factor * x end end end @@ -226,8 +243,10 @@ local function applyaxis(glyph,shape,deltas,dowidth) -- p[1] = round(p[1]) -- p[2] = round(p[2]) -- end - if width then - glyph.width = width + if dowidth then + local width = glyph.width or 0 + -- local lsb = glyph.lsb or 0 + glyph.width = width + dw - dl end else report("no points for glyph %a",glyph.name) @@ -1066,7 +1085,7 @@ function readers.gvar(f,fontdata,specification,glyphdata,shapedata) local data = { } local tuples = { } local glyphdata = fontdata.glyphs - local dowidth = fontdata.variabledata.hvarwidths + local dowidth = not fontdata.variabledata.hvarwidths -- there is one more offset (so that one can calculate the size i suppose) -- so we could test for overflows but we simply assume sane font files if bittest(flags,0x0001) then diff --git a/tex/context/base/mkiv/lang-exc.lua b/tex/context/base/mkiv/lang-exc.lua new file mode 100644 index 000000000..bed328da8 --- /dev/null +++ b/tex/context/base/mkiv/lang-exc.lua @@ -0,0 +1,16 @@ +if not modules then modules = { } end modules ['lang-exc'] = { + version = 1.001, + comment = "companion to lang-ini.mkiv", + author = "Hans Hagen", + copyright = "ConTeXt Development Team", + license = "see context related readme files", + dataonly = true, +} + +-- Here we add common exceptions. This file can grow. For now we keep it +-- in the main base tree. We actually need a generic (shared) pattern or +-- exception file I guess. + +return { + "lua-jit", +} diff --git a/tex/context/base/mkiv/lang-ini.lua b/tex/context/base/mkiv/lang-ini.lua index 6de951998..e68938e35 100644 --- a/tex/context/base/mkiv/lang-ini.lua +++ b/tex/context/base/mkiv/lang-ini.lua @@ -270,6 +270,8 @@ local function unique(tag,requested,loaded) end end +local shared = false + local function loaddefinitions(tag,specification) statistics.starttiming(languages) local data, instance = resolve(tag) @@ -295,6 +297,19 @@ local function loaddefinitions(tag,specification) local ok = false local resources = data.resources or { } data.resources = resources + if not shared then + local found = resolvers.findfile("lang-exc.lua") + if found then + shared = dofile(found) + if type(shared) == "table" then + shared = concat(shared," ") + else + shared = true + end + else + shared = true + end + end for i=1,#definitions do local definition = definitions[i] if definition == "" then @@ -344,13 +359,18 @@ local function loaddefinitions(tag,specification) end end if #ploaded > 0 then + -- why not always clear instance:clear_patterns() instance:patterns(unique(tag,requested,ploaded)) end if #eloaded > 0 then + -- why not always clear instance:clear_hyphenation() instance:hyphenation(concat(eloaded," ")) end + if type(shared) == "string" then + instance:hyphenation(shared) + end return ok elseif trace_patterns then report_initialization("no definitions for language %a",tag) diff --git a/tex/context/base/mkiv/lang-wrd.lua b/tex/context/base/mkiv/lang-wrd.lua index 8b6e48401..666f39338 100644 --- a/tex/context/base/mkiv/lang-wrd.lua +++ b/tex/context/base/mkiv/lang-wrd.lua @@ -187,6 +187,10 @@ local function mark_words(head,whenfound) -- can be optimized and shared if n > 0 then local r = getfield(current,"replace") if r then + -- also disc itself + n = n + 1 + nds[n] = current + -- for current in traverse_ids(glyph_code,r) do local code = getchar(current) n = n + 1 @@ -195,7 +199,7 @@ local function mark_words(head,whenfound) -- can be optimized and shared str[s] = utfchar(code) end end - end + end elseif id == kern_code and getsubtype(current) == kerning_code and s > 0 then -- ok elseif s > 0 then diff --git a/tex/context/base/mkiv/lpdf-ini.lua b/tex/context/base/mkiv/lpdf-ini.lua index 1b24269a6..635f365a9 100644 --- a/tex/context/base/mkiv/lpdf-ini.lua +++ b/tex/context/base/mkiv/lpdf-ini.lua @@ -543,6 +543,8 @@ function lpdf.escaped(str) return lpegmatch(escaped,str) or str end +local pdfnull, pdfboolean, pdfreference, pdfverbose + do local p_null = { } setmetatable(p_null, mt_z) diff --git a/tex/context/base/mkiv/luat-fio.lua b/tex/context/base/mkiv/luat-fio.lua index 302d17a66..a215d1b16 100644 --- a/tex/context/base/mkiv/luat-fio.lua +++ b/tex/context/base/mkiv/luat-fio.lua @@ -15,12 +15,10 @@ texconfig.shell_escape = 't' texconfig.max_print_line = 100000 texconfig.max_in_open = 1000 -if not resolvers.instance then +if not resolvers.initialized() then resolvers.reset() - resolvers.instance.validfile = resolvers.validctxfile - -- we now load the file database as we might need files other than -- tex and lua file on the given path @@ -128,7 +126,7 @@ statistics.register("resource resolver", function() scandata.n, scandata.time, scandata.shared, - #resolvers.instance.foundintrees, + #resolvers.foundintrees(), #scandata.paths > 0 and concat(scandata.paths," ") or "" ) end) diff --git a/tex/context/base/mkiv/lxml-aux.lua b/tex/context/base/mkiv/lxml-aux.lua index ee0909cbf..3c0121448 100644 --- a/tex/context/base/mkiv/lxml-aux.lua +++ b/tex/context/base/mkiv/lxml-aux.lua @@ -412,7 +412,9 @@ local function include(xmldata,pattern,attribute,recursive,loaddata,level) end local data = nil if name and name ~= "" then - data = loaddata(name) or "" + local d, n = loaddata(name) + data = d or "" + name = n or name if trace_inclusions then report_xml("including %s bytes from %a at level %s by pattern %a and attribute %a (%srecursing)",#data,name,level,pattern,attribute or "",recursive and "" or "not ") end @@ -423,6 +425,9 @@ local function include(xmldata,pattern,attribute,recursive,loaddata,level) -- for the moment hard coded epdt[ek.ni] = xml.escaped(data) -- d[k] = xml.escaped(data) else +local settings = xmldata.settings +local savedresource = settings.currentresource +settings.currentresource = name local xi = xmlinheritedconvert(data,xmldata) if not xi then epdt[ek.ni] = "" -- xml.empty(d,k) @@ -433,6 +438,7 @@ local function include(xmldata,pattern,attribute,recursive,loaddata,level) local child = xml.body(xi) -- xml.assign(d,k,xi) child.__p__ = ekrt child.__f__ = name -- handy for tracing +child.cf = name epdt[ek.ni] = child local settings = xmldata.settings local inclusions = settings and settings.inclusions @@ -453,6 +459,7 @@ local function include(xmldata,pattern,attribute,recursive,loaddata,level) end end end +settings.currentresource = savedresource end end end diff --git a/tex/context/base/mkiv/lxml-tab.lua b/tex/context/base/mkiv/lxml-tab.lua index 02228c7c5..a4234ca6e 100644 --- a/tex/context/base/mkiv/lxml-tab.lua +++ b/tex/context/base/mkiv/lxml-tab.lua @@ -160,9 +160,20 @@ local entities, parameters local strip, utfize, resolve, cleanup, resolve_predefined, unify_predefined local dcache, hcache, acache local mt, dt, nt +local currentfilename, currentline, linenumbers + +local grammar_parsed_text_one +local grammar_parsed_text_two +local grammar_unparsed_text + +local handle_hex_entity +local handle_dec_entity +local handle_any_entity_dtd +local handle_any_entity_text local function preparexmlstate(settings) if settings then + linenumbers = settings.linenumbers stack = { } level = 0 top = { } @@ -179,6 +190,8 @@ local function preparexmlstate(settings) unify_predefined = settings.unify_predefined_entities -- & -> & cleanup = settings.text_cleanup entities = settings.entities or { } + currentfilename = settings.currentresource + currentline = 1 parameters = { } reported_at_errors = { } dcache = { } @@ -193,6 +206,7 @@ local function preparexmlstate(settings) resolve_predefined = true end else + linenumbers = false stack = nil level = nil top = nil @@ -214,6 +228,8 @@ local function preparexmlstate(settings) dcache = nil hcache = nil acache = nil + currentfilename = nil + currentline = 1 end end @@ -258,14 +274,24 @@ local function add_empty(spacing, namespace, tag) top = stack[level] dt = top.dt nt = #dt + 1 - local t = { + local t = linenumbers and { + ns = namespace or "", + rn = resolved, + tg = tag, + at = at, + dt = { }, + ni = nt, -- set slot, needed for css filtering + cf = currentfilename, + cl = currentline, + __p__ = top, + } or { ns = namespace or "", rn = resolved, tg = tag, at = at, dt = { }, ni = nt, -- set slot, needed for css filtering - __p__ = top + __p__ = top, } dt[nt] = t setmetatable(t, mt) @@ -281,18 +307,28 @@ local function add_begin(spacing, namespace, tag) dt[nt] = spacing end local resolved = namespace == "" and xmlns[#xmlns] or nsremap[namespace] or namespace - top = { + dt = { } + top = linenumbers and { ns = namespace or "", rn = resolved, tg = tag, at = at, - dt = { }, + dt = dt, + ni = nil, -- preset slot, needed for css filtering + cf = currentfilename, + cl = currentline, + __p__ = stack[level], + } or { + ns = namespace or "", + rn = resolved, + tg = tag, + at = at, + dt = dt, ni = nil, -- preset slot, needed for css filtering - __p__ = stack[level] + __p__ = stack[level], } setmetatable(top, mt) - dt = top.dt - nt = #dt + nt = 0 level = level + 1 stack[level] = top at = { } @@ -372,7 +408,15 @@ local function add_special(what, spacing, text) -- forget it else nt = nt + 1 - dt[nt] = { + dt[nt] = linenumbers and { + special = true, + ns = "", + tg = what, + ni = nil, -- preset slot + dt = { text }, + cf = currentfilename, + cl = currentline, + } or { special = true, ns = "", tg = what, @@ -406,14 +450,6 @@ end -- these will be set later -local grammar_parsed_text_one -local grammar_parsed_text_two - -local handle_hex_entity -local handle_dec_entity -local handle_any_entity_dtd -local handle_any_entity_text - -- in order to overcome lua limitations we wrap entity stuff in a -- closure @@ -880,7 +916,14 @@ local function handle_crap_error(chr) return chr end +local function handlenewline() + currentline = currentline + 1 +end + +local spacetab = S(' \t') local space = S(' \r\n\t') +local newline = lpegpatterns.newline / handlenewline +local anything = P(1) local open = P('<') local close = P('>') local squote = S("'") @@ -897,67 +940,9 @@ local name = name_yes + name_nop local utfbom = lpegpatterns.utfbom -- no capture local spacing = C(space^0) ------ entitycontent = (1-open-semicolon)^0 -local anyentitycontent = (1-open-semicolon-space-close-ampersand)^0 -local hexentitycontent = R("AF","af","09")^1 -local decentitycontent = R("09")^1 -local parsedentity = P("#")/"" * ( - P("x")/"" * (hexentitycontent/handle_hex_entity) + - (decentitycontent/handle_dec_entity) - ) + (anyentitycontent/handle_any_entity_dtd) -- can be Cc(true) -local parsedentity_text= P("#")/"" * ( - P("x")/"" * (hexentitycontent/handle_hex_entity) + - (decentitycontent/handle_dec_entity) - ) + (anyentitycontent/handle_any_entity_text) -- can be Cc(false) ------ entity = ampersand/"" * parsedentity * ( (semicolon/"") + #(P(1)/handle_end_entity)) -local entity = (ampersand/"") * parsedentity * (semicolon/"") - + ampersand * (anyentitycontent / handle_end_entity) -local entity_text = (ampersand/"") * parsedentity_text * (semicolon/"") - + ampersand * (anyentitycontent / handle_end_entity) - -local text_unparsed = C((1-open)^1) -local text_parsed = (Cs((1-open-ampersand)^1)/add_text + Cs(entity_text)/add_text)^1 - -local somespace = space^1 -local optionalspace = space^0 - ------ value = (squote * C((1 - squote)^0) * squote) + (dquote * C((1 - dquote)^0) * dquote) -- ampersand and < also invalid in value -local value = (squote * Cs((entity + (1 - squote))^0) * squote) + (dquote * Cs((entity + (1 - dquote))^0) * dquote) -- ampersand and < also invalid in value - -local endofattributes = slash * close + close -- recovery of flacky html -local whatever = space * name * optionalspace * equal ------ wrongvalue = C(P(1-whatever-close)^1 + P(1-close)^1) / attribute_value_error ------ wrongvalue = C(P(1-whatever-endofattributes)^1 + P(1-endofattributes)^1) / attribute_value_error ------ wrongvalue = C(P(1-space-endofattributes)^1) / attribute_value_error -local wrongvalue = Cs(P(entity + (1-space-endofattributes))^1) / attribute_value_error - -local attributevalue = value + wrongvalue - -local attribute = (somespace * name * optionalspace * equal * optionalspace * attributevalue) / add_attribute ------ attributes = (attribute)^0 - -local attributes = (attribute + somespace^-1 * (((1-endofattributes)^1)/attribute_specification_error))^0 - -local parsedtext = text_parsed -- / add_text -local unparsedtext = text_unparsed / add_text -local balanced = P { "[" * ((1 - S"[]") + V(1))^0 * "]" } -- taken from lpeg manual, () example - -local emptyelement = (spacing * open * name * attributes * optionalspace * slash * close) / add_empty -local beginelement = (spacing * open * name * attributes * optionalspace * close) / add_begin -local endelement = (spacing * open * slash * name * optionalspace * close) / add_end - --- todo: combine the opens in: - -local begincomment = open * P("!--") -local endcomment = P("--") * close -local begininstruction = open * P("?") -local endinstruction = P("?") * close -local begincdata = open * P("![CDATA[") -local endcdata = P("]]") * close - -local someinstruction = C((1 - endinstruction)^0) -local somecomment = C((1 - endcomment )^0) -local somecdata = C((1 - endcdata )^0) +local space_nl = spacetab + newline +local spacing_nl = Cs((space_nl)^0) +local anything_nl = newline + P(1) local function weirdentity(k,v) if trace_entities then @@ -984,97 +969,177 @@ local function publicentity(k,v,n) entities[k] = v end --- todo: separate dtd parser +local function install(spacenewline,spacing,anything) -local begindoctype = open * P("!DOCTYPE") -local enddoctype = close -local beginset = P("[") -local endset = P("]") -local wrdtypename = C((1-somespace-P(";"))^1) -local doctypename = C((1-somespace-close)^0) -local elementdoctype = optionalspace * P(" will be re -- now we can flush function lxml.main(id) - xmlserialize(getid(id),xmltexhandler) -- the real root (@rt@) + local root = getid(id) +-- if setfilename then +-- syncfilename(root,"main") +-- end + xmlserialize(root,xmltexhandler) -- the real root (@rt@) end -- -- lines (untested) @@ -1932,7 +2024,7 @@ function lxml.flush(id) if e then local dt = e.dt if dt then - xmlsprint(dt) + xmlsprint(dt,e) end end end @@ -1954,7 +2046,7 @@ function lxml.snippet(id,i) if dt then local dti = dt[i] if dti then - xmlsprint(dti) + xmlsprint(dti,e) end end end @@ -2086,12 +2178,13 @@ function lxml.strip(id,pattern,nolines,anywhere) end function lxml.stripped(id,pattern,nolines) - local str = xmltext(getid(id),pattern) or "" + local root = getid(id) + local str = xmltext(root,pattern) or "" str = gsub(str,"^%s*(.-)%s*$","%1") if nolines then str = gsub(str,"%s+"," ") end - xmlsprint(str) + xmlsprint(str,root) end function lxml.delete(id,pattern) diff --git a/tex/context/base/mkiv/math-act.lua b/tex/context/base/mkiv/math-act.lua index 4fcac17d8..ddc7510b1 100644 --- a/tex/context/base/mkiv/math-act.lua +++ b/tex/context/base/mkiv/math-act.lua @@ -28,6 +28,7 @@ local appendgroup = sequencers.appendgroup local appendaction = sequencers.appendaction local fontchars = fonts.hashes.characters +local fontproperties = fonts.hashes.properties local mathfontparameteractions = sequencers.new { name = "mathparameters", @@ -664,10 +665,20 @@ blocks["uppercasedoublestruck"].gaps = { local stack = { } -function mathematics.registerfallbackid(n,id) +function mathematics.registerfallbackid(n,id,name) + if trace_collecting then + report_math("resolved fallback font %i, name %a, id %a, used %a", + n,name,id,fontproperties[id].fontname) + end stack[#stack][n] = id end +interfaces.implement { -- will be shared with text + name = "registerfontfallbackid", + arguments = { "integer", "integer", "string" }, + actions = mathematics.registerfallbackid, +} + function mathematics.resolvefallbacks(target,specification,fallbacks) local definitions = fonts.collections.definitions[fallbacks] if definitions then @@ -733,8 +744,8 @@ function mathematics.finishfallbacks(target,specification,fallbacks) end if force or (not done[unic] and not characters[unic]) then if trace_collecting then - report_math("replacing math character %C by %C using vector %a and font %a named %a%s%s", - unic,unicode,fallbacks,id,name,check and ", checked",gap and ", gap plugged") + report_math("replacing math character %C by %C using vector %a and font id %a for %a%s%s", + unic,unicode,fallbacks,id,fontproperties[id].fontname,check and ", checked",gap and ", gap plugged") end characters[unic] = copiedglyph(target,characters,chars,unicode,index) done[unic] = true diff --git a/tex/context/base/mkiv/math-fbk.lua b/tex/context/base/mkiv/math-fbk.lua index 564ece8d7..7621b6525 100644 --- a/tex/context/base/mkiv/math-fbk.lua +++ b/tex/context/base/mkiv/math-fbk.lua @@ -519,45 +519,19 @@ virtualcharacters[0xFE303] = function(data) return smashed(data,0x0303,0xFE303) -- these primes in fonts are a real mess .. kind of a dead end, so don't wonder about -- the values below --- todo: check tounicodes - -local function smashed(data,unicode,optional) - local oldchar = data.characters[unicode] - if oldchar then - local xheight = data.target.parameters.xheight - local height = 1.2 * xheight - local shift = oldchar.height - height - local newchar = { - commands = { - { "down", shift }, - { "char", unicode }, - }, - height = height, - width = oldchar.width, - } - return newchar - elseif not optional then - report_fallbacks("missing %U prime in font %a",unicode,data.target.properties.fullname) - end -end - --- -- relocate all but less flexible so not used .. instead some noad hackery plus --- -- the above --- -- local function smashed(data,unicode,optional) -- local oldchar = data.characters[unicode] -- if oldchar then -- local xheight = data.target.parameters.xheight --- local height = oldchar.height --- local shift = oldchar.height < 1.5*xheight and -(1.8*xheight-height) or 0 +-- local height = 1.25 * xheight +-- local shift = oldchar.height - height -- local newchar = { -- commands = { -- { "down", shift }, -- { "char", unicode }, -- }, --- unicode = unicode, --- height = height, --- width = oldchar.width, +-- height = height, +-- width = oldchar.width, -- } -- return newchar -- elseif not optional then @@ -565,23 +539,23 @@ end -- end -- end -addextra(0xFE932, { description="SMASHED PRIME 0x02032", unicodeslot=0xFE932 } ) -addextra(0xFE933, { description="SMASHED PRIME 0x02033", unicodeslot=0xFE933 } ) -addextra(0xFE934, { description="SMASHED PRIME 0x02034", unicodeslot=0xFE934 } ) -addextra(0xFE957, { description="SMASHED PRIME 0x02057", unicodeslot=0xFE957 } ) +-- addextra(0xFE932, { description = "SMASHED PRIME 0x02032", unicodeslot = 0xFE932 } ) +-- addextra(0xFE933, { description = "SMASHED PRIME 0x02033", unicodeslot = 0xFE933 } ) +-- addextra(0xFE934, { description = "SMASHED PRIME 0x02034", unicodeslot = 0xFE934 } ) +-- addextra(0xFE957, { description = "SMASHED PRIME 0x02057", unicodeslot = 0xFE957 } ) -addextra(0xFE935, { description="SMASHED BACKWARD PRIME 0x02035", unicodeslot=0xFE935 } ) -addextra(0xFE936, { description="SMASHED BACKWARD PRIME 0x02036", unicodeslot=0xFE936 } ) -addextra(0xFE937, { description="SMASHED BACKWARD PRIME 0x02037", unicodeslot=0xFE937 } ) +-- addextra(0xFE935, { description = "SMASHED BACKWARD PRIME 0x02035", unicodeslot = 0xFE935 } ) +-- addextra(0xFE936, { description = "SMASHED BACKWARD PRIME 0x02036", unicodeslot = 0xFE936 } ) +-- addextra(0xFE937, { description = "SMASHED BACKWARD PRIME 0x02037", unicodeslot = 0xFE937 } ) -virtualcharacters[0xFE932] = function(data) return smashed(data,0x02032) end -virtualcharacters[0xFE933] = function(data) return smashed(data,0x02033) end -virtualcharacters[0xFE934] = function(data) return smashed(data,0x02034) end -virtualcharacters[0xFE957] = function(data) return smashed(data,0x02057) end +-- virtualcharacters[0xFE932] = function(data) return smashed(data,0x02032) end +-- virtualcharacters[0xFE933] = function(data) return smashed(data,0x02033) end +-- virtualcharacters[0xFE934] = function(data) return smashed(data,0x02034) end +-- virtualcharacters[0xFE957] = function(data) return smashed(data,0x02057) end -virtualcharacters[0xFE935] = function(data) return smashed(data,0x02035,true) end -virtualcharacters[0xFE936] = function(data) return smashed(data,0x02036,true) end -virtualcharacters[0xFE937] = function(data) return smashed(data,0x02037,true) end +-- virtualcharacters[0xFE935] = function(data) return smashed(data,0x02035,true) end +-- virtualcharacters[0xFE936] = function(data) return smashed(data,0x02036,true) end +-- virtualcharacters[0xFE937] = function(data) return smashed(data,0x02037,true) end -- actuarian (beware: xits has an ugly one) diff --git a/tex/context/base/mkiv/math-noa.lua b/tex/context/base/mkiv/math-noa.lua index f9e8c9f70..2e94f0d71 100644 --- a/tex/context/base/mkiv/math-noa.lua +++ b/tex/context/base/mkiv/math-noa.lua @@ -1510,6 +1510,8 @@ local collapse = { } processors.collapse = collapse local mathpairs = characters.mathpairs -- next will move to char-def +-- 0x02B9 modifier + mathpairs[0x2032] = { [0x2032] = 0x2033, [0x2033] = 0x2034, [0x2034] = 0x2057 } -- (prime,prime) (prime,doubleprime) (prime,tripleprime) mathpairs[0x2033] = { [0x2032] = 0x2034, [0x2033] = 0x2057 } -- (doubleprime,prime) (doubleprime,doubleprime) mathpairs[0x2034] = { [0x2032] = 0x2057 } -- (tripleprime,prime) @@ -1521,24 +1523,40 @@ mathpairs[0x222B] = { [0x222B] = 0x222C, [0x222C] = 0x222D } mathpairs[0x222C] = { [0x222B] = 0x222D } mathpairs[0x007C] = { [0x007C] = 0x2016, [0x2016] = 0x2980 } -- bar+bar=double bar+double=triple -mathpairs[0x2016] = { [0x007C] = 0x2980 } -- double+bar=triple +mathpairs[0x2016] = { [0x007C] = 0x2980, [0x02B9] = 0x2016 } -- double+bar=triple + +-- local movesub = { +-- -- primes +-- [0x2032] = 0xFE932, +-- [0x2033] = 0xFE933, +-- [0x2034] = 0xFE934, +-- [0x2057] = 0xFE957, +-- -- reverse primes +-- [0x2035] = 0xFE935, +-- [0x2036] = 0xFE936, +-- [0x2037] = 0xFE937, +-- } local movesub = { -- primes - [0x2032] = 0xFE932, - [0x2033] = 0xFE933, - [0x2034] = 0xFE934, - [0x2057] = 0xFE957, + [0x2032] = 0x2032, + [0x2033] = 0x2033, + [0x2034] = 0x2034, + [0x2057] = 0x2057, -- reverse primes - [0x2035] = 0xFE935, - [0x2036] = 0xFE936, - [0x2037] = 0xFE937, + [0x2035] = 0x2035, + [0x2036] = 0x2036, + [0x2037] = 0x2037, } +-- inner under over vcenter + local validpair = { - [noad_rel] = true, [noad_ord] = true, + [noad_rel] = true, [noad_bin] = true, -- new + [noad_open] = true, -- new + [noad_close] = true, -- new [noad_punct] = true, -- new [noad_opdisplaylimits] = true, [noad_oplimits] = true, @@ -1548,9 +1566,11 @@ local validpair = { local function movesubscript(parent,current_nucleus,current_char) local prev = getprev(parent) if prev and getid(prev) == math_noad then - if not getsup(prev) and not getsub(prev) then + local psup = getsup(prev) + local psub = getsub(prev) + if not psup and not psub then -- {f} {'}_n => f_n^' - setchar(current_nucleus,movesub[current_char or getchar(current_nucleus)]) + -- setchar(current_nucleus,movesub[current_char or getchar(current_nucleus)]) local nucleus = getnucleus(parent) local sub = getsub(parent) local sup = getsup(parent) @@ -1563,9 +1583,9 @@ local function movesubscript(parent,current_nucleus,current_char) if trace_collapsing then report_collapsing("fixing subscript") end - elseif not getsup(prev) then + elseif not psup then -- {f} {'}_n => f_n^' - setchar(current_nucleus,movesub[current_char or getchar(current_nucleus)]) + -- setchar(current_nucleus,movesub[current_char or getchar(current_nucleus)]) local nucleus = getnucleus(parent) local sup = getsup(parent) setsup(prev,nucleus) @@ -1592,9 +1612,9 @@ local function collapsepair(pointer,what,n,parent,nested) -- todo: switch to tur if next_noad and getid(next_noad) == math_noad then if validpair[getsubtype(next_noad)] then local next_nucleus = getnucleus(next_noad) - local next_char = getchar(next_nucleus) if getid(next_nucleus) == math_char then - local newchar = mathpair[next_char] + local next_char = getchar(next_nucleus) + local newchar = mathpair[next_char] if newchar then local id = getfont(current_nucleus) local characters = fontcharacters[id] @@ -1609,30 +1629,37 @@ local function collapsepair(pointer,what,n,parent,nested) -- todo: switch to tur else setnext(parent) end - setsup(parent,getsup(next_noad)) - setsub(parent,getsub(next_noad)) - setsup(next_noad) - setsub(next_noad) + local nsup = getsup(next_noad) + local nsub = getsub(next_noad) + if nsup then + setsup(parent,nsup) + setsup(next_noad) + end + if nsub then + setsub(parent,nsub) + setsub(next_noad) + end flush_node(next_noad) collapsepair(pointer,what,n,parent,true) - -- if not nested and movesub[current_char] then - -- movesubscript(parent,current_nucleus,current_char) - -- end end - elseif not nested and movesub[current_char] then - movesubscript(parent,current_nucleus,current_char) +-- elseif not nested and movesub[current_char] then +-- movesubscript(parent,current_nucleus,current_char) end end end - elseif not nested and movesub[current_char] then - movesubscript(parent,current_nucleus,current_char) +-- elseif not nested and movesub[current_char] then +-- movesubscript(parent,current_nucleus,current_char) end - elseif not nested and movesub[current_char] then - movesubscript(parent,current_nucleus,current_char) +-- elseif not nested and movesub[current_char] then +-- movesubscript(parent,current_nucleus,current_char) end - elseif not nested and movesub[current_char] then - movesubscript(parent,current_nucleus,current_char) +-- elseif not nested and movesub[current_char] then +-- movesubscript(parent,current_nucleus,current_char) end +local current_char = getchar(current_nucleus) +if movesub[current_char] then + movesubscript(parent,current_nucleus,current_char) +end end end end diff --git a/tex/context/base/mkiv/node-fnt.lua b/tex/context/base/mkiv/node-fnt.lua index 8aa088f88..0f89e581f 100644 --- a/tex/context/base/mkiv/node-fnt.lua +++ b/tex/context/base/mkiv/node-fnt.lua @@ -449,7 +449,7 @@ function handlers.characters(head,groupcode,size,packtype,direction) local attr = a > 0 and 0 or false -- 0 is the savest way for font, processors in next, usedfonts do -- unordered for i=1,#processors do - local h, d = processors[i](head,font,attr,direction) + local h, d = processors[i](head,font,attr,direction,u) if d then if h then head = h @@ -478,7 +478,7 @@ function handlers.characters(head,groupcode,size,packtype,direction) for font, dynamics in next, attrfonts do for attribute, processors in next, dynamics do -- unordered, attr can switch in between for i=1,#processors do - local h, d = processors[i](head,font,attribute,direction) + local h, d = processors[i](head,font,attribute,direction,a) if d then if h then head = h diff --git a/tex/context/base/mkiv/node-nut.lua b/tex/context/base/mkiv/node-nut.lua index b23709ff0..cbaeb8977 100644 --- a/tex/context/base/mkiv/node-nut.lua +++ b/tex/context/base/mkiv/node-nut.lua @@ -205,7 +205,9 @@ end if LUATEXVERSION < 1.005 then local getfield = direct.getfield - function direct.getsup(n) return getfield(n,"sup") end + function direct.getnucleus(n) return getfield(n,"nucleus") end + function direct.getsub (n) return getfield(n,"sub") end + function direct.getsup (n) return getfield(n,"sup") end end -- if LUATEXVERSION < 1.004 then @@ -856,8 +858,52 @@ end -- here: -nodes.set_synctex_line = node.set_synctex_line -nodes.set_synctex_tag = node.set_synctex_tag - nuts.get_synctex_fields = direct.get_synctex_fields nuts.set_synctex_fields = direct.set_synctex_fields + +-- for now + +nodes.uses_font = nodes.uses_font +nuts.uses_font = direct.uses_font + +if not nuts.uses_font then + + local glyph_code = nodecodes.glyph + local getdisc = nuts.getdisc + local getfont = nuts.getfont + local traverse_id = nuts.traverse_id + local tonut = nodes.tonut + + function nuts.uses_font(n,font) + local pre, post, replace = getdisc(n) + if pre then + -- traverse_char + for n in traverse_id(glyph_code,pre) do + if getfont(n) == font then + return true + end + end + end + if post then + for n in traverse_id(glyph_code,post) do + if getfont(n) == font then + return true + end + end + end + if replace then + for n in traverse_id(glyph_code,replace) do + if getfont(n) == font then + return true + end + end + end + return false + end + + function nodes.uses_font(n,font) + return nuts.uses_font(tonut(n),font) + end + +end + diff --git a/tex/context/base/mkiv/node-syn.lua b/tex/context/base/mkiv/node-syn.lua index 1b8e07382..a196f0b95 100644 --- a/tex/context/base/mkiv/node-syn.lua +++ b/tex/context/base/mkiv/node-syn.lua @@ -18,11 +18,13 @@ if not modules then modules = { } end modules ['node-syn'] = { -- -- Possible optimizations: pack whole lines. +-- InverseSearchCmdLine = mtxrun.exe --script synctex --edit --name="%f" --line="%l" $ + local type, rawset = type, rawset local concat = table.concat local formatters = string.formatters -local trace = false trackers.register("system.syntex.visualize", function(v) trace = v end) +local trace = false trackers.register("system.synctex.visualize", function(v) trace = v end) local nuts = nodes.nuts local tonut = nuts.tonut @@ -65,7 +67,12 @@ local a_fontkern = attributes.private("fontkern") local get_synctex_fields = nuts.get_synctex_fields local set_synctex_fields = nuts.set_synctex_fields -local set_syntex_tag = nodes.set_synctex_tag +local set_synctex_line = tex.set_synctex_line +local set_synctex_tag = tex.set_synctex_tag +local force_synctex_tag = tex.force_synctex_tag +local force_synctex_line = tex.force_synctex_line +----- get_synctex_tag = tex.get_synctex_tag +----- get_synctex_line = tex.get_synctex_line local getcount = tex.getcount local setcount = tex.setcount @@ -75,6 +82,9 @@ local getpos = function() return getpos() end + +local eol = "\010" + local f_glue = formatters["g%i,%i:%i,%i"] local f_glyph = formatters["x%i,%i:%i,%i"] local f_kern = formatters["k%i,%i:%i,%i:%i"] @@ -88,6 +98,10 @@ local f_vvoid = formatters["v%i,%i:%i,%i:%i,%i,%i"] local characters = fonts.hashes.characters +local foundintree = resolvers.foundintree +local suffixonly = file.suffix +local nameonly = file.nameonly + local synctex = { } luatex.synctex = synctex @@ -95,25 +109,56 @@ luatex.synctex = synctex local noftags = 0 local stnums = { } -local sttags = table.setmetatableindex(function(t,name) - noftags = noftags + 1 - t[name] = noftags - stnums[noftags] = name - return noftags +local nofblocked = 0 +local blockedfilenames = { } +local blockedsuffixes = { + mkii = true, + mkiv = true, + mkvi = true, + mkix = true, + mkxi = true, + -- lfg = true, +} + + +local sttags = table.setmetatableindex(function(t,name) + if blockedsuffixes[suffixonly(name)] then + -- Just so that I don't get the ones on my development tree. + nofblocked = nofblocked + 1 + return 0 + elseif blockedfilenames[nameonly(name)] then + -- So we can block specific files. + nofblocked = nofblocked + 1 + return 0 + elseif foundintree(name) then + -- One shouldn't edit styles etc this way. + nofblocked = nofblocked + 1 + return 0 + else + noftags = noftags + 1 + t[name] = noftags + stnums[noftags] = name + return noftags + end end) -function synctex.setfilename(name) - if set_syntex_tag and name then - set_syntex_tag(sttags[name]) +function synctex.blockfilename(name) + blockedfilenames[nameonly(name)] = name +end + +function synctex.setfilename(name,line) + if force_synctex_tag and name then + force_synctex_tag(sttags[name]) + if line then + force_synctex_line(line) + end end end function synctex.resetfilename() - if set_syntex_tag then - local name = luatex.currentfile() - if name then - set_syntex_tag(name) - end + if force_synctex_tag then + force_synctex_tag(0) + force_synctex_line(0) end end @@ -128,10 +173,14 @@ local last = 0 local filesdone = 0 local enabled = false local compact = true +-- local compact = false +local fulltrace = false +-- local fulltrace = true +local logfile = false local function writeanchor() local size = f:seek("end") - f:write("!" .. (size-last) .. "\n") + f:write("!" .. (size-last) ..eol) last = size end @@ -139,34 +188,35 @@ local function writefiles() local total = #stnums if filesdone < total then for i=filesdone+1,total do - f:write("Input:"..i..":"..stnums[i].."\n") + f:write("Input:"..i..":"..stnums[i]..eol) end filesdone = total end end local function flushpreamble() - local jobname = tex.jobname - stnums[0] = jobname - f = io.open(file.replacesuffix(jobname,"syncctx"),"w") - f:write("SyncTeX Version:1\n") - f:write("Input:0:"..jobname.."\n") + logfile = file.replacesuffix(tex.jobname,"syncctx") + f = io.open(logfile,"wb") + f:write("SyncTeX Version:1"..eol) writefiles() - f:write("Output:pdf\n") - f:write("Magnification:1000\n") - f:write("Unit:1\n") - f:write("X Offset:0\n") - f:write("Y Offset:0\n") - f:write("Content:\n") + f:write("Output:pdf"..eol) + f:write("Magnification:1000"..eol) + f:write("Unit:1"..eol) + f:write("X Offset:0"..eol) + f:write("Y Offset:0"..eol) + f:write("Content:"..eol) flushpreamble = writefiles end local function flushpostamble() + if not f then + return + end writeanchor() - f:write("Postamble:\n") - f:write("Count:"..nofobjects.."\n") + f:write("Postamble:"..eol) + f:write("Count:"..nofobjects..eol) writeanchor() - f:write("Post scriptum:\n") + f:write("Post scriptum:"..eol) f:close() enabled = false end @@ -261,7 +311,14 @@ end -- end)) -- end -local function collect(head,t,l) +-- todo: why not only lines +-- todo: larger ranges + +-- color is already handled so no colors + +-- we can have ranges .. more efficient but a bit more complex to analyze ... some day + +local function collect(head,t,l,dp,ht) local current = head while current do local id = getid(current) @@ -270,9 +327,20 @@ local function collect(head,t,l) local last = current while true do id = getid(current) + -- traditionally glyphs have no synctex code which works sort of ok + -- but not when we don't leave hmode cq. have no par + -- if id == glyph_code or id == disc_code then + local tc, lc = get_synctex_fields(current) + if tc and tc > 0 then + t, l = tc, lc + end last = current elseif id == kern_code and (getsubtype(current) == fontkern_code or getattr(current,a_fontkern)) then + local tc, lc = get_synctex_fields(current) + if tc and tc > 0 then + t, l = tc, lc + end last = current else if id == glue_code then @@ -285,16 +353,13 @@ local function collect(head,t,l) end local w, h, d = getdimensions(first,getnext(last)) -- local w, h, d = getrangedimensions(head,first,getnext(last)) + if dp and d < dp then d = dp end + if ht and h < ht then h = ht end + if h < 655360 then h = 655360 end + if d < 327680 then d = 327680 end if trace then - -- color is already handled so no colors - head = insert_before(head,first,new_hlist(new_rule(w,32768,32768))) + head = insert_before(head,first,new_hlist(new_rule(w,fulltrace and h or 32768,fulltrace and d or 32768))) end -if h < 655360 then - h = 655360 -end -if d < 327680 then - d = 327680 -end head = x_hlist(head,first,t,l,w,h,d) break end @@ -302,16 +367,13 @@ end if not current then local w, h, d = getdimensions(first,getnext(last)) -- local w, h, d = getrangedimensions(head,first,getnext(last)) + if dp and d < dp then d = dp end + if ht and h < ht then h = ht end + if h < 655360 then h = 655360 end + if d < 327680 then d = 327680 end if trace then - -- color is already handled so no colors - head = insert_before(head,first,new_hlist(new_rule(w,32768,32768))) + head = insert_before(head,first,new_hlist(new_rule(w,fulltrace and h or 32768,fulltrace and d or 32768))) end -if h < 655360 then - h = 655360 -end -if d < 327680 then - d = 327680 -end head = x_hlist(head,first,t,l,w,h,d) return head end @@ -341,15 +403,15 @@ end end elseif list then -- head = b_hlist(head,current,t,l,w,h,d) - head = b_hlist(head,current,0,0,w,h,d) - local l = collect(list,t,l) + head = b_hlist(head,current,0,0,w,h,d) -- todo: only d h when line + local l = collect(list,t,l,d,h) if l ~= list then setlist(current,l) end head, current = e_hlist(head,current) else -- head = x_hlist(head,current,t,l,w,h,d) - head = x_hlist(head,current,0,0,w,h,d) + head = x_hlist(head,current,0,0,w,h,d) -- todo: only d h when line end end elseif id == vlist_code then @@ -436,37 +498,71 @@ function synctex.flush() nofsheets = nofsheets + 1 -- could be realpageno flushpreamble() writeanchor() - f:write("{"..nofsheets.."\n") + f:write("{"..nofsheets..eol) if compact then - f:write(f_vlist(0,0,0,0,tex.pagewidth,tex.pageheight,0)) - f:write("\n") + -- f:write(f_vlist(0,0,0,0,tex.pagewidth,tex.pageheight,0)) + f:write(f_hlist(0,0,0,0,0,0,0)) + f:write(eol) + f:write(f_vlist(0,0,0,0,0,0,0)) + f:write(eol) end - f:write(concat(result,"\n")) + f:write(concat(result,eol)) if compact then - f:write("\n") + f:write(eol) f:write(s_vlist) + f:write(eol) + f:write(s_hlist) end - f:write("\n") + f:write(eol) writeanchor() - f:write("}"..nofsheets.."\n") + f:write("}"..nofsheets..eol) nofobjects = nofobjects + 2 result, r = { }, 0 end end -function synctex.enable() - if not enabled and node.set_synctex_mode then - enabled = true - node.set_synctex_mode(1) - tex.normalsynctex = 0 - nodes.tasks.appendaction("shipouts", "after", "nodes.synctex.collect") +local details = 1 +local state = 0 + +directives.register("system.synctex.details",function(v) + details = tonumber(v) or 1 +end) + +local set_synctex_mode = tex.set_synctex_mode + +if set_synctex_mode then + + function synctex.enable() + if not enabled then + enabled = true + state = details or 1 + set_synctex_mode(state) + tex.normalsynctex = 0 + directives.enable("system.synctex.xml") + nodes.tasks.appendaction("shipouts", "after", "nodes.synctex.collect") + elseif state > 0 then + set_synctex_mode(state) + end end -end -function synctex.finish() - if enabled then - flushpostamble() + function synctex.disable() + if enabled then + set_synctex_mode(0) + end end + + function synctex.finish() + if enabled then + flushpostamble() + end + end + +else + + function synctex.enable () end + function synctex.disable() end + function synctex.finish () end + end -- not the best place @@ -478,27 +574,60 @@ nodes.tasks.appendaction("shipouts", "after", "luatex.synctex.collect") -- moved here local report_system = logs.reporter("system") -local synctex = false +local synctex_used = false -directives.register("system.synctex", function(v) +local function setsynctex(v) if v == "context" then - luatex.synctex.enable() + synctex.enable() setcount("normalsynctex",0) - synctex = true + synctex_used = true else v = tonumber(v) or (toboolean(v,true) and 1) or (v == "zipped" and 1) or (v == "unzipped" and -1) or 0 setcount("normalsynctex",v) - synctex = v ~= 0 + synctex_used = v ~= 0 end - if synctex then + if synctex_used then report_system("synctex functionality is enabled (%s), expect runtime overhead!",tostring(v)) else report_system("synctex functionality is disabled!") end +end + +directives.register("system.synctex", setsynctex) -- 0|1|false|true|zipped|unzipped|context + +directives.register("system.synctex.context", function(v) + setsynctex(v and "context" or false) end) statistics.register("synctex tracing",function() - if synctex or getcount("normalsynctex") ~= 0 then - return "synctex has been enabled (extra log file generated)" + if synctex_used or getcount("normalsynctex") ~= 0 then + return string.format("%i referenced files, %i files ignored, logfile: %s",noftags,nofblocked,logfile) end end) + +interfaces.implement { + name = "synctexblockfilename", + arguments = "string", + actions = synctex.blockfilename, +} + +interfaces.implement { + name = "synctexsetfilename", + arguments = "string", + actions = synctex.setfilename, +} + +interfaces.implement { + name = "synctexresetfilename", + actions = synctex.resetfilename, +} + +interfaces.implement { + name = "synctexenable", + actions = synctex.enable, +} + +interfaces.implement { + name = "synctexdisable", + actions = synctex.disable, +} diff --git a/tex/context/base/mkiv/page-one.mkiv b/tex/context/base/mkiv/page-one.mkiv index 9bd6951f3..59efbd204 100644 --- a/tex/context/base/mkiv/page-one.mkiv +++ b/tex/context/base/mkiv/page-one.mkiv @@ -456,7 +456,6 @@ \fi\fi \fi} - \def\page_one_place_float_here_indeed {\ifgridsnapping % otherwise real bad outcome diff --git a/tex/context/base/mkiv/publ-aut.lua b/tex/context/base/mkiv/publ-aut.lua index 6ad8b1296..6a8e52cb8 100644 --- a/tex/context/base/mkiv/publ-aut.lua +++ b/tex/context/base/mkiv/publ-aut.lua @@ -313,12 +313,12 @@ local function the_initials(initials,symbol,connector) s = s + 1 ; set[s] = connector end s = s + 1 ; set[s] = initial[i] - s = s + 1 ; set[s] = symbol end r = r + 1 ; result[r] = concat(set) else - r = r + 1 ; result[r] = initial .. symbol + r = r + 1 ; result[r] = initial end + r = r + 1 ; result[r] = symbol end return result end @@ -339,8 +339,9 @@ local ctx_btxstopauthor = context.btxstopauthor local concatstate = publications.concatstate local f_invalid = formatters[""] -local currentauthordata = nil -local currentauthorsymbol = nil +local currentauthordata = nil +local currentauthorsymbol = nil +local currentauthorconnector = nil local manipulators = typesetters.manipulators local splitmanipulation = manipulators.splitspecification @@ -359,7 +360,7 @@ local function value(i,field) end implement { name = "btxcurrentfirstnames", arguments = "integer", actions = function(i) local v = value(i,"firstnames") if v then context(concat(v," ")) end end } -implement { name = "btxcurrentinitials", arguments = "integer", actions = function(i) local v = value(i,"initials") if v then context(concat(the_initials(v,currentauthorsymbol))) end end } +implement { name = "btxcurrentinitials", arguments = "integer", actions = function(i) local v = value(i,"initials") if v then context(concat(the_initials(v,currentauthorsymbol,currentauthorconnector))) end end } implement { name = "btxcurrentjuniors", arguments = "integer", actions = function(i) local v = value(i,"juniors") if v then context(concat(v," ")) end end } implement { name = "btxcurrentsurnames", arguments = "integer", actions = function(i) local v = value(i,"surnames") if v then context(concat(v," ")) end end } implement { name = "btxcurrentvons", arguments = "integer", actions = function(i) local v = value(i,"vons") if v then context(concat(v," ")) end end } @@ -408,6 +409,7 @@ local function btxauthor(dataset,tag,field,settings) local etallast = etaloption[v_last] local combiner = settings.combiner local symbol = settings.symbol + local connector = settings.connector local index = settings.index if not combiner or combiner == "" then combiner = "normal" @@ -421,8 +423,9 @@ local function btxauthor(dataset,tag,field,settings) else etallast = false end - currentauthordata = split - currentauthorsymbol = symbol + currentauthordata = split + currentauthorsymbol = symbol + currentauthorconnector = connector local function oneauthor(i,last,justone) local author = split[i] @@ -508,6 +511,7 @@ implement { { "etaldisplay" }, { "etaloption" }, { "symbol" }, + { "connector" }, } } } diff --git a/tex/context/base/mkiv/publ-ini.mkiv b/tex/context/base/mkiv/publ-ini.mkiv index 5f9aaa692..1a45ec587 100644 --- a/tex/context/base/mkiv/publ-ini.mkiv +++ b/tex/context/base/mkiv/publ-ini.mkiv @@ -1084,6 +1084,7 @@ etaldisplay {\btxparameter\c!etaldisplay}% etaloption {\btxparameter\c!etaloption}% symbol {\btxparameter{\c!stopper:initials}}% + connector {\btxparameter{\c!connector:initials}}% }% \relax \endgroup} diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf index ac5183783..a38925207 100644 Binary files a/tex/context/base/mkiv/status-files.pdf and b/tex/context/base/mkiv/status-files.pdf differ diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf index 7e492a7e7..8e140db0c 100644 Binary files a/tex/context/base/mkiv/status-lua.pdf and b/tex/context/base/mkiv/status-lua.pdf differ diff --git a/tex/context/base/mkiv/tabl-frm.mkiv b/tex/context/base/mkiv/tabl-frm.mkiv index 639d6f06d..c0f4b7cd1 100644 --- a/tex/context/base/mkiv/tabl-frm.mkiv +++ b/tex/context/base/mkiv/tabl-frm.mkiv @@ -134,6 +134,56 @@ {\framedparameter\c!after \endgroup} +% \unexpanded\def\startframedrow +% {\advance\c_tabl_framed_r\plusone +% \c_tabl_framed_c\zerocount +% \d_tabl_framed_h\zeropoint +% \bgroup +% \edef\currentframed{\number\c_tabl_framed_r}% +% \edef\currentframed +% {\??framedtablerow\currentframedtable +% \ifcsname\??framedtablerow\currentframedtable:\currentframed\endcsname +% :\currentframed +% \else\ifcsname\??framedtablerow\currentframedtable:\v!each\endcsname +% :\v!each +% \fi\fi}% +% \dosingleempty\pack_framed_start_framed_nop_indeed} +% +% \unexpanded\def\stopframedrow +% {\dofastloopcs\c_tabl_framed_c\tabl_framed_flush_row +% \stopframed +% \nointerlineskip +% \vskip\zeropoint\relax +% \framedparameter\c!inbetween} +% +% \unexpanded\def\tabl_framed_flush_row +% {\vpack to \d_tabl_framed_h{\flushbox\??framedtable{\number\fastloopindex}\vfill}% +% \ifdim\d_tabl_framed_d=\zeropoint\else\kern\d_tabl_framed_d\fi} +% +% \unexpanded\def\startframedcell +% {\advance\c_tabl_framed_c\plusone +% \setbox\b_tabl_framed\hpack\bgroup +% %\bgroup +% \edef\currentframed{\number\c_tabl_framed_c}% +% \edef\currentframed +% {\??framedtablecolumn\currentframedtable +% \ifcsname\??framedtablecolumn\currentframedtable:\currentframed\endcsname +% :\currentframed +% \else\ifcsname\??framedtablecolumn\currentframedtable:\v!each\endcsname +% :\v!each +% \fi\fi}% +% \dosingleempty\pack_framed_start_framed_nop_indeed} +% +% \unexpanded\def\stopframedcell +% {\stopframed +% %\egroup +% \ifdim\ht\b_tabl_framed>\d_tabl_framed_h +% \d_tabl_framed_h\ht\b_tabl_framed +% \fi +% \savebox\??framedtable{\number\c_tabl_framed_c}{\box\b_tabl_framed}} + +% a two pass variant that deals with the height .. so no catcode changes here + \unexpanded\def\startframedrow {\advance\c_tabl_framed_r\plusone \c_tabl_framed_c\zerocount @@ -160,6 +210,52 @@ {\vpack to \d_tabl_framed_h{\flushbox\??framedtable{\number\fastloopindex}\vfill}% \ifdim\d_tabl_framed_d=\zeropoint\else\kern\d_tabl_framed_d\fi} +\newcount\c_tabl_framed_pass + +\let\stopframedrow\relax + +\unexpanded\def\startframedrow#1\stopframedrow + {\advance\c_tabl_framed_r\plusone + \startframedrow_one#1\stopframedrow_one + \startframedrow_two#1\stopframedrow_two} + +\def\startframedrow_one + {\bgroup + \c_tabl_framed_pass\plusone + \c_tabl_framed_c\zerocount + \d_tabl_framed_h\zeropoint + \settrialtypesetting + \gobblesingleempty} + +\unexpanded\def\stopframedrow_one + {\normalexpanded{\egroup\d_tabl_framed_h\the\d_tabl_framed_h\relax}} + +\def\startframedrow_two + {\bgroup + \c_tabl_framed_c\zerocount + \c_tabl_framed_pass\plustwo + \edef\currentframed{\number\c_tabl_framed_r}% + \edef\currentframed + {\??framedtablerow\currentframedtable + \ifcsname\??framedtablerow\currentframedtable:\currentframed\endcsname + :\currentframed + \else\ifcsname\??framedtablerow\currentframedtable:\v!each\endcsname + :\v!each + \fi\fi}% + \dosingleempty\pack_framed_start_framed_nop_indeed} + +\unexpanded\def\stopframedrow_two + {\dofastloopcs\c_tabl_framed_c\tabl_framed_flush_row + \stopframed + \nointerlineskip + \vskip\zeropoint\relax + \framedparameter\c!inbetween} + +\unexpanded\def\tabl_framed_flush_row_two + {\vpack to \d_tabl_framed_h{\flushbox\??framedtable{\number\fastloopindex}\vfill}% + \ifdim\d_tabl_framed_d=\zeropoint\else\kern\d_tabl_framed_d\fi} + + \unexpanded\def\startframedcell {\advance\c_tabl_framed_c\plusone \setbox\b_tabl_framed\hpack\bgroup @@ -172,15 +268,26 @@ \else\ifcsname\??framedtablecolumn\currentframedtable:\v!each\endcsname :\v!each \fi\fi}% + \ifcase\c_tabl_framed_pass + \or + \letframedparameter\c!background\empty + \letframedparameter\c!frame\v!off + \or + \letframedparameter\c!height\d_tabl_framed_h + \fi \dosingleempty\pack_framed_start_framed_nop_indeed} \unexpanded\def\stopframedcell {\stopframed %\egroup - \ifdim\ht\b_tabl_framed>\d_tabl_framed_h - \d_tabl_framed_h\ht\b_tabl_framed - \fi - \savebox\??framedtable{\number\c_tabl_framed_c}{\box\b_tabl_framed}} + \ifcase\c_tabl_framed_pass + \or + \ifdim\ht\b_tabl_framed>\d_tabl_framed_h + \d_tabl_framed_h\ht\b_tabl_framed + \fi + \else + \savebox\??framedtable{\number\c_tabl_framed_c}{\box\b_tabl_framed}% + \fi} \protect \endinput diff --git a/tex/context/base/mkiv/trac-set.lua b/tex/context/base/mkiv/trac-set.lua index d0047650f..77de85e8e 100644 --- a/tex/context/base/mkiv/trac-set.lua +++ b/tex/context/base/mkiv/trac-set.lua @@ -219,13 +219,30 @@ function setters.show(t) local name = list[k] local functions = t.data[name] if functions then - local value, default, modules = functions.value, functions.default, #functions - value = value == nil and "unset" or tostring(value) - default = default == nil and "unset" or tostring(default) - t.report("%-50s modules: %2i default: %-12s value: %-12s",name,modules,default,value) + local value = functions.value + local default = functions.default + local modules = #functions + if default == nil then + default = "unset" + elseif type(default) == "table" then + default = concat(default,"|") + else + default = tostring(default) + end + if value == nil then + value = "unset" + elseif type(value) == "table" then + value = concat(value,"|") + else + value = tostring(value) + end + t.report(name) + t.report(" modules : %i",modules) + t.report(" default : %s",default) + t.report(" value : %s",value) + t.report() end end - t.report() end -- we could have used a bit of oo and the trackers:enable syntax but diff --git a/tex/context/base/mkiv/trac-tex.lua b/tex/context/base/mkiv/trac-tex.lua index 66cdc2c91..38035a044 100644 --- a/tex/context/base/mkiv/trac-tex.lua +++ b/tex/context/base/mkiv/trac-tex.lua @@ -84,7 +84,7 @@ local function saveusedfilesintrees(format) jobname = environment.jobname or "?", version = environment.version or "?", kind = environment.kind or "?", - files = resolvers.instance.foundintrees + files = resolvers.foundintrees() } local filename = file.replacesuffix(environment.jobname or "context-job",'jlg') if format == "lua" then diff --git a/tex/context/fonts/mkiv/lucida-opentype-math.lfg b/tex/context/fonts/mkiv/lucida-opentype-math.lfg index 29206da1a..5f973f41e 100644 --- a/tex/context/fonts/mkiv/lucida-opentype-math.lfg +++ b/tex/context/fonts/mkiv/lucida-opentype-math.lfg @@ -22,6 +22,7 @@ return { dimensions = { default = { -- experimental values [0x2044] = { xoffset = 275, width = 600 }, +-- [0x2032] = { yoffset = -10 }, }, }, }, diff --git a/tex/context/fonts/mkiv/px-math.lfg b/tex/context/fonts/mkiv/px-math.lfg index 14f71dad3..08d208b3f 100644 --- a/tex/context/fonts/mkiv/px-math.lfg +++ b/tex/context/fonts/mkiv/px-math.lfg @@ -10,8 +10,9 @@ return { }, virtuals = { ["px-math"] = { - { name = "texgyre-pagella-math-regular.otf", features = "virtualmath", main = true }, - { name = "texgyrepagella-regular.otf", features = "virtualmath", vector = "tex-mr-missing" } , +-- { name = "texgyre-pagella-math-regular.otf", features = "virtualmath", main = true }, +-- { name = "texgyrepagella-regular.otf", features = "virtualmath", vector = "tex-mr-missing" } , + { name = "texgyrepagella-regular.otf", features = "virtualmath" } , { name = "rpxr.tfm", vector = "tex-mr" } , { name = "rpxmi.tfm", vector = "tex-mi", skewchar=0x7F }, { name = "rpxpplri.tfm", vector = "tex-it", skewchar=0x7F }, diff --git a/tex/context/interface/mkiv/context-en.xml b/tex/context/interface/mkiv/context-en.xml index e8353dbdc..07181d34f 100644 --- a/tex/context/interface/mkiv/context-en.xml +++ b/tex/context/interface/mkiv/context-en.xml @@ -2,7 +2,7 @@ - + @@ -19,7 +19,7 @@ - + @@ -36,7 +36,7 @@ - + @@ -49,7 +49,7 @@ - + @@ -121,9 +121,9 @@ - + - + @@ -131,25 +131,19 @@ - - - - + - + - + - - - - + - + @@ -163,18 +157,10 @@ - - - - - - - - - - - - + + + + @@ -183,25 +169,29 @@ + + + + - + - + - + - + @@ -214,7 +204,7 @@ - + @@ -227,12 +217,12 @@ - + - + @@ -242,36 +232,36 @@ - + - + - + - - + + - + @@ -281,7 +271,7 @@ - + @@ -324,7 +314,7 @@ - + @@ -337,7 +327,7 @@ - + @@ -369,7 +359,7 @@ - + @@ -382,14 +372,14 @@ - + - + @@ -400,12 +390,12 @@ - + - + @@ -413,7 +403,7 @@ - + @@ -434,7 +424,7 @@ - + @@ -460,7 +450,7 @@ - + @@ -473,7 +463,7 @@ - + @@ -486,7 +476,7 @@ - + @@ -501,7 +491,7 @@ - + @@ -514,7 +504,7 @@ - + @@ -584,9 +574,19 @@ - + + + + + + + + + + + - + @@ -610,118 +610,38 @@ - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -764,28 +684,28 @@ - + - + - + - + @@ -816,7 +736,7 @@ - + @@ -859,7 +779,7 @@ - + @@ -871,7 +791,7 @@ - + @@ -884,7 +804,7 @@ - + @@ -909,7 +829,7 @@ - + @@ -917,6 +837,7 @@ + @@ -926,8 +847,7 @@ - - + @@ -937,19 +857,17 @@ - - + - + - - + @@ -959,14 +877,13 @@ - + - - + @@ -976,14 +893,13 @@ - + - - + @@ -995,7 +911,7 @@ - + @@ -1035,7 +951,7 @@ - + @@ -1102,7 +1018,7 @@ - + @@ -1111,21 +1027,21 @@ - + - - - - - - - - + + + + + + + + @@ -1137,7 +1053,7 @@ - + @@ -1170,22 +1086,22 @@ - + - - - - + + + + - + @@ -1204,7 +1120,7 @@ - + @@ -1256,7 +1172,7 @@ - + @@ -1264,7 +1180,7 @@ - + @@ -1272,7 +1188,7 @@ - + @@ -1280,7 +1196,7 @@ - + @@ -1288,7 +1204,7 @@ - + @@ -1296,7 +1212,7 @@ - + @@ -1304,7 +1220,7 @@ - + @@ -1312,7 +1228,7 @@ - + @@ -1320,7 +1236,7 @@ - + @@ -1328,7 +1244,7 @@ - + @@ -1380,7 +1296,7 @@ - + @@ -1393,7 +1309,7 @@ - + @@ -1401,11 +1317,11 @@ - - - - - + + + + + @@ -1417,7 +1333,7 @@ - + @@ -1672,7 +1588,7 @@ - + @@ -1683,14 +1599,14 @@ - + - + @@ -1701,7 +1617,7 @@ - + @@ -1711,7 +1627,7 @@ - + @@ -1721,7 +1637,7 @@ - + @@ -1737,7 +1653,7 @@ - + @@ -1753,7 +1669,7 @@ - + @@ -1761,7 +1677,7 @@ - + @@ -1769,7 +1685,7 @@ - + @@ -1777,7 +1693,7 @@ - + @@ -1792,9 +1708,9 @@ - - - + + + @@ -1830,7 +1746,7 @@ - + @@ -1838,7 +1754,7 @@ - + @@ -1846,7 +1762,7 @@ - + @@ -1854,7 +1770,7 @@ - + @@ -1862,7 +1778,7 @@ - + @@ -1870,7 +1786,7 @@ - + @@ -1878,12 +1794,12 @@ - + - + @@ -1894,7 +1810,7 @@ - + @@ -1905,7 +1821,7 @@ - + @@ -1916,7 +1832,7 @@ - + @@ -1927,7 +1843,7 @@ - + @@ -1935,7 +1851,7 @@ - + @@ -1943,7 +1859,7 @@ - + @@ -1951,7 +1867,7 @@ - + @@ -1959,13 +1875,13 @@ - + - + @@ -1973,7 +1889,7 @@ - + @@ -1981,13 +1897,13 @@ - + - + @@ -1995,10 +1911,10 @@ - - - - + + + + @@ -2006,7 +1922,7 @@ - + @@ -2020,7 +1936,7 @@ - + @@ -2034,15 +1950,15 @@ - + - - - - + + + + @@ -2051,7 +1967,7 @@ - + @@ -2060,7 +1976,7 @@ - + @@ -2069,7 +1985,7 @@ - + @@ -2077,7 +1993,7 @@ - + @@ -2085,7 +2001,7 @@ - + @@ -2093,7 +2009,7 @@ - + @@ -2101,7 +2017,7 @@ - + @@ -2109,7 +2025,7 @@ - + @@ -2117,7 +2033,7 @@ - + @@ -2125,7 +2041,7 @@ - + @@ -2133,7 +2049,7 @@ - + @@ -2141,7 +2057,7 @@ - + @@ -2149,7 +2065,7 @@ - + @@ -2157,7 +2073,7 @@ - + @@ -2165,7 +2081,7 @@ - + @@ -2173,7 +2089,7 @@ - + @@ -2181,7 +2097,7 @@ - + @@ -2189,7 +2105,7 @@ - + @@ -2227,9 +2143,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -2242,7 +2262,7 @@ - + @@ -2255,21 +2275,21 @@ - + - + - + @@ -2285,7 +2305,7 @@ - + @@ -2298,14 +2318,14 @@ - + - + @@ -2320,7 +2340,7 @@ - + @@ -2333,7 +2353,7 @@ - + @@ -2347,28 +2367,27 @@ - + - + - + - + - + - @@ -2426,7 +2445,7 @@ - + @@ -2436,10 +2455,10 @@ - + - + @@ -2459,7 +2478,7 @@ - + @@ -2472,7 +2491,7 @@ - + @@ -2633,7 +2652,7 @@ - + @@ -2646,7 +2665,7 @@ - + @@ -2686,49 +2705,49 @@ - + - + - + - + - + - + - + @@ -2864,33 +2883,33 @@ - - - - - + + + + + - + - + - + - + @@ -2900,7 +2919,7 @@ - + @@ -2910,16 +2929,16 @@ - + - - - + + + @@ -2929,7 +2948,7 @@ - + @@ -2941,7 +2960,7 @@ - + @@ -2953,21 +2972,21 @@ - - - + + + - - - + + + - + @@ -3066,7 +3085,7 @@ - + @@ -3076,7 +3095,7 @@ - + @@ -3088,9 +3107,9 @@ - - - + + + @@ -3099,21 +3118,21 @@ - + - + - + @@ -3187,14 +3206,21 @@ - + - + + + + + + + + @@ -3283,7 +3309,7 @@ - + @@ -3369,7 +3395,7 @@ - + @@ -3384,9 +3410,9 @@ - - - + + + @@ -3396,7 +3422,7 @@ - + @@ -3405,14 +3431,14 @@ - + - + @@ -3422,7 +3448,7 @@ - + @@ -3483,7 +3509,7 @@ - + @@ -3493,7 +3519,7 @@ - + @@ -3506,7 +3532,7 @@ - + @@ -3560,7 +3586,7 @@ - + @@ -3578,14 +3604,14 @@ - + - + @@ -3602,7 +3628,7 @@ - + @@ -3625,7 +3651,7 @@ - + @@ -3633,7 +3659,7 @@ - + @@ -3642,10 +3668,10 @@ - - - - + + + + @@ -3659,7 +3685,7 @@ - + @@ -3724,7 +3750,7 @@ - + @@ -3734,7 +3760,7 @@ - + @@ -3744,7 +3770,7 @@ - + @@ -3754,7 +3780,7 @@ - + @@ -3764,7 +3790,7 @@ - + @@ -3774,7 +3800,7 @@ - + @@ -3787,7 +3813,7 @@ - + @@ -3828,7 +3854,7 @@ - + @@ -3846,7 +3872,7 @@ - + @@ -3856,7 +3882,7 @@ - + @@ -3888,7 +3914,7 @@ - + @@ -3898,14 +3924,14 @@ - + - + @@ -3913,7 +3939,7 @@ - + @@ -3921,7 +3947,7 @@ - + @@ -3929,7 +3955,7 @@ - + @@ -3937,7 +3963,7 @@ - + @@ -3945,7 +3971,7 @@ - + @@ -3953,71 +3979,71 @@ - + - + - + - + - + - + - - + + - + - + - + @@ -4065,15 +4091,15 @@ - + - - + + @@ -4085,7 +4111,7 @@ - + @@ -4095,22 +4121,22 @@ - + - - + + - + @@ -4123,8 +4149,8 @@ - - + + @@ -4143,7 +4169,7 @@ - + @@ -4156,7 +4182,7 @@ - + @@ -4169,7 +4195,7 @@ - + @@ -4179,28 +4205,28 @@ - + - + - + - + @@ -4214,42 +4240,42 @@ - + - + - + - + - + - + @@ -4262,7 +4288,7 @@ - + @@ -4275,7 +4301,7 @@ - + @@ -4285,7 +4311,7 @@ - + @@ -4295,35 +4321,35 @@ - + - + - + - + - + @@ -4337,14 +4363,14 @@ - + - + @@ -4358,7 +4384,7 @@ - + @@ -4367,7 +4393,7 @@ - + @@ -4416,14 +4442,14 @@ - + - + @@ -4467,7 +4493,7 @@ - + @@ -4480,7 +4506,7 @@ - + @@ -4540,7 +4566,7 @@ - + @@ -4550,7 +4576,7 @@ - + @@ -4560,7 +4586,7 @@ - + @@ -4568,7 +4594,7 @@ - + @@ -4577,7 +4603,7 @@ - + @@ -4585,7 +4611,7 @@ - + @@ -4593,7 +4619,7 @@ - + @@ -4601,7 +4627,7 @@ - + @@ -4609,7 +4635,7 @@ - + @@ -4617,7 +4643,7 @@ - + @@ -4626,7 +4652,7 @@ - + @@ -4634,7 +4660,7 @@ - + @@ -4642,7 +4668,7 @@ - + @@ -4650,7 +4676,7 @@ - + @@ -4658,7 +4684,7 @@ - + @@ -4667,7 +4693,7 @@ - + @@ -4676,7 +4702,7 @@ - + @@ -4685,7 +4711,7 @@ - + @@ -4694,7 +4720,7 @@ - + @@ -4703,7 +4729,7 @@ - + @@ -4711,7 +4737,7 @@ - + @@ -4719,7 +4745,7 @@ - + @@ -4727,7 +4753,7 @@ - + @@ -4735,7 +4761,7 @@ - + @@ -4743,7 +4769,7 @@ - + @@ -4751,7 +4777,7 @@ - + @@ -4767,28 +4793,28 @@ - + - + - + - + @@ -4826,8 +4852,8 @@ - - + + @@ -4835,7 +4861,7 @@ - + @@ -4849,7 +4875,7 @@ - + @@ -4863,7 +4889,7 @@ - + @@ -4874,7 +4900,7 @@ - + @@ -4885,7 +4911,7 @@ - + @@ -4893,7 +4919,7 @@ - + @@ -4905,7 +4931,7 @@ - + @@ -4913,7 +4939,7 @@ - + @@ -4922,7 +4948,7 @@ - + @@ -4931,7 +4957,7 @@ - + @@ -4942,7 +4968,7 @@ - + @@ -4955,7 +4981,7 @@ - + @@ -5030,12 +5056,18 @@ + + + + + + - + - + @@ -5052,9 +5084,9 @@ - + - + @@ -5068,271 +5100,248 @@ - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -5474,7 +5483,7 @@ - + @@ -5517,7 +5526,7 @@ - + @@ -5542,7 +5551,7 @@ - + @@ -5580,7 +5589,7 @@ - + @@ -5593,7 +5602,7 @@ - + @@ -5606,7 +5615,7 @@ - + @@ -5683,7 +5692,7 @@ - + @@ -5693,7 +5702,7 @@ - + @@ -5706,7 +5715,7 @@ - + @@ -5719,7 +5728,7 @@ - + @@ -5735,7 +5744,7 @@ - + @@ -5751,7 +5760,7 @@ - + @@ -5786,70 +5795,70 @@ - + - + - + - + - + - + - + - + - + - + @@ -5858,7 +5867,7 @@ - + @@ -5871,7 +5880,7 @@ - + @@ -5976,7 +5985,7 @@ - + @@ -5989,7 +5998,7 @@ - + @@ -6002,7 +6011,7 @@ - + @@ -6012,7 +6021,7 @@ - + @@ -6022,7 +6031,7 @@ - + @@ -6035,7 +6044,7 @@ - + @@ -6048,7 +6057,7 @@ - + @@ -6061,7 +6070,7 @@ - + @@ -6071,7 +6080,7 @@ - + @@ -6081,7 +6090,7 @@ - + @@ -6091,7 +6100,7 @@ - + @@ -6101,7 +6110,7 @@ - + @@ -6111,7 +6120,7 @@ - + @@ -6121,7 +6130,7 @@ - + @@ -6131,7 +6140,7 @@ - + @@ -6141,7 +6150,7 @@ - + @@ -6151,77 +6160,77 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -6231,7 +6240,7 @@ - + @@ -6241,7 +6250,7 @@ - + @@ -6251,7 +6260,7 @@ - + @@ -6261,7 +6270,7 @@ - + @@ -6271,7 +6280,7 @@ - + @@ -6281,7 +6290,7 @@ - + @@ -6297,7 +6306,7 @@ - + @@ -6311,7 +6320,7 @@ - + @@ -6324,7 +6333,7 @@ - + @@ -6337,7 +6346,7 @@ - + @@ -6347,7 +6356,7 @@ - + @@ -6357,7 +6366,7 @@ - + @@ -6371,7 +6380,7 @@ - + @@ -6387,7 +6396,7 @@ - + @@ -6403,7 +6412,7 @@ - + @@ -6419,7 +6428,7 @@ - + @@ -6432,7 +6441,7 @@ - + @@ -6445,7 +6454,7 @@ - + @@ -6460,7 +6469,7 @@ - + @@ -6477,7 +6486,7 @@ - + @@ -6486,7 +6495,7 @@ - + @@ -6497,7 +6506,7 @@ - + @@ -6510,7 +6519,7 @@ - + @@ -6597,9 +6606,9 @@ - + - + @@ -6615,9 +6624,9 @@ - + - + @@ -6635,7 +6644,7 @@ - + @@ -6646,7 +6655,7 @@ - + @@ -6659,7 +6668,7 @@ - + @@ -6670,7 +6679,7 @@ - + @@ -6683,113 +6692,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + @@ -6802,7 +6727,7 @@ - + @@ -6893,6 +6818,11 @@ + + + + + @@ -6919,7 +6849,7 @@ - + @@ -6940,7 +6870,7 @@ - + @@ -6953,7 +6883,7 @@ - + @@ -6991,7 +6921,7 @@ - + @@ -7012,7 +6942,7 @@ - + @@ -7033,7 +6963,7 @@ - + @@ -7049,7 +6979,7 @@ - + @@ -7071,7 +7001,7 @@ - + @@ -7101,7 +7031,7 @@ - + @@ -7109,7 +7039,7 @@ - + @@ -7119,10 +7049,10 @@ - + - - + + @@ -7130,7 +7060,7 @@ - + @@ -7138,14 +7068,14 @@ - + - + @@ -7159,8 +7089,8 @@ - - + + @@ -7168,7 +7098,7 @@ - + @@ -7176,14 +7106,14 @@ - + - + @@ -7197,8 +7127,8 @@ - - + + @@ -7206,7 +7136,7 @@ - + @@ -7214,14 +7144,14 @@ - + - + @@ -7235,8 +7165,8 @@ - - + + @@ -7244,7 +7174,7 @@ - + @@ -7252,14 +7182,14 @@ - + - + @@ -7273,15 +7203,15 @@ - - + + - + @@ -7324,7 +7254,7 @@ - + @@ -7333,21 +7263,21 @@ - + - + - + @@ -7357,7 +7287,7 @@ - + @@ -7365,7 +7295,7 @@ - + @@ -7375,14 +7305,14 @@ - + - + @@ -7391,7 +7321,7 @@ - + @@ -7404,7 +7334,7 @@ - + @@ -7431,19 +7361,19 @@ - + - + - + @@ -7453,7 +7383,7 @@ - + @@ -7466,7 +7396,7 @@ - + @@ -7604,6 +7534,11 @@ + + + + + @@ -7631,7 +7566,17 @@ - + + + + + + + + + + + @@ -7652,7 +7597,7 @@ - + @@ -7665,7 +7610,7 @@ - + @@ -7684,7 +7629,7 @@ - + @@ -7701,7 +7646,7 @@ - + @@ -7751,14 +7696,14 @@ - + - + @@ -7771,7 +7716,7 @@ - + @@ -7886,7 +7831,7 @@ - + @@ -7899,7 +7844,7 @@ - + @@ -7912,7 +7857,7 @@ - + @@ -7925,7 +7870,7 @@ - + @@ -8066,7 +8011,7 @@ - + @@ -8076,7 +8021,7 @@ - + @@ -8087,7 +8032,7 @@ - + @@ -8116,7 +8061,7 @@ - + @@ -8139,7 +8084,7 @@ - + @@ -8169,7 +8114,7 @@ - + @@ -8197,7 +8142,7 @@ - + @@ -8263,7 +8208,7 @@ - + @@ -8273,7 +8218,7 @@ - + @@ -8283,7 +8228,7 @@ - + @@ -8296,7 +8241,7 @@ - + @@ -8316,17 +8261,17 @@ - - - - + + + + - + @@ -8339,7 +8284,7 @@ - + @@ -8352,7 +8297,7 @@ - + @@ -8365,7 +8310,7 @@ - + @@ -8378,7 +8323,7 @@ - + @@ -8391,7 +8336,7 @@ - + @@ -8404,7 +8349,7 @@ - + @@ -8417,7 +8362,7 @@ - + @@ -8430,21 +8375,21 @@ - + - - - - - - - - + + + + + + + + @@ -8457,7 +8402,7 @@ - + @@ -8470,21 +8415,21 @@ - + - + - + @@ -8507,8 +8452,8 @@ - - + + @@ -8518,21 +8463,21 @@ - + - + - + @@ -8560,49 +8505,49 @@ - + - + - + - + - + - + - + @@ -8615,7 +8560,7 @@ - + @@ -8628,7 +8573,7 @@ - + @@ -8641,7 +8586,7 @@ - + @@ -8657,7 +8602,7 @@ - + @@ -8673,7 +8618,7 @@ - + @@ -8686,14 +8631,14 @@ - + - + @@ -8706,7 +8651,7 @@ - + @@ -8719,7 +8664,7 @@ - + @@ -8732,7 +8677,7 @@ - + @@ -8745,14 +8690,14 @@ - + - + @@ -8762,7 +8707,7 @@ - + @@ -8772,7 +8717,7 @@ - + @@ -8781,7 +8726,7 @@ - + @@ -8794,7 +8739,7 @@ - + @@ -8886,7 +8831,7 @@ - + @@ -8899,7 +8844,7 @@ - + @@ -8955,7 +8900,7 @@ - + @@ -8986,7 +8931,7 @@ - + @@ -9013,7 +8958,7 @@ - + @@ -9022,7 +8967,7 @@ - + @@ -9061,7 +9006,7 @@ - + @@ -9074,7 +9019,7 @@ - + @@ -9089,7 +9034,7 @@ - + @@ -9102,7 +9047,7 @@ - + @@ -9133,7 +9078,7 @@ - + @@ -9143,7 +9088,7 @@ - + @@ -9156,7 +9101,7 @@ - + @@ -9184,7 +9129,7 @@ - + @@ -9194,9 +9139,9 @@ - + - + @@ -9208,28 +9153,14 @@ - - - - - - - - + - - - - - - - - + @@ -9238,12 +9169,13 @@ - + + @@ -9258,7 +9190,7 @@ - + @@ -9278,7 +9210,7 @@ - + @@ -9385,6 +9317,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -9438,7 +9390,17 @@ - + + + + + + + + + + + @@ -9552,7 +9514,7 @@ - + @@ -9562,7 +9524,17 @@ - + + + + + + + + + + + @@ -9620,10 +9592,10 @@ - - + + @@ -9641,7 +9613,7 @@ - + @@ -9698,10 +9670,10 @@ - - + + @@ -9712,7 +9684,7 @@ - + @@ -9783,10 +9755,10 @@ - - + + @@ -9806,9 +9778,95 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -9864,10 +9922,10 @@ - - + + @@ -9876,37 +9934,58 @@ + + + + + + + - + - + + + + + + + + - + - + + + + + + + + - + - + @@ -9916,7 +9995,7 @@ - + @@ -9926,7 +10005,7 @@ - + @@ -9936,7 +10015,7 @@ - + @@ -9946,7 +10025,7 @@ - + @@ -9956,7 +10035,7 @@ - + @@ -9966,7 +10045,7 @@ - + @@ -9994,7 +10073,7 @@ - + @@ -10016,7 +10095,7 @@ - + @@ -10027,14 +10106,14 @@ - + - + @@ -10101,10 +10180,10 @@ - - + + @@ -10117,7 +10196,7 @@ - + @@ -10184,7 +10263,7 @@ - + @@ -10218,7 +10297,7 @@ - + @@ -10301,7 +10380,7 @@ - + @@ -10335,7 +10414,7 @@ - + @@ -10345,7 +10424,7 @@ - + @@ -10357,7 +10436,7 @@ - + @@ -10386,10 +10465,13 @@ + + + - + @@ -10399,15 +10481,15 @@ - - - - - - - - - + + + + + + + + + @@ -10583,10 +10665,14 @@ + + + + - + @@ -10596,7 +10682,7 @@ - + @@ -10606,72 +10692,72 @@ - + - + - + - + - + - + - + - + - - - + + + - + @@ -10693,7 +10779,7 @@ - + @@ -10715,7 +10801,7 @@ - + @@ -10728,7 +10814,7 @@ - + @@ -10741,35 +10827,35 @@ - + - + - + - + - + @@ -10777,7 +10863,7 @@ - + @@ -10787,7 +10873,7 @@ - + @@ -10812,7 +10898,7 @@ - + @@ -10837,14 +10923,14 @@ - + - + @@ -10852,7 +10938,7 @@ - + @@ -10865,7 +10951,7 @@ - + @@ -10878,14 +10964,14 @@ - + - + @@ -10895,37 +10981,37 @@ - + - + - - + + - + - - + + @@ -10933,14 +11019,14 @@ - + - + @@ -10950,7 +11036,7 @@ - + @@ -10960,21 +11046,21 @@ - + - + - + @@ -10987,7 +11073,7 @@ - + @@ -11000,7 +11086,7 @@ - + @@ -11010,7 +11096,7 @@ - + @@ -11079,29 +11165,29 @@ - + - - + + - + - - - + + + @@ -11161,7 +11247,7 @@ - + @@ -11183,7 +11269,7 @@ - + @@ -11193,7 +11279,7 @@ - + @@ -11225,14 +11311,14 @@ - + - + @@ -11244,40 +11330,48 @@ - + - + - + - + - + - + + + + + + + + + - + @@ -11299,12 +11393,12 @@ - + - + @@ -11314,11 +11408,11 @@ - - - - - + + + + + @@ -11328,28 +11422,28 @@ - + - + - + - + @@ -11359,7 +11453,7 @@ - + @@ -11386,88 +11480,87 @@ - + - + - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -11480,7 +11573,7 @@ - + @@ -11511,22 +11604,22 @@ - + - - + + - + @@ -11539,16 +11632,16 @@ - + - - - + + + @@ -11561,7 +11654,7 @@ - + @@ -11580,14 +11673,14 @@ - + - + - + - + @@ -11595,7 +11688,7 @@ - + @@ -11603,14 +11696,14 @@ - + - + @@ -11621,7 +11714,7 @@ - + @@ -11631,7 +11724,7 @@ - + @@ -11658,14 +11751,14 @@ - + - + @@ -11675,7 +11768,7 @@ - + @@ -11685,28 +11778,28 @@ - + - + - + - + @@ -11716,7 +11809,7 @@ - + @@ -11726,7 +11819,7 @@ - + @@ -11737,7 +11830,7 @@ - + @@ -11748,34 +11841,50 @@ - + - + + + + + + + + + - + - + + + + + + + + + - + - + @@ -11791,7 +11900,7 @@ - + @@ -11807,15 +11916,15 @@ - + - - + + @@ -11828,7 +11937,7 @@ - + @@ -11841,7 +11950,7 @@ - + @@ -11858,23 +11967,23 @@ - - - - - - - - - - + + + + + + + + + + - + @@ -11882,7 +11991,7 @@ - + @@ -11907,15 +12016,15 @@ - + - - + + @@ -11925,7 +12034,7 @@ - + @@ -11944,7 +12053,7 @@ - + @@ -11954,14 +12063,14 @@ - + - + @@ -12013,7 +12122,7 @@ - + @@ -12037,7 +12146,7 @@ - + @@ -12058,16 +12167,16 @@ - + - - + + - + @@ -12084,7 +12193,7 @@ - + @@ -12097,7 +12206,7 @@ - + @@ -12181,10 +12290,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -12198,7 +12333,7 @@ - + @@ -12212,9 +12347,19 @@ - + + + + + + + + + + + - + @@ -12233,7 +12378,7 @@ - + @@ -12244,51 +12389,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -12301,7 +12402,7 @@ - + @@ -12313,8 +12414,8 @@ - - + + @@ -12323,7 +12424,7 @@ - + @@ -12332,7 +12433,7 @@ - + @@ -12344,7 +12445,7 @@ - + @@ -12353,7 +12454,7 @@ - + @@ -12370,7 +12471,7 @@ - + @@ -12379,7 +12480,7 @@ - + @@ -12391,7 +12492,7 @@ - + @@ -12400,17 +12501,17 @@ - + - + - + @@ -12423,7 +12524,7 @@ - + @@ -12478,9 +12579,19 @@ - + + + + + + + + + + + - + @@ -12497,73 +12608,19 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -12585,7 +12642,7 @@ - + @@ -12598,7 +12655,7 @@ - + @@ -12808,7 +12865,7 @@ - + @@ -12816,9 +12873,9 @@ - + - + @@ -12839,7 +12896,7 @@ - + @@ -12890,7 +12947,7 @@ - + @@ -12901,7 +12958,7 @@ - + @@ -12909,15 +12966,7 @@ - - - - - - - - - + @@ -12930,7 +12979,7 @@ - + @@ -12940,9 +12989,9 @@ - + - + @@ -12956,31 +13005,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -12993,7 +13018,7 @@ - + @@ -13003,7 +13028,7 @@ - + @@ -13016,7 +13041,7 @@ - + @@ -13059,9 +13084,19 @@ - + + + + + + + + + + + - + @@ -13073,9 +13108,9 @@ - + - + @@ -13092,28 +13127,7 @@ - - - - - - - - - - - - - - - - - - - - - - + @@ -13126,7 +13140,7 @@ - + @@ -13166,7 +13180,7 @@ - + @@ -13176,7 +13190,7 @@ - + @@ -13186,7 +13200,7 @@ - + @@ -13196,7 +13210,7 @@ - + @@ -13208,7 +13222,7 @@ - + @@ -13221,7 +13235,7 @@ - + @@ -13431,7 +13445,7 @@ - + @@ -13447,7 +13461,7 @@ - + @@ -13460,7 +13474,7 @@ - + @@ -13470,16 +13484,16 @@ - - - - - - - - - - + + + + + + + + + + @@ -13489,7 +13503,7 @@ - + @@ -13502,7 +13516,7 @@ - + @@ -13515,7 +13529,7 @@ - + @@ -13528,7 +13542,7 @@ - + @@ -13536,42 +13550,42 @@ - + - + - + - + - + - + @@ -13581,35 +13595,35 @@ - + - + - + - + - + @@ -13619,14 +13633,14 @@ - + - + @@ -13652,7 +13666,7 @@ - + @@ -13675,7 +13689,7 @@ - + @@ -13686,7 +13700,7 @@ - + @@ -13699,7 +13713,7 @@ - + @@ -13714,7 +13728,7 @@ - + @@ -13730,7 +13744,7 @@ - + @@ -13748,7 +13762,7 @@ - + @@ -13766,7 +13780,7 @@ - + @@ -13803,7 +13817,7 @@ - + @@ -13834,7 +13848,7 @@ - + @@ -13843,7 +13857,7 @@ - + @@ -13873,7 +13887,7 @@ - + @@ -13881,7 +13895,7 @@ - + @@ -13910,20 +13924,20 @@ - + - + - - + + @@ -13980,7 +13994,7 @@ - + @@ -13989,7 +14003,7 @@ - + @@ -14002,7 +14016,7 @@ - + @@ -14012,9 +14026,9 @@ - + - + @@ -14031,9 +14045,9 @@ - + - + @@ -14044,7 +14058,7 @@ - + @@ -14054,7 +14068,7 @@ - + @@ -14097,7 +14111,7 @@ - + @@ -14110,7 +14124,7 @@ - + @@ -14130,7 +14144,7 @@ - + @@ -14140,7 +14154,7 @@ - + @@ -14150,14 +14164,14 @@ - + - + @@ -14169,7 +14183,7 @@ - + @@ -14223,7 +14237,7 @@ - + @@ -14233,12 +14247,12 @@ - - + + - - + + @@ -14253,9 +14267,9 @@ - - - + + + @@ -14265,7 +14279,7 @@ - + @@ -14275,7 +14289,7 @@ - + @@ -14285,7 +14299,7 @@ - + @@ -14295,7 +14309,7 @@ - + @@ -14314,7 +14328,7 @@ - + @@ -14342,7 +14356,7 @@ - + @@ -14397,7 +14411,7 @@ - + @@ -14446,7 +14460,7 @@ - + @@ -14456,14 +14470,14 @@ - + - + @@ -14504,7 +14518,7 @@ - + @@ -14590,7 +14604,7 @@ - + @@ -14600,7 +14614,7 @@ - + @@ -14610,7 +14624,7 @@ - + @@ -14655,7 +14669,7 @@ - + @@ -14665,10 +14679,10 @@ - + - + @@ -14694,7 +14708,7 @@ - + @@ -14718,8 +14732,8 @@ - - + + @@ -14727,7 +14741,7 @@ - + @@ -14736,16 +14750,16 @@ - + - - + + - + @@ -14758,7 +14772,7 @@ - + @@ -14804,12 +14818,12 @@ - + - + @@ -14818,7 +14832,7 @@ - + @@ -14831,7 +14845,7 @@ - + @@ -14882,14 +14896,14 @@ - + - + @@ -14958,7 +14972,7 @@ - + @@ -14971,7 +14985,7 @@ - + @@ -14987,7 +15001,7 @@ - + @@ -15000,7 +15014,7 @@ - + @@ -15015,7 +15029,7 @@ - + @@ -15028,7 +15042,7 @@ - + @@ -15126,7 +15140,7 @@ - + @@ -15149,7 +15163,7 @@ - + @@ -15159,7 +15173,7 @@ - + @@ -15171,7 +15185,7 @@ - + @@ -15184,7 +15198,7 @@ - + @@ -15271,7 +15285,7 @@ - + @@ -15284,7 +15298,7 @@ - + @@ -15467,7 +15481,7 @@ - + @@ -15528,10 +15542,10 @@ - - - - + + + + @@ -15539,7 +15553,7 @@ - + @@ -15549,7 +15563,7 @@ - + @@ -15559,7 +15573,7 @@ - + @@ -15569,7 +15583,7 @@ - + @@ -15579,28 +15593,28 @@ - + - + - + - + @@ -15615,7 +15629,7 @@ - + @@ -15626,8 +15640,8 @@ - - + + @@ -15638,7 +15652,7 @@ - + @@ -15655,7 +15669,7 @@ - + @@ -15672,7 +15686,7 @@ - + @@ -15686,7 +15700,7 @@ - + @@ -15696,28 +15710,28 @@ - + - + - + - + @@ -15731,7 +15745,7 @@ - + @@ -15741,7 +15755,7 @@ - + @@ -15751,7 +15765,7 @@ - + @@ -15761,7 +15775,7 @@ - + @@ -15773,7 +15787,7 @@ - + @@ -15786,7 +15800,7 @@ - + @@ -15826,7 +15840,7 @@ - + @@ -15841,14 +15855,14 @@ - + - + @@ -15858,7 +15872,7 @@ - + @@ -15873,7 +15887,7 @@ - + @@ -15912,14 +15926,14 @@ - + - + @@ -15934,21 +15948,21 @@ - + - + - + @@ -15961,7 +15975,7 @@ - + @@ -16001,7 +16015,7 @@ - + @@ -16016,14 +16030,14 @@ - + - + @@ -16033,7 +16047,7 @@ - + @@ -16048,7 +16062,7 @@ - + @@ -16087,14 +16101,14 @@ - + - + @@ -16109,21 +16123,21 @@ - + - + - + @@ -16132,9 +16146,9 @@ - - - + + + @@ -16146,7 +16160,7 @@ - + @@ -16159,7 +16173,7 @@ - + @@ -16361,11 +16375,14 @@ + + + - + @@ -16564,11 +16581,14 @@ + + + - + @@ -16579,7 +16599,7 @@ - + @@ -16600,7 +16620,7 @@ - + @@ -16616,7 +16636,7 @@ - + @@ -16629,29 +16649,29 @@ - + - - + + - + - + @@ -16661,7 +16681,7 @@ - + @@ -16671,7 +16691,7 @@ - + @@ -16683,7 +16703,7 @@ - + @@ -16693,7 +16713,7 @@ - + @@ -16706,7 +16726,7 @@ - + @@ -16766,7 +16786,7 @@ - + @@ -16778,7 +16798,7 @@ - + @@ -16791,7 +16811,7 @@ - + @@ -16805,7 +16825,7 @@ - + @@ -16813,7 +16833,7 @@ - + @@ -16821,7 +16841,7 @@ - + @@ -16833,7 +16853,7 @@ - + @@ -16846,7 +16866,7 @@ - + @@ -16881,7 +16901,7 @@ - + @@ -16894,7 +16914,7 @@ - + @@ -16904,7 +16924,7 @@ - + @@ -16914,7 +16934,7 @@ - + @@ -16924,7 +16944,7 @@ - + @@ -16933,7 +16953,7 @@ - + @@ -16946,7 +16966,7 @@ - + @@ -17117,7 +17137,7 @@ - + @@ -17130,7 +17150,7 @@ - + @@ -17146,7 +17166,7 @@ - + @@ -17156,7 +17176,7 @@ - + @@ -17172,9 +17192,19 @@ - + + + + + + + + + + + - + @@ -17190,9 +17220,19 @@ - + + + + + + + + + + + - + @@ -17208,9 +17248,19 @@ - + + + + + + + + + + + - + @@ -17223,16 +17273,36 @@ - + + + + + + + + + + + - + - + + + + + + + + + + + - + @@ -17242,9 +17312,19 @@ - + + + + + + + + + + + - + @@ -17257,9 +17337,13 @@ - + + + + + - + @@ -17270,9 +17354,13 @@ - + + + + + - + @@ -17283,11 +17371,15 @@ - + + + + + - + @@ -17297,7 +17389,7 @@ - + @@ -17307,7 +17399,7 @@ - + @@ -17410,7 +17502,7 @@ - + @@ -17423,7 +17515,7 @@ - + @@ -17436,7 +17528,7 @@ - + @@ -17449,7 +17541,7 @@ - + @@ -17462,40 +17554,40 @@ - + - + - + - + - + - - - + + + @@ -17507,7 +17599,7 @@ - + @@ -17609,7 +17701,7 @@ - + @@ -17622,7 +17714,7 @@ - + @@ -17804,7 +17896,7 @@ - + @@ -17814,7 +17906,7 @@ - + @@ -17824,7 +17916,7 @@ - + @@ -17837,7 +17929,7 @@ - + @@ -17879,7 +17971,7 @@ - + @@ -17892,7 +17984,7 @@ - + @@ -18090,7 +18182,7 @@ - + @@ -18098,7 +18190,7 @@ - + @@ -18111,7 +18203,7 @@ - + @@ -18124,7 +18216,7 @@ - + @@ -18140,14 +18232,14 @@ - + - + @@ -18157,7 +18249,7 @@ - + @@ -18167,7 +18259,7 @@ - + @@ -18180,7 +18272,7 @@ - + @@ -18193,7 +18285,7 @@ - + @@ -18203,7 +18295,7 @@ - + @@ -18216,7 +18308,7 @@ - + @@ -18234,7 +18326,7 @@ - + @@ -18251,7 +18343,7 @@ - + @@ -18268,11 +18360,11 @@ - - + + - + @@ -18285,7 +18377,7 @@ - + @@ -18362,7 +18454,7 @@ - + @@ -18386,7 +18478,7 @@ - + @@ -18397,28 +18489,28 @@ - + - + - + - + @@ -18431,7 +18523,7 @@ - + @@ -18444,7 +18536,7 @@ - + @@ -18454,7 +18546,7 @@ - + @@ -18463,34 +18555,34 @@ - - + + - + - + - + - + @@ -18503,7 +18595,7 @@ - + @@ -18553,7 +18645,7 @@ - + @@ -18562,9 +18654,11 @@ - + + + - + @@ -18573,7 +18667,7 @@ - + @@ -18665,24 +18759,24 @@ - + - - - - + + + + - + @@ -18691,7 +18785,7 @@ - + @@ -18704,7 +18798,7 @@ - + @@ -18717,7 +18811,7 @@ - + @@ -18978,7 +19072,7 @@ - + @@ -18991,7 +19085,7 @@ - + @@ -19048,7 +19142,7 @@ - + @@ -19068,7 +19162,7 @@ - + @@ -19078,7 +19172,7 @@ - + @@ -19091,7 +19185,7 @@ - + @@ -19101,7 +19195,7 @@ - + @@ -19121,9 +19215,11 @@ - + + + - + @@ -19133,9 +19229,11 @@ - + + + - + @@ -19145,7 +19243,9 @@ - + + + @@ -19161,7 +19261,7 @@ - + @@ -19171,7 +19271,7 @@ - + @@ -19181,7 +19281,7 @@ - + @@ -19191,7 +19291,7 @@ - + @@ -19201,7 +19301,7 @@ - + @@ -19214,7 +19314,7 @@ - + @@ -19229,7 +19329,7 @@ - + @@ -19242,7 +19342,7 @@ - + @@ -19292,7 +19392,7 @@ - + @@ -19302,8 +19402,8 @@ - - + + @@ -19363,7 +19463,7 @@ - + @@ -19376,7 +19476,7 @@ - + @@ -19398,21 +19498,23 @@ - + - + + + - + - + @@ -19425,7 +19527,7 @@ - + @@ -19447,21 +19549,23 @@ - + - + + + - + - + @@ -19474,7 +19578,7 @@ - + @@ -19499,7 +19603,7 @@ - + @@ -19512,7 +19616,7 @@ - + @@ -19522,7 +19626,7 @@ - + @@ -19532,7 +19636,7 @@ - + @@ -19545,7 +19649,7 @@ - + @@ -19567,7 +19671,7 @@ - + @@ -19577,14 +19681,14 @@ - + - + @@ -19593,127 +19697,127 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + @@ -19723,32 +19827,32 @@ - + - - - - - + + + + + - + - + @@ -19756,52 +19860,52 @@ - + - + - + - + - + - + - + - + @@ -19814,7 +19918,7 @@ - + @@ -19914,7 +20018,7 @@ - + @@ -19924,7 +20028,7 @@ - + @@ -19934,11 +20038,16 @@ - + + + + + + - + @@ -19951,7 +20060,7 @@ - + @@ -20013,7 +20122,7 @@ - + @@ -20026,7 +20135,7 @@ - + @@ -20121,7 +20230,7 @@ - + @@ -20131,7 +20240,7 @@ - + @@ -20147,9 +20256,27 @@ - + + + + + + + + + + + + + + + + + + + - + @@ -20168,14 +20295,14 @@ - + - + @@ -20185,14 +20312,14 @@ - + - + @@ -20204,7 +20331,7 @@ - + @@ -20217,7 +20344,7 @@ - + @@ -20240,7 +20367,7 @@ - + @@ -20267,7 +20394,7 @@ - + @@ -20280,7 +20407,7 @@ - + @@ -20293,7 +20420,7 @@ - + @@ -20306,7 +20433,7 @@ - + @@ -20335,7 +20462,7 @@ - + @@ -20360,21 +20487,21 @@ - + - + - + @@ -20399,7 +20526,7 @@ - + @@ -20428,7 +20555,7 @@ - + @@ -20457,7 +20584,7 @@ - + @@ -20468,7 +20595,7 @@ - + @@ -20481,7 +20608,7 @@ - + @@ -20494,7 +20621,7 @@ - + @@ -20589,13 +20716,13 @@ - + - + @@ -20603,7 +20730,7 @@ - + @@ -20611,7 +20738,7 @@ - + @@ -20619,7 +20746,7 @@ - + @@ -20650,7 +20777,7 @@ - + @@ -20663,7 +20790,7 @@ - + @@ -20685,17 +20812,17 @@ - + - + - + @@ -20784,18 +20911,18 @@ - - + + - + - + @@ -20805,7 +20932,7 @@ - + @@ -20815,7 +20942,7 @@ - + @@ -20825,7 +20952,7 @@ - + @@ -20835,7 +20962,7 @@ - + @@ -20845,7 +20972,7 @@ - + @@ -20855,7 +20982,7 @@ - + @@ -20865,7 +20992,7 @@ - + @@ -20875,7 +21002,7 @@ - + @@ -20885,7 +21012,7 @@ - + @@ -20895,7 +21022,7 @@ - + @@ -20905,7 +21032,7 @@ - + @@ -20915,7 +21042,7 @@ - + @@ -20925,7 +21052,7 @@ - + @@ -20935,21 +21062,21 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -21008,9 +21135,22 @@ + + + + + + + + + + + + + - + @@ -21023,7 +21163,7 @@ - + @@ -21047,7 +21187,7 @@ - + @@ -21056,11 +21196,14 @@ - + + + + - + @@ -21073,7 +21216,7 @@ - + @@ -21102,7 +21245,7 @@ - + @@ -21111,11 +21254,14 @@ - + + + + - + @@ -21128,7 +21274,7 @@ - + @@ -21166,14 +21312,14 @@ - - + + - + @@ -21181,7 +21327,7 @@ - + @@ -21189,165 +21335,165 @@ - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -21360,7 +21506,7 @@ - + @@ -21401,7 +21547,7 @@ - + @@ -21410,25 +21556,28 @@ - + + + + - + - - + + - - + + @@ -21438,7 +21587,7 @@ - + @@ -21450,7 +21599,7 @@ - + @@ -21463,7 +21612,7 @@ - + @@ -21484,7 +21633,7 @@ - + @@ -21494,7 +21643,7 @@ - + @@ -21507,7 +21656,7 @@ - + @@ -21530,7 +21679,7 @@ - + @@ -21541,7 +21690,7 @@ - + @@ -21551,7 +21700,7 @@ - + @@ -21564,7 +21713,7 @@ - + @@ -21658,7 +21807,7 @@ - + @@ -21674,7 +21823,7 @@ - + @@ -21693,7 +21842,7 @@ - + @@ -21707,7 +21856,7 @@ - + @@ -21717,7 +21866,7 @@ - + @@ -21731,7 +21880,7 @@ - + @@ -21741,7 +21890,7 @@ - + @@ -21758,7 +21907,7 @@ - + @@ -21768,7 +21917,7 @@ - + @@ -21781,7 +21930,7 @@ - + @@ -21794,7 +21943,7 @@ - + @@ -21807,7 +21956,7 @@ - + @@ -21820,7 +21969,7 @@ - + @@ -21833,7 +21982,7 @@ - + @@ -21852,7 +22001,7 @@ - + @@ -21868,7 +22017,7 @@ - + @@ -21878,7 +22027,7 @@ - + @@ -21888,7 +22037,7 @@ - + @@ -21898,7 +22047,7 @@ - + @@ -21908,7 +22057,7 @@ - + @@ -21918,7 +22067,7 @@ - + @@ -21928,7 +22077,7 @@ - + @@ -21938,7 +22087,7 @@ - + @@ -21948,7 +22097,7 @@ - + @@ -21958,7 +22107,7 @@ - + @@ -21968,7 +22117,7 @@ - + @@ -21978,7 +22127,7 @@ - + @@ -21988,7 +22137,7 @@ - + @@ -21998,7 +22147,7 @@ - + @@ -22008,7 +22157,7 @@ - + @@ -22018,7 +22167,7 @@ - + @@ -22028,7 +22177,7 @@ - + @@ -22038,7 +22187,7 @@ - + @@ -22048,7 +22197,7 @@ - + @@ -22058,7 +22207,7 @@ - + @@ -22068,7 +22217,7 @@ - + @@ -22078,7 +22227,7 @@ - + @@ -22088,7 +22237,7 @@ - + @@ -22098,7 +22247,7 @@ - + @@ -22108,7 +22257,7 @@ - + @@ -22118,7 +22267,7 @@ - + @@ -22128,7 +22277,7 @@ - + @@ -22138,7 +22287,7 @@ - + @@ -22148,7 +22297,7 @@ - + @@ -22158,7 +22307,7 @@ - + @@ -22168,7 +22317,7 @@ - + @@ -22178,7 +22327,7 @@ - + @@ -22188,7 +22337,7 @@ - + @@ -22198,7 +22347,7 @@ - + @@ -22208,7 +22357,7 @@ - + @@ -22218,7 +22367,7 @@ - + @@ -22228,7 +22377,7 @@ - + @@ -22238,7 +22387,7 @@ - + @@ -22248,7 +22397,7 @@ - + @@ -22258,7 +22407,7 @@ - + @@ -22268,7 +22417,7 @@ - + @@ -22278,7 +22427,7 @@ - + @@ -22288,7 +22437,7 @@ - + @@ -22298,7 +22447,7 @@ - + @@ -22308,7 +22457,7 @@ - + @@ -22318,7 +22467,7 @@ - + @@ -22328,7 +22477,7 @@ - + @@ -22338,7 +22487,7 @@ - + @@ -22348,7 +22497,7 @@ - + @@ -22358,7 +22507,7 @@ - + @@ -22368,7 +22517,7 @@ - + @@ -22378,7 +22527,7 @@ - + @@ -22388,7 +22537,7 @@ - + @@ -22398,7 +22547,7 @@ - + @@ -22408,7 +22557,7 @@ - + @@ -22418,7 +22567,7 @@ - + @@ -22428,7 +22577,7 @@ - + @@ -22438,7 +22587,7 @@ - + @@ -22448,7 +22597,7 @@ - + @@ -22458,7 +22607,7 @@ - + @@ -22468,7 +22617,7 @@ - + @@ -22478,7 +22627,7 @@ - + @@ -22488,7 +22637,7 @@ - + @@ -22498,7 +22647,7 @@ - + @@ -22508,7 +22657,7 @@ - + @@ -22518,7 +22667,7 @@ - + @@ -22528,7 +22677,7 @@ - + @@ -22538,7 +22687,7 @@ - + @@ -22548,7 +22697,7 @@ - + @@ -22558,7 +22707,7 @@ - + @@ -22568,7 +22717,7 @@ - + @@ -22578,7 +22727,7 @@ - + @@ -22588,7 +22737,7 @@ - + @@ -22598,7 +22747,7 @@ - + @@ -22608,7 +22757,7 @@ - + @@ -22618,7 +22767,7 @@ - + @@ -22628,7 +22777,7 @@ - + @@ -22638,7 +22787,7 @@ - + @@ -22648,7 +22797,7 @@ - + @@ -22658,7 +22807,7 @@ - + @@ -22668,7 +22817,7 @@ - + @@ -22678,7 +22827,7 @@ - + @@ -22688,245 +22837,245 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -22936,7 +23085,7 @@ - + @@ -22946,7 +23095,7 @@ - + @@ -22956,7 +23105,7 @@ - + @@ -22966,7 +23115,7 @@ - + @@ -22976,7 +23125,7 @@ - + @@ -22986,7 +23135,7 @@ - + @@ -22996,7 +23145,7 @@ - + @@ -23009,7 +23158,7 @@ - + @@ -23022,7 +23171,7 @@ - + @@ -23033,22 +23182,22 @@ - + - + - - + + @@ -23058,7 +23207,7 @@ - + @@ -23069,7 +23218,7 @@ - + @@ -23082,7 +23231,7 @@ - + @@ -23120,43 +23269,43 @@ - + - + - + - - - - + + + + - + - + @@ -23233,7 +23382,7 @@ - + @@ -23243,7 +23392,7 @@ - + @@ -23255,7 +23404,7 @@ - + @@ -23265,7 +23414,7 @@ - + @@ -23277,7 +23426,7 @@ - + @@ -23287,7 +23436,7 @@ - + @@ -23299,7 +23448,7 @@ - + @@ -23309,7 +23458,7 @@ - + @@ -23321,7 +23470,7 @@ - + @@ -23331,7 +23480,7 @@ - + @@ -23343,21 +23492,21 @@ - + - + - + @@ -23366,22 +23515,22 @@ - - + + - + - + @@ -23389,14 +23538,14 @@ - + - + @@ -23406,14 +23555,14 @@ - + - + @@ -23423,28 +23572,28 @@ - + - + - + - + @@ -23457,7 +23606,7 @@ - + @@ -23470,14 +23619,14 @@ - + - + @@ -23487,7 +23636,7 @@ - + @@ -23497,7 +23646,7 @@ - + @@ -23512,7 +23661,7 @@ - + @@ -23525,7 +23674,7 @@ - + @@ -23608,7 +23757,7 @@ - + @@ -23618,7 +23767,7 @@ - + @@ -23627,46 +23776,49 @@ - + + + + - + - + - + - + - + - + @@ -23694,21 +23846,21 @@ - + - + - + @@ -23727,7 +23879,7 @@ - + @@ -23869,28 +24021,28 @@ - + - + - + - + @@ -23899,7 +24051,7 @@ - + @@ -23937,21 +24089,21 @@ - + - + - + @@ -23967,7 +24119,7 @@ - + @@ -23977,15 +24129,15 @@ - + - - + + @@ -23993,14 +24145,14 @@ - + - + @@ -24009,7 +24161,7 @@ - + @@ -24022,7 +24174,7 @@ - + @@ -24055,7 +24207,7 @@ - + @@ -24068,7 +24220,7 @@ - + @@ -24084,7 +24236,7 @@ - + @@ -24094,7 +24246,7 @@ - + @@ -24110,7 +24262,7 @@ - + @@ -24128,7 +24280,7 @@ - + @@ -24248,14 +24400,14 @@ - + - + @@ -24283,77 +24435,77 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -24363,49 +24515,49 @@ - + - + - + - + - + - + - + @@ -24414,7 +24566,7 @@ - + @@ -24588,7 +24740,7 @@ - + @@ -24598,7 +24750,7 @@ - + @@ -24618,9 +24770,12 @@ - + + + + - + @@ -24629,9 +24784,12 @@ - + + + + - + @@ -24643,9 +24801,12 @@ - + + + + - + @@ -24665,9 +24826,12 @@ - + + + + - + @@ -24680,7 +24844,7 @@ - + @@ -24813,11 +24977,17 @@ + + + + + + - + @@ -24827,7 +24997,7 @@ - + @@ -24840,7 +25010,7 @@ - + @@ -24861,7 +25031,7 @@ - + @@ -24874,7 +25044,7 @@ - + @@ -24895,7 +25065,7 @@ - + @@ -24905,14 +25075,14 @@ - + - + @@ -24922,9 +25092,9 @@ - - - + + + @@ -24937,7 +25107,7 @@ - + @@ -24950,7 +25120,7 @@ - + @@ -24960,7 +25130,7 @@ - + @@ -24970,7 +25140,7 @@ - + @@ -24980,7 +25150,7 @@ - + @@ -24990,7 +25160,7 @@ - + @@ -25008,22 +25178,22 @@ - + - - + + - + @@ -25036,7 +25206,7 @@ - + @@ -25061,7 +25231,7 @@ - + @@ -25070,9 +25240,11 @@ - + + + - + @@ -25085,9 +25257,11 @@ - + + + - + @@ -25097,9 +25271,11 @@ - + + + - + @@ -25109,7 +25285,7 @@ - + @@ -25118,7 +25294,7 @@ - + @@ -25130,11 +25306,11 @@ - - - - - + + + + + @@ -25146,7 +25322,7 @@ - + @@ -25158,7 +25334,7 @@ - + @@ -25170,7 +25346,7 @@ - + @@ -25182,7 +25358,7 @@ - + @@ -25194,7 +25370,7 @@ - + @@ -25206,7 +25382,7 @@ - + @@ -25216,7 +25392,7 @@ - + @@ -25226,9 +25402,9 @@ - - - + + + @@ -25244,7 +25420,7 @@ - + @@ -25260,7 +25436,7 @@ - + @@ -25276,7 +25452,7 @@ - + @@ -25294,7 +25470,7 @@ - + @@ -25345,7 +25521,7 @@ - + @@ -25361,7 +25537,7 @@ - + @@ -25371,7 +25547,7 @@ - + @@ -25390,7 +25566,7 @@ - + @@ -25447,7 +25623,7 @@ - + @@ -25471,7 +25647,7 @@ - + @@ -25501,7 +25677,7 @@ - + @@ -25514,7 +25690,7 @@ - + @@ -25526,22 +25702,22 @@ - + - + - - + + @@ -25551,7 +25727,7 @@ - + @@ -25571,7 +25747,7 @@ - + @@ -25584,7 +25760,7 @@ - + @@ -25599,7 +25775,7 @@ - + @@ -25633,7 +25809,7 @@ - + @@ -25665,14 +25841,14 @@ - + - + @@ -25689,7 +25865,7 @@ - + @@ -25704,14 +25880,14 @@ - + - + @@ -25724,7 +25900,7 @@ - + @@ -25754,7 +25930,7 @@ - + @@ -25764,7 +25940,7 @@ - + @@ -25794,7 +25970,7 @@ - + @@ -25806,7 +25982,7 @@ - + @@ -25839,7 +26015,7 @@ - + @@ -25849,7 +26025,7 @@ - + @@ -25861,7 +26037,7 @@ - + @@ -25874,7 +26050,7 @@ - + @@ -25916,7 +26092,7 @@ - + @@ -25926,7 +26102,7 @@ - + @@ -25952,7 +26128,7 @@ - + @@ -25965,7 +26141,7 @@ - + @@ -25991,7 +26167,7 @@ - + @@ -26008,7 +26184,7 @@ - + @@ -26021,7 +26197,7 @@ - + @@ -26061,7 +26237,7 @@ - + @@ -26071,7 +26247,7 @@ - + @@ -26087,7 +26263,7 @@ - + @@ -26105,7 +26281,7 @@ - + @@ -26118,7 +26294,7 @@ - + @@ -26154,7 +26330,7 @@ - + @@ -26166,7 +26342,7 @@ - + @@ -26178,7 +26354,7 @@ - + @@ -26191,7 +26367,7 @@ - + @@ -26205,7 +26381,7 @@ - + @@ -26228,7 +26404,7 @@ - + @@ -26239,14 +26415,14 @@ - + - + @@ -26263,24 +26439,24 @@ - + - + - - - - + + + + @@ -26333,44 +26509,44 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -26391,7 +26567,7 @@ - + @@ -26415,7 +26591,7 @@ - + @@ -26437,7 +26613,7 @@ - + @@ -26504,7 +26680,7 @@ - + @@ -26553,7 +26729,7 @@ - + @@ -26567,7 +26743,7 @@ - + @@ -26583,7 +26759,7 @@ - + @@ -26596,7 +26772,7 @@ - + @@ -26609,7 +26785,7 @@ - + @@ -26620,7 +26796,7 @@ - + @@ -26631,7 +26807,7 @@ - + @@ -26644,7 +26820,7 @@ - + @@ -26657,7 +26833,7 @@ - + @@ -26715,7 +26891,7 @@ - + @@ -26729,7 +26905,7 @@ - + @@ -26739,7 +26915,7 @@ - + @@ -26749,9 +26925,11 @@ - + + + - + @@ -26765,9 +26943,11 @@ - + + + - + @@ -26777,7 +26957,9 @@ - + + + @@ -26793,7 +26975,7 @@ - + @@ -26829,7 +27011,7 @@ - + @@ -26842,7 +27024,7 @@ - + @@ -26868,7 +27050,7 @@ - + @@ -26953,14 +27135,14 @@ - + - + @@ -26972,7 +27154,7 @@ - + @@ -26985,7 +27167,7 @@ - + @@ -27007,7 +27189,7 @@ - + @@ -27017,7 +27199,7 @@ - + @@ -27027,8 +27209,8 @@ - - + + @@ -27043,7 +27225,7 @@ - + @@ -27067,7 +27249,7 @@ - + @@ -27080,7 +27262,7 @@ - + @@ -27144,7 +27326,7 @@ - + @@ -27204,34 +27386,34 @@ - + - - + + - + - + - + - + @@ -27241,7 +27423,7 @@ - + @@ -27330,14 +27512,14 @@ - + - + @@ -27347,7 +27529,7 @@ - + @@ -27359,7 +27541,7 @@ - + @@ -27369,7 +27551,7 @@ - + @@ -27379,7 +27561,7 @@ - + @@ -27389,7 +27571,7 @@ - + @@ -27399,7 +27581,7 @@ - + @@ -27409,7 +27591,7 @@ - + @@ -27419,7 +27601,7 @@ - + @@ -27429,7 +27611,7 @@ - + @@ -27439,7 +27621,7 @@ - + @@ -27449,7 +27631,7 @@ - + @@ -27459,24 +27641,24 @@ - - + + - + - - - + + + @@ -27501,7 +27683,7 @@ - + @@ -27540,7 +27722,7 @@ - + @@ -27559,21 +27741,21 @@ - + - + - + @@ -27682,7 +27864,7 @@ - + @@ -27695,7 +27877,7 @@ - + @@ -27708,7 +27890,7 @@ - + @@ -27721,7 +27903,7 @@ - + @@ -28078,21 +28260,21 @@ - + - + - + @@ -28108,7 +28290,7 @@ - + @@ -28117,14 +28299,14 @@ - + - + @@ -28143,7 +28325,7 @@ - + @@ -28155,7 +28337,7 @@ - + @@ -28165,7 +28347,7 @@ - + @@ -28178,7 +28360,7 @@ - + @@ -28191,7 +28373,7 @@ - + @@ -28204,7 +28386,7 @@ - + @@ -28220,7 +28402,7 @@ - + @@ -28236,14 +28418,14 @@ - + - + @@ -28251,7 +28433,7 @@ - + @@ -28259,14 +28441,14 @@ - + - + @@ -28274,9 +28456,9 @@ - - - + + + @@ -28292,7 +28474,7 @@ - + @@ -28308,7 +28490,7 @@ - + @@ -28321,7 +28503,7 @@ - + @@ -28334,7 +28516,7 @@ - + @@ -28347,7 +28529,7 @@ - + @@ -28360,7 +28542,7 @@ - + @@ -28370,7 +28552,7 @@ - + @@ -28382,7 +28564,7 @@ - + @@ -28446,7 +28628,7 @@ - + @@ -28459,7 +28641,7 @@ - + @@ -28522,7 +28704,7 @@ - + @@ -28532,7 +28714,7 @@ - + @@ -28543,7 +28725,7 @@ - + @@ -28552,7 +28734,7 @@ - + @@ -28565,7 +28747,7 @@ - + @@ -28594,7 +28776,7 @@ - + @@ -28604,7 +28786,7 @@ - + @@ -28617,7 +28799,7 @@ - + @@ -28660,12 +28842,12 @@ - + - + @@ -28682,7 +28864,7 @@ - + @@ -28701,28 +28883,28 @@ - + - + - + - + @@ -28735,7 +28917,7 @@ - + @@ -28823,21 +29005,21 @@ - + - + - + @@ -28850,7 +29032,7 @@ - + @@ -28862,7 +29044,7 @@ - + @@ -28875,7 +29057,7 @@ - + @@ -28914,7 +29096,7 @@ - + @@ -28927,7 +29109,7 @@ - + @@ -29002,7 +29184,7 @@ - + @@ -29017,7 +29199,7 @@ - + @@ -29038,7 +29220,7 @@ - + @@ -29048,7 +29230,7 @@ - + @@ -29058,7 +29240,7 @@ - + @@ -29068,7 +29250,7 @@ - + @@ -29078,7 +29260,7 @@ - + @@ -29088,7 +29270,7 @@ - + @@ -29130,7 +29312,7 @@ - + @@ -29174,7 +29356,7 @@ - + @@ -29198,14 +29380,14 @@ - + - + @@ -29247,7 +29429,7 @@ - + @@ -29291,7 +29473,7 @@ - + @@ -29315,7 +29497,7 @@ - + @@ -29357,7 +29539,7 @@ - + @@ -29401,7 +29583,7 @@ - + @@ -29425,7 +29607,7 @@ - + @@ -29467,7 +29649,7 @@ - + @@ -29511,7 +29693,7 @@ - + @@ -29535,14 +29717,14 @@ - + - + @@ -29584,7 +29766,7 @@ - + @@ -29628,7 +29810,7 @@ - + @@ -29652,7 +29834,7 @@ - + @@ -29694,7 +29876,7 @@ - + @@ -29738,7 +29920,7 @@ - + @@ -29762,7 +29944,7 @@ - + @@ -29804,7 +29986,7 @@ - + @@ -29848,7 +30030,7 @@ - + @@ -29872,7 +30054,7 @@ - + @@ -29914,7 +30096,7 @@ - + @@ -29958,7 +30140,7 @@ - + @@ -29982,7 +30164,7 @@ - + @@ -30024,7 +30206,7 @@ - + @@ -30068,7 +30250,7 @@ - + @@ -30092,7 +30274,7 @@ - + @@ -30134,7 +30316,7 @@ - + @@ -30178,7 +30360,7 @@ - + @@ -30202,21 +30384,21 @@ - + - + - + @@ -30258,7 +30440,7 @@ - + @@ -30302,7 +30484,7 @@ - + @@ -30326,14 +30508,14 @@ - + - + @@ -30375,7 +30557,7 @@ - + @@ -30419,7 +30601,7 @@ - + @@ -30443,42 +30625,42 @@ - + - + - + - + - + - + @@ -30516,21 +30698,21 @@ - + - + - + @@ -30567,7 +30749,7 @@ - + @@ -30604,7 +30786,7 @@ - + @@ -30641,7 +30823,7 @@ - + @@ -30678,7 +30860,7 @@ - + @@ -30715,7 +30897,7 @@ - + @@ -30752,7 +30934,7 @@ - + @@ -30789,7 +30971,7 @@ - + @@ -30826,7 +31008,7 @@ - + @@ -30837,7 +31019,7 @@ - + @@ -30880,7 +31062,7 @@ - + @@ -30920,7 +31102,7 @@ - + @@ -30960,14 +31142,14 @@ - + - + @@ -31014,7 +31196,7 @@ - + @@ -31057,7 +31239,7 @@ - + @@ -31073,7 +31255,7 @@ - + @@ -31120,7 +31302,7 @@ - + @@ -31163,7 +31345,7 @@ - + @@ -31179,14 +31361,14 @@ - + - + @@ -31199,7 +31381,7 @@ - + @@ -31212,7 +31394,7 @@ - + @@ -31222,7 +31404,7 @@ - + @@ -31237,8 +31419,8 @@ - - + + @@ -31246,7 +31428,7 @@ - + @@ -31254,7 +31436,7 @@ - + @@ -31262,7 +31444,7 @@ - + @@ -31270,7 +31452,7 @@ - + @@ -31278,7 +31460,7 @@ - + @@ -31293,7 +31475,7 @@ - + @@ -31308,7 +31490,7 @@ - + @@ -31322,7 +31504,7 @@ - + @@ -31330,21 +31512,21 @@ - + - + - + @@ -31354,21 +31536,21 @@ - + - + - + @@ -31413,14 +31595,14 @@ - + - + @@ -31465,14 +31647,14 @@ - + - + @@ -31517,21 +31699,21 @@ - + - + - + @@ -31543,14 +31725,14 @@ - + - + @@ -31559,7 +31741,7 @@ - + @@ -31570,7 +31752,7 @@ - + @@ -31581,7 +31763,7 @@ - + @@ -31592,7 +31774,7 @@ - + @@ -31610,13 +31792,13 @@ - + - - + + @@ -31630,7 +31812,7 @@ - + @@ -31680,7 +31862,7 @@ - + @@ -31690,14 +31872,14 @@ - + - + @@ -31707,7 +31889,7 @@ - + @@ -31719,12 +31901,12 @@ - + - + @@ -31733,7 +31915,7 @@ - + @@ -31741,7 +31923,7 @@ - + @@ -31749,7 +31931,7 @@ - + @@ -31760,7 +31942,7 @@ - + @@ -31770,14 +31952,14 @@ - + - + @@ -31787,7 +31969,7 @@ - + @@ -31800,7 +31982,7 @@ - + @@ -31813,7 +31995,7 @@ - + @@ -31822,7 +32004,7 @@ - + @@ -31831,7 +32013,7 @@ - + @@ -31840,7 +32022,7 @@ - + @@ -31849,8 +32031,8 @@ - - + + @@ -31863,7 +32045,7 @@ - + @@ -31876,28 +32058,28 @@ - + - + - + - + @@ -31909,7 +32091,7 @@ - + @@ -31921,7 +32103,7 @@ - + @@ -31936,7 +32118,7 @@ - + @@ -31951,7 +32133,7 @@ - + @@ -31964,7 +32146,7 @@ - + @@ -31989,7 +32171,7 @@ - + @@ -32011,21 +32193,21 @@ - + - + - + @@ -32038,7 +32220,7 @@ - + @@ -32082,7 +32264,7 @@ - + @@ -32098,7 +32280,7 @@ - + @@ -32106,14 +32288,14 @@ - + - + @@ -32121,7 +32303,7 @@ - + @@ -32137,7 +32319,7 @@ - + @@ -32153,7 +32335,7 @@ - + @@ -32166,7 +32348,7 @@ - + @@ -32179,7 +32361,7 @@ - + @@ -32192,7 +32374,7 @@ - + @@ -32205,7 +32387,7 @@ - + @@ -32218,7 +32400,7 @@ - + @@ -32231,7 +32413,7 @@ - + @@ -32244,14 +32426,14 @@ - + - + @@ -32264,7 +32446,7 @@ - + @@ -32277,14 +32459,14 @@ - + - + @@ -32294,7 +32476,7 @@ - + @@ -32304,7 +32486,7 @@ - + @@ -32382,7 +32564,7 @@ - + @@ -32459,7 +32641,7 @@ - + @@ -32472,7 +32654,7 @@ - + @@ -32521,6 +32703,7 @@ + @@ -32677,7 +32860,7 @@ - + @@ -32880,7 +33063,7 @@ - + @@ -32893,7 +33076,7 @@ - + @@ -32904,7 +33087,7 @@ - + @@ -32915,9 +33098,11 @@ - + + + - + @@ -32931,9 +33116,11 @@ - + + + - + @@ -32949,9 +33136,11 @@ - + + + - + @@ -32961,9 +33150,11 @@ - + + + - + @@ -32973,9 +33164,11 @@ - + + + - + @@ -32988,7 +33181,9 @@ - + + + @@ -33270,7 +33465,7 @@ - + @@ -33308,7 +33503,7 @@ - + @@ -33321,7 +33516,7 @@ - + @@ -33349,7 +33544,7 @@ - + @@ -33362,7 +33557,7 @@ - + @@ -33373,12 +33568,12 @@ - + - + @@ -33401,7 +33596,7 @@ - + @@ -33409,7 +33604,7 @@ - + @@ -33420,7 +33615,7 @@ - + @@ -33433,7 +33628,7 @@ - + @@ -33513,7 +33708,7 @@ - + @@ -33545,7 +33740,7 @@ - + @@ -33558,7 +33753,7 @@ - + @@ -33581,7 +33776,7 @@ - + @@ -33591,7 +33786,7 @@ - + @@ -33604,8 +33799,8 @@ - - + + @@ -33618,15 +33813,23 @@ - + - + + + + + + + + + - + @@ -33639,7 +33842,7 @@ - + @@ -33884,9 +34087,6 @@ - - - @@ -33923,10 +34123,13 @@ + + + - + @@ -33936,7 +34139,7 @@ - + @@ -33949,6 +34152,7 @@ + @@ -33963,7 +34167,7 @@ - + @@ -33979,6 +34183,7 @@ + @@ -33993,7 +34198,7 @@ - + @@ -34020,6 +34225,7 @@ + @@ -34034,7 +34240,7 @@ - + @@ -34066,6 +34272,7 @@ + @@ -34080,7 +34287,7 @@ - + @@ -34200,7 +34407,7 @@ - + @@ -34223,7 +34430,7 @@ - + @@ -34233,7 +34440,7 @@ - + @@ -34253,7 +34460,7 @@ - + @@ -34285,7 +34492,7 @@ - + @@ -34317,7 +34524,7 @@ - + @@ -34330,7 +34537,7 @@ - + @@ -34348,7 +34555,7 @@ - + @@ -34356,7 +34563,7 @@ - + @@ -34364,7 +34571,7 @@ - + @@ -34375,7 +34582,7 @@ - + @@ -34388,7 +34595,7 @@ - + @@ -34422,7 +34629,7 @@ - + @@ -34435,7 +34642,7 @@ - + @@ -34447,9 +34654,14 @@ - + + + + + + - + @@ -34458,7 +34670,7 @@ - + @@ -34468,7 +34680,7 @@ - + @@ -34483,7 +34695,7 @@ - + @@ -34586,7 +34798,7 @@ - + @@ -34594,7 +34806,7 @@ - + @@ -34602,7 +34814,7 @@ - + @@ -34610,7 +34822,7 @@ - + @@ -34618,7 +34830,7 @@ - + @@ -34630,14 +34842,14 @@ - + - + @@ -34650,7 +34862,7 @@ - + @@ -34663,7 +34875,7 @@ - + @@ -34673,7 +34885,7 @@ - + @@ -34717,7 +34929,7 @@ - + @@ -34727,7 +34939,7 @@ - + @@ -34770,7 +34982,7 @@ - + @@ -34783,7 +34995,7 @@ - + @@ -34826,16 +35038,19 @@ - + - + + + + - + @@ -34844,7 +35059,7 @@ - + @@ -34857,7 +35072,7 @@ - + @@ -34890,7 +35105,7 @@ - + @@ -34900,7 +35115,7 @@ - + @@ -34910,7 +35125,7 @@ - + @@ -34920,14 +35135,14 @@ - + - + @@ -34936,7 +35151,7 @@ - + @@ -34944,7 +35159,7 @@ - + @@ -34952,7 +35167,7 @@ - + @@ -34960,7 +35175,7 @@ - + @@ -34968,27 +35183,27 @@ - + - + - + - + - + @@ -34996,7 +35211,7 @@ - + @@ -35004,7 +35219,7 @@ - + @@ -35018,7 +35233,7 @@ - + @@ -35032,7 +35247,7 @@ - + @@ -35120,7 +35335,7 @@ - + @@ -35130,9 +35345,11 @@ - + + + - + @@ -35147,7 +35364,7 @@ - + @@ -35157,9 +35374,11 @@ - + + + - + @@ -35169,9 +35388,11 @@ - + + + - + @@ -35181,14 +35402,14 @@ - + - + @@ -35198,7 +35419,7 @@ - + @@ -35208,7 +35429,7 @@ - + @@ -35220,7 +35441,7 @@ - + @@ -35229,7 +35450,7 @@ - + @@ -35248,7 +35469,7 @@ - + @@ -35266,7 +35487,7 @@ - + @@ -35278,7 +35499,7 @@ - + @@ -35291,7 +35512,7 @@ - + @@ -35350,8 +35571,8 @@ - - + + @@ -35363,64 +35584,64 @@ - + - - + + - + - + - + - + - + - + - + @@ -35429,70 +35650,70 @@ - + - + - + - + - + - + - + - + - + - + @@ -35519,7 +35740,7 @@ - + @@ -35534,23 +35755,23 @@ - - + + - - - + + + - + - + @@ -35563,7 +35784,7 @@ - + @@ -35579,7 +35800,7 @@ - + @@ -35595,7 +35816,7 @@ - + @@ -35611,7 +35832,7 @@ - + @@ -35624,7 +35845,7 @@ - + @@ -35637,7 +35858,7 @@ - + @@ -35647,14 +35868,14 @@ - + - + @@ -35664,7 +35885,7 @@ - + @@ -35678,7 +35899,7 @@ - + @@ -35689,7 +35910,7 @@ - + @@ -35702,7 +35923,7 @@ - + @@ -35715,29 +35936,29 @@ - + - + - - + + - + @@ -35746,7 +35967,7 @@ - + @@ -35762,7 +35983,7 @@ - + @@ -35850,7 +36071,7 @@ - + @@ -35863,9 +36084,11 @@ - + + + - + @@ -35883,7 +36106,7 @@ - + @@ -35893,9 +36116,11 @@ - + + + - + @@ -35905,7 +36130,9 @@ - + + + @@ -35917,7 +36144,7 @@ - + @@ -35927,7 +36154,7 @@ - + @@ -35951,7 +36178,7 @@ - + @@ -35961,7 +36188,7 @@ - + @@ -35971,7 +36198,7 @@ - + @@ -35980,31 +36207,31 @@ - + - - + + - + - + - + @@ -36012,7 +36239,7 @@ - + @@ -36021,7 +36248,7 @@ - + @@ -36031,7 +36258,7 @@ - + @@ -36042,7 +36269,7 @@ - + @@ -36054,7 +36281,7 @@ - + @@ -36067,7 +36294,7 @@ - + @@ -36081,14 +36308,14 @@ - + - + @@ -36098,7 +36325,7 @@ - + @@ -36111,7 +36338,7 @@ - + @@ -36127,7 +36354,7 @@ - + @@ -36146,8 +36373,8 @@ - - + + @@ -36160,7 +36387,7 @@ - + @@ -36173,7 +36400,7 @@ - + @@ -36183,7 +36410,7 @@ - + @@ -36193,19 +36420,19 @@ - + - + - + @@ -36215,7 +36442,7 @@ - + @@ -36225,19 +36452,19 @@ - + - + - + @@ -36247,7 +36474,7 @@ - + @@ -36257,7 +36484,7 @@ - + @@ -36267,7 +36494,7 @@ - + @@ -36277,25 +36504,25 @@ - + - + - + - + @@ -36303,7 +36530,7 @@ - + @@ -36311,7 +36538,7 @@ - + @@ -36319,7 +36546,7 @@ - + @@ -36327,14 +36554,14 @@ - + - + @@ -36342,7 +36569,7 @@ - + @@ -36350,28 +36577,28 @@ - + - + - + - + @@ -36379,7 +36606,7 @@ - + @@ -36387,7 +36614,7 @@ - + @@ -36395,7 +36622,7 @@ - + @@ -36403,14 +36630,14 @@ - + - + @@ -36423,7 +36650,7 @@ - + @@ -36436,7 +36663,7 @@ - + @@ -36449,7 +36676,7 @@ - + @@ -36462,7 +36689,7 @@ - + @@ -36472,7 +36699,7 @@ - + @@ -36482,28 +36709,28 @@ - + - + - + - + @@ -36516,7 +36743,7 @@ - + @@ -36529,7 +36756,7 @@ - + @@ -36538,7 +36765,7 @@ - + @@ -36547,7 +36774,7 @@ - + @@ -36559,7 +36786,7 @@ - + @@ -36570,7 +36797,7 @@ - + @@ -36581,7 +36808,7 @@ - + @@ -36589,7 +36816,7 @@ - + @@ -36597,11 +36824,13 @@ - + - + + + - + @@ -36611,11 +36840,13 @@ - + - + + + - + @@ -36625,35 +36856,39 @@ - + - + + + - + - + - + + + - + - + - + - + @@ -36663,13 +36898,13 @@ - + - + - + @@ -36679,33 +36914,33 @@ - + - + - + - + - + - + - + @@ -36713,9 +36948,9 @@ - - - + + + @@ -36723,7 +36958,7 @@ - + @@ -36731,22 +36966,22 @@ - + - + - - + + @@ -36754,7 +36989,7 @@ - + @@ -36762,7 +36997,7 @@ - + @@ -36770,17 +37005,17 @@ - - - - + + + + - + @@ -36796,7 +37031,7 @@ - + @@ -36812,21 +37047,21 @@ - + - + - + @@ -36842,7 +37077,7 @@ - + @@ -36858,7 +37093,7 @@ - + @@ -36871,7 +37106,7 @@ - + @@ -36884,7 +37119,7 @@ - + @@ -36900,7 +37135,7 @@ - + @@ -36916,7 +37151,7 @@ - + @@ -36929,7 +37164,7 @@ - + @@ -36942,7 +37177,7 @@ - + @@ -36952,7 +37187,7 @@ - + @@ -36962,7 +37197,7 @@ - + @@ -36974,7 +37209,7 @@ - + @@ -36986,7 +37221,7 @@ - + @@ -36994,7 +37229,7 @@ - + @@ -37002,7 +37237,7 @@ - + @@ -37010,11 +37245,13 @@ - + - + + + - + @@ -37024,11 +37261,13 @@ - + - + + + - + @@ -37038,18 +37277,20 @@ - + - + + + - + - + @@ -37057,8 +37298,8 @@ - - + + @@ -37070,7 +37311,7 @@ - + @@ -37082,7 +37323,7 @@ - + @@ -37094,7 +37335,7 @@ - + @@ -37106,7 +37347,7 @@ - + @@ -37118,7 +37359,7 @@ - + @@ -37130,7 +37371,7 @@ - + @@ -37142,7 +37383,7 @@ - + @@ -37154,7 +37395,7 @@ - + @@ -37166,7 +37407,7 @@ - + @@ -37178,7 +37419,7 @@ - + @@ -37188,7 +37429,7 @@ - + @@ -37198,7 +37439,7 @@ - + @@ -37207,7 +37448,7 @@ - + @@ -37216,9 +37457,9 @@ - - - + + + @@ -37230,7 +37471,7 @@ - + @@ -37243,14 +37484,14 @@ - + - + @@ -37262,22 +37503,22 @@ - - + + - + - + @@ -37287,7 +37528,7 @@ - + @@ -37297,7 +37538,7 @@ - + @@ -37310,7 +37551,7 @@ - + @@ -37318,7 +37559,7 @@ - + @@ -37329,7 +37570,7 @@ - + @@ -37343,7 +37584,7 @@ - + @@ -37360,7 +37601,7 @@ - + @@ -37380,7 +37621,7 @@ - + @@ -37403,7 +37644,7 @@ - + @@ -37429,7 +37670,7 @@ - + @@ -37437,7 +37678,7 @@ - + @@ -37448,7 +37689,7 @@ - + @@ -37462,7 +37703,7 @@ - + @@ -37479,7 +37720,7 @@ - + @@ -37499,7 +37740,7 @@ - + @@ -37522,7 +37763,7 @@ - + @@ -37548,24 +37789,24 @@ - + - + - + - + @@ -37573,12 +37814,12 @@ - + - + @@ -37586,12 +37827,12 @@ - + - + @@ -37599,12 +37840,12 @@ - + - + @@ -37612,9 +37853,9 @@ - - - + + + @@ -37622,7 +37863,7 @@ - + @@ -37633,7 +37874,7 @@ - + @@ -37647,7 +37888,7 @@ - + @@ -37664,7 +37905,7 @@ - + @@ -37684,14 +37925,14 @@ - + - + @@ -37701,7 +37942,7 @@ - + @@ -37711,7 +37952,7 @@ - + @@ -37724,7 +37965,7 @@ - + @@ -37737,7 +37978,7 @@ - + @@ -37750,7 +37991,7 @@ - + @@ -37766,7 +38007,7 @@ - + @@ -37782,7 +38023,7 @@ - + @@ -37798,7 +38039,7 @@ - + @@ -37814,7 +38055,7 @@ - + @@ -37833,7 +38074,7 @@ - + @@ -37852,7 +38093,7 @@ - + @@ -37871,7 +38112,7 @@ - + @@ -37890,7 +38131,7 @@ - + @@ -37909,7 +38150,7 @@ - + @@ -37931,7 +38172,7 @@ - + @@ -37953,7 +38194,7 @@ - + @@ -37975,7 +38216,7 @@ - + @@ -37997,7 +38238,7 @@ - + @@ -38019,7 +38260,7 @@ - + @@ -38041,14 +38282,14 @@ - + - + @@ -38058,7 +38299,7 @@ - + @@ -38068,7 +38309,7 @@ - + @@ -38081,7 +38322,7 @@ - + @@ -38094,7 +38335,7 @@ - + @@ -38107,52 +38348,52 @@ - + - + - + - + - + - + - + - + @@ -38164,7 +38405,7 @@ - + @@ -38179,6 +38420,20 @@ + + + + + + + + + + + + + + @@ -38187,35 +38442,35 @@ - + - - + + - + - + - + - + @@ -38223,12 +38478,12 @@ - + - + @@ -38236,45 +38491,46 @@ - + - + - + - + - + - + - - - + + + + @@ -38290,7 +38546,7 @@ - + @@ -38300,7 +38556,7 @@ - + @@ -38310,7 +38566,7 @@ - + @@ -38320,16 +38576,16 @@ - + - - - + + + @@ -38337,7 +38593,9 @@ - + + + @@ -38347,29 +38605,29 @@ - - + + - + - + - - + + @@ -38378,7 +38636,7 @@ - + @@ -38386,7 +38644,7 @@ - + @@ -38399,7 +38657,7 @@ - + @@ -38412,14 +38670,14 @@ - + - + @@ -38431,7 +38689,7 @@ - + @@ -38440,14 +38698,14 @@ - + - + @@ -38455,13 +38713,13 @@ - + - + @@ -38469,7 +38727,7 @@ - + @@ -38477,13 +38735,13 @@ - + - + @@ -38491,14 +38749,14 @@ - + - + @@ -38510,7 +38768,7 @@ - + @@ -38522,7 +38780,7 @@ - + @@ -38538,7 +38796,7 @@ - + @@ -38554,7 +38812,7 @@ - + @@ -38567,7 +38825,7 @@ - + @@ -38580,7 +38838,7 @@ - + @@ -38591,7 +38849,7 @@ - + @@ -38602,7 +38860,7 @@ - + @@ -38610,7 +38868,7 @@ - + @@ -38618,7 +38876,7 @@ - + @@ -38626,12 +38884,12 @@ - + - + @@ -38639,12 +38897,12 @@ - + - + @@ -38654,7 +38912,7 @@ - + @@ -38664,7 +38922,7 @@ - + @@ -38677,33 +38935,33 @@ - + - + - - - + + + - + - + @@ -38712,7 +38970,7 @@ - + @@ -38728,7 +38986,7 @@ - + @@ -38744,7 +39002,7 @@ - + @@ -38753,7 +39011,7 @@ - + @@ -38762,7 +39020,7 @@ - + @@ -38771,7 +39029,7 @@ - + @@ -38780,7 +39038,7 @@ - + @@ -38796,7 +39054,7 @@ - + @@ -38812,20 +39070,20 @@ - - - - + + + + - + - + @@ -38834,7 +39092,7 @@ - + @@ -38843,7 +39101,7 @@ - + @@ -38852,17 +39110,17 @@ - + - + - + @@ -38875,7 +39133,7 @@ - + @@ -38888,7 +39146,7 @@ - + @@ -38903,7 +39161,7 @@ - + @@ -38918,7 +39176,7 @@ - + @@ -38931,7 +39189,7 @@ - + @@ -38944,7 +39202,7 @@ - + @@ -38959,7 +39217,7 @@ - + @@ -38968,7 +39226,7 @@ - + @@ -38977,7 +39235,7 @@ - + @@ -38986,7 +39244,7 @@ - + @@ -38995,7 +39253,7 @@ - + @@ -39004,7 +39262,7 @@ - + @@ -39017,7 +39275,7 @@ - + @@ -39025,7 +39283,7 @@ - + @@ -39033,7 +39291,7 @@ - + @@ -39041,7 +39299,7 @@ - + @@ -39049,13 +39307,13 @@ - + - - + + - + @@ -39065,13 +39323,13 @@ - + - - + + - + @@ -39081,7 +39339,7 @@ - + @@ -39089,7 +39347,7 @@ - + @@ -39097,7 +39355,7 @@ - + @@ -39105,7 +39363,7 @@ - + @@ -39113,7 +39371,7 @@ - + @@ -39124,7 +39382,7 @@ - + @@ -39132,7 +39390,7 @@ - + @@ -39140,21 +39398,21 @@ - + - + - + @@ -39162,75 +39420,75 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -39257,7 +39515,7 @@ - + @@ -39267,7 +39525,7 @@ - + @@ -39280,7 +39538,7 @@ - + @@ -39293,7 +39551,7 @@ - + @@ -39309,7 +39567,7 @@ - + @@ -39325,7 +39583,7 @@ - + @@ -39335,7 +39593,7 @@ - + @@ -39345,7 +39603,7 @@ - + @@ -39358,7 +39616,7 @@ - + @@ -39371,7 +39629,7 @@ - + @@ -39384,7 +39642,7 @@ - + @@ -39397,7 +39655,7 @@ - + @@ -39407,7 +39665,7 @@ - + @@ -39417,7 +39675,7 @@ - + @@ -39430,7 +39688,7 @@ - + @@ -39443,7 +39701,7 @@ - + @@ -39456,7 +39714,7 @@ - + @@ -39469,7 +39727,7 @@ - + @@ -39479,7 +39737,7 @@ - + @@ -39489,13 +39747,13 @@ - + - + - + @@ -39505,13 +39763,13 @@ - + - + - + @@ -39521,33 +39779,33 @@ - + - + - + - + - + - + - + @@ -39558,7 +39816,7 @@ - + @@ -39572,7 +39830,7 @@ - + @@ -39583,7 +39841,7 @@ - + @@ -39597,7 +39855,7 @@ - + @@ -39610,7 +39868,7 @@ - + @@ -39620,7 +39878,7 @@ - + @@ -39629,7 +39887,7 @@ - + @@ -39639,7 +39897,7 @@ - + @@ -39652,7 +39910,7 @@ - + @@ -39665,7 +39923,7 @@ - + @@ -39679,7 +39937,7 @@ - + @@ -39693,7 +39951,7 @@ - + @@ -39701,7 +39959,7 @@ - + @@ -39710,7 +39968,7 @@ - + @@ -39719,7 +39977,7 @@ - + @@ -39727,7 +39985,7 @@ - + @@ -39735,7 +39993,7 @@ - + @@ -39743,7 +40001,7 @@ - + @@ -39751,7 +40009,7 @@ - + @@ -39760,21 +40018,21 @@ - + - + - + @@ -39783,7 +40041,7 @@ - + @@ -39792,7 +40050,7 @@ - + @@ -39805,7 +40063,7 @@ - + @@ -39814,7 +40072,7 @@ - + @@ -39827,7 +40085,7 @@ - + @@ -39836,9 +40094,9 @@ - - - + + + @@ -39850,35 +40108,35 @@ - + - + - + - + - + @@ -39886,14 +40144,14 @@ - + - + @@ -39903,14 +40161,14 @@ - + - + @@ -39920,7 +40178,7 @@ - + @@ -39931,7 +40189,7 @@ - + @@ -39942,7 +40200,7 @@ - + @@ -39950,7 +40208,7 @@ - + @@ -39958,8 +40216,8 @@ - - + + @@ -39969,7 +40227,7 @@ - + @@ -39979,42 +40237,42 @@ - - + + - + - + - - + + - + - + @@ -40027,7 +40285,7 @@ - + @@ -40035,21 +40293,11 @@ - - - - - - - - - - - - - - - + + + + + @@ -40139,7 +40387,7 @@ - + @@ -40152,7 +40400,7 @@ - + @@ -40165,7 +40413,7 @@ - + @@ -40178,7 +40426,7 @@ - + @@ -40191,8 +40439,8 @@ - - + + @@ -40202,7 +40450,7 @@ - + @@ -40212,7 +40460,7 @@ - + @@ -40222,7 +40470,7 @@ - + @@ -40232,7 +40480,7 @@ - + @@ -40246,7 +40494,7 @@ - + @@ -40256,14 +40504,14 @@ - + - + @@ -40272,7 +40520,7 @@ - + @@ -40280,7 +40528,7 @@ - + @@ -40293,7 +40541,7 @@ - + @@ -40306,28 +40554,28 @@ - + - + - + - + @@ -40340,7 +40588,7 @@ - + @@ -40353,7 +40601,7 @@ - + @@ -40363,7 +40611,7 @@ - + @@ -40376,7 +40624,7 @@ - + @@ -40389,7 +40637,7 @@ - + @@ -40402,7 +40650,7 @@ - + @@ -40414,7 +40662,7 @@ - + @@ -40426,7 +40674,7 @@ - + @@ -40438,7 +40686,7 @@ - + @@ -40450,7 +40698,7 @@ - + @@ -40458,18 +40706,16 @@ - - - - - + + + + + - - - + @@ -40479,30 +40725,28 @@ - + - - - + - + - + - + @@ -40510,7 +40754,7 @@ - + @@ -40520,7 +40764,7 @@ - + @@ -40530,7 +40774,7 @@ - + @@ -40540,7 +40784,7 @@ - + @@ -40550,7 +40794,7 @@ - + @@ -40559,7 +40803,7 @@ - + @@ -40568,9 +40812,9 @@ - - - + + + @@ -40581,39 +40825,39 @@ - + - + - + - + - + - + - + @@ -40626,7 +40870,7 @@ - + @@ -40647,7 +40891,7 @@ - + @@ -40657,9 +40901,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -40672,7 +41015,7 @@ - + @@ -40685,7 +41028,7 @@ - + @@ -40700,7 +41043,7 @@ - + @@ -40708,7 +41051,7 @@ - + @@ -40718,7 +41061,7 @@ - + @@ -40732,33 +41075,33 @@ - + - + - + - + - + @@ -40828,7 +41171,7 @@ - + @@ -40841,7 +41184,7 @@ - + @@ -40927,7 +41270,7 @@ - + @@ -40940,7 +41283,7 @@ - + @@ -40951,7 +41294,7 @@ - + @@ -40964,7 +41307,7 @@ - + @@ -40972,7 +41315,7 @@ - + @@ -40984,29 +41327,32 @@ - + + + + - + - + - - - - + + + + - + @@ -41019,7 +41365,7 @@ - + @@ -41041,7 +41387,7 @@ - + @@ -41054,7 +41400,7 @@ - + @@ -41067,7 +41413,7 @@ - + @@ -41078,7 +41424,7 @@ - + @@ -41106,7 +41452,7 @@ - + @@ -41119,7 +41465,7 @@ - + @@ -41226,7 +41572,7 @@ - + @@ -41236,7 +41582,7 @@ - + @@ -41246,7 +41592,7 @@ - + @@ -41254,10 +41600,10 @@ - + - + @@ -41270,7 +41616,7 @@ - + @@ -41296,7 +41642,7 @@ - + @@ -41309,7 +41655,7 @@ - + @@ -41322,7 +41668,7 @@ - + @@ -41335,7 +41681,7 @@ - + @@ -41364,7 +41710,7 @@ - + @@ -41412,7 +41758,7 @@ - + @@ -41424,7 +41770,7 @@ - + @@ -41433,7 +41779,7 @@ - + @@ -41504,7 +41850,7 @@ - + @@ -41516,7 +41862,7 @@ - + @@ -41528,7 +41874,7 @@ - + @@ -41540,7 +41886,7 @@ - + @@ -41552,7 +41898,7 @@ - + @@ -41564,7 +41910,7 @@ - + @@ -41577,7 +41923,7 @@ - + @@ -41590,7 +41936,7 @@ - + @@ -41603,7 +41949,7 @@ - + @@ -41616,9 +41962,9 @@ - - - + + + @@ -41655,7 +42001,7 @@ - + @@ -41692,7 +42038,7 @@ - + @@ -41729,7 +42075,7 @@ - + @@ -41766,7 +42112,7 @@ - + @@ -41803,7 +42149,7 @@ - + @@ -41838,7 +42184,7 @@ - + @@ -41887,7 +42233,7 @@ - + @@ -41941,9 +42287,9 @@ - - - + + + @@ -41952,28 +42298,28 @@ - + - + - + - + @@ -41982,7 +42328,7 @@ - + @@ -41998,7 +42344,7 @@ - + @@ -42011,7 +42357,7 @@ - + @@ -42041,7 +42387,9 @@ - + + + @@ -42060,11 +42408,13 @@ - + + + - + @@ -42077,7 +42427,7 @@ - + @@ -42090,14 +42440,14 @@ - + - + @@ -42106,14 +42456,14 @@ - + - + @@ -42121,14 +42471,14 @@ - + - + @@ -42142,7 +42492,7 @@ - + @@ -42151,7 +42501,7 @@ - + @@ -42164,7 +42514,7 @@ - + @@ -42175,7 +42525,7 @@ - + @@ -42186,7 +42536,7 @@ - + @@ -42197,7 +42547,7 @@ - + @@ -42211,7 +42561,7 @@ - + @@ -42225,28 +42575,28 @@ - + - + - + - + @@ -42256,21 +42606,21 @@ - + - + - + @@ -42278,14 +42628,14 @@ - + - + @@ -42301,7 +42651,7 @@ - + @@ -42317,7 +42667,7 @@ - + @@ -42579,21 +42929,21 @@ - + - + - + @@ -42606,7 +42956,7 @@ - + @@ -42657,16 +43007,18 @@ - + - + + + - + @@ -42676,7 +43028,7 @@ - + @@ -42686,7 +43038,7 @@ - + @@ -42867,7 +43219,7 @@ - + @@ -42883,7 +43235,7 @@ - + @@ -42899,7 +43251,7 @@ - + @@ -42912,7 +43264,7 @@ - + @@ -42925,7 +43277,7 @@ - + @@ -42941,7 +43293,7 @@ - + @@ -42957,7 +43309,7 @@ - + @@ -42970,7 +43322,7 @@ - + @@ -42983,7 +43335,7 @@ - + @@ -43011,7 +43363,7 @@ - + @@ -43024,7 +43376,7 @@ - + @@ -43037,7 +43389,7 @@ - + @@ -43047,7 +43399,7 @@ - + @@ -43074,7 +43426,7 @@ - + @@ -43084,7 +43436,7 @@ - + @@ -43094,7 +43446,7 @@ - + @@ -43128,7 +43480,7 @@ - + @@ -43141,7 +43493,7 @@ - + @@ -43154,7 +43506,7 @@ - + @@ -43164,7 +43516,7 @@ - + @@ -43174,7 +43526,7 @@ - + @@ -43187,7 +43539,7 @@ - + @@ -43200,7 +43552,7 @@ - + @@ -43210,7 +43562,7 @@ - + @@ -43222,7 +43574,7 @@ - + @@ -43235,7 +43587,7 @@ - + @@ -43300,7 +43652,7 @@ - + @@ -43308,7 +43660,7 @@ - + @@ -43316,7 +43668,7 @@ - + @@ -43324,7 +43676,7 @@ - + @@ -43332,7 +43684,7 @@ - + @@ -43343,7 +43695,7 @@ - + @@ -43354,7 +43706,7 @@ - + @@ -43367,7 +43719,7 @@ - + @@ -43478,7 +43830,7 @@ - + @@ -43487,9 +43839,16 @@ - + + + + + + + + - + @@ -43498,51 +43857,58 @@ - + + + + + + + + - + - + - + - + - + - + - + - + - + @@ -43555,7 +43921,7 @@ - + @@ -43568,7 +43934,7 @@ - + @@ -43583,7 +43949,7 @@ - + @@ -43594,7 +43960,7 @@ - + @@ -43622,7 +43988,7 @@ - + @@ -43638,7 +44004,7 @@ - + @@ -43654,7 +44020,7 @@ - + @@ -43667,7 +44033,7 @@ - + @@ -43682,7 +44048,7 @@ - + @@ -43695,7 +44061,7 @@ - + @@ -43724,19 +44090,19 @@ - + - + - + @@ -43747,7 +44113,7 @@ - + @@ -43755,7 +44121,7 @@ - + @@ -43763,7 +44129,7 @@ - + @@ -43771,7 +44137,7 @@ - + @@ -43779,7 +44145,7 @@ - + @@ -43787,7 +44153,7 @@ - + @@ -43795,7 +44161,7 @@ - + @@ -43803,12 +44169,12 @@ - + - + @@ -43816,7 +44182,7 @@ - + @@ -43824,7 +44190,7 @@ - + @@ -43832,7 +44198,7 @@ - + @@ -43840,7 +44206,7 @@ - + @@ -43848,7 +44214,7 @@ - + @@ -43856,7 +44222,7 @@ - + @@ -43994,28 +44360,28 @@ - + - + - + - - + + @@ -44028,7 +44394,7 @@ - + @@ -44038,7 +44404,7 @@ - + @@ -44057,7 +44423,7 @@ - + @@ -44075,13 +44441,13 @@ - - + + - + @@ -44089,7 +44455,7 @@ - + @@ -44107,21 +44473,21 @@ - + - + - + @@ -44131,7 +44497,7 @@ - + @@ -44141,21 +44507,21 @@ - + - + - + @@ -44165,21 +44531,21 @@ - + - + - + @@ -44189,8 +44555,8 @@ - - + + @@ -44200,7 +44566,7 @@ - + @@ -44210,7 +44576,7 @@ - + @@ -44220,28 +44586,28 @@ - + - + - + - + @@ -44251,7 +44617,7 @@ - + @@ -44261,7 +44627,7 @@ - + @@ -44271,7 +44637,7 @@ - + @@ -44281,7 +44647,7 @@ - + @@ -44291,7 +44657,7 @@ - + @@ -44304,7 +44670,7 @@ - + @@ -44314,14 +44680,14 @@ - + - + @@ -44331,7 +44697,7 @@ - + @@ -44344,7 +44710,7 @@ - + @@ -44363,7 +44729,7 @@ - + @@ -44376,42 +44742,42 @@ - + - + - + - + - + - + @@ -44421,7 +44787,7 @@ - + @@ -44434,7 +44800,7 @@ - + @@ -44447,7 +44813,7 @@ - + @@ -44460,7 +44826,7 @@ - + @@ -44473,7 +44839,7 @@ - + @@ -44486,7 +44852,7 @@ - + @@ -44499,7 +44865,7 @@ - + @@ -44512,7 +44878,7 @@ - + @@ -44525,42 +44891,42 @@ - + - + - + - + - + - + @@ -44570,7 +44936,7 @@ - + @@ -44583,7 +44949,7 @@ - + @@ -44593,8 +44959,8 @@ - - + + @@ -44607,7 +44973,7 @@ - + @@ -44623,7 +44989,7 @@ - + @@ -44633,7 +44999,7 @@ - + @@ -44646,28 +45012,28 @@ - + - + - + - + @@ -44677,7 +45043,7 @@ - + @@ -44687,7 +45053,7 @@ - + @@ -44700,14 +45066,14 @@ - + - + @@ -44717,7 +45083,7 @@ - + @@ -44727,35 +45093,35 @@ - + - + - + - + - + @@ -44765,7 +45131,7 @@ - + @@ -44775,7 +45141,7 @@ - + @@ -44785,7 +45151,7 @@ - + @@ -44795,7 +45161,7 @@ - + @@ -44808,7 +45174,7 @@ - + @@ -44821,8 +45187,8 @@ - - + + @@ -44832,7 +45198,7 @@ - + @@ -44845,7 +45211,7 @@ - + @@ -44858,7 +45224,7 @@ - + @@ -44871,7 +45237,7 @@ - + @@ -44887,7 +45253,7 @@ - + @@ -44900,7 +45266,7 @@ - + @@ -44913,7 +45279,7 @@ - + @@ -44929,7 +45295,7 @@ - + @@ -44939,7 +45305,7 @@ - + @@ -44949,7 +45315,7 @@ - + @@ -44962,7 +45328,7 @@ - + @@ -44978,7 +45344,7 @@ - + @@ -44988,7 +45354,7 @@ - + @@ -44998,7 +45364,7 @@ - + @@ -45014,7 +45380,7 @@ - + @@ -45027,7 +45393,7 @@ - + @@ -45037,7 +45403,7 @@ - + @@ -45050,7 +45416,7 @@ - + @@ -45063,7 +45429,7 @@ - + @@ -45079,14 +45445,14 @@ - + - + @@ -45096,7 +45462,7 @@ - + @@ -45109,7 +45475,7 @@ - + @@ -45122,7 +45488,7 @@ - + @@ -45135,65 +45501,65 @@ - + - + - + - + - + - - - + + + - + - + - + @@ -45203,7 +45569,7 @@ - + @@ -45213,7 +45579,7 @@ - + @@ -45228,7 +45594,7 @@ - + @@ -45237,7 +45603,7 @@ - + @@ -45250,7 +45616,7 @@ - + @@ -45319,35 +45685,35 @@ - + - + - + - + - + @@ -45357,14 +45723,14 @@ - + - + @@ -45374,7 +45740,7 @@ - + @@ -45396,63 +45762,63 @@ - + - + - + - + - + - + - + - + - + @@ -45462,7 +45828,7 @@ - + @@ -45472,7 +45838,7 @@ - + @@ -45482,7 +45848,7 @@ - - + + diff --git a/tex/context/interface/mkiv/i-align.xml b/tex/context/interface/mkiv/i-align.xml index d8b75a463..326024c39 100644 --- a/tex/context/interface/mkiv/i-align.xml +++ b/tex/context/interface/mkiv/i-align.xml @@ -4,7 +4,7 @@ - + @@ -63,13 +63,13 @@ - + - + @@ -77,7 +77,7 @@ - + @@ -88,55 +88,55 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -144,7 +144,7 @@ - + @@ -154,7 +154,7 @@ - + @@ -162,7 +162,7 @@ - + @@ -170,7 +170,7 @@ - + @@ -179,7 +179,7 @@ - + @@ -187,7 +187,7 @@ - + @@ -196,7 +196,7 @@ - + @@ -206,7 +206,7 @@ - + @@ -273,4 +273,44 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tex/context/interface/mkiv/i-anchor.xml b/tex/context/interface/mkiv/i-anchor.xml index 342976a3d..c8dad56d5 100644 --- a/tex/context/interface/mkiv/i-anchor.xml +++ b/tex/context/interface/mkiv/i-anchor.xml @@ -4,7 +4,7 @@ - + @@ -18,7 +18,7 @@ - + diff --git a/tex/context/interface/mkiv/i-attachment.xml b/tex/context/interface/mkiv/i-attachment.xml index 82056a0ad..9320275a1 100644 --- a/tex/context/interface/mkiv/i-attachment.xml +++ b/tex/context/interface/mkiv/i-attachment.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -85,18 +85,14 @@ - + + + + + + + + @@ -107,9 +103,9 @@ - + - + @@ -118,13 +114,13 @@ - + - + - + @@ -133,28 +129,32 @@ - + - + - - - - - - - - + diff --git a/tex/context/interface/mkiv/i-attribute.xml b/tex/context/interface/mkiv/i-attribute.xml index cd1e807d2..0db3eaa88 100644 --- a/tex/context/interface/mkiv/i-attribute.xml +++ b/tex/context/interface/mkiv/i-attribute.xml @@ -4,25 +4,25 @@ - + - + - + - + @@ -34,7 +34,7 @@ - + @@ -46,46 +46,46 @@ - + - + - + - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-backend.xml b/tex/context/interface/mkiv/i-backend.xml index ff9a628cb..ef9c2890e 100644 --- a/tex/context/interface/mkiv/i-backend.xml +++ b/tex/context/interface/mkiv/i-backend.xml @@ -4,7 +4,7 @@ - + diff --git a/tex/context/interface/mkiv/i-background.xml b/tex/context/interface/mkiv/i-background.xml index f51a0247c..7ae1e254a 100644 --- a/tex/context/interface/mkiv/i-background.xml +++ b/tex/context/interface/mkiv/i-background.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -45,7 +45,7 @@ - + @@ -59,7 +59,7 @@ - + @@ -67,7 +67,7 @@ - + @@ -79,20 +79,20 @@ - + - + - + @@ -114,7 +114,7 @@ - + @@ -140,7 +140,7 @@ - + @@ -148,7 +148,7 @@ - + @@ -156,7 +156,7 @@ - + diff --git a/tex/context/interface/mkiv/i-bar.xml b/tex/context/interface/mkiv/i-bar.xml index 951448249..2b9fdcecb 100644 --- a/tex/context/interface/mkiv/i-bar.xml +++ b/tex/context/interface/mkiv/i-bar.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -82,165 +82,150 @@ - + + + + + + + + - + - + - - - - - - - - - - - - - - - - + - + - + - + - + - - - - - + diff --git a/tex/context/interface/mkiv/i-blackrule.xml b/tex/context/interface/mkiv/i-blackrule.xml index edb6873f0..32ff5d854 100644 --- a/tex/context/interface/mkiv/i-blackrule.xml +++ b/tex/context/interface/mkiv/i-blackrule.xml @@ -4,7 +4,7 @@ - + @@ -47,7 +47,7 @@ - + @@ -55,7 +55,7 @@ - + @@ -63,13 +63,13 @@ - + - + diff --git a/tex/context/interface/mkiv/i-bleed.xml b/tex/context/interface/mkiv/i-bleed.xml index 301f7d066..a0622f919 100644 --- a/tex/context/interface/mkiv/i-bleed.xml +++ b/tex/context/interface/mkiv/i-bleed.xml @@ -4,7 +4,7 @@ - + @@ -48,7 +48,7 @@ - + diff --git a/tex/context/interface/mkiv/i-block.xml b/tex/context/interface/mkiv/i-block.xml index 837b2133d..f6be451ec 100644 --- a/tex/context/interface/mkiv/i-block.xml +++ b/tex/context/interface/mkiv/i-block.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -37,7 +37,7 @@ - + @@ -45,6 +45,7 @@ + @@ -52,30 +53,21 @@ - - - - + - - - - + - + - - - - + @@ -85,13 +77,10 @@ - + - - - - + @@ -101,13 +90,10 @@ - + - - - - + diff --git a/tex/context/interface/mkiv/i-bookmark.xml b/tex/context/interface/mkiv/i-bookmark.xml index 68d893609..0a8359fa8 100644 --- a/tex/context/interface/mkiv/i-bookmark.xml +++ b/tex/context/interface/mkiv/i-bookmark.xml @@ -4,7 +4,7 @@ - + @@ -50,7 +50,7 @@ --> - + diff --git a/tex/context/interface/mkiv/i-boxes.xml b/tex/context/interface/mkiv/i-boxes.xml index 648106b89..faac4ddf9 100644 --- a/tex/context/interface/mkiv/i-boxes.xml +++ b/tex/context/interface/mkiv/i-boxes.xml @@ -28,7 +28,7 @@ - + @@ -36,7 +36,7 @@ - + @@ -44,21 +44,21 @@ - + - + - + - + - + - + - + - + @@ -67,7 +67,7 @@ - + @@ -106,25 +106,25 @@ - + - + - + - + - + - + @@ -134,7 +134,7 @@ - + @@ -170,70 +170,70 @@ - + - + - + - + - + - + - + - + - + - + @@ -285,7 +285,7 @@ - + @@ -293,21 +293,21 @@ - + - + - + - + - + - + @@ -317,11 +317,11 @@ - + @@ -444,7 +444,7 @@ - + @@ -579,7 +579,7 @@ - + @@ -587,13 +587,13 @@ - + - + @@ -601,21 +601,21 @@ - + - + - + @@ -624,7 +624,7 @@ - + @@ -633,25 +633,25 @@ - + - + - + - + @@ -667,11 +667,11 @@ - + - + - + @@ -705,152 +705,152 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -858,7 +858,7 @@ - + @@ -866,141 +866,141 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1036,7 +1036,89 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tex/context/interface/mkiv/i-buffer.xml b/tex/context/interface/mkiv/i-buffer.xml index 38571fcd4..b99d2886b 100644 --- a/tex/context/interface/mkiv/i-buffer.xml +++ b/tex/context/interface/mkiv/i-buffer.xml @@ -4,7 +4,7 @@ - + @@ -12,7 +12,7 @@ - + @@ -20,19 +20,19 @@ - + - + - + @@ -41,7 +41,7 @@ - + @@ -49,13 +49,13 @@ - + - + @@ -69,7 +69,7 @@ - + @@ -79,7 +79,7 @@ - + @@ -91,29 +91,33 @@ - + - + - + - + - + - + - + @@ -166,7 +170,7 @@ - + @@ -175,10 +179,10 @@ - + - + diff --git a/tex/context/interface/mkiv/i-button.xml b/tex/context/interface/mkiv/i-button.xml index 0ccb2d28d..4166f21aa 100644 --- a/tex/context/interface/mkiv/i-button.xml +++ b/tex/context/interface/mkiv/i-button.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + diff --git a/tex/context/interface/mkiv/i-capitals.xml b/tex/context/interface/mkiv/i-capitals.xml index 154a1a040..55c6779f4 100644 --- a/tex/context/interface/mkiv/i-capitals.xml +++ b/tex/context/interface/mkiv/i-capitals.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -53,43 +53,43 @@ - + - + - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-catcodes.xml b/tex/context/interface/mkiv/i-catcodes.xml index b8636ceee..2eb39f380 100644 --- a/tex/context/interface/mkiv/i-catcodes.xml +++ b/tex/context/interface/mkiv/i-catcodes.xml @@ -4,63 +4,63 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -71,7 +71,7 @@ - + @@ -82,7 +82,7 @@ - + @@ -93,27 +93,27 @@ - + - + - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-characteralign.xml b/tex/context/interface/mkiv/i-characteralign.xml index a515ba1e9..16b73287a 100644 --- a/tex/context/interface/mkiv/i-characteralign.xml +++ b/tex/context/interface/mkiv/i-characteralign.xml @@ -4,14 +4,14 @@ - + - + @@ -22,11 +22,11 @@ - + - + - + @@ -36,7 +36,7 @@ - + diff --git a/tex/context/interface/mkiv/i-characterspacing.xml b/tex/context/interface/mkiv/i-characterspacing.xml index cb54030c7..950866c40 100644 --- a/tex/context/interface/mkiv/i-characterspacing.xml +++ b/tex/context/interface/mkiv/i-characterspacing.xml @@ -4,13 +4,13 @@ - + - + diff --git a/tex/context/interface/mkiv/i-chart.xml b/tex/context/interface/mkiv/i-chart.xml index 06c356041..84899c44e 100644 --- a/tex/context/interface/mkiv/i-chart.xml +++ b/tex/context/interface/mkiv/i-chart.xml @@ -4,13 +4,111 @@ - + + + + + + + + + - + --> + + - @@ -58,18 +156,28 @@ - - - - - + + - + + + + + + + @@ -83,135 +191,351 @@ - - + + - + + + - - - - + + - - + + - - + + - + - + + - + + + - - + - - - - + - + - - - - - - - + - + - - - - + - - - - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + \ No newline at end of file diff --git a/tex/context/interface/mkiv/i-chemical.xml b/tex/context/interface/mkiv/i-chemical.xml index 1a81b82fc..ef6848d80 100644 --- a/tex/context/interface/mkiv/i-chemical.xml +++ b/tex/context/interface/mkiv/i-chemical.xml @@ -18,12 +18,12 @@ - + - + @@ -125,7 +125,7 @@ --> - + @@ -242,7 +242,7 @@ --> - + diff --git a/tex/context/interface/mkiv/i-cleaning.xml b/tex/context/interface/mkiv/i-cleaning.xml index e37eb7999..dd54fdacc 100644 --- a/tex/context/interface/mkiv/i-cleaning.xml +++ b/tex/context/interface/mkiv/i-cleaning.xml @@ -4,11 +4,11 @@ - + - + - + @@ -19,7 +19,7 @@ - + @@ -29,13 +29,13 @@ - + - + diff --git a/tex/context/interface/mkiv/i-clipping.xml b/tex/context/interface/mkiv/i-clipping.xml index aa152a85b..c7f7a1777 100644 --- a/tex/context/interface/mkiv/i-clipping.xml +++ b/tex/context/interface/mkiv/i-clipping.xml @@ -4,7 +4,7 @@ - + @@ -66,7 +66,7 @@ - + diff --git a/tex/context/interface/mkiv/i-collector.xml b/tex/context/interface/mkiv/i-collector.xml index a75f3534e..7bdf6270f 100644 --- a/tex/context/interface/mkiv/i-collector.xml +++ b/tex/context/interface/mkiv/i-collector.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -55,7 +55,7 @@ - + @@ -71,13 +71,13 @@ - + - + @@ -92,7 +92,7 @@ - + diff --git a/tex/context/interface/mkiv/i-color.xml b/tex/context/interface/mkiv/i-color.xml index 4168216a9..9856c02b6 100644 --- a/tex/context/interface/mkiv/i-color.xml +++ b/tex/context/interface/mkiv/i-color.xml @@ -4,13 +4,13 @@ - + - + @@ -20,13 +20,13 @@ - + - + - + - + @@ -39,7 +39,7 @@ - + @@ -86,14 +86,14 @@ - + - + @@ -102,14 +102,14 @@ - + - + @@ -118,14 +118,14 @@ - + - + @@ -135,7 +135,7 @@ - + @@ -156,7 +156,7 @@ - + @@ -173,14 +173,14 @@ - + - + @@ -194,55 +194,55 @@ - + - + - + - + - + - + - + - + @@ -251,37 +251,37 @@ - + - + - + - + - + - + @@ -289,27 +289,27 @@ - + - + - + - + - + @@ -358,15 +358,15 @@ - + - + - + @@ -377,28 +377,28 @@ - + - + - + - + - + @@ -412,9 +412,9 @@ - + - + @@ -432,7 +432,7 @@ - + @@ -440,7 +440,7 @@ - + @@ -448,32 +448,32 @@ - + - + - + - + - + @@ -485,37 +485,37 @@ - + - + - + - + - + - + @@ -523,7 +523,7 @@ - + @@ -531,45 +531,45 @@ - + - + - + - + - + - + - + @@ -582,13 +582,13 @@ - + - + @@ -601,7 +601,7 @@ - + diff --git a/tex/context/interface/mkiv/i-columns.xml b/tex/context/interface/mkiv/i-columns.xml index 154d38072..ce98104d2 100644 --- a/tex/context/interface/mkiv/i-columns.xml +++ b/tex/context/interface/mkiv/i-columns.xml @@ -4,7 +4,7 @@ - + @@ -54,7 +54,7 @@ - + @@ -62,7 +62,7 @@ - + diff --git a/tex/context/interface/mkiv/i-combination.xml b/tex/context/interface/mkiv/i-combination.xml index 492edadd0..489d2494c 100644 --- a/tex/context/interface/mkiv/i-combination.xml +++ b/tex/context/interface/mkiv/i-combination.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -85,7 +85,7 @@ --> - + @@ -94,7 +94,7 @@ - + @@ -111,7 +111,7 @@ --> - + @@ -120,7 +120,7 @@ - + diff --git a/tex/context/interface/mkiv/i-commandhandler.xml b/tex/context/interface/mkiv/i-commandhandler.xml index 6550898b6..40da525f3 100644 --- a/tex/context/interface/mkiv/i-commandhandler.xml +++ b/tex/context/interface/mkiv/i-commandhandler.xml @@ -4,42 +4,42 @@ - + - + - + - + - + - + @@ -47,35 +47,35 @@ - + - + - + - + - + @@ -83,7 +83,7 @@ - + @@ -91,7 +91,7 @@ - + @@ -99,7 +99,7 @@ - + @@ -107,7 +107,7 @@ - + @@ -115,49 +115,49 @@ - + - + - + - + - + - + - + @@ -166,25 +166,25 @@ - + - + - + - + @@ -221,16 +221,16 @@ - + - + - + @@ -239,7 +239,7 @@ - + @@ -248,7 +248,7 @@ - + @@ -256,7 +256,7 @@ - + @@ -264,14 +264,14 @@ - + - + @@ -280,14 +280,14 @@ - + - + @@ -295,7 +295,7 @@ - + @@ -303,7 +303,7 @@ - + diff --git a/tex/context/interface/mkiv/i-comment.xml b/tex/context/interface/mkiv/i-comment.xml index e7f18fb0e..918d8a5f4 100644 --- a/tex/context/interface/mkiv/i-comment.xml +++ b/tex/context/interface/mkiv/i-comment.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -87,13 +87,19 @@ + + + + + + - + - + @@ -103,13 +109,13 @@ - + - + - + @@ -118,29 +124,33 @@ - + - + - - - - - - - - - + diff --git a/tex/context/interface/mkiv/i-common-argument.xml b/tex/context/interface/mkiv/i-common-argument.xml index b3b2cd5bc..787475e8b 100644 --- a/tex/context/interface/mkiv/i-common-argument.xml +++ b/tex/context/interface/mkiv/i-common-argument.xml @@ -89,32 +89,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -547,4 +521,15 @@ + + + + + + + + + + + diff --git a/tex/context/interface/mkiv/i-common-instance.xml b/tex/context/interface/mkiv/i-common-instance.xml index 8cde55b2e..b00ee9a92 100644 --- a/tex/context/interface/mkiv/i-common-instance.xml +++ b/tex/context/interface/mkiv/i-common-instance.xml @@ -2,6 +2,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10,79 +54,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + - - + + + + - + - + - + - + - + + + + - + + + + + + + + + + + + + + + + + + - + + - + + - + + - + + - + + - + - + - + - + + + + + + + + @@ -98,43 +233,53 @@ - + + + + - + + - + - + - + - + - + + - + - + - + + + + + + diff --git a/tex/context/interface/mkiv/i-common-keyword.xml b/tex/context/interface/mkiv/i-common-keyword.xml index e087ea5ac..9671a4528 100644 --- a/tex/context/interface/mkiv/i-common-keyword.xml +++ b/tex/context/interface/mkiv/i-common-keyword.xml @@ -750,4 +750,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tex/context/interface/mkiv/i-common-string.xml b/tex/context/interface/mkiv/i-common-string.xml index 68bde02ed..5ef1fc71a 100644 --- a/tex/context/interface/mkiv/i-common-string.xml +++ b/tex/context/interface/mkiv/i-common-string.xml @@ -152,4 +152,21 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tex/context/interface/mkiv/i-common-value.xml b/tex/context/interface/mkiv/i-common-value.xml index 36f2c1d52..9f919b58e 100644 --- a/tex/context/interface/mkiv/i-common-value.xml +++ b/tex/context/interface/mkiv/i-common-value.xml @@ -296,10 +296,10 @@ - - + + @@ -593,4 +593,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tex/context/interface/mkiv/i-context-modules.xml b/tex/context/interface/mkiv/i-context-modules.xml new file mode 100644 index 000000000..319ba53df --- /dev/null +++ b/tex/context/interface/mkiv/i-context-modules.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tex/context/interface/mkiv/i-context.pdf b/tex/context/interface/mkiv/i-context.pdf index 304cdbe33..23c4a1f20 100644 Binary files a/tex/context/interface/mkiv/i-context.pdf and b/tex/context/interface/mkiv/i-context.pdf differ diff --git a/tex/context/interface/mkiv/i-conversion.xml b/tex/context/interface/mkiv/i-conversion.xml index 47440ddac..af679b8e0 100644 --- a/tex/context/interface/mkiv/i-conversion.xml +++ b/tex/context/interface/mkiv/i-conversion.xml @@ -4,211 +4,211 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -314,7 +314,7 @@ - + @@ -358,7 +358,7 @@ - + @@ -385,7 +385,7 @@ - + @@ -412,7 +412,7 @@ - + @@ -420,7 +420,7 @@ - + @@ -428,7 +428,7 @@ - + @@ -508,7 +508,7 @@ - + @@ -517,7 +517,7 @@ - + @@ -525,7 +525,7 @@ - + @@ -533,7 +533,7 @@ - + @@ -542,7 +542,7 @@ - + @@ -551,7 +551,7 @@ - + @@ -582,61 +582,61 @@ - + - + - + - + - + - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-counter.xml b/tex/context/interface/mkiv/i-counter.xml index 55630b511..124638026 100644 --- a/tex/context/interface/mkiv/i-counter.xml +++ b/tex/context/interface/mkiv/i-counter.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -111,7 +111,7 @@ - + @@ -119,7 +119,7 @@ - + @@ -127,21 +127,21 @@ - + - + - + @@ -149,7 +149,7 @@ - + @@ -157,7 +157,7 @@ - + @@ -165,165 +165,165 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -332,7 +332,7 @@ - + @@ -344,7 +344,7 @@ - + @@ -360,7 +360,7 @@ - + @@ -368,7 +368,7 @@ - + @@ -376,21 +376,21 @@ - + - + - + @@ -416,7 +416,7 @@ --> - + @@ -450,7 +450,7 @@ --> - + @@ -488,7 +488,7 @@ --> - + diff --git a/tex/context/interface/mkiv/i-database.xml b/tex/context/interface/mkiv/i-database.xml new file mode 100644 index 000000000..0eb961a87 --- /dev/null +++ b/tex/context/interface/mkiv/i-database.xml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tex/context/interface/mkiv/i-dataset.xml b/tex/context/interface/mkiv/i-dataset.xml index 6f4f9fb9f..afb8f8fa3 100644 --- a/tex/context/interface/mkiv/i-dataset.xml +++ b/tex/context/interface/mkiv/i-dataset.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -34,7 +34,7 @@ - + diff --git a/tex/context/interface/mkiv/i-define.xml b/tex/context/interface/mkiv/i-define.xml index 2db8614c0..f37645cf1 100644 --- a/tex/context/interface/mkiv/i-define.xml +++ b/tex/context/interface/mkiv/i-define.xml @@ -4,7 +4,7 @@ - + @@ -12,7 +12,7 @@ - + diff --git a/tex/context/interface/mkiv/i-delimitedtext.xml b/tex/context/interface/mkiv/i-delimitedtext.xml index d75fb957e..e64693210 100644 --- a/tex/context/interface/mkiv/i-delimitedtext.xml +++ b/tex/context/interface/mkiv/i-delimitedtext.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -90,26 +90,22 @@ - + - + - - - - - + - + - + @@ -118,15 +114,11 @@ - - - - - + - + @@ -134,7 +126,7 @@ - + @@ -144,7 +136,7 @@ - + @@ -152,7 +144,7 @@ - + @@ -162,83 +154,87 @@ - - - - - - + - + @@ -246,7 +242,7 @@ - + @@ -254,12 +250,12 @@ - + - + diff --git a/tex/context/interface/mkiv/i-description.xml b/tex/context/interface/mkiv/i-description.xml index 13b056d71..6f836f326 100644 --- a/tex/context/interface/mkiv/i-description.xml +++ b/tex/context/interface/mkiv/i-description.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -102,6 +102,9 @@ + + + @@ -138,7 +141,7 @@ --> - + @@ -147,7 +150,7 @@ - + @@ -157,7 +160,7 @@ - + diff --git a/tex/context/interface/mkiv/i-dimension.xml b/tex/context/interface/mkiv/i-dimension.xml index 7bf59467b..bb7c3bfa7 100644 --- a/tex/context/interface/mkiv/i-dimension.xml +++ b/tex/context/interface/mkiv/i-dimension.xml @@ -4,7 +4,7 @@ - + @@ -20,7 +20,7 @@ - + @@ -36,7 +36,7 @@ - + @@ -49,7 +49,7 @@ - + diff --git a/tex/context/interface/mkiv/i-direction.xml b/tex/context/interface/mkiv/i-direction.xml index 630f07cb7..ad266db6b 100644 --- a/tex/context/interface/mkiv/i-direction.xml +++ b/tex/context/interface/mkiv/i-direction.xml @@ -4,7 +4,7 @@ - + @@ -48,7 +48,7 @@ - + @@ -57,7 +57,7 @@ - + diff --git a/tex/context/interface/mkiv/i-document.xml b/tex/context/interface/mkiv/i-document.xml index e2417ec63..d80683244 100644 --- a/tex/context/interface/mkiv/i-document.xml +++ b/tex/context/interface/mkiv/i-document.xml @@ -4,13 +4,13 @@ - + - + - + @@ -19,7 +19,7 @@ - + @@ -28,13 +28,13 @@ - + - + @@ -46,9 +46,9 @@ - + - + @@ -57,7 +57,7 @@ - + @@ -66,13 +66,13 @@ - + - + @@ -84,9 +84,9 @@ - + - + @@ -95,7 +95,7 @@ - + @@ -104,13 +104,13 @@ - + - + @@ -122,9 +122,9 @@ - + - + @@ -133,7 +133,7 @@ - + @@ -142,13 +142,13 @@ - + - + @@ -160,9 +160,9 @@ - + - + @@ -170,7 +170,7 @@ - + diff --git a/tex/context/interface/mkiv/i-dummy.xml b/tex/context/interface/mkiv/i-dummy.xml index 6c7d4288f..10c0dbb90 100644 --- a/tex/context/interface/mkiv/i-dummy.xml +++ b/tex/context/interface/mkiv/i-dummy.xml @@ -4,52 +4,52 @@ - + - + - + - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-effect.xml b/tex/context/interface/mkiv/i-effect.xml index f6fd3e042..6720083b2 100644 --- a/tex/context/interface/mkiv/i-effect.xml +++ b/tex/context/interface/mkiv/i-effect.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -40,19 +40,19 @@ - + - + - + diff --git a/tex/context/interface/mkiv/i-enumeration.xml b/tex/context/interface/mkiv/i-enumeration.xml index 70823cff3..2469a9713 100644 --- a/tex/context/interface/mkiv/i-enumeration.xml +++ b/tex/context/interface/mkiv/i-enumeration.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -148,6 +148,9 @@ + + + @@ -172,20 +175,16 @@ - + + + + + + + + - + @@ -194,7 +193,7 @@ - + @@ -204,7 +203,7 @@ - + diff --git a/tex/context/interface/mkiv/i-export.xml b/tex/context/interface/mkiv/i-export.xml index 067649402..e3be678c0 100644 --- a/tex/context/interface/mkiv/i-export.xml +++ b/tex/context/interface/mkiv/i-export.xml @@ -4,7 +4,7 @@ - + @@ -20,7 +20,7 @@ - + diff --git a/tex/context/interface/mkiv/i-field.xml b/tex/context/interface/mkiv/i-field.xml index 828ab204f..a3435e8da 100644 --- a/tex/context/interface/mkiv/i-field.xml +++ b/tex/context/interface/mkiv/i-field.xml @@ -4,13 +4,13 @@ - + - + @@ -20,7 +20,7 @@ - + @@ -133,7 +133,7 @@ - + @@ -141,7 +141,7 @@ - + @@ -149,7 +149,7 @@ - + @@ -159,7 +159,7 @@ - + @@ -263,7 +263,7 @@ - + @@ -272,7 +272,7 @@ - + @@ -282,7 +282,7 @@ - + @@ -310,7 +310,7 @@ - + @@ -332,7 +332,7 @@ - + @@ -360,7 +360,7 @@ - + diff --git a/tex/context/interface/mkiv/i-figure.xml b/tex/context/interface/mkiv/i-figure.xml index 4b1439f41..92d3a9887 100644 --- a/tex/context/interface/mkiv/i-figure.xml +++ b/tex/context/interface/mkiv/i-figure.xml @@ -4,7 +4,7 @@ - + diff --git a/tex/context/interface/mkiv/i-file.xml b/tex/context/interface/mkiv/i-file.xml index a5ed9daa3..3db82077c 100644 --- a/tex/context/interface/mkiv/i-file.xml +++ b/tex/context/interface/mkiv/i-file.xml @@ -16,21 +16,21 @@ - + - + - + @@ -38,7 +38,7 @@ - + @@ -60,19 +60,19 @@ - + - + - + - + - + @@ -80,7 +80,7 @@ - + @@ -88,7 +88,7 @@ - + @@ -96,7 +96,7 @@ - + @@ -104,7 +104,7 @@ - + @@ -112,7 +112,7 @@ - + @@ -120,7 +120,7 @@ - + @@ -128,7 +128,7 @@ - + @@ -136,27 +136,27 @@ - + - + - + - + - + - + - + - + - + @@ -164,7 +164,7 @@ - + @@ -172,19 +172,19 @@ - + - + - + @@ -206,28 +206,28 @@ - + - + - + - + - + @@ -251,43 +251,43 @@ - + - + - + - + - + - + - + @@ -295,7 +295,7 @@ - + @@ -303,7 +303,7 @@ - + @@ -311,7 +311,7 @@ - + @@ -320,7 +320,7 @@ - + @@ -329,7 +329,7 @@ - + @@ -337,13 +337,13 @@ - + - + @@ -351,7 +351,7 @@ - + @@ -359,7 +359,7 @@ - + @@ -367,7 +367,7 @@ - + @@ -375,27 +375,27 @@ - + - + - + - + diff --git a/tex/context/interface/mkiv/i-filler.xml b/tex/context/interface/mkiv/i-filler.xml index 894780063..9be6ce275 100644 --- a/tex/context/interface/mkiv/i-filler.xml +++ b/tex/context/interface/mkiv/i-filler.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -113,7 +113,7 @@ - + @@ -123,7 +123,7 @@ - + @@ -177,7 +177,7 @@ - + diff --git a/tex/context/interface/mkiv/i-fillinline.xml b/tex/context/interface/mkiv/i-fillinline.xml index dbf9f8627..7f75d6ee1 100644 --- a/tex/context/interface/mkiv/i-fillinline.xml +++ b/tex/context/interface/mkiv/i-fillinline.xml @@ -4,7 +4,7 @@ - + @@ -32,7 +32,7 @@ - + diff --git a/tex/context/interface/mkiv/i-fillinrule.xml b/tex/context/interface/mkiv/i-fillinrule.xml index 949b8f6ea..84d8f8f3d 100644 --- a/tex/context/interface/mkiv/i-fillinrule.xml +++ b/tex/context/interface/mkiv/i-fillinrule.xml @@ -4,7 +4,7 @@ - + @@ -43,7 +43,7 @@ - + @@ -53,7 +53,7 @@ - + diff --git a/tex/context/interface/mkiv/i-firstline.xml b/tex/context/interface/mkiv/i-firstline.xml index 59579a18c..1a530d152 100644 --- a/tex/context/interface/mkiv/i-firstline.xml +++ b/tex/context/interface/mkiv/i-firstline.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -42,7 +42,7 @@ - + diff --git a/tex/context/interface/mkiv/i-fittingpage.xml b/tex/context/interface/mkiv/i-fittingpage.xml index 29816601f..05e24af7a 100644 --- a/tex/context/interface/mkiv/i-fittingpage.xml +++ b/tex/context/interface/mkiv/i-fittingpage.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -41,7 +41,7 @@ - + @@ -50,9 +50,9 @@ - + - + @@ -60,36 +60,39 @@ - - + - - - - - - - + + + - + - + diff --git a/tex/context/interface/mkiv/i-floats.xml b/tex/context/interface/mkiv/i-floats.xml index edc7f7f03..39dc52a9b 100644 --- a/tex/context/interface/mkiv/i-floats.xml +++ b/tex/context/interface/mkiv/i-floats.xml @@ -4,10 +4,13 @@ - + - + + + + @@ -17,7 +20,7 @@ - + @@ -28,7 +31,7 @@ - + @@ -121,6 +124,24 @@ + + + + + + + + + + + + + + + + + + @@ -177,16 +198,16 @@ - - + @@ -312,7 +333,7 @@ - + @@ -321,26 +342,19 @@ - + + + + + + + + - + - @@ -353,7 +367,7 @@ - + @@ -363,16 +377,7 @@ - - - - - - - + + - - - - + - + @@ -413,276 +409,286 @@ + + + - + - + + + + - + - + + + + - + - + - + - + - + - + - + - + + + + + + + + + --> - + @@ -716,7 +722,7 @@ - + @@ -739,7 +745,7 @@ - + @@ -749,13 +755,13 @@ - + - + diff --git a/tex/context/interface/mkiv/i-fontfamily.xml b/tex/context/interface/mkiv/i-fontfamily.xml index 2cf2fb403..59aafb519 100644 --- a/tex/context/interface/mkiv/i-fontfamily.xml +++ b/tex/context/interface/mkiv/i-fontfamily.xml @@ -4,7 +4,7 @@ - + @@ -68,7 +68,7 @@ - + @@ -97,7 +97,7 @@ - + @@ -177,7 +177,7 @@ - + @@ -206,7 +206,7 @@ - + @@ -215,7 +215,7 @@ - + diff --git a/tex/context/interface/mkiv/i-fonts.xml b/tex/context/interface/mkiv/i-fonts.xml index c246905f0..c774ef273 100644 --- a/tex/context/interface/mkiv/i-fonts.xml +++ b/tex/context/interface/mkiv/i-fonts.xml @@ -4,7 +4,7 @@ - + @@ -31,32 +31,35 @@ + + + - + - + - + - + - + - + - + - + - + - + @@ -270,11 +273,15 @@ + + + + - + @@ -283,72 +290,72 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -369,7 +376,7 @@ - + @@ -390,7 +397,7 @@ - + @@ -398,7 +405,7 @@ - + @@ -406,31 +413,31 @@ - + - + - + - + - + @@ -439,14 +446,14 @@ - + - + @@ -468,7 +475,7 @@ - + @@ -490,20 +497,20 @@ - + - + - + @@ -511,7 +518,7 @@ - + @@ -519,87 +526,87 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -609,7 +616,7 @@ - + @@ -617,14 +624,14 @@ - + - + @@ -708,31 +715,31 @@ --> - + - + - + - + - + - + - + @@ -793,7 +800,7 @@ - + @@ -814,7 +821,7 @@ - + @@ -825,7 +832,7 @@ - + @@ -858,7 +865,7 @@ - + @@ -866,7 +873,7 @@ - + @@ -879,7 +886,7 @@ - + @@ -887,31 +894,31 @@ - + - + - + - + - + - + @@ -934,13 +941,13 @@ - + - + @@ -949,28 +956,28 @@ - + - + - + - + - + - + - + @@ -978,7 +985,7 @@ - + @@ -986,14 +993,14 @@ - + - + @@ -1021,19 +1028,19 @@ - + - + - + @@ -1041,111 +1048,109 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + @@ -1155,7 +1160,7 @@ - + @@ -1198,21 +1203,21 @@ --> - + - + - + - + @@ -1220,17 +1225,17 @@ - + - + - + - + @@ -1240,7 +1245,7 @@ - + @@ -1257,22 +1262,22 @@ - + - + - + - + - + @@ -1281,7 +1286,7 @@ - + @@ -1289,7 +1294,7 @@ - + @@ -1299,7 +1304,7 @@ - + @@ -1308,7 +1313,7 @@ - + @@ -1334,59 +1339,59 @@ - + - + - + - + - + - + - + - + - + @@ -1396,7 +1401,7 @@ - + @@ -1406,31 +1411,27 @@ - + - - - + - + - - - + - + - + @@ -1439,7 +1440,7 @@ - + @@ -1448,15 +1449,15 @@ - + - + - + @@ -1464,7 +1465,7 @@ - + @@ -1472,7 +1473,7 @@ - + @@ -1486,31 +1487,31 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -1519,7 +1520,7 @@ - + @@ -1545,22 +1546,22 @@ - + - + - + - + @@ -1578,20 +1579,20 @@ - + - + - + @@ -1640,7 +1641,7 @@ - + @@ -1663,7 +1664,7 @@ - + @@ -1683,10 +1684,10 @@ - + - + - + diff --git a/tex/context/interface/mkiv/i-form.xml b/tex/context/interface/mkiv/i-form.xml index 13e669427..52246c457 100644 --- a/tex/context/interface/mkiv/i-form.xml +++ b/tex/context/interface/mkiv/i-form.xml @@ -4,7 +4,7 @@ - + diff --git a/tex/context/interface/mkiv/i-formula.xml b/tex/context/interface/mkiv/i-formula.xml index f6522fca4..2d1e752d6 100644 --- a/tex/context/interface/mkiv/i-formula.xml +++ b/tex/context/interface/mkiv/i-formula.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -86,23 +86,33 @@ + + + + + + + + + + + + + + - + + + + + + + + @@ -114,7 +124,7 @@ - + @@ -125,66 +135,63 @@ - + + + + + + + + - + - + - - - - + - + - - - - - + - + @@ -192,41 +199,41 @@ - + - + - + - + - + - + - + @@ -242,31 +249,31 @@ - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-fraction.xml b/tex/context/interface/mkiv/i-fraction.xml index 2624b8a5c..f395b1ea5 100644 --- a/tex/context/interface/mkiv/i-fraction.xml +++ b/tex/context/interface/mkiv/i-fraction.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -67,117 +67,110 @@ - + + + + + + + + - + - + - - - - - - - - + - - - - - - + - + - + - + diff --git a/tex/context/interface/mkiv/i-framed.xml b/tex/context/interface/mkiv/i-framed.xml index c7633aa91..db01f60cd 100644 --- a/tex/context/interface/mkiv/i-framed.xml +++ b/tex/context/interface/mkiv/i-framed.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -232,7 +232,7 @@ - + @@ -241,9 +241,9 @@ - + - + @@ -252,8 +252,7 @@ - - + @@ -266,7 +265,7 @@ - + @@ -312,7 +311,7 @@ - + @@ -322,7 +321,7 @@ - + @@ -331,16 +330,20 @@ - - - - - - - - + + + @@ -350,7 +353,7 @@ - + @@ -359,9 +362,9 @@ - + - + @@ -370,40 +373,42 @@ - - - + - - - - - - - - + + + @@ -413,7 +418,7 @@ - + @@ -422,7 +427,7 @@ - + @@ -432,7 +437,7 @@ - + @@ -473,22 +478,18 @@ - + + + + + + + + - + - + @@ -497,13 +498,13 @@ - + - + - + @@ -517,34 +518,38 @@ - + - - - - - - - - + - + @@ -554,7 +559,7 @@ - + @@ -594,28 +599,28 @@ - + - + - + - + diff --git a/tex/context/interface/mkiv/i-graphics.xml b/tex/context/interface/mkiv/i-graphics.xml index e66a039dc..9d27f154d 100644 --- a/tex/context/interface/mkiv/i-graphics.xml +++ b/tex/context/interface/mkiv/i-graphics.xml @@ -4,7 +4,7 @@ - + @@ -28,7 +28,7 @@ --> - + @@ -251,7 +251,7 @@ --> - + @@ -262,7 +262,7 @@ - + @@ -272,7 +272,7 @@ - + @@ -281,32 +281,32 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -314,7 +314,7 @@ - + @@ -322,7 +322,7 @@ - + @@ -332,7 +332,7 @@ - + @@ -341,81 +341,81 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -442,7 +442,7 @@ - + @@ -466,7 +466,7 @@ - + @@ -478,7 +478,7 @@ - + @@ -488,7 +488,7 @@ - + @@ -504,7 +504,7 @@ - + @@ -513,7 +513,7 @@ - + diff --git a/tex/context/interface/mkiv/i-grid.xml b/tex/context/interface/mkiv/i-grid.xml index ac678e544..155930ef8 100644 --- a/tex/context/interface/mkiv/i-grid.xml +++ b/tex/context/interface/mkiv/i-grid.xml @@ -4,7 +4,7 @@ - + @@ -23,7 +23,7 @@ - + @@ -59,7 +59,7 @@ - + @@ -69,7 +69,7 @@ - + @@ -79,7 +79,7 @@ - + @@ -88,7 +88,7 @@ - + @@ -97,7 +97,7 @@ - + @@ -105,7 +105,7 @@ - + @@ -113,15 +113,15 @@ - + - + - + @@ -178,7 +178,7 @@ - + diff --git a/tex/context/interface/mkiv/i-help.xml b/tex/context/interface/mkiv/i-help.xml index d0c0aa103..673c34895 100644 --- a/tex/context/interface/mkiv/i-help.xml +++ b/tex/context/interface/mkiv/i-help.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -23,9 +23,9 @@ - + - + @@ -33,30 +33,30 @@ - + - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-hemistich.xml b/tex/context/interface/mkiv/i-hemistich.xml new file mode 100644 index 000000000..673f861ee --- /dev/null +++ b/tex/context/interface/mkiv/i-hemistich.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tex/context/interface/mkiv/i-highlight.xml b/tex/context/interface/mkiv/i-highlight.xml index 7a990b13b..db66912c5 100644 --- a/tex/context/interface/mkiv/i-highlight.xml +++ b/tex/context/interface/mkiv/i-highlight.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -32,7 +32,7 @@ - + @@ -41,20 +41,20 @@ - + - + - + diff --git a/tex/context/interface/mkiv/i-hspace.xml b/tex/context/interface/mkiv/i-hspace.xml index 9b9c777a5..f07f67232 100644 --- a/tex/context/interface/mkiv/i-hspace.xml +++ b/tex/context/interface/mkiv/i-hspace.xml @@ -4,7 +4,7 @@ - + @@ -62,7 +62,7 @@ - + @@ -74,17 +74,17 @@ - + - + - + - + @@ -106,11 +106,11 @@ - + - + - + @@ -118,7 +118,7 @@ - + @@ -126,7 +126,7 @@ - + @@ -134,7 +134,7 @@ - + @@ -142,7 +142,7 @@ - + diff --git a/tex/context/interface/mkiv/i-hyphenation.xml b/tex/context/interface/mkiv/i-hyphenation.xml index 36cbc67e4..4c2d93895 100644 --- a/tex/context/interface/mkiv/i-hyphenation.xml +++ b/tex/context/interface/mkiv/i-hyphenation.xml @@ -4,7 +4,7 @@ - + @@ -34,7 +34,7 @@ - + @@ -88,7 +88,7 @@ - + @@ -127,7 +127,7 @@ - + @@ -138,13 +138,13 @@ - + - + @@ -184,7 +184,7 @@ - + diff --git a/tex/context/interface/mkiv/i-imposition.xml b/tex/context/interface/mkiv/i-imposition.xml index b4bd4dee5..2b315ad78 100644 --- a/tex/context/interface/mkiv/i-imposition.xml +++ b/tex/context/interface/mkiv/i-imposition.xml @@ -4,14 +4,14 @@ - + - + @@ -22,7 +22,7 @@ - + @@ -68,7 +68,7 @@ - + @@ -77,6 +77,6 @@ - + diff --git a/tex/context/interface/mkiv/i-indent.xml b/tex/context/interface/mkiv/i-indent.xml index 7e2fb5ca3..9f44e22dd 100644 --- a/tex/context/interface/mkiv/i-indent.xml +++ b/tex/context/interface/mkiv/i-indent.xml @@ -4,7 +4,7 @@ - + @@ -29,7 +29,7 @@ - + @@ -54,9 +54,9 @@ - + - + @@ -68,7 +68,7 @@ - + @@ -78,14 +78,14 @@ - + - + - + diff --git a/tex/context/interface/mkiv/i-indentedtext.xml b/tex/context/interface/mkiv/i-indentedtext.xml index 98812d5e0..3d1b470ac 100644 --- a/tex/context/interface/mkiv/i-indentedtext.xml +++ b/tex/context/interface/mkiv/i-indentedtext.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -57,13 +57,13 @@ - + - + diff --git a/tex/context/interface/mkiv/i-initial.xml b/tex/context/interface/mkiv/i-initial.xml index d50a7bc61..4b7c2a607 100644 --- a/tex/context/interface/mkiv/i-initial.xml +++ b/tex/context/interface/mkiv/i-initial.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -63,13 +63,13 @@ - + - + diff --git a/tex/context/interface/mkiv/i-insertion.xml b/tex/context/interface/mkiv/i-insertion.xml index 9250c9ebf..943e10069 100644 --- a/tex/context/interface/mkiv/i-insertion.xml +++ b/tex/context/interface/mkiv/i-insertion.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -29,7 +29,7 @@ - + @@ -37,7 +37,7 @@ - + diff --git a/tex/context/interface/mkiv/i-interaction.xml b/tex/context/interface/mkiv/i-interaction.xml index 1c3285b84..dd8fce866 100644 --- a/tex/context/interface/mkiv/i-interaction.xml +++ b/tex/context/interface/mkiv/i-interaction.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -119,7 +119,7 @@ - + @@ -143,14 +143,14 @@ - + - + diff --git a/tex/context/interface/mkiv/i-interactionbar.xml b/tex/context/interface/mkiv/i-interactionbar.xml index 67c31216a..ecc707df9 100644 --- a/tex/context/interface/mkiv/i-interactionbar.xml +++ b/tex/context/interface/mkiv/i-interactionbar.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + diff --git a/tex/context/interface/mkiv/i-interactionmenu.xml b/tex/context/interface/mkiv/i-interactionmenu.xml index 22b928a5a..78068d1f5 100644 --- a/tex/context/interface/mkiv/i-interactionmenu.xml +++ b/tex/context/interface/mkiv/i-interactionmenu.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + diff --git a/tex/context/interface/mkiv/i-interactionscreen.xml b/tex/context/interface/mkiv/i-interactionscreen.xml index 6e337f6d6..dafdb310f 100644 --- a/tex/context/interface/mkiv/i-interactionscreen.xml +++ b/tex/context/interface/mkiv/i-interactionscreen.xml @@ -4,7 +4,7 @@ - + diff --git a/tex/context/interface/mkiv/i-interface.xml b/tex/context/interface/mkiv/i-interface.xml index a9b35bbe5..08c273812 100644 --- a/tex/context/interface/mkiv/i-interface.xml +++ b/tex/context/interface/mkiv/i-interface.xml @@ -4,13 +4,13 @@ - + - + - + - + @@ -19,53 +19,53 @@ - + - + - + - + - + - + - + - + @@ -77,7 +77,7 @@ - + @@ -87,9 +87,9 @@ - + - + @@ -99,7 +99,7 @@ - + @@ -111,7 +111,7 @@ - + @@ -123,7 +123,7 @@ - + @@ -134,32 +134,32 @@ - + - + - + - + - + @@ -170,28 +170,28 @@ - + - + - + - + diff --git a/tex/context/interface/mkiv/i-interlinespace.xml b/tex/context/interface/mkiv/i-interlinespace.xml index b93bac7f5..6573a8e05 100644 --- a/tex/context/interface/mkiv/i-interlinespace.xml +++ b/tex/context/interface/mkiv/i-interlinespace.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -53,7 +53,7 @@ - + @@ -69,13 +69,13 @@ - + - + @@ -84,7 +84,7 @@ - + @@ -100,7 +100,7 @@ - + @@ -137,7 +137,7 @@ - + @@ -145,7 +145,7 @@ - + @@ -161,13 +161,13 @@ - + - + diff --git a/tex/context/interface/mkiv/i-ipsum.xml b/tex/context/interface/mkiv/i-ipsum.xml index f96fc5229..b3fb7cfdd 100644 --- a/tex/context/interface/mkiv/i-ipsum.xml +++ b/tex/context/interface/mkiv/i-ipsum.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -63,7 +63,7 @@ - + @@ -72,7 +72,7 @@ - + diff --git a/tex/context/interface/mkiv/i-italiccorrection.xml b/tex/context/interface/mkiv/i-italiccorrection.xml index f8d711ae8..def238233 100644 --- a/tex/context/interface/mkiv/i-italiccorrection.xml +++ b/tex/context/interface/mkiv/i-italiccorrection.xml @@ -4,7 +4,7 @@ - + @@ -14,11 +14,11 @@ - + - + - + diff --git a/tex/context/interface/mkiv/i-itemgroup.xml b/tex/context/interface/mkiv/i-itemgroup.xml index 6fb28b635..7145ebfb3 100644 --- a/tex/context/interface/mkiv/i-itemgroup.xml +++ b/tex/context/interface/mkiv/i-itemgroup.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -193,12 +193,15 @@ - + + + + - + @@ -376,12 +379,15 @@ - + + + + - + @@ -393,7 +399,7 @@ - + @@ -415,7 +421,7 @@ - + @@ -432,7 +438,7 @@ - + @@ -444,15 +450,15 @@ - + - + - + @@ -521,20 +527,20 @@ --> - + - + - + @@ -543,7 +549,7 @@ - + @@ -554,7 +560,7 @@ - + diff --git a/tex/context/interface/mkiv/i-items.xml b/tex/context/interface/mkiv/i-items.xml index d3f68132a..b73524229 100644 --- a/tex/context/interface/mkiv/i-items.xml +++ b/tex/context/interface/mkiv/i-items.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -73,7 +73,7 @@ - + diff --git a/tex/context/interface/mkiv/i-javascript.xml b/tex/context/interface/mkiv/i-javascript.xml index 965ed5388..4cf9dbf85 100644 --- a/tex/context/interface/mkiv/i-javascript.xml +++ b/tex/context/interface/mkiv/i-javascript.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -27,21 +27,21 @@ - + - + - + diff --git a/tex/context/interface/mkiv/i-kerning.xml b/tex/context/interface/mkiv/i-kerning.xml index aacb4a6ea..d2a332ab3 100644 --- a/tex/context/interface/mkiv/i-kerning.xml +++ b/tex/context/interface/mkiv/i-kerning.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -49,7 +49,7 @@ - + @@ -59,21 +59,21 @@ - + - + - + @@ -82,7 +82,7 @@ - + diff --git a/tex/context/interface/mkiv/i-label.xml b/tex/context/interface/mkiv/i-label.xml index fe7851d9d..ff2ebc005 100644 --- a/tex/context/interface/mkiv/i-label.xml +++ b/tex/context/interface/mkiv/i-label.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -189,7 +189,7 @@ --> - + @@ -199,7 +199,7 @@ - + diff --git a/tex/context/interface/mkiv/i-labeltext.xml b/tex/context/interface/mkiv/i-labeltext.xml index 34c70231f..4a58a069c 100644 --- a/tex/context/interface/mkiv/i-labeltext.xml +++ b/tex/context/interface/mkiv/i-labeltext.xml @@ -4,14 +4,14 @@ - + - + @@ -26,7 +26,7 @@ - + @@ -41,7 +41,7 @@ - + @@ -56,7 +56,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -80,7 +80,7 @@ - + @@ -93,7 +93,7 @@ - + @@ -107,7 +107,7 @@ - + @@ -121,7 +121,7 @@ - + diff --git a/tex/context/interface/mkiv/i-language.xml b/tex/context/interface/mkiv/i-language.xml index 395e08c34..c60965a59 100644 --- a/tex/context/interface/mkiv/i-language.xml +++ b/tex/context/interface/mkiv/i-language.xml @@ -4,7 +4,7 @@ - + @@ -13,14 +13,14 @@ - + - + @@ -124,7 +124,7 @@ - + @@ -132,7 +132,7 @@ - + @@ -140,7 +140,7 @@ - + @@ -148,7 +148,7 @@ - + @@ -156,41 +156,41 @@ - + - + - + - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-layer.xml b/tex/context/interface/mkiv/i-layer.xml index 9157ecdbf..04704f75c 100644 --- a/tex/context/interface/mkiv/i-layer.xml +++ b/tex/context/interface/mkiv/i-layer.xml @@ -4,7 +4,7 @@ - + @@ -94,7 +94,7 @@ - + @@ -104,7 +104,7 @@ - + @@ -267,7 +267,7 @@ - + @@ -276,14 +276,14 @@ - + - + @@ -291,7 +291,7 @@ - + diff --git a/tex/context/interface/mkiv/i-layout.xml b/tex/context/interface/mkiv/i-layout.xml index f3e42515e..15e60115e 100644 --- a/tex/context/interface/mkiv/i-layout.xml +++ b/tex/context/interface/mkiv/i-layout.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -211,7 +211,7 @@ - + @@ -220,7 +220,7 @@ - + @@ -228,7 +228,7 @@ - + @@ -236,7 +236,7 @@ - + @@ -251,27 +251,27 @@ - + - + - + - + @@ -279,7 +279,7 @@ - + @@ -287,14 +287,14 @@ - + - + @@ -308,7 +308,7 @@ - + @@ -327,7 +327,7 @@ - + @@ -345,7 +345,7 @@ - + @@ -363,8 +363,8 @@ - + - + diff --git a/tex/context/interface/mkiv/i-linenumber.xml b/tex/context/interface/mkiv/i-linenumber.xml index 1c7ca2f75..7459d7142 100644 --- a/tex/context/interface/mkiv/i-linenumber.xml +++ b/tex/context/interface/mkiv/i-linenumber.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -89,7 +89,7 @@ - + @@ -112,7 +112,7 @@ - + @@ -122,25 +122,25 @@ - + - + - + - + @@ -148,7 +148,7 @@ - + @@ -156,14 +156,14 @@ - + - + diff --git a/tex/context/interface/mkiv/i-lines.xml b/tex/context/interface/mkiv/i-lines.xml index 32c3c6b70..0c46fbd10 100644 --- a/tex/context/interface/mkiv/i-lines.xml +++ b/tex/context/interface/mkiv/i-lines.xml @@ -4,33 +4,33 @@ - + - + - + - + - + - + @@ -40,7 +40,7 @@ - + @@ -88,7 +88,7 @@ - + @@ -114,7 +114,7 @@ --> - + diff --git a/tex/context/interface/mkiv/i-linetable.xml b/tex/context/interface/mkiv/i-linetable.xml index 9b4cae16a..fdfddbf44 100644 --- a/tex/context/interface/mkiv/i-linetable.xml +++ b/tex/context/interface/mkiv/i-linetable.xml @@ -4,7 +4,7 @@ - + @@ -98,7 +98,7 @@ - + @@ -106,19 +106,19 @@ - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-linewidth.xml b/tex/context/interface/mkiv/i-linewidth.xml index 65a967954..6b2e5274c 100644 --- a/tex/context/interface/mkiv/i-linewidth.xml +++ b/tex/context/interface/mkiv/i-linewidth.xml @@ -4,7 +4,7 @@ - + diff --git a/tex/context/interface/mkiv/i-list.xml b/tex/context/interface/mkiv/i-list.xml index 7e0def052..bde2a69e6 100644 --- a/tex/context/interface/mkiv/i-list.xml +++ b/tex/context/interface/mkiv/i-list.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -307,7 +307,7 @@ --> - + @@ -315,7 +315,7 @@ - + @@ -354,7 +354,7 @@ - + @@ -372,7 +372,7 @@ - + @@ -381,7 +381,7 @@ - + @@ -391,7 +391,7 @@ - + @@ -400,7 +400,7 @@ - + @@ -424,7 +424,7 @@ - + @@ -439,7 +439,7 @@ - + @@ -494,35 +494,35 @@ - + - + - + - + - + @@ -532,7 +532,7 @@ - + @@ -546,7 +546,7 @@ - + @@ -556,7 +556,7 @@ - + @@ -611,7 +611,7 @@ - + @@ -622,9 +622,9 @@ - + - + diff --git a/tex/context/interface/mkiv/i-lohi.xml b/tex/context/interface/mkiv/i-lohi.xml index 1fe891b2c..9b31c5b96 100644 --- a/tex/context/interface/mkiv/i-lohi.xml +++ b/tex/context/interface/mkiv/i-lohi.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -34,7 +34,7 @@ - + @@ -46,13 +46,13 @@ - + - + @@ -62,7 +62,7 @@ - + @@ -82,7 +82,7 @@ - + @@ -94,13 +94,13 @@ - + - + @@ -110,7 +110,7 @@ - + @@ -133,7 +133,7 @@ - + @@ -147,7 +147,7 @@ - + @@ -158,7 +158,7 @@ - + @@ -169,7 +169,7 @@ - + @@ -179,7 +179,7 @@ - + @@ -199,7 +199,7 @@ - + @@ -210,7 +210,7 @@ - + @@ -218,7 +218,7 @@ - + diff --git a/tex/context/interface/mkiv/i-lua.xml b/tex/context/interface/mkiv/i-lua.xml index ef970609b..b4aa8ab5c 100644 --- a/tex/context/interface/mkiv/i-lua.xml +++ b/tex/context/interface/mkiv/i-lua.xml @@ -4,187 +4,187 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-makeup.xml b/tex/context/interface/mkiv/i-makeup.xml index 8831a8b0b..39fe9d112 100644 --- a/tex/context/interface/mkiv/i-makeup.xml +++ b/tex/context/interface/mkiv/i-makeup.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -113,7 +113,7 @@ - + @@ -122,7 +122,7 @@ - + diff --git a/tex/context/interface/mkiv/i-marginblock.xml b/tex/context/interface/mkiv/i-marginblock.xml index f40bf112a..89aca949a 100644 --- a/tex/context/interface/mkiv/i-marginblock.xml +++ b/tex/context/interface/mkiv/i-marginblock.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + diff --git a/tex/context/interface/mkiv/i-margindata.xml b/tex/context/interface/mkiv/i-margindata.xml index a54362fec..2f77e71a0 100644 --- a/tex/context/interface/mkiv/i-margindata.xml +++ b/tex/context/interface/mkiv/i-margindata.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -119,7 +119,7 @@ --> - + @@ -128,7 +128,7 @@ - + @@ -149,7 +149,7 @@ - + diff --git a/tex/context/interface/mkiv/i-marker.xml b/tex/context/interface/mkiv/i-marker.xml index fe491650e..d01aee822 100644 --- a/tex/context/interface/mkiv/i-marker.xml +++ b/tex/context/interface/mkiv/i-marker.xml @@ -4,26 +4,26 @@ - + - + - + - + diff --git a/tex/context/interface/mkiv/i-marking.xml b/tex/context/interface/mkiv/i-marking.xml index 644f0ac5b..cb1bf11af 100644 --- a/tex/context/interface/mkiv/i-marking.xml +++ b/tex/context/interface/mkiv/i-marking.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -36,7 +36,7 @@ - + @@ -56,7 +56,7 @@ - + @@ -66,7 +66,7 @@ - + @@ -74,7 +74,7 @@ - + @@ -82,7 +82,7 @@ - + @@ -95,7 +95,7 @@ - + @@ -104,19 +104,19 @@ - + - + - + @@ -125,7 +125,7 @@ - + @@ -138,7 +138,7 @@ - + @@ -151,7 +151,7 @@ - + @@ -161,7 +161,7 @@ - + diff --git a/tex/context/interface/mkiv/i-math.xml b/tex/context/interface/mkiv/i-math.xml index 58890d6ea..d83acda68 100644 --- a/tex/context/interface/mkiv/i-math.xml +++ b/tex/context/interface/mkiv/i-math.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -106,35 +106,35 @@ - + - + - + - + - + @@ -164,7 +164,7 @@ - + @@ -174,7 +174,7 @@ - + @@ -198,19 +198,19 @@ - + - + - + @@ -266,147 +266,147 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -480,4 +480,12 @@ + + + + + + + + diff --git a/tex/context/interface/mkiv/i-mathalignment.xml b/tex/context/interface/mkiv/i-mathalignment.xml index 5caa1348c..bae4d3d50 100644 --- a/tex/context/interface/mkiv/i-mathalignment.xml +++ b/tex/context/interface/mkiv/i-mathalignment.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -37,7 +37,7 @@ - + diff --git a/tex/context/interface/mkiv/i-mathcases.xml b/tex/context/interface/mkiv/i-mathcases.xml index 8a27c4413..75f4040d1 100644 --- a/tex/context/interface/mkiv/i-mathcases.xml +++ b/tex/context/interface/mkiv/i-mathcases.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -41,7 +41,7 @@ - + diff --git a/tex/context/interface/mkiv/i-mathfence.xml b/tex/context/interface/mkiv/i-mathfence.xml index 9676e2a37..d73241053 100644 --- a/tex/context/interface/mkiv/i-mathfence.xml +++ b/tex/context/interface/mkiv/i-mathfence.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -41,15 +41,15 @@ - - + + - + @@ -58,147 +58,147 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-mathmatrix.xml b/tex/context/interface/mkiv/i-mathmatrix.xml index 50f99205a..50a0f0e1e 100644 --- a/tex/context/interface/mkiv/i-mathmatrix.xml +++ b/tex/context/interface/mkiv/i-mathmatrix.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -53,7 +53,7 @@ - + @@ -87,7 +87,7 @@ --> - + @@ -95,24 +95,24 @@ - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-mathornament.xml b/tex/context/interface/mkiv/i-mathornament.xml index cfa7b0d18..9aad469ed 100644 --- a/tex/context/interface/mkiv/i-mathornament.xml +++ b/tex/context/interface/mkiv/i-mathornament.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -34,7 +34,7 @@ - + diff --git a/tex/context/interface/mkiv/i-mathradical.xml b/tex/context/interface/mkiv/i-mathradical.xml index e3ab9a6aa..5fa4876f4 100644 --- a/tex/context/interface/mkiv/i-mathradical.xml +++ b/tex/context/interface/mkiv/i-mathradical.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -36,7 +36,7 @@ - + @@ -46,7 +46,7 @@ - + diff --git a/tex/context/interface/mkiv/i-mathstackers.xml b/tex/context/interface/mkiv/i-mathstackers.xml index ef8d9d5e3..7a130f74c 100644 --- a/tex/context/interface/mkiv/i-mathstackers.xml +++ b/tex/context/interface/mkiv/i-mathstackers.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -107,7 +107,7 @@ - + @@ -120,7 +120,7 @@ - + @@ -136,7 +136,7 @@ - + @@ -147,7 +147,7 @@ - + @@ -156,7 +156,7 @@ - + @@ -167,7 +167,7 @@ - + @@ -176,7 +176,7 @@ - + @@ -188,7 +188,7 @@ - + @@ -197,7 +197,7 @@ - + @@ -207,7 +207,7 @@ - + @@ -217,7 +217,7 @@ - + @@ -227,7 +227,7 @@ - + @@ -237,7 +237,7 @@ - + @@ -245,7 +245,7 @@ - + @@ -257,7 +257,7 @@ - + @@ -266,7 +266,7 @@ - + - + @@ -183,7 +183,7 @@ - + @@ -192,7 +192,7 @@ - + @@ -204,7 +204,7 @@ - + @@ -216,7 +216,7 @@ - + @@ -229,7 +229,7 @@ - + @@ -241,7 +241,7 @@ - + @@ -251,7 +251,7 @@ - + @@ -381,12 +381,20 @@ + + + + + + + + - + @@ -395,7 +403,7 @@ - + @@ -403,14 +411,14 @@ - + - + @@ -418,14 +426,14 @@ - + - + @@ -434,13 +442,13 @@ - + - + @@ -449,11 +457,11 @@ - + - + - + @@ -461,7 +469,7 @@ - + @@ -469,21 +477,21 @@ - + - + - + @@ -519,20 +527,20 @@ --> - + - + - + @@ -540,9 +548,9 @@ - + - + @@ -579,7 +587,7 @@ --> - + @@ -589,7 +597,7 @@ - + @@ -613,7 +621,7 @@ - + @@ -625,7 +633,7 @@ - + @@ -639,7 +647,7 @@ - + @@ -652,14 +660,14 @@ - + - + diff --git a/tex/context/interface/mkiv/i-object.xml b/tex/context/interface/mkiv/i-object.xml index 6e105b377..9520ee567 100644 --- a/tex/context/interface/mkiv/i-object.xml +++ b/tex/context/interface/mkiv/i-object.xml @@ -4,7 +4,7 @@ - + @@ -13,15 +13,15 @@ - + - + - + - + - + @@ -30,7 +30,7 @@ - + @@ -39,7 +39,7 @@ - + @@ -48,7 +48,7 @@ - + @@ -57,7 +57,7 @@ - + @@ -66,7 +66,7 @@ - + @@ -75,25 +75,25 @@ - + - + - + - + - + @@ -102,7 +102,7 @@ - + @@ -111,7 +111,7 @@ - + @@ -120,7 +120,7 @@ - + diff --git a/tex/context/interface/mkiv/i-offset.xml b/tex/context/interface/mkiv/i-offset.xml index fc759673d..a645d746c 100644 --- a/tex/context/interface/mkiv/i-offset.xml +++ b/tex/context/interface/mkiv/i-offset.xml @@ -4,7 +4,7 @@ - + @@ -44,7 +44,7 @@ - + @@ -62,7 +62,7 @@ - + diff --git a/tex/context/interface/mkiv/i-opposite.xml b/tex/context/interface/mkiv/i-opposite.xml index 497b6d502..5ee68f94d 100644 --- a/tex/context/interface/mkiv/i-opposite.xml +++ b/tex/context/interface/mkiv/i-opposite.xml @@ -4,7 +4,7 @@ - + @@ -24,6 +24,6 @@ - + diff --git a/tex/context/interface/mkiv/i-ornament.xml b/tex/context/interface/mkiv/i-ornament.xml index f4ae43a6d..d2e8d3f1c 100644 --- a/tex/context/interface/mkiv/i-ornament.xml +++ b/tex/context/interface/mkiv/i-ornament.xml @@ -52,7 +52,7 @@ - + @@ -74,7 +74,7 @@ - + diff --git a/tex/context/interface/mkiv/i-output.xml b/tex/context/interface/mkiv/i-output.xml index bf719ca6a..f336c07a4 100644 --- a/tex/context/interface/mkiv/i-output.xml +++ b/tex/context/interface/mkiv/i-output.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -25,21 +25,21 @@ - + - + - + - + diff --git a/tex/context/interface/mkiv/i-overlay.xml b/tex/context/interface/mkiv/i-overlay.xml index 91e9f4873..d2ce6d524 100644 --- a/tex/context/interface/mkiv/i-overlay.xml +++ b/tex/context/interface/mkiv/i-overlay.xml @@ -4,7 +4,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -34,7 +34,7 @@ - + diff --git a/tex/context/interface/mkiv/i-pagebreak.xml b/tex/context/interface/mkiv/i-pagebreak.xml index 917e4a718..f9e38d9fc 100644 --- a/tex/context/interface/mkiv/i-pagebreak.xml +++ b/tex/context/interface/mkiv/i-pagebreak.xml @@ -4,7 +4,7 @@ - + @@ -13,7 +13,7 @@ - + @@ -22,7 +22,7 @@ - + @@ -30,7 +30,7 @@ - + @@ -39,7 +39,7 @@ - + @@ -48,7 +48,7 @@ - + @@ -56,7 +56,7 @@ - + @@ -66,7 +66,7 @@ - + @@ -95,7 +95,7 @@ - + @@ -104,7 +104,7 @@ - + @@ -125,7 +125,7 @@ - + diff --git a/tex/context/interface/mkiv/i-pagecomment.xml b/tex/context/interface/mkiv/i-pagecomment.xml index 26678a4a0..211f08d3d 100644 --- a/tex/context/interface/mkiv/i-pagecomment.xml +++ b/tex/context/interface/mkiv/i-pagecomment.xml @@ -4,7 +4,7 @@ - + diff --git a/tex/context/interface/mkiv/i-pagefigure.xml b/tex/context/interface/mkiv/i-pagefigure.xml index 5f776e835..8f76ace34 100644 --- a/tex/context/interface/mkiv/i-pagefigure.xml +++ b/tex/context/interface/mkiv/i-pagefigure.xml @@ -4,7 +4,7 @@ - + @@ -13,7 +13,7 @@ - + diff --git a/tex/context/interface/mkiv/i-pagegrid.xml b/tex/context/interface/mkiv/i-pagegrid.xml index 21f906a0c..d7aee5291 100644 --- a/tex/context/interface/mkiv/i-pagegrid.xml +++ b/tex/context/interface/mkiv/i-pagegrid.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -55,7 +55,7 @@ - + @@ -66,7 +66,7 @@ - + @@ -95,7 +95,7 @@ - + @@ -105,7 +105,7 @@ - + @@ -129,7 +129,7 @@ - + @@ -144,7 +144,7 @@ - + @@ -154,7 +154,7 @@ - + @@ -192,14 +192,14 @@ - + - + @@ -208,7 +208,7 @@ - + diff --git a/tex/context/interface/mkiv/i-pageinjection.xml b/tex/context/interface/mkiv/i-pageinjection.xml index c069dbc8b..735d44e28 100644 --- a/tex/context/interface/mkiv/i-pageinjection.xml +++ b/tex/context/interface/mkiv/i-pageinjection.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -49,14 +49,14 @@ - + - + @@ -65,7 +65,7 @@ - + @@ -75,7 +75,7 @@ - + diff --git a/tex/context/interface/mkiv/i-pagelayout.xml b/tex/context/interface/mkiv/i-pagelayout.xml index dd4bc27f5..2e5ca2085 100644 --- a/tex/context/interface/mkiv/i-pagelayout.xml +++ b/tex/context/interface/mkiv/i-pagelayout.xml @@ -4,7 +4,7 @@ - + @@ -28,7 +28,7 @@ - + diff --git a/tex/context/interface/mkiv/i-pagenumber.xml b/tex/context/interface/mkiv/i-pagenumber.xml index d17df9425..830bdb351 100644 --- a/tex/context/interface/mkiv/i-pagenumber.xml +++ b/tex/context/interface/mkiv/i-pagenumber.xml @@ -4,7 +4,7 @@ - + @@ -12,7 +12,7 @@ - + @@ -30,7 +30,7 @@ - + @@ -38,7 +38,7 @@ - + @@ -52,13 +52,13 @@ --> - + - + - + - + @@ -111,74 +111,74 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-pageselection.xml b/tex/context/interface/mkiv/i-pageselection.xml index 99d55bb8a..90d419bbc 100644 --- a/tex/context/interface/mkiv/i-pageselection.xml +++ b/tex/context/interface/mkiv/i-pageselection.xml @@ -4,7 +4,7 @@ - + @@ -22,7 +22,7 @@ - + @@ -45,7 +45,7 @@ - + @@ -66,7 +66,7 @@ - + @@ -132,7 +132,7 @@ - + diff --git a/tex/context/interface/mkiv/i-pageshift.xml b/tex/context/interface/mkiv/i-pageshift.xml index 630a5af6c..779304d6c 100644 --- a/tex/context/interface/mkiv/i-pageshift.xml +++ b/tex/context/interface/mkiv/i-pageshift.xml @@ -4,7 +4,7 @@ - + @@ -15,7 +15,7 @@ - + diff --git a/tex/context/interface/mkiv/i-pagestate.xml b/tex/context/interface/mkiv/i-pagestate.xml index 82396d000..e9b18bfed 100644 --- a/tex/context/interface/mkiv/i-pagestate.xml +++ b/tex/context/interface/mkiv/i-pagestate.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -26,7 +26,7 @@ - + @@ -36,7 +36,7 @@ - + @@ -46,7 +46,7 @@ - + diff --git a/tex/context/interface/mkiv/i-pairedbox.xml b/tex/context/interface/mkiv/i-pairedbox.xml index bbab966ba..8001742e0 100644 --- a/tex/context/interface/mkiv/i-pairedbox.xml +++ b/tex/context/interface/mkiv/i-pairedbox.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -70,7 +70,7 @@ - + @@ -81,7 +81,7 @@ - + @@ -90,7 +90,7 @@ - + @@ -105,7 +105,7 @@ - + @@ -122,7 +122,7 @@ - + diff --git a/tex/context/interface/mkiv/i-papersize.xml b/tex/context/interface/mkiv/i-papersize.xml index dab5e03bd..05bfb8a33 100644 --- a/tex/context/interface/mkiv/i-papersize.xml +++ b/tex/context/interface/mkiv/i-papersize.xml @@ -102,7 +102,7 @@ --> - + @@ -137,7 +137,7 @@ - + @@ -149,7 +149,7 @@ - + @@ -197,7 +197,7 @@ --> - + @@ -281,7 +281,7 @@ - + @@ -289,7 +289,7 @@ - + diff --git a/tex/context/interface/mkiv/i-paragraph.xml b/tex/context/interface/mkiv/i-paragraph.xml index 8a88f72fc..1729e26d2 100644 --- a/tex/context/interface/mkiv/i-paragraph.xml +++ b/tex/context/interface/mkiv/i-paragraph.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -34,7 +34,7 @@ - + @@ -43,7 +43,7 @@ - + @@ -52,9 +52,9 @@ - + - + diff --git a/tex/context/interface/mkiv/i-paragraphnumber.xml b/tex/context/interface/mkiv/i-paragraphnumber.xml index f3588f87c..615e95597 100644 --- a/tex/context/interface/mkiv/i-paragraphnumber.xml +++ b/tex/context/interface/mkiv/i-paragraphnumber.xml @@ -4,7 +4,7 @@ - + diff --git a/tex/context/interface/mkiv/i-paragraphs.xml b/tex/context/interface/mkiv/i-paragraphs.xml index 99092f668..6cbbcd5b7 100644 --- a/tex/context/interface/mkiv/i-paragraphs.xml +++ b/tex/context/interface/mkiv/i-paragraphs.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -76,7 +76,7 @@ - + @@ -136,33 +136,33 @@ - + - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-parallel.xml b/tex/context/interface/mkiv/i-parallel.xml index ed1c50c86..c8d177fcd 100644 --- a/tex/context/interface/mkiv/i-parallel.xml +++ b/tex/context/interface/mkiv/i-parallel.xml @@ -4,14 +4,14 @@ - + - + diff --git a/tex/context/interface/mkiv/i-parbuilder.xml b/tex/context/interface/mkiv/i-parbuilder.xml index b7bf37417..70879546d 100644 --- a/tex/context/interface/mkiv/i-parbuilder.xml +++ b/tex/context/interface/mkiv/i-parbuilder.xml @@ -4,13 +4,13 @@ - + - + @@ -21,7 +21,7 @@ - + diff --git a/tex/context/interface/mkiv/i-pdf.xml b/tex/context/interface/mkiv/i-pdf.xml index 5b4eab2c3..e84f0a3aa 100644 --- a/tex/context/interface/mkiv/i-pdf.xml +++ b/tex/context/interface/mkiv/i-pdf.xml @@ -4,95 +4,95 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -116,7 +116,7 @@ - + diff --git a/tex/context/interface/mkiv/i-periods.xml b/tex/context/interface/mkiv/i-periods.xml index 9114ae550..ec471faf6 100644 --- a/tex/context/interface/mkiv/i-periods.xml +++ b/tex/context/interface/mkiv/i-periods.xml @@ -4,7 +4,7 @@ - + @@ -24,13 +24,13 @@ - + - + @@ -38,6 +38,6 @@ - + diff --git a/tex/context/interface/mkiv/i-position.xml b/tex/context/interface/mkiv/i-position.xml index e43ee58ef..145a4eb8c 100644 --- a/tex/context/interface/mkiv/i-position.xml +++ b/tex/context/interface/mkiv/i-position.xml @@ -4,7 +4,7 @@ - + @@ -12,7 +12,7 @@ - + @@ -20,7 +20,7 @@ - + @@ -28,7 +28,7 @@ - + @@ -321,19 +321,19 @@ - + - + - + @@ -342,7 +342,7 @@ - + @@ -350,13 +350,13 @@ - + - + @@ -368,7 +368,7 @@ - + @@ -379,14 +379,14 @@ - + - + @@ -394,7 +394,7 @@ - + @@ -402,7 +402,7 @@ - + @@ -410,7 +410,7 @@ - + @@ -419,7 +419,7 @@ - + @@ -428,33 +428,33 @@ - + - + - + - + - + @@ -463,11 +463,11 @@ - + - + - + @@ -476,7 +476,7 @@ - + @@ -485,7 +485,7 @@ - + @@ -493,7 +493,7 @@ - + @@ -501,7 +501,7 @@ - + @@ -509,7 +509,7 @@ - + @@ -517,14 +517,14 @@ - + - + diff --git a/tex/context/interface/mkiv/i-positionbar.xml b/tex/context/interface/mkiv/i-positionbar.xml index 481540691..6777227b0 100644 --- a/tex/context/interface/mkiv/i-positionbar.xml +++ b/tex/context/interface/mkiv/i-positionbar.xml @@ -4,7 +4,7 @@ - + diff --git a/tex/context/interface/mkiv/i-positioning.xml b/tex/context/interface/mkiv/i-positioning.xml index 98898c7cc..9a91eecd5 100644 --- a/tex/context/interface/mkiv/i-positioning.xml +++ b/tex/context/interface/mkiv/i-positioning.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -76,7 +76,7 @@ - + @@ -85,7 +85,7 @@ - + diff --git a/tex/context/interface/mkiv/i-postponing.xml b/tex/context/interface/mkiv/i-postponing.xml index 619a77552..477359626 100644 --- a/tex/context/interface/mkiv/i-postponing.xml +++ b/tex/context/interface/mkiv/i-postponing.xml @@ -4,7 +4,7 @@ - + diff --git a/tex/context/interface/mkiv/i-processor.xml b/tex/context/interface/mkiv/i-processor.xml index 0c313c77a..8dc9a28c4 100644 --- a/tex/context/interface/mkiv/i-processor.xml +++ b/tex/context/interface/mkiv/i-processor.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -41,7 +41,7 @@ - + diff --git a/tex/context/interface/mkiv/i-profile.xml b/tex/context/interface/mkiv/i-profile.xml index a3fe7ea6e..90027ffd3 100644 --- a/tex/context/interface/mkiv/i-profile.xml +++ b/tex/context/interface/mkiv/i-profile.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -58,13 +58,13 @@ - + - + @@ -82,7 +82,7 @@ - + diff --git a/tex/context/interface/mkiv/i-publication.xml b/tex/context/interface/mkiv/i-publication.xml index 83cb6c2c8..d981c4acd 100644 --- a/tex/context/interface/mkiv/i-publication.xml +++ b/tex/context/interface/mkiv/i-publication.xml @@ -4,25 +4,25 @@ - + - + - + - + @@ -32,7 +32,7 @@ - + @@ -114,19 +114,19 @@ - + - + - + @@ -136,7 +136,7 @@ - + @@ -147,7 +147,7 @@ - + @@ -157,7 +157,7 @@ - + @@ -194,7 +194,7 @@ - + @@ -204,7 +204,7 @@ - + @@ -293,7 +293,7 @@ - + @@ -305,7 +305,7 @@ - + @@ -325,7 +325,7 @@ - + @@ -334,7 +334,7 @@ - + @@ -343,7 +343,7 @@ - + @@ -352,7 +352,7 @@ - + @@ -361,7 +361,7 @@ - + @@ -370,319 +370,319 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -717,67 +717,67 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -789,7 +789,7 @@ - + @@ -797,27 +797,27 @@ - + - + - + - + @@ -829,7 +829,7 @@ - + @@ -837,7 +837,7 @@ - + @@ -846,7 +846,7 @@ - + @@ -858,7 +858,7 @@ - + @@ -866,7 +866,7 @@ - + @@ -875,13 +875,13 @@ - + - + @@ -889,7 +889,7 @@ - + @@ -897,14 +897,14 @@ - + - + @@ -917,39 +917,39 @@ - + - + - + - + - + - + - + @@ -961,7 +961,7 @@ - + @@ -973,7 +973,7 @@ - + @@ -984,7 +984,7 @@ - + @@ -993,38 +993,38 @@ - + - + - + - + - + - + @@ -1040,13 +1040,13 @@ - + - + @@ -1062,13 +1062,13 @@ - + - + @@ -1084,19 +1084,19 @@ - + - + - + @@ -1109,13 +1109,13 @@ - + - + diff --git a/tex/context/interface/mkiv/i-random.xml b/tex/context/interface/mkiv/i-random.xml index 54dc66c5f..ad842c138 100644 --- a/tex/context/interface/mkiv/i-random.xml +++ b/tex/context/interface/mkiv/i-random.xml @@ -4,7 +4,7 @@ - + @@ -12,7 +12,7 @@ - + @@ -20,7 +20,7 @@ - + @@ -28,7 +28,7 @@ - + @@ -42,15 +42,15 @@ - + - + - + diff --git a/tex/context/interface/mkiv/i-readme.pdf b/tex/context/interface/mkiv/i-readme.pdf index 9c05491bc..95d456ece 100644 Binary files a/tex/context/interface/mkiv/i-readme.pdf and b/tex/context/interface/mkiv/i-readme.pdf differ diff --git a/tex/context/interface/mkiv/i-references.xml b/tex/context/interface/mkiv/i-references.xml index e7a713796..423106115 100644 --- a/tex/context/interface/mkiv/i-references.xml +++ b/tex/context/interface/mkiv/i-references.xml @@ -4,7 +4,7 @@ - + @@ -53,40 +53,40 @@ - + - + - + - + - + - + @@ -94,21 +94,21 @@ - + - + - + @@ -118,27 +118,27 @@ - + - + - + - + @@ -146,7 +146,7 @@ - + @@ -154,7 +154,7 @@ - + @@ -162,7 +162,7 @@ - + @@ -170,7 +170,7 @@ - + @@ -178,7 +178,7 @@ - + @@ -186,9 +186,9 @@ - + - + @@ -196,7 +196,7 @@ - + @@ -204,25 +204,25 @@ - + - + - + - + @@ -230,7 +230,7 @@ - + @@ -238,7 +238,7 @@ - + @@ -247,7 +247,7 @@ - + @@ -256,7 +256,7 @@ - + @@ -264,7 +264,7 @@ - + @@ -276,7 +276,7 @@ - + @@ -287,19 +287,19 @@ - + - + - + @@ -309,7 +309,7 @@ - + @@ -346,7 +346,7 @@ - + @@ -357,27 +357,27 @@ - + - + - + - + @@ -386,7 +386,7 @@ - + @@ -395,7 +395,7 @@ - + @@ -403,7 +403,7 @@ - + @@ -411,7 +411,7 @@ - + @@ -419,7 +419,7 @@ - + @@ -427,7 +427,7 @@ - + @@ -435,7 +435,7 @@ - + @@ -443,7 +443,7 @@ - + @@ -456,13 +456,13 @@ - + - + @@ -470,7 +470,7 @@ - + @@ -483,27 +483,27 @@ - + - + - + - + diff --git a/tex/context/interface/mkiv/i-regime.xml b/tex/context/interface/mkiv/i-regime.xml index cd0374023..7a05afd32 100644 --- a/tex/context/interface/mkiv/i-regime.xml +++ b/tex/context/interface/mkiv/i-regime.xml @@ -8,7 +8,7 @@ - + diff --git a/tex/context/interface/mkiv/i-register.xml b/tex/context/interface/mkiv/i-register.xml index e13b009ea..d41fe8ef7 100644 --- a/tex/context/interface/mkiv/i-register.xml +++ b/tex/context/interface/mkiv/i-register.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -47,6 +47,7 @@ + @@ -178,7 +179,7 @@ - + @@ -344,7 +345,7 @@ - + @@ -354,7 +355,7 @@ - + @@ -366,7 +367,7 @@ - + @@ -382,7 +383,7 @@ - + @@ -399,7 +400,7 @@ - + @@ -420,7 +421,7 @@ - + @@ -435,7 +436,7 @@ - + @@ -450,7 +451,7 @@ - + @@ -657,7 +658,7 @@ - + diff --git a/tex/context/interface/mkiv/i-renderingwindow.xml b/tex/context/interface/mkiv/i-renderingwindow.xml index 219fda285..c07bf4430 100644 --- a/tex/context/interface/mkiv/i-renderingwindow.xml +++ b/tex/context/interface/mkiv/i-renderingwindow.xml @@ -27,7 +27,7 @@ - + @@ -37,7 +37,7 @@ - + diff --git a/tex/context/interface/mkiv/i-replacement.xml b/tex/context/interface/mkiv/i-replacement.xml index 95b6272e7..82e2532f6 100644 --- a/tex/context/interface/mkiv/i-replacement.xml +++ b/tex/context/interface/mkiv/i-replacement.xml @@ -4,7 +4,7 @@ - + @@ -12,7 +12,7 @@ - + diff --git a/tex/context/interface/mkiv/i-rotatation.xml b/tex/context/interface/mkiv/i-rotatation.xml index 3e8eb6699..ee151b0be 100644 --- a/tex/context/interface/mkiv/i-rotatation.xml +++ b/tex/context/interface/mkiv/i-rotatation.xml @@ -4,13 +4,13 @@ - + - + @@ -34,7 +34,7 @@ - + @@ -43,7 +43,7 @@ - + diff --git a/tex/context/interface/mkiv/i-ruby.xml b/tex/context/interface/mkiv/i-ruby.xml index 698e4f24f..4684f780f 100644 --- a/tex/context/interface/mkiv/i-ruby.xml +++ b/tex/context/interface/mkiv/i-ruby.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -59,7 +59,7 @@ - + @@ -67,7 +67,7 @@ - + diff --git a/tex/context/interface/mkiv/i-scale.xml b/tex/context/interface/mkiv/i-scale.xml index 135d6fba8..df1cf37a6 100644 --- a/tex/context/interface/mkiv/i-scale.xml +++ b/tex/context/interface/mkiv/i-scale.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -93,7 +93,7 @@ - + diff --git a/tex/context/interface/mkiv/i-script.xml b/tex/context/interface/mkiv/i-script.xml index 10ae6a79e..c60afad09 100644 --- a/tex/context/interface/mkiv/i-script.xml +++ b/tex/context/interface/mkiv/i-script.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -36,7 +36,7 @@ - + @@ -45,7 +45,7 @@ - + @@ -59,9 +59,9 @@ - + - + @@ -75,7 +75,7 @@ - + diff --git a/tex/context/interface/mkiv/i-section.xml b/tex/context/interface/mkiv/i-section.xml index bcdc836af..3130085a6 100644 --- a/tex/context/interface/mkiv/i-section.xml +++ b/tex/context/interface/mkiv/i-section.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -200,10 +200,6 @@ - - - - @@ -240,11 +236,15 @@ + + + + - + @@ -253,7 +253,7 @@ - + @@ -266,7 +266,7 @@ - + @@ -280,7 +280,7 @@ - + @@ -292,7 +292,7 @@ - + @@ -491,7 +491,7 @@ --> - + @@ -579,7 +579,7 @@ - + @@ -601,14 +601,14 @@ - + - + @@ -622,7 +622,7 @@ - + @@ -630,7 +630,7 @@ - + @@ -638,7 +638,7 @@ - + @@ -648,7 +648,7 @@ - + @@ -666,21 +666,21 @@ - + - + - + diff --git a/tex/context/interface/mkiv/i-sectionblock.xml b/tex/context/interface/mkiv/i-sectionblock.xml index d6fc97ee0..fb59e16af 100644 --- a/tex/context/interface/mkiv/i-sectionblock.xml +++ b/tex/context/interface/mkiv/i-sectionblock.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -46,7 +46,7 @@ - + @@ -58,7 +58,7 @@ - + @@ -75,7 +75,7 @@ - + diff --git a/tex/context/interface/mkiv/i-selector.xml b/tex/context/interface/mkiv/i-selector.xml index e593e9117..6a68fb328 100644 --- a/tex/context/interface/mkiv/i-selector.xml +++ b/tex/context/interface/mkiv/i-selector.xml @@ -4,7 +4,7 @@ - + @@ -13,7 +13,7 @@ - + @@ -27,7 +27,7 @@ - + diff --git a/tex/context/interface/mkiv/i-setups.xml b/tex/context/interface/mkiv/i-setups.xml index d6b7b4d5a..5d3a7c9b1 100644 --- a/tex/context/interface/mkiv/i-setups.xml +++ b/tex/context/interface/mkiv/i-setups.xml @@ -70,35 +70,35 @@ - + - + - + - + - + @@ -110,13 +110,13 @@ - + - + @@ -124,7 +124,7 @@ - + @@ -132,14 +132,14 @@ - + - + @@ -176,7 +176,7 @@ - + @@ -185,7 +185,7 @@ - + diff --git a/tex/context/interface/mkiv/i-shift.xml b/tex/context/interface/mkiv/i-shift.xml index 792a8d84f..c9611e3bf 100644 --- a/tex/context/interface/mkiv/i-shift.xml +++ b/tex/context/interface/mkiv/i-shift.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -55,7 +55,7 @@ - + @@ -67,7 +67,7 @@ - + diff --git a/tex/context/interface/mkiv/i-sidebar.xml b/tex/context/interface/mkiv/i-sidebar.xml index 25a7ed306..8926954e3 100644 --- a/tex/context/interface/mkiv/i-sidebar.xml +++ b/tex/context/interface/mkiv/i-sidebar.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -59,7 +59,7 @@ --> - + @@ -68,7 +68,7 @@ - + @@ -77,7 +77,7 @@ - + @@ -86,13 +86,13 @@ - + - + diff --git a/tex/context/interface/mkiv/i-smash.xml b/tex/context/interface/mkiv/i-smash.xml index 16c1046bd..74df570e2 100644 --- a/tex/context/interface/mkiv/i-smash.xml +++ b/tex/context/interface/mkiv/i-smash.xml @@ -4,69 +4,69 @@ - + - + - + - + - + - + - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-sort.xml b/tex/context/interface/mkiv/i-sort.xml index a72df624b..b5e4e40f1 100644 --- a/tex/context/interface/mkiv/i-sort.xml +++ b/tex/context/interface/mkiv/i-sort.xml @@ -4,7 +4,7 @@ - + @@ -15,7 +15,7 @@ - + @@ -78,7 +78,7 @@ - + @@ -91,7 +91,7 @@ - + @@ -103,7 +103,7 @@ - + @@ -118,7 +118,7 @@ - + @@ -133,27 +133,27 @@ - + - + - + - + @@ -162,7 +162,7 @@ - + diff --git a/tex/context/interface/mkiv/i-soundtrack.xml b/tex/context/interface/mkiv/i-soundtrack.xml index b0f460352..2351476b3 100644 --- a/tex/context/interface/mkiv/i-soundtrack.xml +++ b/tex/context/interface/mkiv/i-soundtrack.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + diff --git a/tex/context/interface/mkiv/i-spellchecking.xml b/tex/context/interface/mkiv/i-spellchecking.xml index 615ba390b..7b328eea6 100644 --- a/tex/context/interface/mkiv/i-spellchecking.xml +++ b/tex/context/interface/mkiv/i-spellchecking.xml @@ -4,7 +4,7 @@ - + @@ -23,7 +23,7 @@ - + diff --git a/tex/context/interface/mkiv/i-spreadsheet.xml b/tex/context/interface/mkiv/i-spreadsheet.xml index 9f6273891..51aad21f2 100644 --- a/tex/context/interface/mkiv/i-spreadsheet.xml +++ b/tex/context/interface/mkiv/i-spreadsheet.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -74,7 +74,7 @@ - + @@ -84,7 +84,7 @@ - + @@ -118,7 +118,7 @@ - + @@ -127,9 +127,9 @@ - + - + diff --git a/tex/context/interface/mkiv/i-startstop.xml b/tex/context/interface/mkiv/i-startstop.xml index 2a6be1393..08c5d2ba0 100644 --- a/tex/context/interface/mkiv/i-startstop.xml +++ b/tex/context/interface/mkiv/i-startstop.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + diff --git a/tex/context/interface/mkiv/i-steps.xml b/tex/context/interface/mkiv/i-steps.xml index 47a3b45ca..e27fe5f16 100644 --- a/tex/context/interface/mkiv/i-steps.xml +++ b/tex/context/interface/mkiv/i-steps.xml @@ -41,7 +41,7 @@ --> - + @@ -114,7 +114,7 @@ --> - + @@ -197,7 +197,7 @@ --> - + @@ -271,7 +271,7 @@ --> - + diff --git a/tex/context/interface/mkiv/i-stream.xml b/tex/context/interface/mkiv/i-stream.xml index 97be35774..b392fd001 100644 --- a/tex/context/interface/mkiv/i-stream.xml +++ b/tex/context/interface/mkiv/i-stream.xml @@ -4,9 +4,9 @@ - + - + @@ -15,57 +15,57 @@ - + - + - + - + - + - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-string.xml b/tex/context/interface/mkiv/i-string.xml index 7a7eb1c98..567881602 100644 --- a/tex/context/interface/mkiv/i-string.xml +++ b/tex/context/interface/mkiv/i-string.xml @@ -4,61 +4,61 @@ - + - + - + - + - + - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-strut.xml b/tex/context/interface/mkiv/i-strut.xml index 1fd12a3bb..a11c6c13d 100644 --- a/tex/context/interface/mkiv/i-strut.xml +++ b/tex/context/interface/mkiv/i-strut.xml @@ -20,7 +20,7 @@ - + @@ -30,24 +30,24 @@ - + - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-symbol.xml b/tex/context/interface/mkiv/i-symbol.xml index 7797a3bee..d7e1e5926 100644 --- a/tex/context/interface/mkiv/i-symbol.xml +++ b/tex/context/interface/mkiv/i-symbol.xml @@ -4,7 +4,7 @@ - + @@ -12,7 +12,7 @@ - + @@ -21,7 +21,7 @@ - + @@ -30,7 +30,7 @@ - + @@ -39,7 +39,7 @@ - + @@ -47,7 +47,7 @@ - + @@ -55,27 +55,27 @@ - + - + - + - + @@ -88,7 +88,7 @@ - + @@ -100,7 +100,7 @@ - + @@ -108,7 +108,7 @@ - + @@ -116,27 +116,27 @@ - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-synonym.xml b/tex/context/interface/mkiv/i-synonym.xml index 6c615b12a..75c623210 100644 --- a/tex/context/interface/mkiv/i-synonym.xml +++ b/tex/context/interface/mkiv/i-synonym.xml @@ -4,7 +4,7 @@ - + @@ -17,7 +17,7 @@ - + @@ -80,7 +80,7 @@ - + @@ -94,7 +94,7 @@ - + @@ -107,7 +107,7 @@ - + @@ -122,7 +122,7 @@ - + @@ -144,14 +144,14 @@ - + - + @@ -170,7 +170,7 @@ - + @@ -179,7 +179,7 @@ - + @@ -188,7 +188,7 @@ - + diff --git a/tex/context/interface/mkiv/i-system.xml b/tex/context/interface/mkiv/i-system.xml index aa12bd779..ba622940c 100644 --- a/tex/context/interface/mkiv/i-system.xml +++ b/tex/context/interface/mkiv/i-system.xml @@ -4,28 +4,28 @@ - + - + - + - + - + @@ -33,7 +33,7 @@ - + @@ -42,7 +42,7 @@ - + @@ -52,7 +52,7 @@ - + @@ -63,7 +63,7 @@ - + @@ -75,7 +75,7 @@ - + @@ -88,7 +88,7 @@ - + @@ -102,7 +102,7 @@ - + @@ -117,20 +117,20 @@ - + - + - + @@ -138,7 +138,7 @@ - + @@ -147,7 +147,7 @@ - + @@ -157,9 +157,9 @@ - + - + @@ -167,7 +167,7 @@ - + @@ -175,212 +175,212 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -388,7 +388,7 @@ - + @@ -396,7 +396,7 @@ - + @@ -404,7 +404,7 @@ - + @@ -412,39 +412,39 @@ - + - + - + - + - + - + @@ -452,7 +452,7 @@ - + @@ -460,7 +460,7 @@ - + @@ -468,7 +468,7 @@ - + @@ -476,7 +476,7 @@ - + @@ -485,7 +485,7 @@ - + @@ -493,7 +493,7 @@ - + @@ -501,161 +501,161 @@ - + - + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -664,7 +664,7 @@ - + @@ -673,19 +673,19 @@ - + - + - + @@ -694,7 +694,7 @@ - + @@ -703,7 +703,7 @@ - + @@ -711,7 +711,7 @@ - + @@ -719,7 +719,7 @@ - + @@ -728,7 +728,7 @@ - + @@ -737,7 +737,7 @@ - + @@ -745,7 +745,7 @@ - + @@ -753,21 +753,21 @@ - + - + - + @@ -780,7 +780,7 @@ - + @@ -793,170 +793,170 @@ - + - + - + - + - - + + - + - - + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -964,13 +964,13 @@ - + - + @@ -979,35 +979,35 @@ - + - + - + - + - + - + @@ -1017,14 +1017,14 @@ - + - + @@ -1032,7 +1032,7 @@ - + @@ -1041,7 +1041,7 @@ - + @@ -1051,7 +1051,7 @@ - + @@ -1062,7 +1062,7 @@ - + @@ -1074,7 +1074,7 @@ - + @@ -1087,14 +1087,14 @@ - + - + @@ -1102,7 +1102,7 @@ - + @@ -1111,7 +1111,7 @@ - + @@ -1121,7 +1121,7 @@ - + @@ -1132,7 +1132,7 @@ - + @@ -1144,7 +1144,7 @@ - + @@ -1157,13 +1157,13 @@ - + - + @@ -1171,13 +1171,13 @@ - + - + @@ -1186,13 +1186,13 @@ - + - + @@ -1201,13 +1201,13 @@ - + - + @@ -1216,13 +1216,13 @@ - + - + @@ -1231,18 +1231,18 @@ - + - + - + - + @@ -1250,7 +1250,7 @@ - + @@ -1259,7 +1259,7 @@ - + @@ -1269,7 +1269,7 @@ - + @@ -1280,27 +1280,27 @@ - + - + - + - + @@ -1308,7 +1308,7 @@ - + @@ -1316,7 +1316,7 @@ - + @@ -1324,7 +1324,7 @@ - + @@ -1333,7 +1333,7 @@ - + @@ -1342,7 +1342,7 @@ - + @@ -1351,7 +1351,7 @@ - + @@ -1360,7 +1360,7 @@ - + @@ -1370,7 +1370,7 @@ - + @@ -1380,7 +1380,7 @@ - + @@ -1390,7 +1390,7 @@ - + @@ -1400,7 +1400,7 @@ - + @@ -1410,7 +1410,7 @@ - + @@ -1421,7 +1421,7 @@ - + @@ -1432,7 +1432,7 @@ - + @@ -1443,7 +1443,7 @@ - + @@ -1454,7 +1454,7 @@ - + @@ -1465,7 +1465,7 @@ - + @@ -1476,27 +1476,27 @@ - + - + - + - + @@ -1504,7 +1504,7 @@ - + @@ -1512,7 +1512,7 @@ - + @@ -1520,56 +1520,56 @@ - + - + - + - + - + - + - + - + - + @@ -1584,6 +1584,20 @@ + + + + + + + + + + + + + + @@ -1593,39 +1607,39 @@ - + - + - + - + - + - + - + @@ -1634,13 +1648,13 @@ - + - + @@ -1649,47 +1663,49 @@ - + - + - + - + - + - + - + - + - + + + @@ -1700,75 +1716,79 @@ - + - + - + - + - + - + - + - + + + + + - + - + - + - + - + - + @@ -1776,14 +1796,14 @@ - + - + @@ -1791,7 +1811,7 @@ - + @@ -1799,13 +1819,13 @@ - + - + @@ -1814,7 +1834,7 @@ - + @@ -1822,7 +1842,7 @@ - + @@ -1830,55 +1850,55 @@ - + - + - + - + - + - + - + - + @@ -1887,7 +1907,7 @@ - + @@ -1896,7 +1916,7 @@ - + @@ -1905,7 +1925,7 @@ - + @@ -1914,7 +1934,7 @@ - + @@ -1922,7 +1942,7 @@ - + @@ -1930,7 +1950,7 @@ - + @@ -1938,7 +1958,7 @@ - + @@ -1946,61 +1966,61 @@ - + - + - + - + - + - + - + - + - + @@ -2008,35 +2028,35 @@ - + - + - + - + - + - + - + @@ -2046,7 +2066,7 @@ - + @@ -2055,7 +2075,7 @@ - + @@ -2064,7 +2084,7 @@ - + @@ -2072,7 +2092,7 @@ - + @@ -2080,7 +2100,7 @@ - + @@ -2088,7 +2108,7 @@ - + @@ -2096,7 +2116,7 @@ - + @@ -2105,7 +2125,7 @@ - + @@ -2114,25 +2134,25 @@ - + - + - + - + - + - + @@ -2140,7 +2160,7 @@ - + @@ -2148,7 +2168,7 @@ - + @@ -2156,19 +2176,19 @@ - + - + - + @@ -2178,7 +2198,7 @@ - + @@ -2188,7 +2208,7 @@ - + @@ -2200,7 +2220,7 @@ - + @@ -2212,7 +2232,7 @@ - + @@ -2222,7 +2242,7 @@ - + @@ -2232,7 +2252,7 @@ - + @@ -2244,7 +2264,7 @@ - + @@ -2252,7 +2272,7 @@ - + @@ -2260,7 +2280,7 @@ - + @@ -2268,7 +2288,7 @@ - + @@ -2276,7 +2296,7 @@ - + @@ -2284,7 +2304,7 @@ - + @@ -2294,81 +2314,81 @@ - + - + - + - + - + - - + + - + - - + + - + - + - + - + - + @@ -2376,14 +2396,14 @@ - + - + @@ -2392,104 +2412,104 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2515,14 +2535,14 @@ - + - + @@ -2530,7 +2550,7 @@ - + @@ -2538,7 +2558,7 @@ - + @@ -2547,7 +2567,7 @@ - + @@ -2556,21 +2576,21 @@ - + - + - + @@ -2578,7 +2598,7 @@ - + @@ -2586,7 +2606,7 @@ - + @@ -2594,7 +2614,7 @@ - + @@ -2602,21 +2622,21 @@ - + - + - + @@ -2624,7 +2644,7 @@ - + @@ -2632,7 +2652,7 @@ - + @@ -2640,7 +2660,7 @@ - + @@ -2648,55 +2668,55 @@ - + - + - + - - + + - + - - + + - + - - + + - + - - + + - + @@ -2704,7 +2724,7 @@ - + @@ -2713,7 +2733,7 @@ - + @@ -2721,7 +2741,7 @@ - + @@ -2730,7 +2750,7 @@ - + @@ -2740,7 +2760,7 @@ - + @@ -2749,7 +2769,7 @@ - + @@ -2757,14 +2777,14 @@ - + - + @@ -2772,7 +2792,7 @@ - + @@ -2780,7 +2800,7 @@ - + @@ -2791,7 +2811,7 @@ - + @@ -2800,14 +2820,14 @@ - + - + @@ -2815,7 +2835,7 @@ - + @@ -2823,35 +2843,35 @@ - + - + - + - + - + @@ -2860,19 +2880,19 @@ - + - + - + @@ -2880,7 +2900,7 @@ - + @@ -2888,7 +2908,7 @@ - + @@ -2898,7 +2918,7 @@ - + @@ -2906,7 +2926,7 @@ - + @@ -2916,7 +2936,7 @@ - + @@ -2924,11 +2944,11 @@ - + - + - + @@ -2937,64 +2957,64 @@ - + - + - + - + - + - + - + - + - + - + @@ -3002,7 +3022,7 @@ - + @@ -3010,71 +3030,71 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -3082,15 +3102,15 @@ - + - - - - - + + + + + @@ -3156,7 +3176,7 @@ - + @@ -3164,7 +3184,7 @@ - + @@ -3172,7 +3192,7 @@ - + @@ -3180,7 +3200,7 @@ - + @@ -3188,23 +3208,23 @@ - + - + - + - + @@ -3213,7 +3233,7 @@ - + @@ -3222,7 +3242,7 @@ - + @@ -3233,20 +3253,20 @@ - + - + - + @@ -3254,14 +3274,14 @@ - + - + @@ -3269,7 +3289,7 @@ - + @@ -3277,25 +3297,25 @@ - + - + - + - + @@ -3303,7 +3323,7 @@ - + @@ -3311,14 +3331,14 @@ - + - + @@ -3326,7 +3346,7 @@ - + @@ -3334,7 +3354,7 @@ - + @@ -3342,53 +3362,53 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -3398,62 +3418,62 @@ - + - + - + - + - + - + - + - + - + - + @@ -3463,7 +3483,7 @@ - + @@ -3473,11 +3493,11 @@ - + - + - + @@ -3485,43 +3505,43 @@ - + - + - + - + - + - + - + @@ -3529,7 +3549,7 @@ - + @@ -3549,11 +3569,78 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tex/context/interface/mkiv/i-systemlog.xml b/tex/context/interface/mkiv/i-systemlog.xml index 02c4bece9..93717af21 100644 --- a/tex/context/interface/mkiv/i-systemlog.xml +++ b/tex/context/interface/mkiv/i-systemlog.xml @@ -4,7 +4,7 @@ - + @@ -12,7 +12,7 @@ - + @@ -20,7 +20,7 @@ - + diff --git a/tex/context/interface/mkiv/i-table.xml b/tex/context/interface/mkiv/i-table.xml index 950a9ff34..177bc2eef 100644 --- a/tex/context/interface/mkiv/i-table.xml +++ b/tex/context/interface/mkiv/i-table.xml @@ -4,7 +4,7 @@ - + @@ -13,7 +13,7 @@ - + @@ -22,7 +22,7 @@ - + @@ -31,31 +31,31 @@ - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-tabulation.xml b/tex/context/interface/mkiv/i-tabulation.xml index be3a602ac..a8c318150 100644 --- a/tex/context/interface/mkiv/i-tabulation.xml +++ b/tex/context/interface/mkiv/i-tabulation.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -99,7 +99,7 @@ - + @@ -111,7 +111,7 @@ - + @@ -119,7 +119,7 @@ - + @@ -129,7 +129,7 @@ - + @@ -138,7 +138,7 @@ - + @@ -153,25 +153,25 @@ - + - + - + - + - + - + - + @@ -165,7 +165,7 @@ - + @@ -178,7 +178,7 @@ - + @@ -191,7 +191,7 @@ - + @@ -204,7 +204,7 @@ - + @@ -217,7 +217,7 @@ - + @@ -230,7 +230,7 @@ - + @@ -238,7 +238,7 @@ - + @@ -246,7 +246,7 @@ - + @@ -254,7 +254,7 @@ - + @@ -262,11 +262,11 @@ - + - + - + @@ -280,7 +280,7 @@ - + @@ -294,7 +294,7 @@ - + @@ -308,7 +308,7 @@ - + @@ -322,7 +322,7 @@ - + @@ -336,7 +336,7 @@ - + @@ -360,7 +360,7 @@ - + diff --git a/tex/context/interface/mkiv/i-thinrule.xml b/tex/context/interface/mkiv/i-thinrule.xml index b74286e5e..758b6fea2 100644 --- a/tex/context/interface/mkiv/i-thinrule.xml +++ b/tex/context/interface/mkiv/i-thinrule.xml @@ -4,7 +4,7 @@ - + @@ -59,11 +59,11 @@ - + - + - + diff --git a/tex/context/interface/mkiv/i-token.xml b/tex/context/interface/mkiv/i-token.xml index 2cc0f4674..a0b3eb916 100644 --- a/tex/context/interface/mkiv/i-token.xml +++ b/tex/context/interface/mkiv/i-token.xml @@ -4,25 +4,25 @@ - + - + - + - + diff --git a/tex/context/interface/mkiv/i-tolerance.xml b/tex/context/interface/mkiv/i-tolerance.xml index b33fef05d..4a369541b 100644 --- a/tex/context/interface/mkiv/i-tolerance.xml +++ b/tex/context/interface/mkiv/i-tolerance.xml @@ -4,7 +4,7 @@ - + diff --git a/tex/context/interface/mkiv/i-tooltip.xml b/tex/context/interface/mkiv/i-tooltip.xml index f46ffb091..8010900e4 100644 --- a/tex/context/interface/mkiv/i-tooltip.xml +++ b/tex/context/interface/mkiv/i-tooltip.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + diff --git a/tex/context/interface/mkiv/i-tracker.xml b/tex/context/interface/mkiv/i-tracker.xml index 4dbc31886..26384f11c 100644 --- a/tex/context/interface/mkiv/i-tracker.xml +++ b/tex/context/interface/mkiv/i-tracker.xml @@ -4,7 +4,7 @@ - + @@ -12,7 +12,7 @@ - + @@ -20,13 +20,13 @@ - + - + @@ -36,13 +36,13 @@ - + - + @@ -50,13 +50,13 @@ - + - + diff --git a/tex/context/interface/mkiv/i-translate.xml b/tex/context/interface/mkiv/i-translate.xml index ba3510f0b..6a033e0dc 100644 --- a/tex/context/interface/mkiv/i-translate.xml +++ b/tex/context/interface/mkiv/i-translate.xml @@ -4,20 +4,20 @@ - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-translation.xml b/tex/context/interface/mkiv/i-translation.xml index f4f77c526..b0b052a0f 100644 --- a/tex/context/interface/mkiv/i-translation.xml +++ b/tex/context/interface/mkiv/i-translation.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + diff --git a/tex/context/interface/mkiv/i-twopassdata.xml b/tex/context/interface/mkiv/i-twopassdata.xml index 508294f08..63783d040 100644 --- a/tex/context/interface/mkiv/i-twopassdata.xml +++ b/tex/context/interface/mkiv/i-twopassdata.xml @@ -4,7 +4,7 @@ - + @@ -12,7 +12,7 @@ - + @@ -20,7 +20,7 @@ - + @@ -28,7 +28,7 @@ - + @@ -37,7 +37,7 @@ - + @@ -46,57 +46,57 @@ - + - + - + - + - + - + - + - + - + @@ -105,7 +105,7 @@ - + @@ -114,7 +114,7 @@ - + diff --git a/tex/context/interface/mkiv/i-unit.xml b/tex/context/interface/mkiv/i-unit.xml index 3380585dc..031e3c575 100644 --- a/tex/context/interface/mkiv/i-unit.xml +++ b/tex/context/interface/mkiv/i-unit.xml @@ -4,19 +4,19 @@ - + - + - + @@ -26,7 +26,7 @@ - + @@ -75,7 +75,7 @@ - + @@ -97,21 +97,21 @@ --> - + - + - + diff --git a/tex/context/interface/mkiv/i-variables.xml b/tex/context/interface/mkiv/i-variables.xml index 63b34329c..388fd3eed 100644 --- a/tex/context/interface/mkiv/i-variables.xml +++ b/tex/context/interface/mkiv/i-variables.xml @@ -135,7 +135,7 @@ - + @@ -144,7 +144,7 @@ - + @@ -153,7 +153,7 @@ - + @@ -161,7 +161,7 @@ - + @@ -169,7 +169,7 @@ - + @@ -178,7 +178,7 @@ - + @@ -187,7 +187,7 @@ - + @@ -195,7 +195,7 @@ - + @@ -203,7 +203,7 @@ - + @@ -227,7 +227,7 @@ - + @@ -235,7 +235,7 @@ - + @@ -243,14 +243,14 @@ - + - + @@ -270,21 +270,21 @@ - + - + - + @@ -310,7 +310,7 @@ - + @@ -318,7 +318,7 @@ - + @@ -326,21 +326,21 @@ - + - + - + @@ -348,7 +348,7 @@ - + @@ -356,14 +356,14 @@ - + - + diff --git a/tex/context/interface/mkiv/i-verbatim.xml b/tex/context/interface/mkiv/i-verbatim.xml index b23f57efe..de3295669 100644 --- a/tex/context/interface/mkiv/i-verbatim.xml +++ b/tex/context/interface/mkiv/i-verbatim.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -77,7 +77,7 @@ - + @@ -86,7 +86,7 @@ - + @@ -95,7 +95,7 @@ - + @@ -104,7 +104,7 @@ - + @@ -113,7 +113,7 @@ - + @@ -125,7 +125,7 @@ - + @@ -137,7 +137,7 @@ - + @@ -147,7 +147,7 @@ - + @@ -251,7 +251,7 @@ - + @@ -265,7 +265,7 @@ - + @@ -279,55 +279,55 @@ - + - + - + - + - + - + - + - + - + @@ -337,7 +337,7 @@ - + @@ -345,7 +345,7 @@ - + diff --git a/tex/context/interface/mkiv/i-version.xml b/tex/context/interface/mkiv/i-version.xml index 9f7864e8a..ff33ee341 100644 --- a/tex/context/interface/mkiv/i-version.xml +++ b/tex/context/interface/mkiv/i-version.xml @@ -4,7 +4,7 @@ - + @@ -16,7 +16,7 @@ - + @@ -41,7 +41,7 @@ - + @@ -50,7 +50,7 @@ - + @@ -59,7 +59,7 @@ - + @@ -67,7 +67,7 @@ - + diff --git a/tex/context/interface/mkiv/i-viewerlayer.xml b/tex/context/interface/mkiv/i-viewerlayer.xml index 8e321971e..4fd25e0ef 100644 --- a/tex/context/interface/mkiv/i-viewerlayer.xml +++ b/tex/context/interface/mkiv/i-viewerlayer.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -44,19 +44,19 @@ - + - + - + diff --git a/tex/context/interface/mkiv/i-visual.xml b/tex/context/interface/mkiv/i-visual.xml index 64ae3f79d..3e44b2740 100644 --- a/tex/context/interface/mkiv/i-visual.xml +++ b/tex/context/interface/mkiv/i-visual.xml @@ -131,24 +131,24 @@ - + - + - + - + \ No newline at end of file diff --git a/tex/context/interface/mkiv/i-visualizer.xml b/tex/context/interface/mkiv/i-visualizer.xml index 3d30b7f4d..f5ff1f942 100644 --- a/tex/context/interface/mkiv/i-visualizer.xml +++ b/tex/context/interface/mkiv/i-visualizer.xml @@ -4,104 +4,104 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/tex/context/interface/mkiv/i-vspace.xml b/tex/context/interface/mkiv/i-vspace.xml index 4618fc00a..a8777d02a 100644 --- a/tex/context/interface/mkiv/i-vspace.xml +++ b/tex/context/interface/mkiv/i-vspace.xml @@ -89,7 +89,7 @@ - + @@ -97,7 +97,7 @@ - + @@ -105,7 +105,7 @@ - + @@ -113,9 +113,9 @@ - + - + @@ -123,14 +123,14 @@ - + - + diff --git a/tex/context/interface/mkiv/i-whitespace.xml b/tex/context/interface/mkiv/i-whitespace.xml index 06e1997c5..68040a8dd 100644 --- a/tex/context/interface/mkiv/i-whitespace.xml +++ b/tex/context/interface/mkiv/i-whitespace.xml @@ -4,7 +4,7 @@ - + @@ -23,15 +23,15 @@ - + - + - + @@ -41,7 +41,7 @@ - + diff --git a/tex/context/interface/mkiv/i-xml.xml b/tex/context/interface/mkiv/i-xml.xml index c13196383..d287c0b74 100644 --- a/tex/context/interface/mkiv/i-xml.xml +++ b/tex/context/interface/mkiv/i-xml.xml @@ -2,151 +2,151 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -154,27 +154,27 @@ - + - + - + - + @@ -182,7 +182,7 @@ - + @@ -192,7 +192,7 @@ - + @@ -200,44 +200,44 @@ - + - + - + - + - + - + - + @@ -245,7 +245,7 @@ - + @@ -253,7 +253,7 @@ - + @@ -261,7 +261,7 @@ - + @@ -269,7 +269,7 @@ - + @@ -277,7 +277,7 @@ - + @@ -285,7 +285,7 @@ - + @@ -293,7 +293,7 @@ - + @@ -301,44 +301,44 @@ - + - + - + - + - + - + - + @@ -346,16 +346,16 @@ - + - + - + @@ -363,7 +363,7 @@ - + @@ -372,14 +372,14 @@ - + - + @@ -387,39 +387,39 @@ - + - + - + - + - + - + @@ -427,79 +427,79 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -507,7 +507,7 @@ - + @@ -515,17 +515,16 @@ - - + - + - + @@ -535,7 +534,7 @@ - + @@ -543,7 +542,7 @@ - + @@ -551,7 +550,7 @@ - + @@ -560,7 +559,7 @@ - + @@ -568,7 +567,7 @@ - + @@ -576,7 +575,7 @@ - + @@ -585,21 +584,21 @@ - + - + - + @@ -607,7 +606,7 @@ - + @@ -616,7 +615,7 @@ - + @@ -625,14 +624,14 @@ - + - + @@ -641,7 +640,7 @@ - + @@ -649,14 +648,14 @@ - + - + @@ -664,7 +663,7 @@ - + @@ -672,7 +671,7 @@ - + @@ -681,20 +680,20 @@ - + - + - + @@ -702,7 +701,7 @@ - + @@ -710,7 +709,7 @@ - + @@ -720,7 +719,7 @@ - + - + - + - + - + - + - + - + - + - + @@ -786,14 +785,14 @@ - + - + @@ -802,7 +801,7 @@ - + @@ -818,7 +817,7 @@ - + diff --git a/tex/context/interface/mkiv/i-xtable.xml b/tex/context/interface/mkiv/i-xtable.xml index 7500ff47f..4db0882f1 100644 --- a/tex/context/interface/mkiv/i-xtable.xml +++ b/tex/context/interface/mkiv/i-xtable.xml @@ -4,7 +4,7 @@ - + @@ -14,7 +14,7 @@ - + @@ -82,7 +82,7 @@ - + @@ -90,13 +90,13 @@ - + - + @@ -104,13 +104,13 @@ - + - + @@ -121,13 +121,13 @@ - + - + @@ -136,7 +136,7 @@ - + @@ -157,7 +157,7 @@ - + @@ -165,13 +165,13 @@ - + - + @@ -179,13 +179,13 @@ - + - + @@ -193,13 +193,13 @@ - + - + @@ -207,13 +207,13 @@ - + - + @@ -222,7 +222,7 @@ - + @@ -231,7 +231,7 @@ - + @@ -240,8 +240,8 @@ - + - + diff --git a/tex/context/modules/common/s-abr-01.tex b/tex/context/modules/common/s-abr-01.tex index fd6c66419..d71df6c0a 100644 --- a/tex/context/modules/common/s-abr-01.tex +++ b/tex/context/modules/common/s-abr-01.tex @@ -43,13 +43,13 @@ \logo [AMSLATEX] {\AmSLaTeX} \logo [AMSTEX] {\AmSTeX} \logo [ANSI] {ansi} -\logo [ARABTEX] {Arab\TeX} +\logo [ARABTEX] {Arab\TeXsuffix} \logo [ASCII] {ascii} -\logo [ASCIITEX] {ascii\TeX} +\logo [ASCIITEX] {ascii\TeXsuffix} \logo [ASCIIMATH] {AsciiMath} -\logo [BACHOTEX] {Bacho\TeX} -\logo [BIBTEX] {bib\TeX} -\logo [MLBIBTEX] {MLbib\TeX} +\logo [BACHOTEX] {Bacho\TeXsuffix} +\logo [BIBTEX] {bib\TeXsuffix} +\logo [MLBIBTEX] {MLbib\TeXsuffix} \logo [BLUESKY] {BlueSky} \logo [BMP] {bmp} \logo [BSD] {bsd} @@ -76,7 +76,7 @@ \logo [CSTUG] {cstug} \logo [DANTE] {Dante} \logo [DISTILLER] {distiller} -\logo [DRATEX] {Dra\TeX} +\logo [DRATEX] {Dra\TeXsuffix} \logo [DSC] {dsc} \logo [DTD] {dtd} \logo [DTK] {dtk} @@ -94,15 +94,15 @@ \logo [EC] {ec} \logo [EIFFEL] {Eiffel} \logo [EMACS] {emacs} -\logo [EMTEX] {em\TeX} +\logo [EMTEX] {em\TeXsuffix} \logo [ENCODING] {enc} -\logo [ENCTEX] {enc\TeX} +\logo [ENCTEX] {enc\TeXsuffix} \logo [EPUB] {ePub} \logo [EPS] {eps} \logo [ETEX] {\eTeX} -\logo [EUROBACHOTEX] {EuroBacho\TeX} +\logo [EUROBACHOTEX] {EuroBacho\TeXsuffix} \logo [EUROMATH] {EuroMath} -\logo [EUROTEX] {Euro\TeX} +\logo [EUROTEX] {Euro\TeXsuffix} \logo [EXAMPLE] {eXaMpLe} \logo [EXAMPLED] {exampled} \logo [EXAMPLEQ] {exampleq} @@ -115,7 +115,7 @@ \logo [FDF] {fdf} \logo [FONTFORGE] {FontForge} \logo [FOXET] {foXet} -\logo [FPTEX] {fp\TeX} +\logo [FPTEX] {fp\TeXsuffix} \logo [FREEBSD] {FreeBSD} \logo [FTP] {ftp} \logo [GHOSTSCRIPT] {Ghost\-script} @@ -126,7 +126,7 @@ \logo [GS] {Ghost\-Script} \logo [GUST] {Gust} \logo [GCC] {gcc} -\logo [GWTEX] {gw\TeX} +\logo [GWTEX] {gw\TeXsuffix} \logo [HSB] {hsb} % ? \logo [HSV] {hsv} \logo [HTML] {html} @@ -134,8 +134,8 @@ \logo [HZ] {hz} \logo [IBM] {ibm} \logo [IMAGEMAGICK] {ImageMagick} -\logo [INITEX] {ini\TeX} -\logo [INRSTEX] {inrs\TeX} +\logo [INITEX] {ini\TeXsuffix} +\logo [INRSTEX] {inrs\TeXsuffix} \logo [IO] {io} \logo [IRCNET] {IRCnet} \logo [ISO] {iso} @@ -160,22 +160,22 @@ \logo [LPEG] {lpeg} \logo [LUA] {Lua} \logo [LUAJIT] {LuaJIT} -\logo [LUAJITTEX] {Luajit\TeX} -\logo [LUATEX] {Lua\TeX} +\logo [LUAJITTEX] {Luajit\TeXsuffix} +\logo [LUATEX] {Lua\TeXsuffix} \logo [LUATOOLS] {luatools} \logo [LMX] {lmx} \logo [MACOSX] {MacOSX} -\logo [MACROTEX] {Macro\TeX} +\logo [MACROTEX] {Macro\TeXsuffix} \logo [MAKEMPY] {MakeMPY} \logo [MAPPING] {map} \logo [MAPS] {Maps} \logo [MATHML] {MathML} \logo [METAFONT] {\MetaFont} \logo [METAPOST] {\MetaPost} -\logo [METATEX] {Meta\TeX} -\logo [MIKTEX] {Mik\TeX} +\logo [METATEX] {Meta\TeXsuffix} +\logo [MIKTEX] {Mik\TeXsuffix} \logo [MINGW] {MingW} -\logo [MLTEX] {ml\TeX} +\logo [MLTEX] {ml\TeXsuffix} \logo [METATYPE] {MetaType1} \logo [MODULA] {Modula} \logo [MOV] {mov} @@ -197,17 +197,17 @@ \logo [OPENMATH] {OpenMath} \logo [OPENTYPE] {OpenType} \logo [OPI] {opi} -\logo [OTEX] {Oriental \TeX} +\logo [OTEX] {Oriental \TeXsuffix} \logo [OTF] {otf} \logo [OTP] {otp} \logo [OVF] {ovf} \logo [PASCAL] {Pascal} -\logo [PCTEX] {pc\TeX} +\logo [PCTEX] {pc\TeXsuffix} \logo [PFA] {pfa} \logo [PFB] {pfb} \logo [PDF] {pdf} -\logo [PDFETEX] {pdfe\TeX} -\logo [PDFTEX] {pdf\TeX} +\logo [PDFETEX] {pdfe\TeXsuffix} +\logo [PDFTEX] {pdf\TeXsuffix} \logo [PDFTOOLS] {pdftools} \logo [PDFTOPS] {pdftops} \logo [PERL] {Perl} @@ -246,30 +246,30 @@ \logo [SWIGLIB] {SwigLib} \logo [TABLE] {\TaBlE} \logo [TCPIP] {tcp/ip} -\logo [TDS] {tds} % no sc te -\logo [TEI] {tei} % no sc te -\logo [TETEX] {te\TeX} % no sc te +\logo [TDS] {tds} % no sc te +\logo [TEI] {tei} % no sc te +\logo [TETEX] {te\TeXsuffix} % no sc te \logo [TEX] {\TeX} -\logo [TEXADRES] {\TeX adress} -\logo [TEXBASE] {\TeX base} -\logo [TEXEDIT] {\TeX edit} -\logo [TEXEXEC] {\TeX exec} -\logo [TEXFONT] {\TeX font} -\logo [TEXFORM] {\TeX form} -\logo [TEXLIVE] {\TeX Live} -\logo [TEXLUA] {\TeX Lua} +\logo [TEXADRES] {\TeXprefix adress} +\logo [TEXBASE] {\TeXprefix base} +\logo [TEXEDIT] {\TeXprefix edit} +\logo [TEXEXEC] {\TeXprefix exec} +\logo [TEXFONT] {\TeXprefix font} +\logo [TEXFORM] {\TeXprefix form} +\logo [TEXLIVE] {\TeXprefix Live} +\logo [TEXLUA] {\TeXprefix Lua} \logo [TEXMF] {texmf} \logo [TEXMFSTART] {texmfstart} \logo [TEXNL] {tex-nl} -\logo [TEXSHOW] {\TeX show} -\logo [TEXSPELL] {\TeX spell} +\logo [TEXSHOW] {\TeXprefix show} +\logo [TEXSPELL] {\TeXprefix spell} \logo [TEXGYRE] {\TeX\ Gyre} \logo [TEXSYNC] {texsync} \logo [TEXTMATE] {TextMate} -\logo [TEXTOOLS] {\TeX tools} -\logo [TEXUTIL] {\TeX util} -\logo [TEXWORK] {\TeX work} -\logo [TEXWORKS] {\TeX works} +\logo [TEXTOOLS] {\TeXprefix tools} +\logo [TEXUTIL] {\TeXprefix util} +\logo [TEXWORK] {\TeXprefix work} +\logo [TEXWORKS] {\TeXprefix works} \logo [TEXXET] {\TeX\XeT} \def\XeT{XeT} \logo [TFM] {tfm} \logo [TIF] {tif} @@ -315,7 +315,7 @@ \logo [XML] {xml} \logo [XPATH] {xpath} \logo [XMLTOOLS] {xmltools} -\logo [XPDFETEX] {xpdfe\TeX} +\logo [XPDFETEX] {xpdfe\TeXsuffix} \logo [XSL] {xsl} \logo [XSLFO] {xsl-fo} \logo [XSLT] {xslt} diff --git a/tex/context/modules/mkiv/s-fonts-variable.lua b/tex/context/modules/mkiv/s-fonts-variable.lua index 2b2aa1dfc..43f5f0d3d 100644 --- a/tex/context/modules/mkiv/s-fonts-variable.lua +++ b/tex/context/modules/mkiv/s-fonts-variable.lua @@ -18,6 +18,9 @@ local context = context local NC, NR, HL, ML = context.NC, context.NR, context.HL, context.ML local bold, monobold, mono, formattedmono = context.bold, context.monobold, context.mono, context.formatted.mono +local show_glyphs = false trackers.register("modules.fonts.variables.glyphs", function(v) show_glyphs = v end) +local show_kerns = false trackers.register("modules.fonts.variables.kerns", function(v) show_kerns = v end) + function moduledata.fonts.variable.showvariations(specification) specification = interfaces.checkedspecification(specification) @@ -237,11 +240,21 @@ end context.startsubject { title = instance } context.start() context.definedfont { "name:" .. instance .. "*default" } + context.start() + if show_glyphs then + context.showglyphs() + end + if show_kerns then + context.showfontkerns() + end if sample and sample ~= "" then context(sample) else context.input("zapf.tex") end + context.stop() + context.blank { "big,samepage"} + context.showfontspacing() context.par() context.stop() context.stopsubject() diff --git a/tex/context/modules/mkiv/s-fonts-variable.mkiv b/tex/context/modules/mkiv/s-fonts-variable.mkiv index 6b84c2ebb..69f4a7843 100644 --- a/tex/context/modules/mkiv/s-fonts-variable.mkiv +++ b/tex/context/modules/mkiv/s-fonts-variable.mkiv @@ -26,6 +26,18 @@ \installmodulecommandluasingle \showfontvariations {moduledata.fonts.variable.showvariations} +\unexpanded\def\showfontspacing + {\begingroup + \scratchskip \interwordspace plus \interwordstretch minus \interwordshrink + \normalexpanded{\hpack\bgroup + \tttf + sp: \the\scratchskip \hskip\emwidth + es: \the\extraspace\hskip\emwidth + ex: \the\exheight \hskip\emwidth + em: \the\emwidth \hskip\emwidth + \egroup}% + \endgroup} + \stopmodule \continueifinputfile{s-fonts-variable.mkiv} @@ -34,6 +46,9 @@ \setuphead[section][before={\testpage[5]\blank[2*big]}] +% \enabletrackers[modules.fonts.variables.glyphs] +% \enabletrackers[modules.fonts.variables.kerns] + \starttext \startbuffer[zycon] @@ -57,8 +72,9 @@ \char983040\relax\par \stopbuffer -% \showfontkerns -% \showglyphs +% \showfontvariations +% [font=file:VotoSerifGX.ttf, +% max=6] \showfontvariations [font=file:adobevfprototype.otf] diff --git a/tex/context/sample/common/samples.tex b/tex/context/sample/common/samples.tex index 8d1477e1c..72bec863c 100644 --- a/tex/context/sample/common/samples.tex +++ b/tex/context/sample/common/samples.tex @@ -48,8 +48,11 @@ used in testing bibliographic references and citations. \NC waltham.tex \NC David Waltham \NC Lucky Planet, why earth is exceptional and what that means for life in the universe, Icon Books Ltd, London, 2014, p. 168 \NC \NR -\NC sapolsky.tex \NC Robert M. Sapolsky \NC Why Zebras Don't Have Ulsters, means for life in the universe, +\NC sapolsky.tex \NC Robert M. Sapolsky \NC Why Zebras Don't Have Ulsters, St Martin's Press, 2004 \NC \NR +\NC mcnish.tex \NC Hollie McNish \NC Poetry versus Orchestra, Hollie McNish and Metropole + Orkest, conducted by Jules Buckley, + MO Black, fall 2016. \NC \NR \stoptabulate % Tufte: This quote will always produce hyphenated text, apart from the content, diff --git a/tex/generic/context/luatex/luatex-basics-chr.lua b/tex/generic/context/luatex/luatex-basics-chr.lua index 4329256f2..75dffd192 100644 --- a/tex/generic/context/luatex/luatex-basics-chr.lua +++ b/tex/generic/context/luatex/luatex-basics-chr.lua @@ -9,6 +9,174 @@ characters.blockrange = { } -- classifiers needed for analysis characters.classifiers={ + [768]=5, + [769]=5, + [770]=5, + [771]=5, + [772]=5, + [773]=5, + [774]=5, + [775]=5, + [776]=5, + [777]=5, + [778]=5, + [779]=5, + [780]=5, + [781]=5, + [782]=5, + [783]=5, + [784]=5, + [785]=5, + [786]=5, + [787]=5, + [788]=5, + [789]=5, + [790]=5, + [791]=5, + [792]=5, + [793]=5, + [794]=5, + [795]=5, + [796]=5, + [797]=5, + [798]=5, + [799]=5, + [800]=5, + [801]=5, + [802]=5, + [803]=5, + [804]=5, + [805]=5, + [806]=5, + [807]=5, + [808]=5, + [809]=5, + [810]=5, + [811]=5, + [812]=5, + [813]=5, + [814]=5, + [815]=5, + [816]=5, + [817]=5, + [818]=5, + [819]=5, + [820]=5, + [821]=5, + [822]=5, + [823]=5, + [824]=5, + [825]=5, + [826]=5, + [827]=5, + [828]=5, + [829]=5, + [830]=5, + [831]=5, + [832]=5, + [833]=5, + [834]=5, + [835]=5, + [836]=5, + [837]=5, + [838]=5, + [839]=5, + [840]=5, + [841]=5, + [842]=5, + [843]=5, + [844]=5, + [845]=5, + [846]=5, + [847]=5, + [848]=5, + [849]=5, + [850]=5, + [851]=5, + [852]=5, + [853]=5, + [854]=5, + [855]=5, + [856]=5, + [857]=5, + [858]=5, + [859]=5, + [860]=5, + [861]=5, + [862]=5, + [863]=5, + [864]=5, + [865]=5, + [866]=5, + [867]=5, + [868]=5, + [869]=5, + [870]=5, + [871]=5, + [872]=5, + [873]=5, + [874]=5, + [875]=5, + [876]=5, + [877]=5, + [878]=5, + [879]=5, + [1155]=5, + [1156]=5, + [1157]=5, + [1158]=5, + [1159]=5, + [1425]=5, + [1426]=5, + [1427]=5, + [1428]=5, + [1429]=5, + [1430]=5, + [1431]=5, + [1432]=5, + [1433]=5, + [1434]=5, + [1435]=5, + [1436]=5, + [1437]=5, + [1438]=5, + [1439]=5, + [1440]=5, + [1441]=5, + [1442]=5, + [1443]=5, + [1444]=5, + [1445]=5, + [1446]=5, + [1447]=5, + [1448]=5, + [1449]=5, + [1450]=5, + [1451]=5, + [1452]=5, + [1453]=5, + [1454]=5, + [1455]=5, + [1456]=5, + [1457]=5, + [1458]=5, + [1459]=5, + [1460]=5, + [1461]=5, + [1462]=5, + [1463]=5, + [1464]=5, + [1465]=5, + [1466]=5, + [1467]=5, + [1468]=5, + [1469]=5, + [1471]=5, + [1473]=5, + [1474]=5, + [1476]=5, + [1477]=5, + [1479]=5, [1536]=4, [1537]=4, [1538]=4, @@ -389,6 +557,17 @@ characters.classifiers={ [1917]=2, [1918]=2, [1919]=2, + [1958]=5, + [1959]=5, + [1960]=5, + [1961]=5, + [1962]=5, + [1963]=5, + [1964]=5, + [1965]=5, + [1966]=5, + [1967]=5, + [1968]=5, [1984]=6, [1985]=6, [1986]=6, @@ -448,6 +627,27 @@ characters.classifiers={ [2040]=6, [2041]=6, [2042]=2, + [2070]=5, + [2071]=5, + [2072]=5, + [2073]=5, + [2075]=5, + [2076]=5, + [2077]=5, + [2078]=5, + [2079]=5, + [2080]=5, + [2081]=5, + [2082]=5, + [2083]=5, + [2085]=5, + [2086]=5, + [2087]=5, + [2089]=5, + [2090]=5, + [2091]=5, + [2092]=5, + [2093]=5, [2112]=3, [2113]=2, [2114]=2, @@ -473,6 +673,9 @@ characters.classifiers={ [2134]=4, [2135]=4, [2136]=4, + [2137]=5, + [2138]=5, + [2139]=5, [2208]=2, [2209]=2, [2210]=2, @@ -494,9 +697,339 @@ characters.classifiers={ [2226]=3, [2227]=2, [2228]=2, + [2230]=2, + [2231]=2, + [2232]=2, + [2233]=3, + [2234]=2, + [2235]=2, + [2236]=2, + [2237]=2, + [2260]=5, + [2261]=5, + [2262]=5, + [2263]=5, + [2264]=5, + [2265]=5, + [2266]=5, + [2267]=5, + [2268]=5, + [2269]=5, + [2270]=5, + [2271]=5, + [2272]=5, + [2273]=5, + [2274]=4, + [2275]=5, + [2276]=5, + [2277]=5, + [2278]=5, + [2279]=5, + [2280]=5, + [2281]=5, + [2282]=5, + [2283]=5, + [2284]=5, + [2285]=5, + [2286]=5, + [2287]=5, + [2288]=5, + [2289]=5, + [2290]=5, + [2291]=5, + [2292]=5, + [2293]=5, + [2294]=5, + [2295]=5, + [2296]=5, + [2297]=5, + [2298]=5, + [2299]=5, + [2300]=5, + [2301]=5, + [2302]=5, + [2303]=5, + [2304]=5, + [2305]=5, + [2306]=5, + [2362]=5, + [2364]=5, + [2369]=5, + [2370]=5, + [2371]=5, + [2372]=5, + [2373]=5, + [2374]=5, + [2375]=5, + [2376]=5, + [2381]=5, + [2385]=5, + [2386]=5, + [2387]=5, + [2388]=5, + [2389]=5, + [2390]=5, + [2391]=5, + [2402]=5, + [2403]=5, + [2433]=5, + [2492]=5, + [2497]=5, + [2498]=5, + [2499]=5, + [2500]=5, + [2509]=5, + [2530]=5, + [2531]=5, + [2561]=5, + [2562]=5, + [2620]=5, + [2625]=5, + [2626]=5, + [2631]=5, + [2632]=5, + [2635]=5, + [2636]=5, + [2637]=5, + [2641]=5, + [2672]=5, + [2673]=5, + [2677]=5, + [2689]=5, + [2690]=5, + [2748]=5, + [2753]=5, + [2754]=5, + [2755]=5, + [2756]=5, + [2757]=5, + [2759]=5, + [2760]=5, + [2765]=5, + [2786]=5, + [2787]=5, + [2817]=5, + [2876]=5, + [2879]=5, + [2881]=5, + [2882]=5, + [2883]=5, + [2884]=5, + [2893]=5, + [2902]=5, + [2914]=5, + [2915]=5, + [2946]=5, + [3008]=5, + [3021]=5, + [3072]=5, + [3134]=5, + [3135]=5, + [3136]=5, + [3142]=5, + [3143]=5, + [3144]=5, + [3146]=5, + [3147]=5, + [3148]=5, + [3149]=5, + [3157]=5, + [3158]=5, + [3170]=5, + [3171]=5, + [3201]=5, + [3260]=5, + [3263]=5, + [3270]=5, + [3276]=5, + [3277]=5, + [3298]=5, + [3299]=5, + [3329]=5, + [3393]=5, + [3394]=5, + [3395]=5, + [3396]=5, + [3405]=5, + [3426]=5, + [3427]=5, + [3530]=5, + [3538]=5, + [3539]=5, + [3540]=5, + [3542]=5, + [3633]=5, + [3636]=5, + [3637]=5, + [3638]=5, + [3639]=5, + [3640]=5, + [3641]=5, + [3642]=5, + [3655]=5, + [3656]=5, + [3657]=5, + [3658]=5, + [3659]=5, + [3660]=5, + [3661]=5, + [3662]=5, + [3761]=5, + [3764]=5, + [3765]=5, + [3766]=5, + [3767]=5, + [3768]=5, + [3769]=5, + [3771]=5, + [3772]=5, + [3784]=5, + [3785]=5, + [3786]=5, + [3787]=5, + [3788]=5, + [3789]=5, + [3864]=5, + [3865]=5, + [3893]=5, + [3895]=5, + [3897]=5, + [3953]=5, + [3954]=5, + [3955]=5, + [3956]=5, + [3957]=5, + [3958]=5, + [3959]=5, + [3960]=5, + [3961]=5, + [3962]=5, + [3963]=5, + [3964]=5, + [3965]=5, + [3966]=5, + [3968]=5, + [3969]=5, + [3970]=5, + [3971]=5, + [3972]=5, + [3974]=5, + [3975]=5, + [3981]=5, + [3982]=5, + [3983]=5, + [3984]=5, + [3985]=5, + [3986]=5, + [3987]=5, + [3988]=5, + [3989]=5, + [3990]=5, + [3991]=5, + [3993]=5, + [3994]=5, + [3995]=5, + [3996]=5, + [3997]=5, + [3998]=5, + [3999]=5, + [4000]=5, + [4001]=5, + [4002]=5, + [4003]=5, + [4004]=5, + [4005]=5, + [4006]=5, + [4007]=5, + [4008]=5, + [4009]=5, + [4010]=5, + [4011]=5, + [4012]=5, + [4013]=5, + [4014]=5, + [4015]=5, + [4016]=5, + [4017]=5, + [4018]=5, + [4019]=5, + [4020]=5, + [4021]=5, + [4022]=5, + [4023]=5, + [4024]=5, + [4025]=5, + [4026]=5, + [4027]=5, + [4028]=5, + [4038]=5, + [4141]=5, + [4142]=5, + [4143]=5, + [4144]=5, + [4146]=5, + [4147]=5, + [4148]=5, + [4149]=5, + [4150]=5, + [4151]=5, + [4153]=5, + [4154]=5, + [4157]=5, + [4158]=5, + [4184]=5, + [4185]=5, + [4190]=5, + [4191]=5, + [4192]=5, + [4209]=5, + [4210]=5, + [4211]=5, + [4212]=5, + [4226]=5, + [4229]=5, + [4230]=5, + [4237]=5, + [4253]=5, + [4957]=5, + [4958]=5, + [4959]=5, + [5906]=5, + [5907]=5, + [5908]=5, + [5938]=5, + [5939]=5, + [5940]=5, + [5970]=5, + [5971]=5, + [6002]=5, + [6003]=5, + [6071]=5, + [6072]=5, + [6073]=5, + [6074]=5, + [6075]=5, + [6076]=5, + [6077]=5, + [6086]=5, + [6089]=5, + [6090]=5, + [6091]=5, + [6092]=5, + [6093]=5, + [6094]=5, + [6095]=5, + [6096]=5, + [6097]=5, + [6098]=5, + [6099]=5, + [6109]=5, [6150]=4, [6151]=2, [6154]=2, + [6155]=5, + [6156]=5, + [6157]=5, [6158]=4, [6176]=2, [6177]=2, @@ -591,8 +1124,6 @@ characters.classifiers={ [6274]=4, [6275]=4, [6276]=4, - [6277]=4, - [6278]=4, [6279]=2, [6280]=2, [6281]=2, @@ -627,13 +1158,291 @@ characters.classifiers={ [6310]=2, [6311]=2, [6312]=2, + [6313]=5, [6314]=2, + [6432]=5, + [6433]=5, + [6434]=5, + [6439]=5, + [6440]=5, + [6450]=5, + [6457]=5, + [6458]=5, + [6459]=5, + [6679]=5, + [6680]=5, + [6742]=5, + [6744]=5, + [6745]=5, + [6746]=5, + [6747]=5, + [6748]=5, + [6749]=5, + [6750]=5, + [6752]=5, + [6754]=5, + [6757]=5, + [6758]=5, + [6759]=5, + [6760]=5, + [6761]=5, + [6762]=5, + [6763]=5, + [6764]=5, + [6771]=5, + [6772]=5, + [6773]=5, + [6774]=5, + [6775]=5, + [6776]=5, + [6777]=5, + [6778]=5, + [6779]=5, + [6780]=5, + [6783]=5, + [6832]=5, + [6833]=5, + [6834]=5, + [6835]=5, + [6836]=5, + [6837]=5, + [6838]=5, + [6839]=5, + [6840]=5, + [6841]=5, + [6842]=5, + [6843]=5, + [6844]=5, + [6845]=5, + [6912]=5, + [6913]=5, + [6914]=5, + [6915]=5, + [6964]=5, + [6966]=5, + [6967]=5, + [6968]=5, + [6969]=5, + [6970]=5, + [6972]=5, + [6978]=5, + [7019]=5, + [7020]=5, + [7021]=5, + [7022]=5, + [7023]=5, + [7024]=5, + [7025]=5, + [7026]=5, + [7027]=5, + [7040]=5, + [7041]=5, + [7074]=5, + [7075]=5, + [7076]=5, + [7077]=5, + [7080]=5, + [7081]=5, + [7083]=5, + [7142]=5, + [7144]=5, + [7145]=5, + [7149]=5, + [7151]=5, + [7152]=5, + [7153]=5, + [7212]=5, + [7213]=5, + [7214]=5, + [7215]=5, + [7216]=5, + [7217]=5, + [7218]=5, + [7219]=5, + [7222]=5, + [7223]=5, + [7376]=5, + [7377]=5, + [7378]=5, + [7380]=5, + [7381]=5, + [7382]=5, + [7383]=5, + [7384]=5, + [7385]=5, + [7386]=5, + [7387]=5, + [7388]=5, + [7389]=5, + [7390]=5, + [7391]=5, + [7392]=5, + [7394]=5, + [7395]=5, + [7396]=5, + [7397]=5, + [7398]=5, + [7399]=5, + [7400]=5, + [7405]=5, + [7412]=5, + [7416]=5, + [7417]=5, + [7616]=5, + [7617]=5, + [7618]=5, + [7619]=5, + [7620]=5, + [7621]=5, + [7622]=5, + [7623]=5, + [7624]=5, + [7625]=5, + [7626]=5, + [7627]=5, + [7628]=5, + [7629]=5, + [7630]=5, + [7631]=5, + [7632]=5, + [7633]=5, + [7634]=5, + [7635]=5, + [7636]=5, + [7637]=5, + [7638]=5, + [7639]=5, + [7640]=5, + [7641]=5, + [7642]=5, + [7643]=5, + [7644]=5, + [7645]=5, + [7646]=5, + [7647]=5, + [7648]=5, + [7649]=5, + [7650]=5, + [7651]=5, + [7652]=5, + [7653]=5, + [7654]=5, + [7655]=5, + [7656]=5, + [7657]=5, + [7658]=5, + [7659]=5, + [7660]=5, + [7661]=5, + [7662]=5, + [7663]=5, + [7664]=5, + [7665]=5, + [7666]=5, + [7667]=5, + [7668]=5, + [7669]=5, + [7675]=5, + [7676]=5, + [7677]=5, + [7678]=5, + [7679]=5, [8204]=4, [8205]=2, + [8239]=4, [8294]=4, [8295]=4, [8296]=4, [8297]=4, + [8400]=5, + [8401]=5, + [8402]=5, + [8403]=5, + [8404]=5, + [8405]=5, + [8406]=5, + [8407]=5, + [8408]=5, + [8409]=5, + [8410]=5, + [8411]=5, + [8412]=5, + [8417]=5, + [8421]=5, + [8422]=5, + [8423]=5, + [8424]=5, + [8425]=5, + [8426]=5, + [8427]=5, + [8428]=5, + [8429]=5, + [8430]=5, + [8431]=5, + [8432]=5, + [11503]=5, + [11504]=5, + [11505]=5, + [11647]=5, + [11744]=5, + [11745]=5, + [11746]=5, + [11747]=5, + [11748]=5, + [11749]=5, + [11750]=5, + [11751]=5, + [11752]=5, + [11753]=5, + [11754]=5, + [11755]=5, + [11756]=5, + [11757]=5, + [11758]=5, + [11759]=5, + [11760]=5, + [11761]=5, + [11762]=5, + [11763]=5, + [11764]=5, + [11765]=5, + [11766]=5, + [11767]=5, + [11768]=5, + [11769]=5, + [11770]=5, + [11771]=5, + [11772]=5, + [11773]=5, + [11774]=5, + [11775]=5, + [12330]=5, + [12331]=5, + [12332]=5, + [12333]=5, + [12334]=5, + [12335]=5, + [12441]=5, + [12442]=5, + [42607]=5, + [42612]=5, + [42613]=5, + [42614]=5, + [42615]=5, + [42616]=5, + [42617]=5, + [42618]=5, + [42619]=5, + [42620]=5, + [42621]=5, + [42654]=5, + [42655]=5, + [42736]=5, + [42737]=5, + [43014]=5, + [43019]=5, + [43045]=5, + [43046]=5, [43072]=2, [43073]=2, [43074]=2, @@ -686,6 +1495,120 @@ characters.classifiers={ [43121]=2, [43122]=1, [43123]=4, + [43204]=5, + [43205]=5, + [43232]=5, + [43233]=5, + [43234]=5, + [43235]=5, + [43236]=5, + [43237]=5, + [43238]=5, + [43239]=5, + [43240]=5, + [43241]=5, + [43242]=5, + [43243]=5, + [43244]=5, + [43245]=5, + [43246]=5, + [43247]=5, + [43248]=5, + [43249]=5, + [43302]=5, + [43303]=5, + [43304]=5, + [43305]=5, + [43306]=5, + [43307]=5, + [43308]=5, + [43309]=5, + [43335]=5, + [43336]=5, + [43337]=5, + [43338]=5, + [43339]=5, + [43340]=5, + [43341]=5, + [43342]=5, + [43343]=5, + [43344]=5, + [43345]=5, + [43392]=5, + [43393]=5, + [43394]=5, + [43443]=5, + [43446]=5, + [43447]=5, + [43448]=5, + [43449]=5, + [43452]=5, + [43493]=5, + [43561]=5, + [43562]=5, + [43563]=5, + [43564]=5, + [43565]=5, + [43566]=5, + [43569]=5, + [43570]=5, + [43573]=5, + [43574]=5, + [43587]=5, + [43596]=5, + [43644]=5, + [43696]=5, + [43698]=5, + [43699]=5, + [43700]=5, + [43703]=5, + [43704]=5, + [43710]=5, + [43711]=5, + [43713]=5, + [43756]=5, + [43757]=5, + [43766]=5, + [44005]=5, + [44008]=5, + [44013]=5, + [64286]=5, + [65056]=5, + [65057]=5, + [65058]=5, + [65059]=5, + [65060]=5, + [65061]=5, + [65062]=5, + [65063]=5, + [65064]=5, + [65065]=5, + [65066]=5, + [65067]=5, + [65068]=5, + [65069]=5, + [65070]=5, + [65071]=5, + [66045]=5, + [66272]=5, + [66422]=5, + [66423]=5, + [66424]=5, + [66425]=5, + [66426]=5, + [68097]=5, + [68098]=5, + [68099]=5, + [68101]=5, + [68102]=5, + [68108]=5, + [68109]=5, + [68110]=5, + [68111]=5, + [68152]=5, + [68153]=5, + [68154]=5, + [68159]=5, [68288]=2, [68289]=2, [68290]=2, @@ -723,6 +1646,8 @@ characters.classifiers={ [68322]=4, [68323]=4, [68324]=3, + [68325]=5, + [68326]=5, [68331]=2, [68332]=2, [68333]=2, @@ -753,6 +1678,497 @@ characters.classifiers={ [68525]=2, [68526]=2, [68527]=4, + [69633]=5, + [69688]=5, + [69689]=5, + [69690]=5, + [69691]=5, + [69692]=5, + [69693]=5, + [69694]=5, + [69695]=5, + [69696]=5, + [69697]=5, + [69698]=5, + [69699]=5, + [69700]=5, + [69701]=5, + [69702]=5, + [69759]=5, + [69760]=5, + [69761]=5, + [69811]=5, + [69812]=5, + [69813]=5, + [69814]=5, + [69817]=5, + [69818]=5, + [69888]=5, + [69889]=5, + [69890]=5, + [69927]=5, + [69928]=5, + [69929]=5, + [69930]=5, + [69931]=5, + [69933]=5, + [69934]=5, + [69935]=5, + [69936]=5, + [69937]=5, + [69938]=5, + [69939]=5, + [69940]=5, + [70003]=5, + [70016]=5, + [70017]=5, + [70070]=5, + [70071]=5, + [70072]=5, + [70073]=5, + [70074]=5, + [70075]=5, + [70076]=5, + [70077]=5, + [70078]=5, + [70090]=5, + [70091]=5, + [70092]=5, + [70191]=5, + [70192]=5, + [70193]=5, + [70196]=5, + [70198]=5, + [70199]=5, + [70206]=5, + [70367]=5, + [70371]=5, + [70372]=5, + [70373]=5, + [70374]=5, + [70375]=5, + [70376]=5, + [70377]=5, + [70378]=5, + [70400]=5, + [70401]=5, + [70460]=5, + [70464]=5, + [70502]=5, + [70503]=5, + [70504]=5, + [70505]=5, + [70506]=5, + [70507]=5, + [70508]=5, + [70512]=5, + [70513]=5, + [70514]=5, + [70515]=5, + [70516]=5, + [70712]=5, + [70713]=5, + [70714]=5, + [70715]=5, + [70716]=5, + [70717]=5, + [70718]=5, + [70719]=5, + [70722]=5, + [70723]=5, + [70724]=5, + [70726]=5, + [70835]=5, + [70836]=5, + [70837]=5, + [70838]=5, + [70839]=5, + [70840]=5, + [70842]=5, + [70847]=5, + [70848]=5, + [70850]=5, + [70851]=5, + [71090]=5, + [71091]=5, + [71092]=5, + [71093]=5, + [71100]=5, + [71101]=5, + [71103]=5, + [71104]=5, + [71132]=5, + [71133]=5, + [71219]=5, + [71220]=5, + [71221]=5, + [71222]=5, + [71223]=5, + [71224]=5, + [71225]=5, + [71226]=5, + [71229]=5, + [71231]=5, + [71232]=5, + [71339]=5, + [71341]=5, + [71344]=5, + [71345]=5, + [71346]=5, + [71347]=5, + [71348]=5, + [71349]=5, + [71351]=5, + [71453]=5, + [71454]=5, + [71455]=5, + [71458]=5, + [71459]=5, + [71460]=5, + [71461]=5, + [71463]=5, + [71464]=5, + [71465]=5, + [71466]=5, + [71467]=5, + [72752]=5, + [72753]=5, + [72754]=5, + [72755]=5, + [72756]=5, + [72757]=5, + [72758]=5, + [72760]=5, + [72761]=5, + [72762]=5, + [72763]=5, + [72764]=5, + [72765]=5, + [72767]=5, + [72850]=5, + [72851]=5, + [72852]=5, + [72853]=5, + [72854]=5, + [72855]=5, + [72856]=5, + [72857]=5, + [72858]=5, + [72859]=5, + [72860]=5, + [72861]=5, + [72862]=5, + [72863]=5, + [72864]=5, + [72865]=5, + [72866]=5, + [72867]=5, + [72868]=5, + [72869]=5, + [72870]=5, + [72871]=5, + [72874]=5, + [72875]=5, + [72876]=5, + [72877]=5, + [72878]=5, + [72879]=5, + [72880]=5, + [72882]=5, + [72883]=5, + [72885]=5, + [72886]=5, + [92912]=5, + [92913]=5, + [92914]=5, + [92915]=5, + [92916]=5, + [92976]=5, + [92977]=5, + [92978]=5, + [92979]=5, + [92980]=5, + [92981]=5, + [92982]=5, + [94095]=5, + [94096]=5, + [94097]=5, + [94098]=5, + [113821]=5, + [113822]=5, + [119143]=5, + [119144]=5, + [119145]=5, + [119163]=5, + [119164]=5, + [119165]=5, + [119166]=5, + [119167]=5, + [119168]=5, + [119169]=5, + [119170]=5, + [119173]=5, + [119174]=5, + [119175]=5, + [119176]=5, + [119177]=5, + [119178]=5, + [119179]=5, + [119210]=5, + [119211]=5, + [119212]=5, + [119213]=5, + [119362]=5, + [119363]=5, + [119364]=5, + [121344]=5, + [121345]=5, + [121346]=5, + [121347]=5, + [121348]=5, + [121349]=5, + [121350]=5, + [121351]=5, + [121352]=5, + [121353]=5, + [121354]=5, + [121355]=5, + [121356]=5, + [121357]=5, + [121358]=5, + [121359]=5, + [121360]=5, + [121361]=5, + [121362]=5, + [121363]=5, + [121364]=5, + [121365]=5, + [121366]=5, + [121367]=5, + [121368]=5, + [121369]=5, + [121370]=5, + [121371]=5, + [121372]=5, + [121373]=5, + [121374]=5, + [121375]=5, + [121376]=5, + [121377]=5, + [121378]=5, + [121379]=5, + [121380]=5, + [121381]=5, + [121382]=5, + [121383]=5, + [121384]=5, + [121385]=5, + [121386]=5, + [121387]=5, + [121388]=5, + [121389]=5, + [121390]=5, + [121391]=5, + [121392]=5, + [121393]=5, + [121394]=5, + [121395]=5, + [121396]=5, + [121397]=5, + [121398]=5, + [121403]=5, + [121404]=5, + [121405]=5, + [121406]=5, + [121407]=5, + [121408]=5, + [121409]=5, + [121410]=5, + [121411]=5, + [121412]=5, + [121413]=5, + [121414]=5, + [121415]=5, + [121416]=5, + [121417]=5, + [121418]=5, + [121419]=5, + [121420]=5, + [121421]=5, + [121422]=5, + [121423]=5, + [121424]=5, + [121425]=5, + [121426]=5, + [121427]=5, + [121428]=5, + [121429]=5, + [121430]=5, + [121431]=5, + [121432]=5, + [121433]=5, + [121434]=5, + [121435]=5, + [121436]=5, + [121437]=5, + [121438]=5, + [121439]=5, + [121440]=5, + [121441]=5, + [121442]=5, + [121443]=5, + [121444]=5, + [121445]=5, + [121446]=5, + [121447]=5, + [121448]=5, + [121449]=5, + [121450]=5, + [121451]=5, + [121452]=5, + [121461]=5, + [121476]=5, + [121499]=5, + [121500]=5, + [121501]=5, + [121502]=5, + [121503]=5, + [121505]=5, + [121506]=5, + [121507]=5, + [121508]=5, + [121509]=5, + [121510]=5, + [121511]=5, + [121512]=5, + [121513]=5, + [121514]=5, + [121515]=5, + [121516]=5, + [121517]=5, + [121518]=5, + [121519]=5, + [122880]=5, + [122881]=5, + [122882]=5, + [122883]=5, + [122884]=5, + [122885]=5, + [122886]=5, + [122888]=5, + [122889]=5, + [122890]=5, + [122891]=5, + [122892]=5, + [122893]=5, + [122894]=5, + [122895]=5, + [122896]=5, + [122897]=5, + [122898]=5, + [122899]=5, + [122900]=5, + [122901]=5, + [122902]=5, + [122903]=5, + [122904]=5, + [122907]=5, + [122908]=5, + [122909]=5, + [122910]=5, + [122911]=5, + [122912]=5, + [122913]=5, + [122915]=5, + [122916]=5, + [122918]=5, + [122919]=5, + [122920]=5, + [122921]=5, + [122922]=5, + [125136]=5, + [125137]=5, + [125138]=5, + [125139]=5, + [125140]=5, + [125141]=5, + [125142]=5, + [125184]=2, + [125185]=2, + [125186]=2, + [125187]=2, + [125188]=2, + [125189]=2, + [125190]=2, + [125191]=2, + [125192]=2, + [125193]=2, + [125194]=2, + [125195]=2, + [125196]=2, + [125197]=2, + [125198]=2, + [125199]=2, + [125200]=2, + [125201]=2, + [125202]=2, + [125203]=2, + [125204]=2, + [125205]=2, + [125206]=2, + [125207]=2, + [125208]=2, + [125209]=2, + [125210]=2, + [125211]=2, + [125212]=2, + [125213]=2, + [125214]=2, + [125215]=2, + [125216]=2, + [125217]=2, + [125218]=2, + [125219]=2, + [125220]=2, + [125221]=2, + [125222]=2, + [125223]=2, + [125224]=2, + [125225]=2, + [125226]=2, + [125227]=2, + [125228]=2, + [125229]=2, + [125230]=2, + [125231]=2, + [125232]=2, + [125233]=2, + [125234]=2, + [125235]=2, + [125236]=2, + [125237]=2, + [125238]=2, + [125239]=2, + [125240]=2, + [125241]=2, + [125242]=2, + [125243]=2, + [125244]=2, + [125245]=2, + [125246]=2, + [125247]=2, + [125248]=2, + [125249]=2, + [125250]=2, + [125251]=2, + [125252]=5, + [125253]=5, + [125254]=5, + [125255]=5, + [125256]=5, + [125257]=5, + [125258]=5, + [1042752]=5, } -- done diff --git a/tex/generic/context/luatex/luatex-basics-nod.lua b/tex/generic/context/luatex/luatex-basics-nod.lua index 5571a82ba..c51473a4b 100644 --- a/tex/generic/context/luatex/luatex-basics-nod.lua +++ b/tex/generic/context/luatex/luatex-basics-nod.lua @@ -228,8 +228,8 @@ nuts.getcomponents = direct.getcomponents or function(n) return getfield(n,"co nuts.setcomponents = direct.setcomponents or function(n,c) setfield(n,"components",c) end nuts.getkern = direct.getkern or function(n) return getfield(n,"kern") end nuts.setkern = direct.setkern or function(n,k) setfield(n,"kern",k) end -nuts.getdir = direct.getkern or function(n) return getfield(n,"dir") end -nuts.setdir = direct.setkern or function(n,d) setfield(n,"dir",d) end +nuts.getdir = direct.getdir or function(n) return getfield(n,"dir") end +nuts.setdir = direct.setdir or function(n,d) setfield(n,"dir",d) end nuts.getwidth = direct.getwidth or function(n) return getfield(n,"width") end nuts.setwidth = direct.setwidth or function(n,w) return setfield(n,"width",w) end nuts.getheight = direct.getheight or function(n) return getfield(n,"height") end @@ -462,3 +462,37 @@ function nuts.copy_only_glyphs(current) end return head end + +nuts.uses_font = direct.uses_font + +if not nuts.uses_font then + local getdisc = nuts.getdisc + local getfont = nuts.getfont + function nuts.uses_font(n,font) + local pre, post, replace = getdisc(n) + if pre then + -- traverse_char + for n in traverse_id(glyph_code,pre) do + if getfont(n) == font then + return true + end + end + end + if post then + for n in traverse_id(glyph_code,post) do + if getfont(n) == font then + return true + end + end + end + if replace then + for n in traverse_id(glyph_code,replace) do + if getfont(n) == font then + return true + end + end + end + return false + end +end + diff --git a/tex/generic/context/luatex/luatex-basics-prepare.tex b/tex/generic/context/luatex/luatex-basics-prepare.tex index 105226440..76a35cc94 100644 --- a/tex/generic/context/luatex/luatex-basics-prepare.tex +++ b/tex/generic/context/luatex/luatex-basics-prepare.tex @@ -58,6 +58,8 @@ for k, c in next, chardata do else classifiers[k] = s_rest end + elseif c.category == "mn" then + classifiers[k] = s_mark end end end diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index cc8c27bcf..a94ba85af 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date : 05/12/17 22:40:43 +-- merge date : 05/25/17 12:50:49 do -- begin closure to overcome local limits and interference @@ -5105,8 +5105,8 @@ nuts.getcomponents=direct.getcomponents or function(n) return getfield(n,"compo nuts.setcomponents=direct.setcomponents or function(n,c) setfield(n,"components",c) end nuts.getkern=direct.getkern or function(n) return getfield(n,"kern") end nuts.setkern=direct.setkern or function(n,k) setfield(n,"kern",k) end -nuts.getdir=direct.getkern or function(n) return getfield(n,"dir") end -nuts.setdir=direct.setkern or function(n,d) setfield(n,"dir",d) end +nuts.getdir=direct.getdir or function(n) return getfield(n,"dir") end +nuts.setdir=direct.setdir or function(n,d) setfield(n,"dir",d) end nuts.getwidth=direct.getwidth or function(n) return getfield(n,"width") end nuts.setwidth=direct.setwidth or function(n,w) return setfield(n,"width",w) end nuts.getheight=direct.getheight or function(n) return getfield(n,"height") end @@ -5310,6 +5310,36 @@ function nuts.copy_only_glyphs(current) end return head end +nuts.uses_font=direct.uses_font +if not nuts.uses_font then + local getdisc=nuts.getdisc + local getfont=nuts.getfont + function nuts.uses_font(n,font) + local pre,post,replace=getdisc(n) + if pre then + for n in traverse_id(glyph_code,pre) do + if getfont(n)==font then + return true + end + end + end + if post then + for n in traverse_id(glyph_code,post) do + if getfont(n)==font then + return true + end + end + end + if replace then + for n in traverse_id(glyph_code,replace) do + if getfont(n)==font then + return true + end + end + end + return false + end +end end -- closure @@ -5319,6 +5349,174 @@ do -- begin closure to overcome local limits and interference characters=characters or {} characters.blockrange={} characters.classifiers={ + [768]=5, + [769]=5, + [770]=5, + [771]=5, + [772]=5, + [773]=5, + [774]=5, + [775]=5, + [776]=5, + [777]=5, + [778]=5, + [779]=5, + [780]=5, + [781]=5, + [782]=5, + [783]=5, + [784]=5, + [785]=5, + [786]=5, + [787]=5, + [788]=5, + [789]=5, + [790]=5, + [791]=5, + [792]=5, + [793]=5, + [794]=5, + [795]=5, + [796]=5, + [797]=5, + [798]=5, + [799]=5, + [800]=5, + [801]=5, + [802]=5, + [803]=5, + [804]=5, + [805]=5, + [806]=5, + [807]=5, + [808]=5, + [809]=5, + [810]=5, + [811]=5, + [812]=5, + [813]=5, + [814]=5, + [815]=5, + [816]=5, + [817]=5, + [818]=5, + [819]=5, + [820]=5, + [821]=5, + [822]=5, + [823]=5, + [824]=5, + [825]=5, + [826]=5, + [827]=5, + [828]=5, + [829]=5, + [830]=5, + [831]=5, + [832]=5, + [833]=5, + [834]=5, + [835]=5, + [836]=5, + [837]=5, + [838]=5, + [839]=5, + [840]=5, + [841]=5, + [842]=5, + [843]=5, + [844]=5, + [845]=5, + [846]=5, + [847]=5, + [848]=5, + [849]=5, + [850]=5, + [851]=5, + [852]=5, + [853]=5, + [854]=5, + [855]=5, + [856]=5, + [857]=5, + [858]=5, + [859]=5, + [860]=5, + [861]=5, + [862]=5, + [863]=5, + [864]=5, + [865]=5, + [866]=5, + [867]=5, + [868]=5, + [869]=5, + [870]=5, + [871]=5, + [872]=5, + [873]=5, + [874]=5, + [875]=5, + [876]=5, + [877]=5, + [878]=5, + [879]=5, + [1155]=5, + [1156]=5, + [1157]=5, + [1158]=5, + [1159]=5, + [1425]=5, + [1426]=5, + [1427]=5, + [1428]=5, + [1429]=5, + [1430]=5, + [1431]=5, + [1432]=5, + [1433]=5, + [1434]=5, + [1435]=5, + [1436]=5, + [1437]=5, + [1438]=5, + [1439]=5, + [1440]=5, + [1441]=5, + [1442]=5, + [1443]=5, + [1444]=5, + [1445]=5, + [1446]=5, + [1447]=5, + [1448]=5, + [1449]=5, + [1450]=5, + [1451]=5, + [1452]=5, + [1453]=5, + [1454]=5, + [1455]=5, + [1456]=5, + [1457]=5, + [1458]=5, + [1459]=5, + [1460]=5, + [1461]=5, + [1462]=5, + [1463]=5, + [1464]=5, + [1465]=5, + [1466]=5, + [1467]=5, + [1468]=5, + [1469]=5, + [1471]=5, + [1473]=5, + [1474]=5, + [1476]=5, + [1477]=5, + [1479]=5, [1536]=4, [1537]=4, [1538]=4, @@ -5699,6 +5897,17 @@ characters.classifiers={ [1917]=2, [1918]=2, [1919]=2, + [1958]=5, + [1959]=5, + [1960]=5, + [1961]=5, + [1962]=5, + [1963]=5, + [1964]=5, + [1965]=5, + [1966]=5, + [1967]=5, + [1968]=5, [1984]=6, [1985]=6, [1986]=6, @@ -5758,6 +5967,27 @@ characters.classifiers={ [2040]=6, [2041]=6, [2042]=2, + [2070]=5, + [2071]=5, + [2072]=5, + [2073]=5, + [2075]=5, + [2076]=5, + [2077]=5, + [2078]=5, + [2079]=5, + [2080]=5, + [2081]=5, + [2082]=5, + [2083]=5, + [2085]=5, + [2086]=5, + [2087]=5, + [2089]=5, + [2090]=5, + [2091]=5, + [2092]=5, + [2093]=5, [2112]=3, [2113]=2, [2114]=2, @@ -5783,6 +6013,9 @@ characters.classifiers={ [2134]=4, [2135]=4, [2136]=4, + [2137]=5, + [2138]=5, + [2139]=5, [2208]=2, [2209]=2, [2210]=2, @@ -5804,9 +6037,339 @@ characters.classifiers={ [2226]=3, [2227]=2, [2228]=2, + [2230]=2, + [2231]=2, + [2232]=2, + [2233]=3, + [2234]=2, + [2235]=2, + [2236]=2, + [2237]=2, + [2260]=5, + [2261]=5, + [2262]=5, + [2263]=5, + [2264]=5, + [2265]=5, + [2266]=5, + [2267]=5, + [2268]=5, + [2269]=5, + [2270]=5, + [2271]=5, + [2272]=5, + [2273]=5, + [2274]=4, + [2275]=5, + [2276]=5, + [2277]=5, + [2278]=5, + [2279]=5, + [2280]=5, + [2281]=5, + [2282]=5, + [2283]=5, + [2284]=5, + [2285]=5, + [2286]=5, + [2287]=5, + [2288]=5, + [2289]=5, + [2290]=5, + [2291]=5, + [2292]=5, + [2293]=5, + [2294]=5, + [2295]=5, + [2296]=5, + [2297]=5, + [2298]=5, + [2299]=5, + [2300]=5, + [2301]=5, + [2302]=5, + [2303]=5, + [2304]=5, + [2305]=5, + [2306]=5, + [2362]=5, + [2364]=5, + [2369]=5, + [2370]=5, + [2371]=5, + [2372]=5, + [2373]=5, + [2374]=5, + [2375]=5, + [2376]=5, + [2381]=5, + [2385]=5, + [2386]=5, + [2387]=5, + [2388]=5, + [2389]=5, + [2390]=5, + [2391]=5, + [2402]=5, + [2403]=5, + [2433]=5, + [2492]=5, + [2497]=5, + [2498]=5, + [2499]=5, + [2500]=5, + [2509]=5, + [2530]=5, + [2531]=5, + [2561]=5, + [2562]=5, + [2620]=5, + [2625]=5, + [2626]=5, + [2631]=5, + [2632]=5, + [2635]=5, + [2636]=5, + [2637]=5, + [2641]=5, + [2672]=5, + [2673]=5, + [2677]=5, + [2689]=5, + [2690]=5, + [2748]=5, + [2753]=5, + [2754]=5, + [2755]=5, + [2756]=5, + [2757]=5, + [2759]=5, + [2760]=5, + [2765]=5, + [2786]=5, + [2787]=5, + [2817]=5, + [2876]=5, + [2879]=5, + [2881]=5, + [2882]=5, + [2883]=5, + [2884]=5, + [2893]=5, + [2902]=5, + [2914]=5, + [2915]=5, + [2946]=5, + [3008]=5, + [3021]=5, + [3072]=5, + [3134]=5, + [3135]=5, + [3136]=5, + [3142]=5, + [3143]=5, + [3144]=5, + [3146]=5, + [3147]=5, + [3148]=5, + [3149]=5, + [3157]=5, + [3158]=5, + [3170]=5, + [3171]=5, + [3201]=5, + [3260]=5, + [3263]=5, + [3270]=5, + [3276]=5, + [3277]=5, + [3298]=5, + [3299]=5, + [3329]=5, + [3393]=5, + [3394]=5, + [3395]=5, + [3396]=5, + [3405]=5, + [3426]=5, + [3427]=5, + [3530]=5, + [3538]=5, + [3539]=5, + [3540]=5, + [3542]=5, + [3633]=5, + [3636]=5, + [3637]=5, + [3638]=5, + [3639]=5, + [3640]=5, + [3641]=5, + [3642]=5, + [3655]=5, + [3656]=5, + [3657]=5, + [3658]=5, + [3659]=5, + [3660]=5, + [3661]=5, + [3662]=5, + [3761]=5, + [3764]=5, + [3765]=5, + [3766]=5, + [3767]=5, + [3768]=5, + [3769]=5, + [3771]=5, + [3772]=5, + [3784]=5, + [3785]=5, + [3786]=5, + [3787]=5, + [3788]=5, + [3789]=5, + [3864]=5, + [3865]=5, + [3893]=5, + [3895]=5, + [3897]=5, + [3953]=5, + [3954]=5, + [3955]=5, + [3956]=5, + [3957]=5, + [3958]=5, + [3959]=5, + [3960]=5, + [3961]=5, + [3962]=5, + [3963]=5, + [3964]=5, + [3965]=5, + [3966]=5, + [3968]=5, + [3969]=5, + [3970]=5, + [3971]=5, + [3972]=5, + [3974]=5, + [3975]=5, + [3981]=5, + [3982]=5, + [3983]=5, + [3984]=5, + [3985]=5, + [3986]=5, + [3987]=5, + [3988]=5, + [3989]=5, + [3990]=5, + [3991]=5, + [3993]=5, + [3994]=5, + [3995]=5, + [3996]=5, + [3997]=5, + [3998]=5, + [3999]=5, + [4000]=5, + [4001]=5, + [4002]=5, + [4003]=5, + [4004]=5, + [4005]=5, + [4006]=5, + [4007]=5, + [4008]=5, + [4009]=5, + [4010]=5, + [4011]=5, + [4012]=5, + [4013]=5, + [4014]=5, + [4015]=5, + [4016]=5, + [4017]=5, + [4018]=5, + [4019]=5, + [4020]=5, + [4021]=5, + [4022]=5, + [4023]=5, + [4024]=5, + [4025]=5, + [4026]=5, + [4027]=5, + [4028]=5, + [4038]=5, + [4141]=5, + [4142]=5, + [4143]=5, + [4144]=5, + [4146]=5, + [4147]=5, + [4148]=5, + [4149]=5, + [4150]=5, + [4151]=5, + [4153]=5, + [4154]=5, + [4157]=5, + [4158]=5, + [4184]=5, + [4185]=5, + [4190]=5, + [4191]=5, + [4192]=5, + [4209]=5, + [4210]=5, + [4211]=5, + [4212]=5, + [4226]=5, + [4229]=5, + [4230]=5, + [4237]=5, + [4253]=5, + [4957]=5, + [4958]=5, + [4959]=5, + [5906]=5, + [5907]=5, + [5908]=5, + [5938]=5, + [5939]=5, + [5940]=5, + [5970]=5, + [5971]=5, + [6002]=5, + [6003]=5, + [6071]=5, + [6072]=5, + [6073]=5, + [6074]=5, + [6075]=5, + [6076]=5, + [6077]=5, + [6086]=5, + [6089]=5, + [6090]=5, + [6091]=5, + [6092]=5, + [6093]=5, + [6094]=5, + [6095]=5, + [6096]=5, + [6097]=5, + [6098]=5, + [6099]=5, + [6109]=5, [6150]=4, [6151]=2, [6154]=2, + [6155]=5, + [6156]=5, + [6157]=5, [6158]=4, [6176]=2, [6177]=2, @@ -5901,8 +6464,6 @@ characters.classifiers={ [6274]=4, [6275]=4, [6276]=4, - [6277]=4, - [6278]=4, [6279]=2, [6280]=2, [6281]=2, @@ -5937,13 +6498,291 @@ characters.classifiers={ [6310]=2, [6311]=2, [6312]=2, + [6313]=5, [6314]=2, + [6432]=5, + [6433]=5, + [6434]=5, + [6439]=5, + [6440]=5, + [6450]=5, + [6457]=5, + [6458]=5, + [6459]=5, + [6679]=5, + [6680]=5, + [6742]=5, + [6744]=5, + [6745]=5, + [6746]=5, + [6747]=5, + [6748]=5, + [6749]=5, + [6750]=5, + [6752]=5, + [6754]=5, + [6757]=5, + [6758]=5, + [6759]=5, + [6760]=5, + [6761]=5, + [6762]=5, + [6763]=5, + [6764]=5, + [6771]=5, + [6772]=5, + [6773]=5, + [6774]=5, + [6775]=5, + [6776]=5, + [6777]=5, + [6778]=5, + [6779]=5, + [6780]=5, + [6783]=5, + [6832]=5, + [6833]=5, + [6834]=5, + [6835]=5, + [6836]=5, + [6837]=5, + [6838]=5, + [6839]=5, + [6840]=5, + [6841]=5, + [6842]=5, + [6843]=5, + [6844]=5, + [6845]=5, + [6912]=5, + [6913]=5, + [6914]=5, + [6915]=5, + [6964]=5, + [6966]=5, + [6967]=5, + [6968]=5, + [6969]=5, + [6970]=5, + [6972]=5, + [6978]=5, + [7019]=5, + [7020]=5, + [7021]=5, + [7022]=5, + [7023]=5, + [7024]=5, + [7025]=5, + [7026]=5, + [7027]=5, + [7040]=5, + [7041]=5, + [7074]=5, + [7075]=5, + [7076]=5, + [7077]=5, + [7080]=5, + [7081]=5, + [7083]=5, + [7142]=5, + [7144]=5, + [7145]=5, + [7149]=5, + [7151]=5, + [7152]=5, + [7153]=5, + [7212]=5, + [7213]=5, + [7214]=5, + [7215]=5, + [7216]=5, + [7217]=5, + [7218]=5, + [7219]=5, + [7222]=5, + [7223]=5, + [7376]=5, + [7377]=5, + [7378]=5, + [7380]=5, + [7381]=5, + [7382]=5, + [7383]=5, + [7384]=5, + [7385]=5, + [7386]=5, + [7387]=5, + [7388]=5, + [7389]=5, + [7390]=5, + [7391]=5, + [7392]=5, + [7394]=5, + [7395]=5, + [7396]=5, + [7397]=5, + [7398]=5, + [7399]=5, + [7400]=5, + [7405]=5, + [7412]=5, + [7416]=5, + [7417]=5, + [7616]=5, + [7617]=5, + [7618]=5, + [7619]=5, + [7620]=5, + [7621]=5, + [7622]=5, + [7623]=5, + [7624]=5, + [7625]=5, + [7626]=5, + [7627]=5, + [7628]=5, + [7629]=5, + [7630]=5, + [7631]=5, + [7632]=5, + [7633]=5, + [7634]=5, + [7635]=5, + [7636]=5, + [7637]=5, + [7638]=5, + [7639]=5, + [7640]=5, + [7641]=5, + [7642]=5, + [7643]=5, + [7644]=5, + [7645]=5, + [7646]=5, + [7647]=5, + [7648]=5, + [7649]=5, + [7650]=5, + [7651]=5, + [7652]=5, + [7653]=5, + [7654]=5, + [7655]=5, + [7656]=5, + [7657]=5, + [7658]=5, + [7659]=5, + [7660]=5, + [7661]=5, + [7662]=5, + [7663]=5, + [7664]=5, + [7665]=5, + [7666]=5, + [7667]=5, + [7668]=5, + [7669]=5, + [7675]=5, + [7676]=5, + [7677]=5, + [7678]=5, + [7679]=5, [8204]=4, [8205]=2, + [8239]=4, [8294]=4, [8295]=4, [8296]=4, [8297]=4, + [8400]=5, + [8401]=5, + [8402]=5, + [8403]=5, + [8404]=5, + [8405]=5, + [8406]=5, + [8407]=5, + [8408]=5, + [8409]=5, + [8410]=5, + [8411]=5, + [8412]=5, + [8417]=5, + [8421]=5, + [8422]=5, + [8423]=5, + [8424]=5, + [8425]=5, + [8426]=5, + [8427]=5, + [8428]=5, + [8429]=5, + [8430]=5, + [8431]=5, + [8432]=5, + [11503]=5, + [11504]=5, + [11505]=5, + [11647]=5, + [11744]=5, + [11745]=5, + [11746]=5, + [11747]=5, + [11748]=5, + [11749]=5, + [11750]=5, + [11751]=5, + [11752]=5, + [11753]=5, + [11754]=5, + [11755]=5, + [11756]=5, + [11757]=5, + [11758]=5, + [11759]=5, + [11760]=5, + [11761]=5, + [11762]=5, + [11763]=5, + [11764]=5, + [11765]=5, + [11766]=5, + [11767]=5, + [11768]=5, + [11769]=5, + [11770]=5, + [11771]=5, + [11772]=5, + [11773]=5, + [11774]=5, + [11775]=5, + [12330]=5, + [12331]=5, + [12332]=5, + [12333]=5, + [12334]=5, + [12335]=5, + [12441]=5, + [12442]=5, + [42607]=5, + [42612]=5, + [42613]=5, + [42614]=5, + [42615]=5, + [42616]=5, + [42617]=5, + [42618]=5, + [42619]=5, + [42620]=5, + [42621]=5, + [42654]=5, + [42655]=5, + [42736]=5, + [42737]=5, + [43014]=5, + [43019]=5, + [43045]=5, + [43046]=5, [43072]=2, [43073]=2, [43074]=2, @@ -5996,6 +6835,120 @@ characters.classifiers={ [43121]=2, [43122]=1, [43123]=4, + [43204]=5, + [43205]=5, + [43232]=5, + [43233]=5, + [43234]=5, + [43235]=5, + [43236]=5, + [43237]=5, + [43238]=5, + [43239]=5, + [43240]=5, + [43241]=5, + [43242]=5, + [43243]=5, + [43244]=5, + [43245]=5, + [43246]=5, + [43247]=5, + [43248]=5, + [43249]=5, + [43302]=5, + [43303]=5, + [43304]=5, + [43305]=5, + [43306]=5, + [43307]=5, + [43308]=5, + [43309]=5, + [43335]=5, + [43336]=5, + [43337]=5, + [43338]=5, + [43339]=5, + [43340]=5, + [43341]=5, + [43342]=5, + [43343]=5, + [43344]=5, + [43345]=5, + [43392]=5, + [43393]=5, + [43394]=5, + [43443]=5, + [43446]=5, + [43447]=5, + [43448]=5, + [43449]=5, + [43452]=5, + [43493]=5, + [43561]=5, + [43562]=5, + [43563]=5, + [43564]=5, + [43565]=5, + [43566]=5, + [43569]=5, + [43570]=5, + [43573]=5, + [43574]=5, + [43587]=5, + [43596]=5, + [43644]=5, + [43696]=5, + [43698]=5, + [43699]=5, + [43700]=5, + [43703]=5, + [43704]=5, + [43710]=5, + [43711]=5, + [43713]=5, + [43756]=5, + [43757]=5, + [43766]=5, + [44005]=5, + [44008]=5, + [44013]=5, + [64286]=5, + [65056]=5, + [65057]=5, + [65058]=5, + [65059]=5, + [65060]=5, + [65061]=5, + [65062]=5, + [65063]=5, + [65064]=5, + [65065]=5, + [65066]=5, + [65067]=5, + [65068]=5, + [65069]=5, + [65070]=5, + [65071]=5, + [66045]=5, + [66272]=5, + [66422]=5, + [66423]=5, + [66424]=5, + [66425]=5, + [66426]=5, + [68097]=5, + [68098]=5, + [68099]=5, + [68101]=5, + [68102]=5, + [68108]=5, + [68109]=5, + [68110]=5, + [68111]=5, + [68152]=5, + [68153]=5, + [68154]=5, + [68159]=5, [68288]=2, [68289]=2, [68290]=2, @@ -6033,6 +6986,8 @@ characters.classifiers={ [68322]=4, [68323]=4, [68324]=3, + [68325]=5, + [68326]=5, [68331]=2, [68332]=2, [68333]=2, @@ -6063,6 +7018,497 @@ characters.classifiers={ [68525]=2, [68526]=2, [68527]=4, + [69633]=5, + [69688]=5, + [69689]=5, + [69690]=5, + [69691]=5, + [69692]=5, + [69693]=5, + [69694]=5, + [69695]=5, + [69696]=5, + [69697]=5, + [69698]=5, + [69699]=5, + [69700]=5, + [69701]=5, + [69702]=5, + [69759]=5, + [69760]=5, + [69761]=5, + [69811]=5, + [69812]=5, + [69813]=5, + [69814]=5, + [69817]=5, + [69818]=5, + [69888]=5, + [69889]=5, + [69890]=5, + [69927]=5, + [69928]=5, + [69929]=5, + [69930]=5, + [69931]=5, + [69933]=5, + [69934]=5, + [69935]=5, + [69936]=5, + [69937]=5, + [69938]=5, + [69939]=5, + [69940]=5, + [70003]=5, + [70016]=5, + [70017]=5, + [70070]=5, + [70071]=5, + [70072]=5, + [70073]=5, + [70074]=5, + [70075]=5, + [70076]=5, + [70077]=5, + [70078]=5, + [70090]=5, + [70091]=5, + [70092]=5, + [70191]=5, + [70192]=5, + [70193]=5, + [70196]=5, + [70198]=5, + [70199]=5, + [70206]=5, + [70367]=5, + [70371]=5, + [70372]=5, + [70373]=5, + [70374]=5, + [70375]=5, + [70376]=5, + [70377]=5, + [70378]=5, + [70400]=5, + [70401]=5, + [70460]=5, + [70464]=5, + [70502]=5, + [70503]=5, + [70504]=5, + [70505]=5, + [70506]=5, + [70507]=5, + [70508]=5, + [70512]=5, + [70513]=5, + [70514]=5, + [70515]=5, + [70516]=5, + [70712]=5, + [70713]=5, + [70714]=5, + [70715]=5, + [70716]=5, + [70717]=5, + [70718]=5, + [70719]=5, + [70722]=5, + [70723]=5, + [70724]=5, + [70726]=5, + [70835]=5, + [70836]=5, + [70837]=5, + [70838]=5, + [70839]=5, + [70840]=5, + [70842]=5, + [70847]=5, + [70848]=5, + [70850]=5, + [70851]=5, + [71090]=5, + [71091]=5, + [71092]=5, + [71093]=5, + [71100]=5, + [71101]=5, + [71103]=5, + [71104]=5, + [71132]=5, + [71133]=5, + [71219]=5, + [71220]=5, + [71221]=5, + [71222]=5, + [71223]=5, + [71224]=5, + [71225]=5, + [71226]=5, + [71229]=5, + [71231]=5, + [71232]=5, + [71339]=5, + [71341]=5, + [71344]=5, + [71345]=5, + [71346]=5, + [71347]=5, + [71348]=5, + [71349]=5, + [71351]=5, + [71453]=5, + [71454]=5, + [71455]=5, + [71458]=5, + [71459]=5, + [71460]=5, + [71461]=5, + [71463]=5, + [71464]=5, + [71465]=5, + [71466]=5, + [71467]=5, + [72752]=5, + [72753]=5, + [72754]=5, + [72755]=5, + [72756]=5, + [72757]=5, + [72758]=5, + [72760]=5, + [72761]=5, + [72762]=5, + [72763]=5, + [72764]=5, + [72765]=5, + [72767]=5, + [72850]=5, + [72851]=5, + [72852]=5, + [72853]=5, + [72854]=5, + [72855]=5, + [72856]=5, + [72857]=5, + [72858]=5, + [72859]=5, + [72860]=5, + [72861]=5, + [72862]=5, + [72863]=5, + [72864]=5, + [72865]=5, + [72866]=5, + [72867]=5, + [72868]=5, + [72869]=5, + [72870]=5, + [72871]=5, + [72874]=5, + [72875]=5, + [72876]=5, + [72877]=5, + [72878]=5, + [72879]=5, + [72880]=5, + [72882]=5, + [72883]=5, + [72885]=5, + [72886]=5, + [92912]=5, + [92913]=5, + [92914]=5, + [92915]=5, + [92916]=5, + [92976]=5, + [92977]=5, + [92978]=5, + [92979]=5, + [92980]=5, + [92981]=5, + [92982]=5, + [94095]=5, + [94096]=5, + [94097]=5, + [94098]=5, + [113821]=5, + [113822]=5, + [119143]=5, + [119144]=5, + [119145]=5, + [119163]=5, + [119164]=5, + [119165]=5, + [119166]=5, + [119167]=5, + [119168]=5, + [119169]=5, + [119170]=5, + [119173]=5, + [119174]=5, + [119175]=5, + [119176]=5, + [119177]=5, + [119178]=5, + [119179]=5, + [119210]=5, + [119211]=5, + [119212]=5, + [119213]=5, + [119362]=5, + [119363]=5, + [119364]=5, + [121344]=5, + [121345]=5, + [121346]=5, + [121347]=5, + [121348]=5, + [121349]=5, + [121350]=5, + [121351]=5, + [121352]=5, + [121353]=5, + [121354]=5, + [121355]=5, + [121356]=5, + [121357]=5, + [121358]=5, + [121359]=5, + [121360]=5, + [121361]=5, + [121362]=5, + [121363]=5, + [121364]=5, + [121365]=5, + [121366]=5, + [121367]=5, + [121368]=5, + [121369]=5, + [121370]=5, + [121371]=5, + [121372]=5, + [121373]=5, + [121374]=5, + [121375]=5, + [121376]=5, + [121377]=5, + [121378]=5, + [121379]=5, + [121380]=5, + [121381]=5, + [121382]=5, + [121383]=5, + [121384]=5, + [121385]=5, + [121386]=5, + [121387]=5, + [121388]=5, + [121389]=5, + [121390]=5, + [121391]=5, + [121392]=5, + [121393]=5, + [121394]=5, + [121395]=5, + [121396]=5, + [121397]=5, + [121398]=5, + [121403]=5, + [121404]=5, + [121405]=5, + [121406]=5, + [121407]=5, + [121408]=5, + [121409]=5, + [121410]=5, + [121411]=5, + [121412]=5, + [121413]=5, + [121414]=5, + [121415]=5, + [121416]=5, + [121417]=5, + [121418]=5, + [121419]=5, + [121420]=5, + [121421]=5, + [121422]=5, + [121423]=5, + [121424]=5, + [121425]=5, + [121426]=5, + [121427]=5, + [121428]=5, + [121429]=5, + [121430]=5, + [121431]=5, + [121432]=5, + [121433]=5, + [121434]=5, + [121435]=5, + [121436]=5, + [121437]=5, + [121438]=5, + [121439]=5, + [121440]=5, + [121441]=5, + [121442]=5, + [121443]=5, + [121444]=5, + [121445]=5, + [121446]=5, + [121447]=5, + [121448]=5, + [121449]=5, + [121450]=5, + [121451]=5, + [121452]=5, + [121461]=5, + [121476]=5, + [121499]=5, + [121500]=5, + [121501]=5, + [121502]=5, + [121503]=5, + [121505]=5, + [121506]=5, + [121507]=5, + [121508]=5, + [121509]=5, + [121510]=5, + [121511]=5, + [121512]=5, + [121513]=5, + [121514]=5, + [121515]=5, + [121516]=5, + [121517]=5, + [121518]=5, + [121519]=5, + [122880]=5, + [122881]=5, + [122882]=5, + [122883]=5, + [122884]=5, + [122885]=5, + [122886]=5, + [122888]=5, + [122889]=5, + [122890]=5, + [122891]=5, + [122892]=5, + [122893]=5, + [122894]=5, + [122895]=5, + [122896]=5, + [122897]=5, + [122898]=5, + [122899]=5, + [122900]=5, + [122901]=5, + [122902]=5, + [122903]=5, + [122904]=5, + [122907]=5, + [122908]=5, + [122909]=5, + [122910]=5, + [122911]=5, + [122912]=5, + [122913]=5, + [122915]=5, + [122916]=5, + [122918]=5, + [122919]=5, + [122920]=5, + [122921]=5, + [122922]=5, + [125136]=5, + [125137]=5, + [125138]=5, + [125139]=5, + [125140]=5, + [125141]=5, + [125142]=5, + [125184]=2, + [125185]=2, + [125186]=2, + [125187]=2, + [125188]=2, + [125189]=2, + [125190]=2, + [125191]=2, + [125192]=2, + [125193]=2, + [125194]=2, + [125195]=2, + [125196]=2, + [125197]=2, + [125198]=2, + [125199]=2, + [125200]=2, + [125201]=2, + [125202]=2, + [125203]=2, + [125204]=2, + [125205]=2, + [125206]=2, + [125207]=2, + [125208]=2, + [125209]=2, + [125210]=2, + [125211]=2, + [125212]=2, + [125213]=2, + [125214]=2, + [125215]=2, + [125216]=2, + [125217]=2, + [125218]=2, + [125219]=2, + [125220]=2, + [125221]=2, + [125222]=2, + [125223]=2, + [125224]=2, + [125225]=2, + [125226]=2, + [125227]=2, + [125228]=2, + [125229]=2, + [125230]=2, + [125231]=2, + [125232]=2, + [125233]=2, + [125234]=2, + [125235]=2, + [125236]=2, + [125237]=2, + [125238]=2, + [125239]=2, + [125240]=2, + [125241]=2, + [125242]=2, + [125243]=2, + [125244]=2, + [125245]=2, + [125246]=2, + [125247]=2, + [125248]=2, + [125249]=2, + [125250]=2, + [125251]=2, + [125252]=5, + [125253]=5, + [125254]=5, + [125255]=5, + [125256]=5, + [125257]=5, + [125258]=5, + [1042752]=5, } end -- closure @@ -7548,7 +8994,7 @@ local sortedhash,sortedkeys=table.sortedhash,table.sortedkeys local trace_loading=false trackers.register("fonts.loading",function(v) trace_loading=v end) local trace_mapping=false trackers.register("fonts.mapping",function(v) trace_mapping=v end) local report_fonts=logs.reporter("fonts","loading") -local force_ligatures=true directives.register("fonts.mapping.forceligatures",function(v) force_ligatures=v end) +local force_ligatures=false directives.register("fonts.mapping.forceligatures",function(v) force_ligatures=v end) local fonts=fonts or {} local mappings=fonts.mappings or {} fonts.mappings=mappings @@ -7662,7 +9108,7 @@ do end mappings.overloads=o end -function mappings.addtounicode(data,filename,checklookups) +function mappings.addtounicode(data,filename,checklookups,forceligatures) local resources=data.resources local unicodes=resources.unicodes if not unicodes then @@ -7851,22 +9297,26 @@ function mappings.addtounicode(data,filename,checklookups) end end if not collected then - elseif force_ligatures then + elseif forceligatures or force_ligatures then for i=1,#dlist do local du=dlist[i] - local u=collected[du] - if u then - resolve(descriptions[du],u) + if du>=private or (du>=0xE000 and du<=0xF8FF) then + local u=collected[du] + if u then + resolve(descriptions[du],u) + end end end else for i=1,#dlist do local du=dlist[i] - local glyph=descriptions[du] - if glyph.class=="ligature" and not glyph.unicode then - local u=collected[du] - if u then - resolve(glyph,u) + if du>=private or (du>=0xE000 and du<=0xF8FF) then + local glyph=descriptions[du] + if glyph.class=="ligature" and not glyph.unicode then + local u=collected[du] + if u then + resolve(glyph,u) + end end end end @@ -11857,8 +13307,10 @@ local function applyaxis(glyph,shape,deltas,dowidth) local points=shape.points if points then local nofpoints=#points - local h=nofpoints+1 - local width=dowidth and glyph.width + local h=nofpoints+2 + local l=nofpoints+1 + local dw=0 + local dl=0 for i=1,#deltas do local deltaset=deltas[i] local xvalues=deltaset.xvalues @@ -11883,10 +13335,17 @@ local function applyaxis(glyph,shape,deltas,dowidth) p[2]=p[2]+factor*y end end - elseif width then - local x=xvalues[d+1] - if x then - width=width+factor*x + elseif dowidth then + if d==h then + local x=xvalues[i] + if x then + dw=dw+factor*x + end + elseif d==l then + local x=xvalues[i] + if x then + dl=dl+factor*x + end end end end @@ -11906,16 +13365,21 @@ local function applyaxis(glyph,shape,deltas,dowidth) end end end - if width then + if dowidth then local x=xvalues[h] if x then - width=width+factor*x + dw=dw+factor*x + end + local x=xvalues[l] + if x then + dl=dl+factor*x end end end end - if width then - glyph.width=width + if dowidth then + local width=glyph.width or 0 + glyph.width=width+dw-dl end else report("no points for glyph %a",glyph.name) @@ -12668,7 +14132,7 @@ function readers.gvar(f,fontdata,specification,glyphdata,shapedata) local data={} local tuples={} local glyphdata=fontdata.glyphs - local dowidth=fontdata.variabledata.hvarwidths + local dowidth=not fontdata.variabledata.hvarwidths if bittest(flags,0x0001) then for i=1,nofglyphs+1 do data[i]=dataoffset+readulong(f) @@ -18568,6 +20032,7 @@ otf.coverup={ multiple=justset, kern=justset, pair=justset, + single=justset, ligature=function(coverage,unicode,ligature) local first=ligature[1] local tree=coverage[first] @@ -20191,6 +21656,10 @@ function injections.isspace(n,threshold,id) end end end +local getspaceboth=getboth +function injections.installgetspaceboth(gb) + getspaceboth=gb or getboth +end local function injectspaces(head) if not triggers then return head,false @@ -20211,9 +21680,9 @@ local function injectspaces(head) factor=getthreshold(font) end for n in traverse_id(glue_code,tonut(head)) do - local prev,next=getboth(n) - local prevchar=ischar(prev) - local nextchar=ischar(next) + local prev,next=getspaceboth(n) + local prevchar=prev and ischar(prev) + local nextchar=next and ischar(next) if nextchar then local font=getfont(next) local trig=triggers[font] @@ -20726,11 +22195,10 @@ local report_chain=logs.reporter("fonts","otf chain") local report_process=logs.reporter("fonts","otf process") local report_warning=logs.reporter("fonts","otf warning") local report_run=logs.reporter("fonts","otf run") -registertracker("otf.replacements","otf.singles,otf.multiples,otf.alternatives,otf.ligatures") -registertracker("otf.positions","otf.marks,otf.kerns,otf.cursive") -registertracker("otf.actions","otf.replacements,otf.positions") -registertracker("otf.injections","nodes.injections") -registertracker("otf.sample","otf.steps,otf.actions,otf.analyzing") +registertracker("otf.substitutions","otf.singles","otf.multiples","otf.alternatives","otf.ligatures") +registertracker("otf.positions","otf.marks","otf.kerns","otf.cursive") +registertracker("otf.actions","otf.substitutions","otf.positions") +registertracker("otf.sample","otf.steps","otf.substitutions","otf.positions","otf.analyzing") local nuts=nodes.nuts local tonode=nuts.tonode local tonut=nuts.tonut @@ -20760,6 +22228,7 @@ local setcomponents=nuts.setcomponents local getdir=nuts.getdir local getwidth=nuts.getwidth local ischar=nuts.is_char +local usesfont=nuts.uses_font local insert_node_after=nuts.insert_after local copy_node=nuts.copy local copy_node_list=nuts.copy_list @@ -21288,7 +22757,7 @@ function handlers.gsub_ligature(head,start,dataset,sequence,ligature) end function handlers.gpos_single(head,start,dataset,sequence,kerns,rlmode,step,i,injection) local startchar=getchar(start) - if step.format=="pair" then + if step.format=="pair" or type(kerns)=="table" then local dx,dy,w,h=setpair(start,factor,rlmode,sequence.flags[4],kerns,injection) if trace_kerns then logprocess("%s: shifting single %s by (%p,%p) and correction (%p,%p)",pref(dataset,sequence),gref(startchar),dx,dy,w,h) @@ -23644,102 +25113,167 @@ end otf.helpers=otf.helpers or {} otf.helpers.txtdirstate=txtdirstate otf.helpers.pardirstate=pardirstate -local function featuresprocessor(head,font,attr,direction) - local sequences=sequencelists[font] - if not sequencelists then - return head,false - end - nesting=nesting+1 - if nesting==1 then - currentfont=font - tfmdata=fontdata[font] - descriptions=tfmdata.descriptions - characters=tfmdata.characters - local resources=tfmdata.resources - marks=resources.marks - classes=resources.classes - threshold, - factor=getthreshold(font) - checkmarks=tfmdata.properties.checkmarks - elseif currentfont~=font then - report_warning("nested call with a different font, level %s, quitting",nesting) - nesting=nesting-1 - return head,false - end - head=tonut(head) - if trace_steps then - checkstep(head) - end - local initialrl=direction=="TRT" and -1 or 0 - local done=false - local datasets=otf.dataset(tfmdata,font,attr) - local dirstack={} - sweephead={} - for s=1,#datasets do - local dataset=datasets[s] - local attribute=dataset[2] - local sequence=dataset[3] - local rlparmode=initialrl - local topstack=0 - local typ=sequence.type - local gpossing=typ=="gpos_single" or typ=="gpos_pair" - local handler=handlers[typ] - local steps=sequence.steps - local nofsteps=sequence.nofsteps - if not steps then - local h,d,ok=handler(head,head,dataset,sequence,nil,nil,nil,0,font,attr) - if ok then - done=true - if h then - head=h - end - end - elseif typ=="gsub_reversecontextchain" then - local start=find_node_tail(head) - local rlmode=0 - while start do - local char=ischar(start,font) - if char then - local a - if attr then - a=getattr(start,0) +do + local fastdisc=false directives.register("otf.fastdisc",function(v) fastdisc=v end) + function otf.featuresprocessor(head,font,attr,direction,n) + local sequences=sequencelists[font] + if not sequencelists then + return head,false + end + nesting=nesting+1 + if nesting==1 then + currentfont=font + tfmdata=fontdata[font] + descriptions=tfmdata.descriptions + characters=tfmdata.characters + local resources=tfmdata.resources + marks=resources.marks + classes=resources.classes + threshold, + factor=getthreshold(font) + checkmarks=tfmdata.properties.checkmarks + elseif currentfont~=font then + report_warning("nested call with a different font, level %s, quitting",nesting) + nesting=nesting-1 + return head,false + end + head=tonut(head) + if trace_steps then + checkstep(head) + end + local initialrl=direction=="TRT" and -1 or 0 + local done=false + local datasets=otf.dataset(tfmdata,font,attr) + local dirstack={} + sweephead={} + local discs=fastdisc and n and n>1 and setmetatableindex(function(t,k) + local v=usesfont(k,font) + t[k]=v + return v + end) + for s=1,#datasets do + local dataset=datasets[s] + local attribute=dataset[2] + local sequence=dataset[3] + local rlparmode=initialrl + local topstack=0 + local typ=sequence.type + local gpossing=typ=="gpos_single" or typ=="gpos_pair" + local handler=handlers[typ] + local steps=sequence.steps + local nofsteps=sequence.nofsteps + if not steps then + local h,d,ok=handler(head,head,dataset,sequence,nil,nil,nil,0,font,attr) + if ok then + done=true + if h then + head=h end - if not a or (a==attr) then - for i=1,nofsteps do - local step=steps[i] - local lookupcache=step.coverage - if lookupcache then - local lookupmatch=lookupcache[char] - if lookupmatch then - local ok - head,start,ok=handler(head,start,dataset,sequence,lookupmatch,rlmode,step,i) - if ok then - done=true - break + end + elseif typ=="gsub_reversecontextchain" then + local start=find_node_tail(head) + local rlmode=0 + while start do + local char=ischar(start,font) + if char then + local a + if attr then + a=getattr(start,0) + end + if not a or (a==attr) then + for i=1,nofsteps do + local step=steps[i] + local lookupcache=step.coverage + if lookupcache then + local lookupmatch=lookupcache[char] + if lookupmatch then + local ok + head,start,ok=handler(head,start,dataset,sequence,lookupmatch,rlmode,step,i) + if ok then + done=true + break + end end + else + report_missing_coverage(dataset,sequence) end - else - report_missing_coverage(dataset,sequence) end - end - if start then + if start then + start=getprev(start) + end + else start=getprev(start) end else start=getprev(start) end - else - start=getprev(start) end - end - else - local start=head - local rlmode=initialrl - if nofsteps==1 then - local step=steps[1] - local lookupcache=step.coverage - if not lookupcache then - report_missing_coverage(dataset,sequence) + else + local start=head + local rlmode=initialrl + if nofsteps==1 then + local step=steps[1] + local lookupcache=step.coverage + if not lookupcache then + report_missing_coverage(dataset,sequence) + else + while start do + local char,id=ischar(start,font) + if char then + local a + if attr then + if getattr(start,0)==attr and (not attribute or getprop(start,a_state)==attribute) then + a=true + end + elseif not attribute or getprop(start,a_state)==attribute then + a=true + end + if a then + local lookupmatch=lookupcache[char] + if lookupmatch then + local ok + head,start,ok=handler(head,start,dataset,sequence,lookupmatch,rlmode,step,1) + if ok then + done=true + end + end + if start then + start=getnext(start) + end + else + start=getnext(start) + end + elseif char==false then + start=getnext(start) + elseif id==glue_code then + start=getnext(start) + elseif id==disc_code then + if not discs or discs[start]==true then + local ok + if gpossing then + start,ok=kernrun(start,k_run_single,font,attr,lookupcache,step,dataset,sequence,rlmode,handler) + elseif typ=="gsub_ligature" then + start,ok=testrun(start,t_run_single,c_run_single,font,attr,lookupcache,step,dataset,sequence,rlmode,handler) + else + start,ok=comprun(start,c_run_single,font,attr,lookupcache,step,dataset,sequence,rlmode,handler) + end + if ok then + done=true + end + else + start=getnext(start) + end + elseif id==math_code then + start=getnext(end_of_math(start)) + elseif id==dir_code then + start,topstack,rlmode=txtdirstate(start,dirstack,topstack,rlparmode) + elseif id==localpar_code then + start,rlparmode,rlmode=pardirstate(start) + else + start=getnext(start) + end + end + end else while start do local char,id=ischar(start,font) @@ -23753,12 +25287,23 @@ local function featuresprocessor(head,font,attr,direction) a=true end if a then - local lookupmatch=lookupcache[char] - if lookupmatch then - local ok - head,start,ok=handler(head,start,dataset,sequence,lookupmatch,rlmode,step,1) - if ok then - done=true + for i=1,nofsteps do + local step=steps[i] + local lookupcache=step.coverage + if lookupcache then + local lookupmatch=lookupcache[char] + if lookupmatch then + local ok + head,start,ok=handler(head,start,dataset,sequence,lookupmatch,rlmode,step,i) + if ok then + done=true + break + elseif not start then + break + end + end + else + report_missing_coverage(dataset,sequence) end end if start then @@ -23772,16 +25317,20 @@ local function featuresprocessor(head,font,attr,direction) elseif id==glue_code then start=getnext(start) elseif id==disc_code then - local ok - if gpossing then - start,ok=kernrun(start,k_run_single,font,attr,lookupcache,step,dataset,sequence,rlmode,handler) - elseif typ=="gsub_ligature" then - start,ok=testrun(start,t_run_single,c_run_single,font,attr,lookupcache,step,dataset,sequence,rlmode,handler) + if not discs or discs[start]==true then + local ok + if gpossing then + start,ok=kernrun(start,k_run_multiple,font,attr,steps,nofsteps,dataset,sequence,rlmode,handler) + elseif typ=="gsub_ligature" then + start,ok=testrun(start,t_run_multiple,c_run_multiple,font,attr,steps,nofsteps,dataset,sequence,rlmode,handler) + else + start,ok=comprun(start,c_run_multiple,font,attr,steps,nofsteps,dataset,sequence,rlmode,handler) + end + if ok then + done=true + end else - start,ok=comprun(start,c_run_single,font,attr,lookupcache,step,dataset,sequence,rlmode,handler) - end - if ok then - done=true + start=getnext(start) end elseif id==math_code then start=getnext(end_of_math(start)) @@ -23794,79 +25343,15 @@ local function featuresprocessor(head,font,attr,direction) end end end - else - while start do - local char,id=ischar(start,font) - if char then - local a - if attr then - if getattr(start,0)==attr and (not attribute or getprop(start,a_state)==attribute) then - a=true - end - elseif not attribute or getprop(start,a_state)==attribute then - a=true - end - if a then - for i=1,nofsteps do - local step=steps[i] - local lookupcache=step.coverage - if lookupcache then - local lookupmatch=lookupcache[char] - if lookupmatch then - local ok - head,start,ok=handler(head,start,dataset,sequence,lookupmatch,rlmode,step,i) - if ok then - done=true - break - elseif not start then - break - end - end - else - report_missing_coverage(dataset,sequence) - end - end - if start then - start=getnext(start) - end - else - start=getnext(start) - end - elseif char==false then - start=getnext(start) - elseif id==glue_code then - start=getnext(start) - elseif id==disc_code then - local ok - if gpossing then - start,ok=kernrun(start,k_run_multiple,font,attr,steps,nofsteps,dataset,sequence,rlmode,handler) - elseif typ=="gsub_ligature" then - start,ok=testrun(start,t_run_multiple,c_run_multiple,font,attr,steps,nofsteps,dataset,sequence,rlmode,handler) - else - start,ok=comprun(start,c_run_multiple,font,attr,steps,nofsteps,dataset,sequence,rlmode,handler) - end - if ok then - done=true - end - elseif id==math_code then - start=getnext(end_of_math(start)) - elseif id==dir_code then - start,topstack,rlmode=txtdirstate(start,dirstack,topstack,rlparmode) - elseif id==localpar_code then - start,rlparmode,rlmode=pardirstate(start) - else - start=getnext(start) - end - end + end + if trace_steps then + registerstep(head) end end - if trace_steps then - registerstep(head) - end + nesting=nesting-1 + head=tonode(head) + return head,done end - nesting=nesting-1 - head=tonode(head) - return head,done end local plugins={} otf.plugins=plugins @@ -23875,12 +25360,12 @@ function otf.registerplugin(name,f) plugins[name]={ name,f } end end -local function plugininitializer(tfmdata,value) +function otf.plugininitializer(tfmdata,value) if type(value)=="string" then tfmdata.shared.plugin=plugins[value] end end -local function pluginprocessor(head,font) +function otf.pluginprocessor(head,font) local s=fontdata[font].shared local p=s and s.plugin if p then @@ -23892,7 +25377,7 @@ local function pluginprocessor(head,font) return head,false end end -local function featuresinitializer(tfmdata,value) +function otf.featuresinitializer(tfmdata,value) end registerotffeature { name="features", @@ -23900,16 +25385,14 @@ registerotffeature { default=true, initializers={ position=1, - node=featuresinitializer, - plug=plugininitializer, + node=otf.featuresinitializer, + plug=otf.plugininitializer, }, processors={ - node=featuresprocessor, - plug=pluginprocessor, + node=otf.featuresprocessor, + plug=otf.pluginprocessor, } } -otf.nodemodeinitializer=featuresinitializer -otf.featuresprocessor=featuresprocessor otf.handlers=handlers local setspacekerns=nodes.injections.setspacekerns if not setspacekerns then os.exit() end if fontfeatures then @@ -24021,9 +25504,9 @@ local function spaceinitializer(tfmdata,value) if type(kern)~="table" then left[k]=kern elseif single then - left[k]=v[3] + left[k]=kern[3] else - local one=v[1] + local one=kern[1] if one then left[k]=one[3] end @@ -26079,7 +27562,7 @@ else local tounicode=fonts.mappings.tounicode16 function otf.getactualtext(s) return - "/Span << /ActualText >> BDC", + "/Span << /ActualText >> BDC", "EMC" end end @@ -26522,6 +28005,7 @@ local normalized={ multiple="multiple", kern="kern", pair="pair", + single="single", chainsubstitution="chainsubstitution", chainposition="chainposition", } @@ -26532,6 +28016,7 @@ local types={ multiple="gsub_multiple", kern="gpos_pair", pair="gpos_pair", + single="gpos_single", chainsubstitution="gsub_contextchain", chainposition="gpos_contextchain", } @@ -26861,6 +28346,7 @@ local function addfeature(data,feature,specifications) end return coverage end + local prepare_single=prepare_pair local function prepare_chain(list,featuretype,sublookups) local rules=list.rules local coverage={} @@ -27076,6 +28562,9 @@ local function addfeature(data,feature,specifications) elseif featuretype=="pair" then format="pair" coverage=prepare_pair(list,featuretype) + elseif featuretype=="single" then + format="single" + coverage=prepare_single(list,featuretype) end if coverage and next(coverage) then nofsteps=nofsteps+1 @@ -27115,6 +28604,10 @@ local function addfeature(data,feature,specifications) category="gpos" format="pair" coverage=prepare_pair(list,featuretype) + elseif featuretype=="single" then + category="gpos" + format="single" + coverage=prepare_single(list,featuretype) elseif featuretype=="chainsubstitution" then category="gsub" coverage=prepare_chain(list,featuretype,sublookups) @@ -29163,7 +30656,6 @@ local allocate=utilities.storage.allocate local trace_defining=false trackers .register("fonts.defining",function(v) trace_defining=v end) local directive_embedall=false directives.register("fonts.embedall",function(v) directive_embedall=v end) trackers.register("fonts.loading","fonts.defining","otf.loading","afm.loading","tfm.loading") -trackers.register("fonts.all","fonts.*","otf.*","afm.*","tfm.*") local report_defining=logs.reporter("fonts","defining") local fonts=fonts local fontdata=fonts.hashes.identifiers @@ -32026,7 +33518,7 @@ end function nodes.handlers.setbasemodepass(v) basemodepass=v end -function nodes.handlers.nodepass(head) +function nodes.handlers.nodepass(head,groupcode,size,packtype,direction) local fontdata=fonts.hashes.identifiers if fontdata then local nuthead=tonut(head) @@ -32036,6 +33528,7 @@ function nodes.handlers.nodepass(head) local basefont=nil local variants=nil local redundant=nil + local nofused=0 for n in traverse_id(glyph_code,nuthead) do local font=getfont(n) if font~=prevfont then @@ -32052,6 +33545,7 @@ function nodes.handlers.nodepass(head) local processors=shared.processes if processors and #processors>0 then usedfonts[font]=processors + nofused=nofused+1 elseif basemodepass then basefont={ n,nil } basefonts[#basefonts+1]=basefont @@ -32132,6 +33626,7 @@ function nodes.handlers.nodepass(head) local processors=shared.processes if processors and #processors>0 then usedfonts[font]=processors + nofused=nofused+1 end end end @@ -32143,7 +33638,7 @@ function nodes.handlers.nodepass(head) if next(usedfonts) then for font,processors in next,usedfonts do for i=1,#processors do - head=processors[i](head,font,0) or head + head=processors[i](head,font,0,direction,nofused) or head end end end @@ -32192,9 +33687,9 @@ local nodepass=nodes.handlers.nodepass local basepass=nodes.handlers.basepass local injectpass=nodes.injections.handler local protectpass=nodes.handlers.protectglyphs -function nodes.simple_font_handler(head) +function nodes.simple_font_handler(head,groupcode,size,packtype,direction) if head then - head=nodepass(head) + head=nodepass(head,groupcode,size,packtype,direction) head=injectpass(head) if not basemodepass then head=basepass(head) diff --git a/tex/generic/context/luatex/luatex-math.tex b/tex/generic/context/luatex/luatex-math.tex index a66aa7d7d..6edc6f74b 100644 --- a/tex/generic/context/luatex/luatex-math.tex +++ b/tex/generic/context/luatex/luatex-math.tex @@ -13,6 +13,9 @@ %D approach (and thereby far from the \CONTEXT\ way). This file is mainly meant for %D Boguslaw Jackowski. +%D In the perspective of the TUG Lucida Opentype project Bruno Voisin checked the code +%D and definitions below and suggested some improvements. + % we provide a remap feature \ifdefined\directlua @@ -42,6 +45,10 @@ \font\tenbf = file:lmroman10-bold.otf:+liga;+kern;+tlig;+trep at 10pt \font\tenbi = file:lmroman10-bolditalic.otf:+liga;+kern;+tlig;+trep at 10pt % + \font\tenos = file:lmroman10-regular.otf:+onum;+liga;+kern;+tlig;+trep at 10pt + \font\sevenos = file:lmroman7-regular.otf:+onum;+liga;+kern;+tlig;+trep at 7pt + \font\fiveos = file:lmroman5-regular.otf:+onum;+liga;+kern;+tlig;+trep at 5pt + % \font\mathfonttextupright = file:latinmodern-math.otf:script=math;ssty=0;mathsize=yes at 10pt \font\mathfontscriptupright = file:latinmodern-math.otf:script=math;ssty=1;mathsize=yes at 7pt \font\mathfontscriptscriptupright = file:latinmodern-math.otf:script=math;ssty=2;mathsize=yes at 5pt @@ -50,6 +57,10 @@ \scriptfont 0 = \mathfontscriptupright \scriptscriptfont 0 = \mathfontscriptscriptupright % + \textfont 1 = \tenos + \scriptfont 1 = \sevenos + \scriptscriptfont 1 = \fiveos + % \tenrm} \def\lucidabright @@ -57,11 +68,15 @@ \font\sevenrm = file:lucidabrightot.otf:+liga;+kern;+tlig;+trep at 7pt \font\fiverm = file:lucidabrightot.otf:+liga;+kern;+tlig;+trep at 5pt % - \font\tentt = file:lucidasanstypewriterot.otf at 10pt - \font\tensl = file:lucidabrightot.otf:slant=0.2;+liga;+kern;+tlig;+trep at 10pt - \font\tenit = file:lucidabrightot-italic.otf:+liga;+kern;+tlig;+trep at 10pt - \font\tenbf = file:lucidabrightot-demi.otf:+liga;+kern;+tlig;+trep at 10pt - \font\tenbi = file:lucidabrightot-demiitalic.otf:+liga;+kern;+tlig;+trep at 10pt + \font\tentt = file:lucidasanstypewriterot.otf at 10pt + \font\tensl = file:lucidabrightot.otf:slant=0.167;+liga;+kern;+tlig;+trep at 10pt + \font\tenit = file:lucidabrightot-italic.otf:+liga;+kern;+tlig;+trep at 10pt + \font\tenbf = file:lucidabrightot-demi.otf:+liga;+kern;+tlig;+trep at 10pt + \font\tenbi = file:lucidabrightot-demiitalic.otf:+liga;+kern;+tlig;+trep at 10pt + % + \font\tenos = file:lucidabrightot.otf:+onum;+liga;+kern;+tlig;+trep at 10pt + \font\sevenos = file:lucidabrightot.otf:+onum;+liga;+kern;+tlig;+trep at 7pt + \font\fiveos = file:lucidabrightot.otf:+onum;+liga;+kern;+tlig;+trep at 5pt % \font\mathfonttextupright = file:lucidabrightmathot.otf:script=math;ssty=0;mathsize=yes at 10pt \font\mathfontscriptupright = file:lucidabrightmathot.otf:script=math;ssty=1;mathsize=yes at 7pt @@ -71,6 +86,10 @@ \scriptfont 0 = \mathfontscriptupright \scriptscriptfont 0 = \mathfontscriptscriptupright % + \textfont 1 = \tenos + \scriptfont 1 = \sevenos + \scriptscriptfont 1 = \fiveos + % \tenrm} \ifdefined\directlua @@ -84,7 +103,6 @@ \fi \newtoks\everymathrm -\newtoks\everymathmit \newtoks\everymathcal \newtoks\everymathit \newtoks\everymathsl @@ -92,6 +110,8 @@ \newtoks\everymathbi \newtoks\everymathtt +% the following commands switch text as well as math + \def\rm{\fam0\relax\the\everymathrm\relax\tenrm\relax} \def\it{\fam0\relax\the\everymathit\relax\tenit\relax} \def\sl{\fam0\relax\the\everymathsl\relax\tensl\relax} @@ -99,13 +119,10 @@ \def\bi{\fam0\relax\the\everymathbi\relax\tenbi\relax} \def\tt{\fam0\relax\the\everymathtt\relax\tentt\relax} -\let\mit \relax % use names or \Uchar or define a vector -\let\cal \relax % idem, i'm not in the mood for this now -\let\oldstyle\relax % no longer misuse of math mode - % tex is fast enough for this kind of assignments: \everymathrm {% + % codes \Umathcode"0041="0"0"0041% \Umathcode"0042="0"0"0042% \Umathcode"0043="0"0"0043% @@ -216,18 +233,69 @@ \Umathcode"03F5="0"0"03F5% \Umathcode"2202="0"0"2202% \Umathcode"2207="0"0"2207% + % commands + \Umathchardef\Alpha "0"0"000391% + \Umathchardef\Beta "0"0"000392% + \Umathchardef\Gamma "0"0"000393% + \Umathchardef\Delta "0"0"000394% + \Umathchardef\Epsilon "0"0"000395% + \Umathchardef\Zeta "0"0"000396% + \Umathchardef\Eta "0"0"000397% + \Umathchardef\Theta "0"0"000398% + \Umathchardef\Iota "0"0"000399% + \Umathchardef\Kappa "0"0"00039A% + \Umathchardef\Lambda "0"0"00039B% + \Umathchardef\Mu "0"0"00039C% + \Umathchardef\Nu "0"0"00039D% + \Umathchardef\Xi "0"0"00039E% + \Umathchardef\Omicron "0"0"00039F% + \Umathchardef\Pi "0"0"0003A0% + \Umathchardef\Rho "0"0"0003A1% + \Umathchardef\Sigma "0"0"0003A3% + \Umathchardef\Tau "0"0"0003A4% + \Umathchardef\Upsilon "0"0"0003A5% + \Umathchardef\Phi "0"0"0003A6% + \Umathchardef\Chi "0"0"0003A7% + \Umathchardef\Psi "0"0"0003A8% + \Umathchardef\Omega "0"0"0003A9% + \Umathchardef\alpha "0"0"0003B1% + \Umathchardef\beta "0"0"0003B2% + \Umathchardef\gamma "0"0"0003B3% + \Umathchardef\delta "0"0"0003B4% + \Umathchardef\varepsilon"0"0"0003B5% + \Umathchardef\zeta "0"0"0003B6% + \Umathchardef\eta "0"0"0003B7% + \Umathchardef\theta "0"0"0003B8% + \Umathchardef\iota "0"0"0003B9% + \Umathchardef\kappa "0"0"0003BA% + \Umathchardef\lambda "0"0"0003BB% + \Umathchardef\mu "0"0"0003BC% + \Umathchardef\nu "0"0"0003BD% + \Umathchardef\xi "0"0"0003BE% + \Umathchardef\omicron "0"0"0003BF% + \Umathchardef\pi "0"0"0003C0% + \Umathchardef\rho "0"0"0003C1% + \Umathchardef\varsigma "0"0"0003C2% + \Umathchardef\sigma "0"0"0003C3% + \Umathchardef\tau "0"0"0003C4% + \Umathchardef\upsilon "0"0"0003C5% + \Umathchardef\varphi "0"0"0003C6% + \Umathchardef\chi "0"0"0003C7% + \Umathchardef\psi "0"0"0003C8% + \Umathchardef\omega "0"0"0003C9% + \Umathchardef\vartheta "0"0"0003D1% + \Umathchardef\phi "0"0"0003D5% + \Umathchardef\varpi "0"0"0003D6% + \Umathchardef\varkappa "0"0"0003F0% + \Umathchardef\varrho "0"0"0003F1% + \Umathchardef\epsilon "0"0"0003F5% + \Umathchardef\varTheta "0"0"0003F4% + \Umathchardef\digamma "0"0"0003DC% \relax } -\everymathmit {% - % not done -} - -\everymathcal {% - % not done -} - \everymathit {% + % codes \Umathcode"0041="0"0"1D434% \Umathcode"0042="0"0"1D435% \Umathcode"0043="0"0"1D436% @@ -338,6 +406,64 @@ \Umathcode"03F5="0"0"1D716% \Umathcode"2202="0"0"1D715% \Umathcode"2207="0"0"1D6FB% + % commands + \Umathchardef\Alpha "0"0"01D6E2% + \Umathchardef\Beta "0"0"01D6E3% + \Umathchardef\Gamma "0"0"01D6E4% + \Umathchardef\Delta "0"0"01D6E5% + \Umathchardef\Epsilon "0"0"01D6E6% + \Umathchardef\Zeta "0"0"01D6E7% + \Umathchardef\Eta "0"0"01D6E8% + \Umathchardef\Theta "0"0"01D6E9% + \Umathchardef\Iota "0"0"01D6EA% + \Umathchardef\Kappa "0"0"01D6EB% + \Umathchardef\Lambda "0"0"01D6EC% + \Umathchardef\Mu "0"0"01D6ED% + \Umathchardef\Nu "0"0"01D6EE% + \Umathchardef\Xi "0"0"01D6EF% + \Umathchardef\Omicron "0"0"01D6F0% + \Umathchardef\Pi "0"0"01D6F1% + \Umathchardef\Rho "0"0"01D6F2% + \Umathchardef\Sigma "0"0"01D6F4% + \Umathchardef\Tau "0"0"01D6F5% + \Umathchardef\Upsilon "0"0"01D6F6% + \Umathchardef\Phi "0"0"01D6F7% + \Umathchardef\Chi "0"0"01D6F8% + \Umathchardef\Psi "0"0"01D6F9% + \Umathchardef\Omega "0"0"01D6FA% + \Umathchardef\alpha "0"0"01D6FC% + \Umathchardef\beta "0"0"01D6FD% + \Umathchardef\gamma "0"0"01D6FE% + \Umathchardef\delta "0"0"01D6FF% + \Umathchardef\varepsilon"0"0"01D700% + \Umathchardef\zeta "0"0"01D701% + \Umathchardef\eta "0"0"01D702% + \Umathchardef\theta "0"0"01D703% + \Umathchardef\iota "0"0"01D704% + \Umathchardef\kappa "0"0"01D705% + \Umathchardef\lambda "0"0"01D706% + \Umathchardef\mu "0"0"01D707% + \Umathchardef\nu "0"0"01D708% + \Umathchardef\xi "0"0"01D709% + \Umathchardef\omicron "0"0"01D70A% + \Umathchardef\pi "0"0"01D70B% + \Umathchardef\rho "0"0"01D70C% + \Umathchardef\varsigma "0"0"01D70D% + \Umathchardef\sigma "0"0"01D70E% + \Umathchardef\tau "0"0"01D70F% + \Umathchardef\upsilon "0"0"01D710% + \Umathchardef\varphi "0"0"01D711% + \Umathchardef\chi "0"0"01D712% + \Umathchardef\psi "0"0"01D713% + \Umathchardef\omega "0"0"01D714% + \Umathchardef\epsilon "0"0"01D716% + \Umathchardef\vartheta "0"0"01D717% + \Umathchardef\varkappa "0"0"01D718% + \Umathchardef\phi "0"0"01D719% + \Umathchardef\varrho "0"0"01D71A% + \Umathchardef\varpi "0"0"01D71B% + \Umathchardef\varTheta "0"0"01D6F3% + \Umathchardef\digamma "0"0"0003DC% \relax } @@ -346,6 +472,7 @@ } \everymathbf {% + % codes \Umathcode"0030="0"0"1D7CE% \Umathcode"0031="0"0"1D7CF% \Umathcode"0032="0"0"1D7D0% @@ -466,10 +593,69 @@ \Umathcode"03F5="0"0"1D6DC% \Umathcode"2202="0"0"1D6DB% \Umathcode"2207="0"0"1D6C1% + % commands + \Umathchardef\Alpha "0"0"01D6A8% + \Umathchardef\Beta "0"0"01D6A9% + \Umathchardef\Gamma "0"0"01D6AA% + \Umathchardef\Delta "0"0"01D6AB% + \Umathchardef\Epsilon "0"0"01D6AC% + \Umathchardef\Zeta "0"0"01D6AD% + \Umathchardef\Eta "0"0"01D6AE% + \Umathchardef\Theta "0"0"01D6AF% + \Umathchardef\Iota "0"0"01D6B0% + \Umathchardef\Kappa "0"0"01D6B1% + \Umathchardef\Lambda "0"0"01D6B2% + \Umathchardef\Mu "0"0"01D6B3% + \Umathchardef\Nu "0"0"01D6B4% + \Umathchardef\Xi "0"0"01D6B5% + \Umathchardef\Omicron "0"0"01D6B6% + \Umathchardef\Pi "0"0"01D6B7% + \Umathchardef\Rho "0"0"01D6B8% + \Umathchardef\Sigma "0"0"01D6BA% + \Umathchardef\Tau "0"0"01D6BB% + \Umathchardef\Upsilon "0"0"01D6BC% + \Umathchardef\Phi "0"0"01D6BD% + \Umathchardef\Chi "0"0"01D6BE% + \Umathchardef\Psi "0"0"01D6BF% + \Umathchardef\Omega "0"0"01D6C0% + \Umathchardef\alpha "0"0"01D6C2% + \Umathchardef\beta "0"0"01D6C3% + \Umathchardef\gamma "0"0"01D6C4% + \Umathchardef\delta "0"0"01D6C5% + \Umathchardef\varepsilon"0"0"01D6C6% + \Umathchardef\zeta "0"0"01D6C7% + \Umathchardef\eta "0"0"01D6C8% + \Umathchardef\theta "0"0"01D6C9% + \Umathchardef\iota "0"0"01D6CA% + \Umathchardef\kappa "0"0"01D6CB% + \Umathchardef\lambda "0"0"01D6CC% + \Umathchardef\mu "0"0"01D6CD% + \Umathchardef\nu "0"0"01D6CE% + \Umathchardef\xi "0"0"01D6CF% + \Umathchardef\omicron "0"0"01D6D0% + \Umathchardef\pi "0"0"01D6D1% + \Umathchardef\rho "0"0"01D6D2% + \Umathchardef\varsigma "0"0"01D6D3% + \Umathchardef\sigma "0"0"01D6D4% + \Umathchardef\tau "0"0"01D6D5% + \Umathchardef\upsilon "0"0"01D6D6% + \Umathchardef\varphi "0"0"01D6D7% + \Umathchardef\chi "0"0"01D6D8% + \Umathchardef\psi "0"0"01D6D9% + \Umathchardef\omega "0"0"01D6DA% + \Umathchardef\epsilon "0"0"01D6DC% + \Umathchardef\vartheta "0"0"01D6DD% + \Umathchardef\varkappa "0"0"01D6DE% + \Umathchardef\phi "0"0"01D6DF% + \Umathchardef\varrho "0"0"01D6E0% + \Umathchardef\varpi "0"0"01D6E1% + \Umathchardef\varTheta "0"0"01D6B9% + \Umathchardef\digamma "0"0"01D7CA% \relax } \everymathbi {% + % codes \Umathcode"0030="0"0"1D7CE% \Umathcode"0031="0"0"1D7CF% \Umathcode"0032="0"0"1D7D0% @@ -590,6 +776,64 @@ \Umathcode"03F5="0"0"1D750% \Umathcode"2202="0"0"1D74F% \Umathcode"2207="0"0"1D735% + % commands + \Umathchardef\Alpha "0"0"01D71C% + \Umathchardef\Beta "0"0"01D71D% + \Umathchardef\Gamma "0"0"01D71E% + \Umathchardef\Delta "0"0"01D71F% + \Umathchardef\Epsilon "0"0"01D720% + \Umathchardef\Zeta "0"0"01D721% + \Umathchardef\Eta "0"0"01D722% + \Umathchardef\Theta "0"0"01D723% + \Umathchardef\Iota "0"0"01D724% + \Umathchardef\Kappa "0"0"01D725% + \Umathchardef\Lambda "0"0"01D726% + \Umathchardef\Mu "0"0"01D727% + \Umathchardef\Nu "0"0"01D728% + \Umathchardef\Xi "0"0"01D729% + \Umathchardef\Omicron "0"0"01D72A% + \Umathchardef\Pi "0"0"01D72B% + \Umathchardef\Rho "0"0"01D72C% + \Umathchardef\Sigma "0"0"01D72E% + \Umathchardef\Tau "0"0"01D72F% + \Umathchardef\Upsilon "0"0"01D730% + \Umathchardef\Phi "0"0"01D731% + \Umathchardef\Chi "0"0"01D732% + \Umathchardef\Psi "0"0"01D733% + \Umathchardef\Omega "0"0"01D734% + \Umathchardef\alpha "0"0"01D736% + \Umathchardef\beta "0"0"01D737% + \Umathchardef\gamma "0"0"01D738% + \Umathchardef\delta "0"0"01D739% + \Umathchardef\varepsilon"0"0"01D73A% + \Umathchardef\zeta "0"0"01D73B% + \Umathchardef\eta "0"0"01D73C% + \Umathchardef\theta "0"0"01D73D% + \Umathchardef\iota "0"0"01D73E% + \Umathchardef\kappa "0"0"01D73F% + \Umathchardef\lambda "0"0"01D740% + \Umathchardef\mu "0"0"01D741% + \Umathchardef\nu "0"0"01D742% + \Umathchardef\xi "0"0"01D743% + \Umathchardef\omicron "0"0"01D744% + \Umathchardef\pi "0"0"01D745% + \Umathchardef\rho "0"0"01D746% + \Umathchardef\varsigma "0"0"01D747% + \Umathchardef\sigma "0"0"01D748% + \Umathchardef\tau "0"0"01D749% + \Umathchardef\upsilon "0"0"01D74A% + \Umathchardef\varphi "0"0"01D74B% + \Umathchardef\chi "0"0"01D74C% + \Umathchardef\psi "0"0"01D74D% + \Umathchardef\omega "0"0"01D74E% + \Umathchardef\epsilon "0"0"01D750% + \Umathchardef\vartheta "0"0"01D751% + \Umathchardef\varkappa "0"0"01D752% + \Umathchardef\phi "0"0"01D753% + \Umathchardef\varrho "0"0"01D754% + \Umathchardef\varpi "0"0"01D755% + \Umathchardef\varTheta "0"0"01D72D% + \Umathchardef\digamma "0"0"01D7CA% \relax } @@ -597,6 +841,75 @@ % not done } +% Nothing special here: + +\let\mit\it + +% We use a special family for this, not that oldstyle in math makes +% much sense, it's more that in good old tex oldstyle was taken from +% math fonts. So, just something compatible: + +\def\oldstyle{\fam1\relax\tenos\relax} + +% Again a text and math one and it had better be used grouped. + +\def\cal{\fam0\relax\the\everymathcal\relax\tenit\relax} + +\everymathcal {% + \Umathcode"0041="0"0"1D49C% A + \Umathcode"0042="0"0"0212C% B + \Umathcode"0043="0"0"1D49E% C + \Umathcode"0044="0"0"1D49F% D + \Umathcode"0045="0"0"02130% E + \Umathcode"0046="0"0"02131% F + \Umathcode"0047="0"0"1D4A2% G + \Umathcode"0048="0"0"0210B% H + \Umathcode"0049="0"0"02110% I + \Umathcode"004A="0"0"1D4A5% J + \Umathcode"004B="0"0"1D4A6% K + \Umathcode"004C="0"0"02112% L + \Umathcode"004D="0"0"02133% M + \Umathcode"004E="0"0"1D4A9% N + \Umathcode"004F="0"0"1D4AA% O + \Umathcode"0050="0"0"1D4AB% P + \Umathcode"0051="0"0"1D4AC% Q + \Umathcode"0052="0"0"0211B% R + \Umathcode"0053="0"0"1D4AE% S + \Umathcode"0054="0"0"1D4AF% T + \Umathcode"0055="0"0"1D4B0% U + \Umathcode"0056="0"0"1D4B1% V + \Umathcode"0057="0"0"1D4B2% W + \Umathcode"0058="0"0"1D4B3% X + \Umathcode"0059="0"0"1D4B4% Y + \Umathcode"005A="0"0"1D4B5% Z + \Umathcode"0061="0"0"1D4B6% a + \Umathcode"0062="0"0"1D4B7% b + \Umathcode"0063="0"0"1D4B8% c + \Umathcode"0064="0"0"1D4B9% d + \Umathcode"0065="0"0"0212F% e + \Umathcode"0066="0"0"1D4BB% f + \Umathcode"0067="0"0"0210A% g + \Umathcode"0068="0"0"1D4BD% h + \Umathcode"0069="0"0"1D4BE% i + \Umathcode"006A="0"0"1D4BF% j + \Umathcode"006B="0"0"1D4C0% k + \Umathcode"006C="0"0"1D4C1% l + \Umathcode"006D="0"0"1D4C2% m + \Umathcode"006E="0"0"1D4C3% n + \Umathcode"006F="0"0"02134% o + \Umathcode"0070="0"0"1D4C5% p + \Umathcode"0071="0"0"1D4C6% q + \Umathcode"0072="0"0"1D4C7% r + \Umathcode"0073="0"0"1D4C8% s + \Umathcode"0074="0"0"1D4C9% t + \Umathcode"0075="0"0"1D4CA% u + \Umathcode"0076="0"0"1D4CB% v + \Umathcode"0077="0"0"1D4CC% w + \Umathcode"0078="0"0"1D4CD% x + \Umathcode"0079="0"0"1D4CE% y + \Umathcode"007A="0"0"1D4CF% z +} + \Udelcode "00021 = "0 "00021 \Udelcode "00028 = "0 "00028 \Udelcode "00028 = "0 "00028 @@ -1831,6 +2144,44 @@ \def\Zeta {\Umathchar "0"0"000396 } \def\zeta {\Umathchar "0"0"0003B6 } +%D The following are suggested by Bruno. As I don't use plain and as the above are +%D taken from text unicode greek I suppose his list is better: + +\def\alpha {\Umathchar "0"0"01D6FC } +\def\beta {\Umathchar "0"0"01D6FD } +\def\chi {\Umathchar "0"0"01D712 } +\def\delta {\Umathchar "0"0"01D6FF } +\def\digamma {\Umathchar "0"0"0003DC } +\def\epsilon {\Umathchar "0"0"01D716 } +\def\eta {\Umathchar "0"0"01D702 } +\def\gamma {\Umathchar "0"0"01D6FE } +\def\iota {\Umathchar "0"0"01D704 } +\def\kappa {\Umathchar "0"0"01D705 } +\def\lambda {\Umathchar "0"0"01D706 } +\def\mu {\Umathchar "0"0"01D707 } +\def\nu {\Umathchar "0"0"01D708 } +\def\omega {\Umathchar "0"0"01D714 } +\def\omicron {\Umathchar "0"0"01D70A } +\def\phi {\Umathchar "0"0"01D719 } +\def\pi {\Umathchar "0"0"01D70B } +\def\psi {\Umathchar "0"0"01D713 } +\def\rho {\Umathchar "0"0"01D70C } +\def\sigma {\Umathchar "0"0"01D70E } +\def\tau {\Umathchar "0"0"01D70F } +\def\theta {\Umathchar "0"0"01D703 } +\def\upsilon {\Umathchar "0"0"01D710 } +\def\varepsilon {\Umathchar "0"0"01D700 } +\def\varkappa {\Umathchar "0"0"01D718 } +\def\varphi {\Umathchar "0"0"01D711 } +\def\varpi {\Umathchar "0"0"01D71B } +\def\varrho {\Umathchar "0"0"01D71A } +\def\varsigma {\Umathchar "0"0"01D70D } +\def\vartheta {\Umathchar "0"0"01D717 } +\def\xi {\Umathchar "0"0"01D709 } +\def\zeta {\Umathchar "0"0"01D701 } + +\def\varTheta {\Umathchar "0"0"0003F4 } + % a few definitions: \def\sqrt {\Uroot "0 "221A{}} @@ -1883,4 +2234,22 @@ \def\k#1{#1^^^^0328} % not in plain \def\b#1{#1^^^^0331} +% for Bruno, when he tests this file with xetex: + +\ifdefined\directlua \else + + \catcode`@=11 + + \def\sqrt{\Uradical "0 "221A } + + \def\root#1\of + {\setbox\rootbox\hbox\bgroup + $\m@th\scriptscriptstyle{#1}$% + \egroup + \mathpalette\r@@t} + + \catcode`@=12 + +\fi + \endinput -- cgit v1.2.3