diff options
author | Hans Hagen <pragma@wxs.nl> | 2020-11-25 18:12:33 +0100 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2020-11-25 18:12:33 +0100 |
commit | 07d4b092099bc8b5af53806fee049309dec3f888 (patch) | |
tree | acdce48b65ef6ca4e8ad661cae32441773af3111 /tex | |
parent | 8bd2c828616004e3ba3df597f4eb212bfb4102a8 (diff) | |
download | context-07d4b092099bc8b5af53806fee049309dec3f888.tar.gz |
2020-11-25 16:56:00
Diffstat (limited to 'tex')
31 files changed, 113 insertions, 112 deletions
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii index acb4fe4bc..07b8c55e1 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{2020.11.24 18:58} +\newcontextversion{2020.11.25 16:53} %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 ff9f1ef08..d3a0b269a 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{2020.11.24 18:58} +\edef\contextversion{2020.11.25 16:53} %D For those who want to use this: diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv index d6fd6fe25..f0ee92bc2 100644 --- a/tex/context/base/mkiv/cont-new.mkiv +++ b/tex/context/base/mkiv/cont-new.mkiv @@ -13,7 +13,7 @@ % \normalend % uncomment this to get the real base runtime -\newcontextversion{2020.11.24 18:58} +\newcontextversion{2020.11.25 16:53} %D This file is loaded at runtime, thereby providing an excellent place for hacks, %D patches, extensions and new features. There can be local overloads in cont-loc diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv index d16151db6..2f64747a9 100644 --- a/tex/context/base/mkiv/context.mkiv +++ b/tex/context/base/mkiv/context.mkiv @@ -45,7 +45,7 @@ %D {YYYY.MM.DD HH:MM} format. \edef\contextformat {\jobname} -\edef\contextversion{2020.11.24 18:58} +\edef\contextversion{2020.11.25 16:53} %D Kind of special: diff --git a/tex/context/base/mkiv/font-ots.lua b/tex/context/base/mkiv/font-ots.lua index bb13a4801..38044cac6 100644 --- a/tex/context/base/mkiv/font-ots.lua +++ b/tex/context/base/mkiv/font-ots.lua @@ -218,6 +218,7 @@ local copy_only_glyphs = nuts.copy_only_glyphs local count_components = nuts.count_components local set_components = nuts.set_components local get_components = nuts.get_components +local flush_components = nuts.flush_components --------------------------------------------------------------------------------------- @@ -488,6 +489,7 @@ local function markstoligature(head,start,stop,char) setsubtype(base,ligatureglyph_code) set_components(base,start) setlink(prev,base,next) + flush_components(start) return head, base end end @@ -515,6 +517,8 @@ local has_glyph_option = node.direct.has_glyph_option or function(n,c) end end +-- in lmtx we need to check the components and can be slightly more clever + local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfound,hasmarks) -- brr head if has_glyph_option(start,no_right_ligature_code) then return head, start @@ -586,6 +590,7 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou break end end + flush_components(components) else -- discfound ... forget about marks .. probably no scripts that hyphenate and have marks local discprev, discnext = getboth(discfound) diff --git a/tex/context/base/mkiv/node-gcm.lua b/tex/context/base/mkiv/node-gcm.lua index 1085f637f..5b598f6b0 100644 --- a/tex/context/base/mkiv/node-gcm.lua +++ b/tex/context/base/mkiv/node-gcm.lua @@ -81,11 +81,16 @@ local function count_components(start,marks) return 0 end +local function flush_components() + -- this is a no-op in mkiv / generic +end + nuts.set_components = set_components nuts.get_components = get_components nuts.copy_only_glyphs = copy_only_glyphs nuts.copy_no_components = copy_no_components nuts.count_components = count_components +nuts.flush_components = flush_components nuts.setcomponents = function() report_error("unsupported: %a","setcomponents") end nuts.getcomponents = function() report_error("unsupported: %a","getcomponents") end diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf Binary files differindex fb6af0b89..e6b9a8894 100644 --- a/tex/context/base/mkiv/status-files.pdf +++ b/tex/context/base/mkiv/status-files.pdf diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf Binary files differindex 350261887..75f6a775a 100644 --- a/tex/context/base/mkiv/status-lua.pdf +++ b/tex/context/base/mkiv/status-lua.pdf diff --git a/tex/context/base/mkxl/back-pdf.mkxl b/tex/context/base/mkxl/back-pdf.mkxl index 1ce97cede..18aa8354b 100644 --- a/tex/context/base/mkxl/back-pdf.mkxl +++ b/tex/context/base/mkxl/back-pdf.mkxl @@ -126,7 +126,7 @@ \permanent\protected\def\pdfbackendsetshade #1#2{\clf_lpdf_adddocumentshade{#1}{#2}} \permanent \def\pdfbackendcurrentresources {\clf_lpdf_collectedresources} -\permanent \def\pdfcolor #1{\clf_lpdf_color\numexpr\thecolorattribute{#1}\relax} +\permanent \def\pdfcolor #1{\clf_lpdf_color\numexpr\rawcolorattribute{#1}\relax} %D This is a temporary hack mthat will be removed, improved or somehow can become %D default. diff --git a/tex/context/base/mkxl/buff-ver.mkxl b/tex/context/base/mkxl/buff-ver.mkxl index 8ca44a956..3df572702 100644 --- a/tex/context/base/mkxl/buff-ver.mkxl +++ b/tex/context/base/mkxl/buff-ver.mkxl @@ -836,8 +836,8 @@ \permanent\protected\def\typeinlinebuffer {\dontleavehmode \begingroup - \let\buff_verbatim_type_buffer_indeed\buff_verbatim_type_buffer_indeed_inline - \let\setupcurrenttyping\setupcurrenttype % a terrible hack but it saves code + \enforced\let\buff_verbatim_type_buffer_indeed\buff_verbatim_type_buffer_indeed_inline + \enforced\let\setupcurrenttyping\setupcurrenttype % a terrible hack but it saves code \let\currenttype\empty \buff_verbatim_type_buffer} diff --git a/tex/context/base/mkxl/colo-ini.mkxl b/tex/context/base/mkxl/colo-ini.mkxl index 15cedb51d..b71ac42d9 100644 --- a/tex/context/base/mkxl/colo-ini.mkxl +++ b/tex/context/base/mkxl/colo-ini.mkxl @@ -1250,6 +1250,7 @@ \colo_helpers_inherited_current_ca{#1} % \colo_helpers_inherited_current_ta{#1} } +\permanent\def\rawcolormodelattribute {\c_attr_colormodel} \permanent\def\thecolormodelattribute {\the\c_attr_colormodel} \permanent\def\rawcolorattribute #1{\ifcsname\??colorattribute \currentcolorprefix#1\endcsname\lastnamedcs\orelse\ifcsname\??colorattribute #1\endcsname\lastnamedcs\else\zerocount\fi} diff --git a/tex/context/base/mkxl/cont-log.mkxl b/tex/context/base/mkxl/cont-log.mkxl index 3d110c648..12d0d06de 100644 --- a/tex/context/base/mkxl/cont-log.mkxl +++ b/tex/context/base/mkxl/cont-log.mkxl @@ -213,7 +213,7 @@ \ifx\fontalternative\s!it\syst_logos_xetex_e\orelse \ifx\fontalternative\s!sl\syst_logos_xetex_e\orelse \ifx\fontalternative\s!bi\syst_logos_xetex_e\orelse - \ifx\fontalternative\s!bs\syst_logos_xetex_e\orelse + \ifx\fontalternative\s!bs\syst_logos_xetex_e\else \mirror{E}\fi \fi}% \kern-.1667\emwidth\TeX} diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl index e8fd03810..facf1f03a 100644 --- a/tex/context/base/mkxl/cont-new.mkxl +++ b/tex/context/base/mkxl/cont-new.mkxl @@ -13,7 +13,7 @@ % \normalend % uncomment this to get the real base runtime -\newcontextversion{2020.11.24 18:58} +\newcontextversion{2020.11.25 16:53} %D This file is loaded at runtime, thereby providing an excellent place for hacks, %D patches, extensions and new features. There can be local overloads in cont-loc diff --git a/tex/context/base/mkxl/context.mkxl b/tex/context/base/mkxl/context.mkxl index fa3d1ecd3..1c9a0c02f 100644 --- a/tex/context/base/mkxl/context.mkxl +++ b/tex/context/base/mkxl/context.mkxl @@ -29,7 +29,7 @@ %D {YYYY.MM.DD HH:MM} format. \edef\contextformat {\jobname} -\edef\contextversion{2020.11.24 18:58} +\edef\contextversion{2020.11.25 16:53} %overloadmode 1 % check frozen / warning %overloadmode 2 % check frozen / error diff --git a/tex/context/base/mkxl/font-ini.mklx b/tex/context/base/mkxl/font-ini.mklx index 0e3c414d5..9278183a8 100644 --- a/tex/context/base/mkxl/font-ini.mklx +++ b/tex/context/base/mkxl/font-ini.mklx @@ -1706,7 +1706,7 @@ \ifdefined\trycurrentfontclass \else \protected\def\trycurrentfontclass#typeface% - {\letvalueempty{\??fontclassnop#typeface}} + {\letcsname\??fontclassnop#typeface\endcsname\empty} \fi @@ -2282,7 +2282,7 @@ %D The next auxilliary macro is an alternative to \type {\fontname}. -\def\purefontname#font{\clf_purefontname{\fontname#font}} +\permanent\def\purefontname#font{\clf_purefontname{\fontname#font}} %D \macros %D {switchstyleonly} @@ -2360,7 +2360,7 @@ %D the running text is temporary set to a smaller one|>| by saying \type %D {\switchtobodyfont [global]}. -\let\globalfontstyle\s!rm +\mutable\let\globalfontstyle\s!rm \permanent\protected\def\fullrestoreglobalbodyfont {\let\fontsize\defaultfontsize @@ -2426,7 +2426,7 @@ {\ifcsname\??predefinedfont#1\endcsname \lastnamedcs \else - \font_basics_predefined{#1}% + \definedfont[#1]% \fi} \protected\def\font_basics_predefine#1#2% @@ -2445,8 +2445,8 @@ \xdef\saveddefinedfontname{\fontname\font}% \egroup} -\def\saveddefinedfontid {\number\fontid\font} -\def\saveddefinedfontname{\fontname\font} +\mutable\def\saveddefinedfontid {\number\fontid\font} +\mutable\def\saveddefinedfontname{\fontname\font} %D Ugly helper: @@ -2458,17 +2458,17 @@ \c_attr_transparency\the\c_attr_transparency \relax}} -\let\restorerunningstyleandcolor\relax +\aliased\let\restorerunningstyleandcolor\relax %D Handy for defining additional glyphs: % todo: public implementors -\let\getprivateglyphslot\clf_getprivateglyphslot % kind of private macro +\aliased\let\getprivateglyphslot\clf_getprivateglyphslot % kind of private macro -\let\getprivatechar \clf_getprivatechar % gives back a utf ! -\let\getprivatemathchar \clf_getprivatemathchar % gives back a utf ! -\let\getprivateslot \clf_getprivateslot % companion to fonts.helpers.addprivate +\aliased\let\getprivatechar \clf_getprivatechar % gives back a utf ! +\aliased\let\getprivatemathchar \clf_getprivatemathchar % gives back a utf ! +\aliased\let\getprivateslot \clf_getprivateslot % companion to fonts.helpers.addprivate % \protected\def\getprivatemathchar#1% % {\begingroup\the\textfont\zerocount\getprivatechar{#1}\endgroup} diff --git a/tex/context/base/mkxl/font-sty.mklx b/tex/context/base/mkxl/font-sty.mklx index 01c02665e..db7b69e48 100644 --- a/tex/context/base/mkxl/font-sty.mklx +++ b/tex/context/base/mkxl/font-sty.mklx @@ -58,7 +58,7 @@ % maybe permanent \def\font_basics_define_alternative_style_indeed#variantone#varianttwo#command% - {\setuvalue{\??alternativestyle#command}{\font_helpers_apply_alternative_style{#variantone}{#varianttwo}}% + {\protected\defcsname\??alternativestyle#command\endcsname{\font_helpers_apply_alternative_style{#variantone}{#varianttwo}}% \ifcsname#command\endcsname % no redefinition \orelse\ifnum\c_fonts_basics_alternative_style_method=\plusone diff --git a/tex/context/base/mkxl/lang-ini.mkxl b/tex/context/base/mkxl/lang-ini.mkxl index 9c55bcee3..b32ae4c30 100644 --- a/tex/context/base/mkxl/lang-ini.mkxl +++ b/tex/context/base/mkxl/lang-ini.mkxl @@ -209,8 +209,8 @@ \fi} \def\lang_basics_install_indeed#1#2% - {\ifcstok{\specificlanguageparameter{#1}\c!command}\v!no\else - \ifcsname#1\endcsname\else\frozen\instance\setuvalue{#1}{\lang_basics_set_current[#2]}\fi + {\ifcstok{\specificlanguageparameter{#1}\c!command}\v!no\orelse\ifcsname#1\endcsname\else + \frozen\instance\protected\defcsname#1\endcsname{\lang_basics_set_current[#2]}% \fi} %D When the second argument is a language identifier, a synonym is created. This diff --git a/tex/context/base/mkxl/node-bck.mkxl b/tex/context/base/mkxl/node-bck.mkxl index e37d65b1c..0da516c88 100644 --- a/tex/context/base/mkxl/node-bck.mkxl +++ b/tex/context/base/mkxl/node-bck.mkxl @@ -36,12 +36,12 @@ \def\node_backgrounds_thecolorattr#1% {attr \colormodelattribute \c_attr_colormodel attr \colorattribute \lastnamedcs - attr \transparencyattribute \thetransparencyattribute{#1} } % can be optimized + attr \transparencyattribute \rawtransparencyattribute{#1} } % can be optimized \permanent\def\thecolorattr#1% {attr \colormodelattribute \c_attr_colormodel attr \colorattribute \csname\??colorattribute#1\endcsname - attr \transparencyattribute \thetransparencyattribute{#1} } % can be optimized + attr \transparencyattribute \rawtransparencyattribute{#1} } % can be optimized \permanent\def\backgroundcolorattr#1% {\ifcsname\??colorattribute\currentcolorprefix#1\endcsname @@ -54,37 +54,25 @@ {attr \backgroundattribute \plusone attr \colormodelattribute \c_attr_colormodel attr \colorattribute \csname\??colorattribute#1\endcsname - attr \transparencyattribute \thetransparencyattribute{#1} } % can be optimized + attr \transparencyattribute \rawtransparencyattribute{#1} } % can be optimized \def\node_backgrounds_thebackgroundcolorattr#1% {attr \backgroundattribute \plusone attr \colormodelattribute \c_attr_colormodel attr \colorattribute \lastnamedcs - attr \transparencyattribute \thetransparencyattribute{#1} } % can be optimized + attr \transparencyattribute \rawtransparencyattribute{#1} } % can be optimized \permanent\def\thealignbackgroundcolorattr#1% {attr \alignbackgroundattribute \plusone attr \colormodelattribute \c_attr_colormodel attr \colorattribute \csname\??colorattribute#1\endcsname - attr \transparencyattribute \thetransparencyattribute{#1} } % can be optimized + attr \transparencyattribute \rawtransparencyattribute{#1} } % can be optimized \permanent\protected\def\backgroundhbox{\node_backgrounds_boxes_add\hbox} \permanent\protected\def\backgroundvbox{\node_backgrounds_boxes_add\vbox} \permanent\protected\def\backgroundvtop{\node_backgrounds_boxes_add\vtop} \permanent\protected\def\backgroundline{\dontleavehmode\node_backgrounds_boxes_add\hbox} -% \def\node_backgrounds_boxes_add#1[#2]% -% {\begingroup -% \clf_enablebackgroundboxes -% \dousecolorparameter{#2}% -% \normalexpanded{\endgroup#1 -% attr \backgroundattribute \plusone -% attr \colormodelattribute \the\c_attr_colormodel -% attr \colorattribute \the\c_attr_color -% attr \transparencyattribute \the\c_attr_transparency}} -% -% more efficient: - \def\node_backgrounds_boxes_add#1[#2]% {\clf_enablebackgroundboxes #1\backgroundcolorattr{#2}} diff --git a/tex/context/base/mkxl/node-gcm.lmt b/tex/context/base/mkxl/node-gcm.lmt index 8b09fb82b..7f2a7bded 100644 --- a/tex/context/base/mkxl/node-gcm.lmt +++ b/tex/context/base/mkxl/node-gcm.lmt @@ -37,8 +37,9 @@ local function set_components(base,list) end list = getnext(list) end - -- was forgotten: - flush_list(l) + -- not yet as we need them + -- + -- flush_list(l) -- setprop(base,"components",n > 0 and t or false) end @@ -107,6 +108,7 @@ nuts.get_components = get_components nuts.copy_only_glyphs = copy_only_glyphs nuts.copy_no_components = copy_no_components nuts.count_components = count_components +nuts.flush_components = flush_list nuts.setcomponents = function() report_error("unsupported: %a","setcomponents") end nuts.getcomponents = function() report_error("unsupported: %a","getcomponents") end diff --git a/tex/context/base/mkxl/node-rul.mkxl b/tex/context/base/mkxl/node-rul.mkxl index f0f660f22..2ded50c77 100644 --- a/tex/context/base/mkxl/node-rul.mkxl +++ b/tex/context/base/mkxl/node-rul.mkxl @@ -116,27 +116,28 @@ \ifx\p_node_text\empty\else \setbox\b_node_rules\hbox{\p_node_text}% \fi - \setevalue{\??barattribute\currentbar}{\number + \expandafter\integerdef\csname\??barattribute\currentbar\endcsname \clf_definerule - continue {\barparameter\c!continue}% - unit {\barparameter\c!unit}% - order {\barparameter\c!order}% - rulethickness {\barparameter\c!rulethickness}% - method \barparameter\c!method - max \barparameter\c!max\space % number - mp {\includeMPgraphic{\barparameter\c!mp}} - ma \thecolormodelattribute - ca \thecolorattribute\p_node_rules_color - ta \thetransparencyattribute\p_node_rules_color - offset \barparameter\c!offset\space % number - dy \barparameter\c!dy\space % number - empty {\barparameter\c!empty}% + continue {\barparameter\c!continue}% + unit {\barparameter\c!unit}% + order {\barparameter\c!order}% + rulethickness {\barparameter\c!rulethickness}% + method \barparameter\c!method + max \barparameter\c!max\space % number + mp {\includeMPgraphic{\barparameter\c!mp}} + ma \c_attr_colormodel + ca \rawcolorattribute\p_node_rules_color + ta \rawtransparencyattribute\p_node_rules_color + offset \barparameter\c!offset\space % number + dy \barparameter\c!dy\space % number + empty {\barparameter\c!empty}% \ifx\p_node_text\empty\else - % not that useful and efficient, more for testing something - text \b_node_rules - repeat {\barparameter\c!repeat}% + % not that useful and efficient, more for testing something + text \b_node_rules + repeat {\barparameter\c!repeat}% \fi - \relax}} + \relax + \relax} \protected\def\node_rules_redefine#1% {\def\currentbar{#1}\node_rules_define} @@ -498,21 +499,22 @@ \protected\def\node_linefiller_define {\edef\p_node_rules_color{\linefillerparameter\c!color}% - \setevalue{\??linefillerattribute\currentlinefiller}{\number - \clf_definelinefiller - %method \linefillerparameter\c!method - location {\linefillerparameter\c!location}% - scope {\linefillerparameter\c!scope}% - mp {\includeMPgraphic{\linefillerparameter\c!mp}}% - ma \thecolormodelattribute - ca \thecolorattribute\p_node_rules_color - ta \thetransparencyattribute\p_node_rules_color - height \dimexpr\linefillerparameter\c!height\relax - depth \dimexpr\linefillerparameter\c!depth\relax - distance \dimexpr\linefillerparameter\c!distance\relax - threshold \dimexpr\linefillerparameter\c!threshold\relax - rulethickness \dimexpr\linefillerparameter\c!rulethickness\relax - \relax}} + \expandafter\integerdef\csname\??linefillerattribute\currentlinefiller\endcsname + \clf_definelinefiller + %method \linefillerparameter\c!method + location {\linefillerparameter\c!location}% + scope {\linefillerparameter\c!scope}% + mp {\includeMPgraphic{\linefillerparameter\c!mp}}% + ma \c_attr_colormodel + ca \rawcolorattribute\p_node_rules_color + ta \rawtransparencyattribute\p_node_rules_color + height \dimexpr\linefillerparameter\c!height\relax + depth \dimexpr\linefillerparameter\c!depth\relax + distance \dimexpr\linefillerparameter\c!distance\relax + threshold \dimexpr\linefillerparameter\c!threshold\relax + rulethickness \dimexpr\linefillerparameter\c!rulethickness\relax + \relax + \relax} \protected\def\node_linefiller_redefine#1% {\def\currentlinefiller{#1}\node_linefiller_define} diff --git a/tex/context/base/mkxl/page-mcl.mkxl b/tex/context/base/mkxl/page-mcl.mkxl index 3cac820c2..cff4a6a63 100644 --- a/tex/context/base/mkxl/page-mcl.mkxl +++ b/tex/context/base/mkxl/page-mcl.mkxl @@ -529,11 +529,8 @@ \let\strc_itemgroups_start_columns_old\strc_itemgroups_start_columns \let\strc_itemgroups_stop_columns_old \strc_itemgroups_stop_columns -\def\strc_itemgroups_start_columns_new - {\startmulticolumns[\c!n=\itemgroupparameter\c!n]} - -\def\strc_itemgroups_stop_columns_new - {\stopmulticolumns} +\def\strc_itemgroups_start_columns_new{\startmulticolumns[\c!n=\itemgroupparameter\c!n]} +\def\strc_itemgroups_stop_columns_new {\stopmulticolumns} \installtexexperiment {itemize.columns} diff --git a/tex/context/base/mkxl/page-txt.mklx b/tex/context/base/mkxl/page-txt.mklx index f8c77e572..5980277c3 100644 --- a/tex/context/base/mkxl/page-txt.mklx +++ b/tex/context/base/mkxl/page-txt.mklx @@ -405,7 +405,7 @@ \resetlayoutelementparameter\c!righttext \or % 3 \edef\currentlayoutelement{#vertical:#horizontal}% - \letvalueempty{\layoutelementhash\begincsname\??layouttextcontent\v!text:#tag\endcsname\c!middletext}% + \letcsname\layoutelementhash\begincsname\??layouttextcontent\v!text:#tag\endcsname\c!middletext\endcsname\empty \fi} \letvalue{\??layouttextcontent\v!text:\c!middle}\c!middletext diff --git a/tex/context/base/mkxl/scrn-wid.mklx b/tex/context/base/mkxl/scrn-wid.mklx index 40bf95cf5..b35391d19 100644 --- a/tex/context/base/mkxl/scrn-wid.mklx +++ b/tex/context/base/mkxl/scrn-wid.mklx @@ -190,8 +190,8 @@ depth \dimexpr\currentattachmentdepth \relax color {\attachmentparameter\c!color}% colormodel \c_attr_colormodel - colorvalue \numexpr\thecolorattribute{\attachmentparameter\c!color}\relax % or are these chardefs - transparencyvalue \numexpr\thetransparencyattribute{\attachmentparameter\c!color}\relax % or are these chardefs + colorvalue \rawcolorattribute{\attachmentparameter\c!color}% + transparencyvalue \rawtransparencyattribute{\attachmentparameter\c!color}% symbol {\currentattachmentsymbol}% layer {\attachmentparameter\c!textlayer}% % these will be overloaded by registered when available @@ -478,8 +478,8 @@ nx {\commentparameter\c!nx}% ny {\commentparameter\c!ny}% colormodel \c_attr_colormodel - colorvalue \numexpr\thecolorattribute{\commentparameter\c!color}\relax - transparencyvalue \numexpr\thetransparencyattribute{\commentparameter\c!color}\relax + colorvalue \rawcolorattribute{\commentparameter\c!color}% + transparencyvalue \rawtransparencyattribute{\commentparameter\c!color}% option {\commentparameter\c!option}% % todo symbol {\commentparameter\c!symbol}% buffer {\commentparameter\c!buffer}% {\v!comment}% diff --git a/tex/context/base/mkxl/spac-ver.lmt b/tex/context/base/mkxl/spac-ver.lmt index 90eeacf26..f3fa78ddd 100644 --- a/tex/context/base/mkxl/spac-ver.lmt +++ b/tex/context/base/mkxl/spac-ver.lmt @@ -804,7 +804,7 @@ do end local function after() - if fixed then + if b_fixed then b_stretch = 0 b_shrink = 0 else @@ -924,7 +924,7 @@ do end b_done = false b_packed = false - b_grid = gridsnapping + b_grid = grid before() lpegmatch(pattern,str) after() diff --git a/tex/context/base/mkxl/spac-ver.mkxl b/tex/context/base/mkxl/spac-ver.mkxl index 3e68016cc..f2bb68093 100644 --- a/tex/context/base/mkxl/spac-ver.mkxl +++ b/tex/context/base/mkxl/spac-ver.mkxl @@ -402,7 +402,7 @@ \fi} \permanent\protected\def\installwhitespacemethod#1#2% - {\setvalue{\??whitespacemethod#1}{#2}} + {\defcsname\??whitespacemethod#1\endcsname{#2}} \installwhitespacemethod \v!fix {} \installwhitespacemethod \v!fixed {\setfalse\c_spac_whitespace_flexible} @@ -1489,8 +1489,8 @@ \newdimen \globalbodyfontstrutheight \newdimen \globalbodyfontstrutdepth -\permanent\def\snappedvboxattribute{\ifgridsnapping attr\snapvboxattribute\c_attr_snapmethod\fi} -\permanent\def\setlocalgridsnapping{\ifgridsnapping \c_attr_snapvbox \c_attr_snapmethod\fi} +\permanent\def\snappedvboxattribute{\ifgridsnapping attr\snapvboxattribute\c_attr_snapmethod\fi} +\permanent\def\setlocalgridsnapping{\ifgridsnapping \c_attr_snapvbox \c_attr_snapmethod\fi} \def\spac_grids_set_local_snapping#1% {\ifgridsnapping @@ -1502,9 +1502,7 @@ \def\spac_grids_expand_snapper#1% {\edef\m_spac_snapper {\ifempty\m_spac_snapper\else\m_spac_snapper,\fi - \ifcsname\??gridsnappersets#1\endcsname - \lastnamedcs\else#1% - \fi}} + \ifcsname\??gridsnappersets#1\endcsname\lastnamedcs\else#1\fi}} \permanent\protected\def\installsnapvalues#1#2% {\let\m_spac_snapper\empty @@ -1514,10 +1512,10 @@ \scratchcounter\lastnamedcs % already defined \else \scratchcounter\clf_definesnapmethod{#1}{\m_spac_snapper}% - \setevalue{\??gridsnapperattributes\currentsnapper}{\the\scratchcounter}% + \edefcsname\??gridsnapperattributes\currentsnapper\endcsname{\the\scratchcounter}% \fi - \setevalue{\??gridsnappers#1}{\c_attr_snapmethod\the\scratchcounter\relax}% - \letvalue{\??gridsnappersets#1}\m_spac_snapper} + \edefcsname\??gridsnappers#1\endcsname{\c_attr_snapmethod\the\scratchcounter\relax}% + \letcsname\??gridsnappersets#1\endcsname\m_spac_snapper} \permanent\def\theexpandedsnapperset#1{\begincsname\??gridsnappersets#1\endcsname} % only for manuals @@ -1900,13 +1898,13 @@ \permanent\tolerant\protected\def\definevspacingamount[#1]#*[#2]#*[#3]% can be combined {\ifarguments - %setvalue{\??vspacingamount#1}{\lineheight}% + %defcsname\??vspacingamount#1\endcsname{\lineheight}% \or - \setvalue{\??vspacingamount#1}{\lineheight}% + \defcsname\??vspacingamount#1\endcsname{\lineheight}% \or - \setvalue{\??vspacingamount#1}{\ifgridsnapping\lineheight\else#2\fi}% + \defcsname\??vspacingamount#1\endcsname{\ifgridsnapping\lineheight\else#2\fi}% \or - \setvalue{\??vspacingamount#1}{\ifgridsnapping#3\else#2\fi}% + \defcsname\??vspacingamount#1\endcsname{\ifgridsnapping#3\else#2\fi}% \fi \clf_vspacingsetamount{#1}} @@ -2008,7 +2006,7 @@ \fi} \def\spac_vspacing_yes_preset#1% - {\setxvalue{\??vspacing#1}{\clf_vspacing{#1}}% + {\xdefcsname\??vspacing#1\endcsname{\clf_vspacing{#1}}% %\writestatus{}{}% %\writestatus{#1}{\expandafter\meaning\csname\??vspacing#1\endcsname}% %\writestatus{}{}% @@ -2205,11 +2203,11 @@ \permanent\tolerant\protected\def\definevspace[#1]#*[#2]#*[#3]% {\ifarguments \or - \letvalue{\??vspace:#1}\empty % or undefined? + \letcsname\??vspace:#1\endcsname\empty \or - \setvalue{\??vspace:#1}{#2}% + \defcsname\??vspace:#1\endcsname{#2}% \or - \setvalue{\??vspace#1:#2}{#3}% + \defcsname\??vspace#1:#2\endcsname{#3}% \fi} \letvalue{\??vspace:\s!unknown}\zeropoint diff --git a/tex/context/base/mkxl/strc-des.mklx b/tex/context/base/mkxl/strc-des.mklx index e63512c7f..5ff375e49 100644 --- a/tex/context/base/mkxl/strc-des.mklx +++ b/tex/context/base/mkxl/strc-des.mklx @@ -129,7 +129,7 @@ % \description [reference] text \par % \description [reference] {title} text \par -\tolerant\protected\def\strc_descriptions_command[#1]#*[#2]#:#*#=% +\tolerant\protected\def\strc_descriptions_command[#1]#*[#2]% {\begingroup \strc_constructions_initialize{#1}% \ifhastok={#2}% diff --git a/tex/context/base/mkxl/strc-itm.mklx b/tex/context/base/mkxl/strc-itm.mklx index a1de95195..df6272310 100644 --- a/tex/context/base/mkxl/strc-itm.mklx +++ b/tex/context/base/mkxl/strc-itm.mklx @@ -1754,7 +1754,7 @@ \protected\def\startcollectitems % todo: frozen {\ifconditional\c_strc_itemgroups_collecting \c_strc_itemgroups_collected_stored\zerocount - \letvalue{\e!start\v!item}\strc_itemgroups_collected_store + \letcsname\e!start\v!item\endcsname\strc_itemgroups_collected_store \fi} %D Left-overs: diff --git a/tex/context/base/mkxl/tabl-ntb.mkxl b/tex/context/base/mkxl/tabl-ntb.mkxl index 51e718b9a..67288c83e 100644 --- a/tex/context/base/mkxl/tabl-ntb.mkxl +++ b/tex/context/base/mkxl/tabl-ntb.mkxl @@ -838,10 +838,10 @@ %D %D \typebuffer \getbuffer -\tolerant\def\tabl_ntb_th[#1]#2\eTH +\tolerant\def\tabl_ntb_th[#1]#:#2\eTH {\tabl_ntb_td[#1,\c!color=\naturaltablelocalparameter\c!headcolor,\c!style=\naturaltablelocalparameter\c!headstyle,\c!aligncharacter=\v!no]#2\eTD} -\tolerant\def\tabl_ntb_tn[#1]#2\eTN +\tolerant\def\tabl_ntb_tn[#1]#:#2\eTN {\tabl_ntb_td[#1]\digits#2\relax\eTD} %D Vit Zyka needed the option to create a distance between columns, so I added diff --git a/tex/context/base/mkxl/typo-dir.mkxl b/tex/context/base/mkxl/typo-dir.mkxl index 693a49c18..dd87a7299 100644 --- a/tex/context/base/mkxl/typo-dir.mkxl +++ b/tex/context/base/mkxl/typo-dir.mkxl @@ -52,7 +52,7 @@ % maybe use chardefs \def\typo_dir_get_mode - {\edef\currentbidimode{\clf_getbidimode + {\def\currentbidimode{\clf_getbidimode % test edef scope {\directionsparameter\c!bidi}% method {\directionsparameter\c!method}% fences {\directionsparameter\c!fences}% diff --git a/tex/context/base/mkxl/typo-prc.mklx b/tex/context/base/mkxl/typo-prc.mklx index fa8bf2c07..9531949b8 100644 --- a/tex/context/base/mkxl/typo-prc.mklx +++ b/tex/context/base/mkxl/typo-prc.mklx @@ -55,7 +55,7 @@ \installcommandhandler \??processor {processor} \??processor \appendtoks - \letvalue{\??processorcheck\currentprocessor}\relax + \letcsname\??processorcheck\currentprocessor\endcsname\relax \clf_registerstructureprocessor{\currentprocessor}% global, but it permits using processor that are yet undefined \to \everydefineprocessor diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 8b4ae8542..bdaa695f5 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 : 2020-11-24 18:58 +-- merge date : 2020-11-25 16:53 do -- begin closure to overcome local limits and interference @@ -26627,6 +26627,7 @@ local copy_only_glyphs=nuts.copy_only_glyphs local count_components=nuts.count_components local set_components=nuts.set_components local get_components=nuts.get_components +local flush_components=nuts.flush_components local ischar=nuts.ischar local usesfont=nuts.uses_font local insert_node_after=nuts.insert_after @@ -26831,6 +26832,7 @@ local function markstoligature(head,start,stop,char) setsubtype(base,ligatureglyph_code) set_components(base,start) setlink(prev,base,next) + flush_components(start) return head,base end end @@ -26910,6 +26912,7 @@ local function toligature(head,start,stop,char,dataset,sequence,skiphash,discfou break end end + flush_components(components) else local discprev,discnext=getboth(discfound) if discprev and discnext then |