diff options
-rw-r--r-- | tex/context/base/anch-pgr.mkiv | 2 | ||||
-rw-r--r-- | tex/context/base/cont-new.mkii | 2 | ||||
-rw-r--r-- | tex/context/base/cont-new.mkiv | 2 | ||||
-rw-r--r-- | tex/context/base/context-version.pdf | bin | 4075 -> 4071 bytes | |||
-rw-r--r-- | tex/context/base/context-version.png | bin | 106425 -> 106448 bytes | |||
-rw-r--r-- | tex/context/base/context.mkii | 2 | ||||
-rw-r--r-- | tex/context/base/context.mkiv | 2 | ||||
-rw-r--r-- | tex/context/base/core-con.mkiv | 40 | ||||
-rw-r--r-- | tex/context/base/font-ini.mkiv | 69 | ||||
-rw-r--r-- | tex/context/base/mult-sys.mkiv | 1 | ||||
-rw-r--r-- | tex/context/base/pack-rul.mkiv | 21 | ||||
-rw-r--r-- | tex/context/base/page-bck.mkiv | 72 | ||||
-rw-r--r-- | tex/context/base/status-files.pdf | bin | 23963 -> 23978 bytes | |||
-rw-r--r-- | tex/context/base/status-lua.pdf | bin | 169723 -> 169719 bytes | |||
-rw-r--r-- | tex/context/base/strc-itm.mkvi | 4 | ||||
-rw-r--r-- | tex/context/base/symb-ini.mkiv | 28 | ||||
-rw-r--r-- | tex/generic/context/luatex/luatex-fonts-merged.lua | 2 |
17 files changed, 128 insertions, 119 deletions
diff --git a/tex/context/base/anch-pgr.mkiv b/tex/context/base/anch-pgr.mkiv index 45843c76d..d957bb6dd 100644 --- a/tex/context/base/anch-pgr.mkiv +++ b/tex/context/base/anch-pgr.mkiv @@ -13,6 +13,8 @@ \writestatus{loading}{ConTeXt Anchoring Macros / Grapics} +%D We can use the commandhandler here. + %D Before we come to graphics support, we have to make sure of %D the reference point on the page. The next macro does so and %D is hooked into the page building routine. diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index e9d6830b9..91f661c53 100644 --- a/tex/context/base/cont-new.mkii +++ b/tex/context/base/cont-new.mkii @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2011.12.18 15:57} +\newcontextversion{2011.12.19 00:49} %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/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 4b5026201..f06d41d2d 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2011.12.18 15:57} +\newcontextversion{2011.12.19 00:49} %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/context-version.pdf b/tex/context/base/context-version.pdf Binary files differindex a67105ca2..f1a7d7efe 100644 --- a/tex/context/base/context-version.pdf +++ b/tex/context/base/context-version.pdf diff --git a/tex/context/base/context-version.png b/tex/context/base/context-version.png Binary files differindex d62edb2fa..5e89d54f7 100644 --- a/tex/context/base/context-version.png +++ b/tex/context/base/context-version.png diff --git a/tex/context/base/context.mkii b/tex/context/base/context.mkii index 7969db645..51adcf0a0 100644 --- a/tex/context/base/context.mkii +++ b/tex/context/base/context.mkii @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2011.12.18 15:57} +\edef\contextversion{2011.12.19 00:49} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 1a3a24eb0..35cc7f31b 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -20,7 +20,7 @@ %D your styles an modules. \edef\contextformat {\jobname} -\edef\contextversion{2011.12.18 15:57} +\edef\contextversion{2011.12.19 00:49} %D For those who want to use this: diff --git a/tex/context/base/core-con.mkiv b/tex/context/base/core-con.mkiv index d8820050a..a0e76a2fa 100644 --- a/tex/context/base/core-con.mkiv +++ b/tex/context/base/core-con.mkiv @@ -158,11 +158,18 @@ %D These conversions are dedicated to Frans Goddijn. \unexpanded\def\oldstylenumerals#1% - {{\os\number#1}} + {\begingroup + \os\number#1% + \endgroup} -\unexpanded\def\oldstyleromannumerals#1% - {{\leftrulefalse\rightrulefalse\ss\txx\boxrulewidth.15ex - \ruledhbox spread .15em{\hss\uppercased{\romannumerals{#1}}\hss}}} +\unexpanded\def\oldstyleromannumerals#1% will become obsolete + {\begingroup + \leftrulefalse + \rightrulefalse + \ss\txx + \boxrulewidth.15ex + \ruledhbox spread .15em{\hss\uppercased{\romannumerals{#1}}\hss}% + \endgroup} %D \macros %D {protectconversion} @@ -172,8 +179,7 @@ %D introduce: \def\protectconversion - {\def\doconvertcharacters##1{##1}} % was \relax - %{\def\doconvertcharacters##1{\ifcase0##1 0\else##1\fi}} more save + {\let\doconvertcharacters\firstofoneargument} %D \macros %D {normaltime,normalyear,normalmonth,normalday} @@ -212,13 +218,13 @@ %D \showsetup{month} %D \showsetup{MONTH} -\def\monthlong {\doconvertmonthlong} -\def\monthshort{\doconvertmonthshort} -\def\month {\doconvertmonth} +\let\monthlong \doconvertmonthlong % was \def +\let\monthshort\doconvertmonthshort % was \def +\let\month \doconvertmonth % was \def -\def\MONTH #1{{\WORD{\month {#1}}}} -\def\MONTHLONG #1{{\WORD{\monthlong {#1}}}} -\def\MONTHSHORT#1{{\WORD{\monthshort{#1}}}} +\def\MONTH #1{\WORD{\month {#1}}} +\def\MONTHLONG #1{\WORD{\monthlong {#1}}} +\def\MONTHSHORT#1{\WORD{\monthshort{#1}}} %D We never explicitly needed this, but Tobias Burnus pointed %D out that it would be handy to convert to the day of the @@ -286,7 +292,7 @@ {\doconvertday} \def\WEEKDAY#1% - {{\WORD{\doconvertday{#1}}}} + {\WORD{\doconvertday{#1}}} %D \macros %D {weekoftheday} @@ -497,24 +503,24 @@ %D \type{\normalday} can be used for for date manipulations. \long\def\processmonth#1#2#3% year month command - {\bgroup + {\begingroup \getdayspermonth{#1}{#2}% \dostepwiserecurse1\numberofdays1% {\normalyear #1\relax \normalmonth#2\relax \normalday \recurselevel\relax #3}% - \egroup} + \endgroup} \def\lastmonth{12} % can be set to e.g. 1 when testing \long\def\processyear#1#2#3#4% year command before after - {\bgroup + {\begingroup \dorecurse\lastmonth {\normalyear #1\relax \normalmonth\recurselevel\relax #3\processmonth\normalyear\normalmonth{#2}#4}% - \egroup} + \endgroup} %D \macros %D {defineconversion, convertnumber} diff --git a/tex/context/base/font-ini.mkiv b/tex/context/base/font-ini.mkiv index 99018eb2b..14376b733 100644 --- a/tex/context/base/font-ini.mkiv +++ b/tex/context/base/font-ini.mkiv @@ -459,6 +459,13 @@ \def\@noletter@ {@f@no@} % second alternative typeface \def\@fontclass@ {@f@cl@} % fontclass +% \edef\@size@ {\??fh:b:} % bodyfont size prefix (12pt etc) +% \edef\@style@ {\??fh:f:} % full style prefix (roman etc) +% \edef\@shortstyle@ {\??fh:s:} % short style prefix (rm etc) +% \edef\@letter@ {\??fh:l:} % first alternative typeface +% \edef\@noletter@ {\??fh:n:} % second alternative typeface +% \edef\@fontclass@ {\??fh:c:} % fontclass + %D \macros %D {fontclass, defaultfontclass} %D @@ -1484,21 +1491,6 @@ \the\everyfontswitch \let\rawfontidentifier\oldrawfontidentifier} -% \unexpanded\def\xxdododefinefont#1#2#3#4% \autofontsizetrue is set by calling routine -% {\edef\lastfontidentifier{#1}% -% \ifcsname\newfontidentifier\endcsname\else -% \def\localrelativefontsize{#2}% -% \def\localabsolutefontsize{#3}% -% \lowleveldefinefont{#4}\newfontidentifier -% \fi -% \csname\newfontidentifier\endcsname -% \autofontsizefalse -% \ifskipfontcharacteristics \else -% \setfontcharacteristics -% \the\everyfontswitch -% \fi -% \let\newfontidentifier\oldnewfontidentifier} - \unexpanded\def\xxdododefinefont#1% {\edef\lastfontidentifier{#1}% \ifcsname\newfontidentifier\endcsname @@ -2455,12 +2447,6 @@ \everyvbox{\zerostagepreloadfonts} \to \everydump -% \def\firststagepreloadfonts % see core-def.mkiv -% {\doifmodeelse{*nofonts} -% {\writestatus\m!fonts{latin modern fonts are not preloaded}} -% {\preloaddefaultfonts -% \writestatus\m!fonts{preloading latin modern fonts (first stage)}}} - \def\firststagepreloadfonts % *nofonts -> *preloadfonts {\doifmodeelse{*preloadfonts} {\preloaddefaultfonts @@ -3493,7 +3479,7 @@ %D (a rather small period indeed), the same as \PICTEX\ uses %D for drawing purposes. -\definefont [rasterfont] [Serif at 5pt] +\definefont [rasterfont] [Serif at 5pt] % obsolete %D \macros %D {infofont} @@ -3791,17 +3777,19 @@ \def\setemphasisboldface {\let\savedemphasisboldface\bf \let\setemphasisboldface\relax - \unexpanded\def\bf - {%\relax - \let\bf\relax % new - \ifx\fontalternative\c!it - \bi - \else\ifx\fontalternative\c!sl - \bs - \else - \savedemphasisboldface - \fi\fi - \let\bf\savedemphasisboldface}} + \let\bf\emphasisboldface_bf} + +\unexpanded\def\emphasisboldface_bf + {%\relax + \let\bf\relax % new + \ifx\fontalternative\c!it + \bi + \else\ifx\fontalternative\c!sl + \bs + \else + \savedemphasisboldface + \fi\fi + \let\bf\savedemphasisboldface} %D Donald's (adapted) macros take the next character into %D account when placing italic correction. As a bonus we also @@ -3879,12 +3867,13 @@ %D {emphbf,emphit,emphsl,emphtf} %D %D The next emphasis alternatives are for \THANH. They adapt -%D their style as good as possible. +%D their style as good as possible. These macros are obsolete +%D in \MKIV. -\def\emphbf{\groupedcommand{\bf\def\emphit{\bi}\def\emphsl{\bs}}{}} -\def\emphit{\groupedcommand{\it\def\emphbf{\bi}\def\emphsl{\sl}}{}} -\def\emphsl{\groupedcommand{\sl\def\emphbf{\bs}\def\emphit{\it}}{}} -\def\emphtf{\groupedcommand{\tf\def\emphbf{\bf}\def\emphit{\it}\def\emphsl{\sl}}{}} +\unexpanded\def\emphbf{\groupedcommand{\bf\def\emphit{\bi}\def\emphsl{\bs}}{}} +\unexpanded\def\emphit{\groupedcommand{\it\def\emphbf{\bi}\def\emphsl{\sl}}{}} +\unexpanded\def\emphsl{\groupedcommand{\sl\def\emphbf{\bs}\def\emphit{\it}}{}} +\unexpanded\def\emphtf{\groupedcommand{\tf\def\emphbf{\bf}\def\emphit{\it}\def\emphsl{\sl}}{}} %D \startbuffer %D TEXT {\emphbf text \emphit text \emphtf text \emphsl text} TEXT @@ -4168,8 +4157,8 @@ %D \type{\SS}. Ok, I should have used \type{\sf} instead of %D \type{\ss} in the first place. -\ifx\undefined\SS \let\SS=\ss \fi -\ifx\undefined\sz \let\sz=\ss \fi +\ifdefined\SS \else \let\SS=\ss \fi +\ifdefined\sz \else \let\sz=\ss \fi %D Personally I think that using \TEX\ macro packages is %D complicated by the way fonts are handled. Apart from the diff --git a/tex/context/base/mult-sys.mkiv b/tex/context/base/mult-sys.mkiv index 6c2ef2502..09918ba6c 100644 --- a/tex/context/base/mult-sys.mkiv +++ b/tex/context/base/mult-sys.mkiv @@ -543,6 +543,7 @@ \definesystemvariable {fe} % FoxetExtensions \definesystemvariable {ff} % FontFile \definesystemvariable {fg} % FiGuurmaten +\definesystemvariable {fh} % FontHash \definesystemvariable {fi} % FIle \definesystemvariable {fl} % Floats \definesystemvariable {fm} % ForMules diff --git a/tex/context/base/pack-rul.mkiv b/tex/context/base/pack-rul.mkiv index f3de471f3..a7af6b50c 100644 --- a/tex/context/base/pack-rul.mkiv +++ b/tex/context/base/pack-rul.mkiv @@ -13,6 +13,9 @@ \writestatus{loading}{ConTeXt Packaging Macros / Ruled Content} +% eventually this will use the commandhandler code (same trick as with itemize) +% rulethickness push/pop will go + %D redo framedtexts like framedcontent (parameter stuff) %D After a few months testing this solution is now added @@ -714,14 +717,14 @@ \box\framebox \egroup} -%D Here is another fast one: +%D The next macro uses a box and takes its natural width and +%D height so these can better be correct. -\def\localbackgroundframed#1#2#3#4#5% namespace location box wd ht - {\setbox#3\vbox\bgroup - \doinitializeframed{#1#2}% watch out! am used here - \expandafter\def\csname#1#2\c!component\endcsname{#2}% - % \expandafter\def\csname#1#2\c!width \endcsname{#4}% - % \expandafter\def\csname#1#2\c!height \endcsname{#5}% +\def\localbackgroundframed#1#2#3% namespace component box + {\bgroup + \doinitializeframed{#1}% + \expandafter\def\csname\@@framed\c!component\endcsname{#2}% watch out: hard coded @@framed + \setbox\framebox\box#3% \!!framedframeoffset\framedparameter\c!frameoffset \edef\@@framedbackgroundoffset{\framedparameter\c!backgroundoffset}% \ifx\@@framedbackgroundoffset\v!frame @@ -729,10 +732,6 @@ \else \!!framedbackgroundoffset\@@framedbackgroundoffset \fi - \setbox\framebox\box#3% - \wd\framebox#4% - \ht\framebox#5% - \dp\framebox\zeropoint \edef\framedbackground {\framedparameter\c!background}% \edef\framedrulethickness{\framedparameter\c!rulethickness}% \edef\@@localframing {\framedparameter\c!frame}% diff --git a/tex/context/base/page-bck.mkiv b/tex/context/base/page-bck.mkiv index 164549d9d..31d440771 100644 --- a/tex/context/base/page-bck.mkiv +++ b/tex/context/base/page-bck.mkiv @@ -12,6 +12,10 @@ %C details. % todo: ma:r:c +% +% Currently the text cells are fakes and no (foreground) frames which +% makes sense as order might matter e.g. is text sticks in other +% cells. The page, text etc ares do support foreground order change. \writestatus{loading}{ConTeXt Page Macros / Backgrounds} @@ -143,17 +147,22 @@ %D macro. This means that all normal frame and overlay %D features can be used. -\def\page_backgrounds_add_to_box#1#2#3#4% area box width height / zero test added +\def\page_backgrounds_add_to_box#1% area {\ifcsname\??ma#1\endcsname - \ifdim#3>\zeropoint - \ifdim#4>\zeropoint - \ifcsname\??ma#1\c!setups\endcsname % to be done - \doprocesslocalsetups{\csname\??ma#1\c!setups\endcsname}% should not produce funny spaces ! - \fi - \localbackgroundframed\??ma{#1}{#2}{#3}{#4}% - \fi - \fi - \fi} + \expandafter\page_backgrounds_add_to_box_indeed + \else + \expandafter\gobblefourarguments + \fi#1} + +% we don't need the dimensions here as this is a real framed but the question is: do we indeed +% need a real framed or can we use a fake (i.e. no foreground, only for hidden) + +\def\page_backgrounds_add_to_box_indeed#1#2#3#4% area box width height / always non zero + {\ifcsname\??ma#1\c!setups\endcsname % to be done + \doprocesslocalsetups{\csname\??ma#1\c!setups\endcsname}% should not produce funny spaces ! + \fi + % #2 has the right dimensions already + \setbox#2\hbox{\localbackgroundframed{\??ma#1}#1#2}}% a real framed (including foreground) %D There are quite some backgrounds. At the bottom layer, %D there is the {\em paper} background. This one is only @@ -335,28 +344,28 @@ % \fi \vskip\dimexpr-\topheight-\topdistance\relax \ifdim\topheight>\zeropoint - \page_backgrounds_set_box_column\v!top\topheight + \page_backgrounds_set_box_row\v!top\topheight \fi \vskip\topdistance \ifdim\headerheight>\zeropoint - \page_backgrounds_set_box_column\v!header\headerheight + \page_backgrounds_set_box_row\v!header\headerheight \fi \vskip\headerdistance \ifdim\textheight>\zeropoint - \page_backgrounds_set_box_column\v!text\textheight + \page_backgrounds_set_box_row\v!text\textheight \fi \vskip\footerdistance \ifdim\footerheight>\zeropoint - \page_backgrounds_set_box_column\v!footer\footerheight + \page_backgrounds_set_box_row\v!footer\footerheight \fi \vskip\bottomdistance \ifdim\bottomheight>\zeropoint - \page_backgrounds_set_box_column\v!bottom\bottomheight + \page_backgrounds_set_box_row\v!bottom\bottomheight \fi \vfilll}% \smashbox#1} -\def\page_backgrounds_set_box_column#1#2% maybe helper +\def\page_backgrounds_set_box_row#1#2% maybe helper {\setbox\scratchbox\vbox to #2 \bgroup\hbox\bgroup \goleftonpage @@ -410,16 +419,31 @@ % [\c!component=#1:#2]% % {\vbox to #4{\vss\hbox to#3{\hss\csname\??ma#1#2\c!command\endcsname\hss}\vss}}} +% these are fake framed .. maybe it's nicer to honor foreground here as well +% but it's probably a slow downer + \def\page_backgrounds_set_box_cell#1#2#3#4% pos pos width height {\begingroup \ifcsname\??ma#1#2\c!setups\endcsname \doprocesslocalsetups{\csname\??ma#1#2\c!setups\endcsname}% should not produce funny spaces ! \fi - \setbox\scratchbox\hbox{\csname\??ma#1#2\c!command\endcsname}% - \localbackgroundframed\??ma{#1#2}\scratchbox#3#4% - \box\scratchbox + \ifcsname\??ma#1#2\c!command\endcsname + \expandafter\page_backgrounds_set_box_cell_nop + \else + \expandafter\page_backgrounds_set_box_cell_yes + \fi#1#2#3#4% + \localbackgroundframed{\??ma#1#2}{#1:#2}\scratchbox \endgroup} +\def\page_backgrounds_set_box_cell_nop#1#2#3#4% + {\setbox\scratchbox\emptyvbox + \wd\scratchbox#3% + \ht\scratchbox#4} + +\def\page_backgrounds_set_box_cell_yes#1#2#3#4% + {\setbox\scratchbox\vbox to #4{\vss\hbox to#3{\hss\csname\??ma#1#2\c!command\endcsname\hss}\vss}% + \dp\scratchbox\zeropoint} + %D The background mechanism is quite demanding in terms or %D resources. We used to delay these definitions till runtime %D usage, but since today's \TEX's are large, we now do the @@ -494,6 +518,8 @@ %D Each areas (currently there are $1+3+25+1=30$ of them) %D has its own low level framed object associated. +% hm, we can delay them + \unexpanded\def\installsomebackground#1#2{\inheritlocalframed[\??ma#1#2][\??od]} \installsomebackground \v!paper \empty @@ -594,11 +620,9 @@ % {\setbox#1\hbox{\fastlocalframed[\??ma\v!local][]{\registerMPlocaltextarea{\box#1}}}% % \global\advance\localpositionnumber\plusone} % afterwards ! -\def\page_backgrounds_add_local_to_box_indeed#1% patch yet unchecked, \doglobal support is gone - {\scratchwidth \wd#1% - \scratchheight\ht#1% - \setbox#1\hbox{\registerMPlocaltextarea{\box#1}}% - \setbox#1\hbox{\localbackgroundframed\??ma\v!local#1\scratchwidth\scratchheight}% +\def\page_backgrounds_add_local_to_box_indeed#1% + {\setbox#1\hbox{\registerMPlocaltextarea{\box#1}}% + \setbox#1\hbox{\localbackgroundframed{\??ma\v!local}\v!local#1}% \global\advance\localpositionnumber\plusone} % afterwards ! % Test how previous macro behaves with depth: diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf Binary files differindex 38db9bfd2..47193ae79 100644 --- a/tex/context/base/status-files.pdf +++ b/tex/context/base/status-files.pdf diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf Binary files differindex 75a569f81..fa85f0670 100644 --- a/tex/context/base/status-lua.pdf +++ b/tex/context/base/status-lua.pdf diff --git a/tex/context/base/strc-itm.mkvi b/tex/context/base/strc-itm.mkvi index 3d3a7f953..0dc06b105 100644 --- a/tex/context/base/strc-itm.mkvi +++ b/tex/context/base/strc-itm.mkvi @@ -541,10 +541,10 @@ {\normal_setup_itemgroup[#category][\c!option={#whatever}]}} \def\itemgroups_setup_list_level_a#category#whatever#level% - {\normal_setup_itemgroup[#category:#level][\c!option={#whatever}]} + {\normal_setup_itemgroup[#category:#level][#whatever]} \def\itemgroups_setup_list_level_b#category#whatever#level% - {\normal_setup_itemgroup[#category:#level][#whatever]} + {\normal_setup_itemgroup[#category:#level][\c!option={#whatever}]} \def\itemgroups_setup_list#subcategories#category#whatever% {\doifassignmentelse{#whatever} diff --git a/tex/context/base/symb-ini.mkiv b/tex/context/base/symb-ini.mkiv index c58429074..8ccd8552f 100644 --- a/tex/context/base/symb-ini.mkiv +++ b/tex/context/base/symb-ini.mkiv @@ -45,7 +45,7 @@ % ss:tag -> symbol % ss:set:tag -> symbol out of set -% sstag -> list of symbols in set +% ss*tag -> list of symbols in set \unexpanded\def\definesymbol {\dotripleempty\dodefinesymbol} @@ -59,12 +59,6 @@ \addvalue{\??ss*\currentsymboldef}{#1}% \fi} -% \def\doifinsymbolsetelse#1#2{\doifdefinedelse{\??ss:#1:#2}} -% \def\doifinsymbolset #1#2{\doifdefined {\??ss:#1:#2}} -% \def\doifsymbolsetelse #1{\doifdefinedelse{\??ss*#1}} -% -% \def\symbolset#1{\executeifdefined{\??ss*#1}\empty} % no [#1], to be used in commalists etc - \def\doifinsymbolsetelse#1#2{\ifcsname\??ss:#1:#2\endcsname\@EA\firstoftwoarguments\else\@EA\secondoftwoarguments\fi} \def\doifinsymbolset #1#2{\ifcsname\??ss:#1:#2\endcsname\@EA\firstofoneargument \else\@EA\gobbleoneargument \fi} \def\doifsymbolsetelse #1{\ifcsname\??ss*#1\endcsname \@EA\firstoftwoarguments\else\@EA\secondoftwoarguments\fi} @@ -76,7 +70,7 @@ %D Since symbols are used frequently in interactive %D documents, we speed up this one. Well, that was history, %D since now we simplified things a bit, because the low -%D level macros have been sped up now and then. +%D level macros have been sped up every now and then. \unexpanded\def\symbol % This one always gobbles spaces, {\dodoubleempty\dosymbol} % so never change it again! @@ -112,8 +106,6 @@ \secondargumentfalse \donormalsymbol[#3][]} -% \doifinsymbolset{#1}{#2}{\dodosymbol{#1}{#2}} - \def\donormalsymbol[#1][#2]% {\nosymboltrue \ifsecondargument @@ -131,8 +123,6 @@ \fi \fi} -% \doifinsymbolset{#1}\currentsymbol{\dodosymbol{#1}\currentsymbol} - \def\fetchsymbol#1% {\ifnosymbol \ifcsname\??ss:#1:\currentsymbol\endcsname @@ -140,8 +130,6 @@ \fi \fi} -% \doifinsymbolsetelse\empty{#1}{\dodosymbol\empty}\firstofoneargument{#1}} - \def\redosymbol#1% {\ifcsname\??ss::#1\endcsname \dodosymbol\empty{#1}% @@ -165,8 +153,8 @@ \def\figuresymbol {\dodoubleempty\dofiguresymbol} -\ifx\externalfigure \undefined \def\externalfigure[#1][#2]{#1} \fi -\ifx\resetexternalfigures\undefined \let\resetexternalfigures\relax \fi +\ifdefined\externalfigure \else \def\externalfigure[#1][#2]{#1} \fi +\ifdefined\resetexternalfigures \else \let\resetexternalfigures\relax \fi \def\dofiguresymbol[#1][% #2]% {\externalfigure[#1][\c!reset=\v!yes,\c!symbol=\v!yes,\c!height=\defaultsymbolheight,}% #2]} @@ -197,7 +185,7 @@ {\doifinsymbolset\empty\currentsymbol\nosymbolfalse} \def\doifsymboldefinedelse#1% - {\bgroup + {\begingroup \edef\currentsymbol{#1}% \let\fetchsymbol\xfetchsymbol \nosymboltrue @@ -205,12 +193,12 @@ \ifnosymbol \xredosymbol\currentsymbol \ifnosymbol - \egroup\@EAEAEA\secondoftwoarguments + \endgroup\@EAEAEA\secondoftwoarguments \else - \egroup\@EAEAEA\firstoftwoarguments + \endgroup\@EAEAEA\firstoftwoarguments \fi \else - \egroup\@EA\firstoftwoarguments + \endgroup\@EA\firstoftwoarguments \fi} %D \macros diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index b7d294495..4917f63f4 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 : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 12/18/11 15:57:08 +-- merge date : 12/19/11 00:49:41 do -- begin closure to overcome local limits and interference |