From ec4dce665a02c1243ff358b84df1ecfb6ceb5594 Mon Sep 17 00:00:00 2001 From: Context Git Mirror Bot Date: Mon, 10 Aug 2015 20:15:04 +0200 Subject: 2015-08-10 19:48:00 --- tex/context/base/back-exp.lua | 78 ++++++-- tex/context/base/back-exp.mkiv | 14 ++ tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4204 -> 4207 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/export-example.css | 26 ++- tex/context/base/mult-def.mkiv | 4 + tex/context/base/page-txt.mkvi | 4 +- tex/context/base/s-fonts-charts.mkiv | 204 +++++++++++++++++++++ tex/context/base/status-files.pdf | Bin 24444 -> 24430 bytes tex/context/base/status-lua.pdf | Bin 255469 -> 255546 bytes tex/context/base/strc-tag.lua | 21 ++- tex/context/base/strc-tag.mkiv | 4 + tex/context/base/typo-cap.lua | 5 +- tex/context/base/typo-del.mkiv | 99 +++++++--- tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 16 files changed, 413 insertions(+), 52 deletions(-) create mode 100644 tex/context/base/s-fonts-charts.mkiv (limited to 'tex') diff --git a/tex/context/base/back-exp.lua b/tex/context/base/back-exp.lua index 27b4db8ef..24b1d9457 100644 --- a/tex/context/base/back-exp.lua +++ b/tex/context/base/back-exp.lua @@ -19,7 +19,6 @@ if not modules then modules = { } end modules ['back-exp'] = { -- tocs/registers -> maybe add a stripper (i.e. just don't flush entries in final tree) -- footnotes -> css 3 -- bodyfont -> in styles.css --- delimited -> left/right string (needs marking) -- Because we need to look ahead we now always build a tree (this was optional in -- the beginning). The extra overhead in the frontend is neglectable. @@ -35,11 +34,11 @@ if not modules then modules = { } end modules ['back-exp'] = { -- check setting __i__ local next, type, tonumber = next, type, tonumber -local concat, sub, gsub = table.concat, string.sub, string.gsub +local sub, gsub = string.sub, string.gsub local validstring = string.valid local lpegmatch = lpeg.match local utfchar, utfvalues = utf.char, utf.values -local insert, remove = table.insert, table.remove +local concat, insert, remove, merge = table.concat, table.insert, table.remove, table.merge local sortedhash = table.sortedhash local formatters = string.formatters local todimen = number.todimen @@ -139,8 +138,7 @@ local specifications = structurestags.specifications local properties = structurestags.properties local locatedtag = structurestags.locatedtag -local usewithcare = { } -structurestags.usewithcare = usewithcare +structurestags.usewithcare = { } local starttiming = statistics.starttiming local stoptiming = statistics.stoptiming @@ -314,7 +312,6 @@ function wrapups.hashlistdata() local tag = ci.references.tag if tag then local m = ci.metadata --- listdata[m.kind .. ":" .. m.name .. "-" .. tag] = ci listdata[m.kind .. ">" .. tag] = ci end end @@ -629,6 +626,44 @@ do end +do + + local symbols = { } + + function structurestags.settagdelimitedsymbol(symbol) + symbols[locatedtag("delimitedsymbol")] = { + symbol = symbol, + } + end + + function extras.delimitedsymbol(di,element,n,fulltag) + local hash = symbols[fulltag] + if hash then + setattribute(di,"symbol",hash.symbol or nil) + end + end + +end + +do + + local symbols = { } + + function structurestags.settagsubsentencesymbol(symbol) + symbols[locatedtag("subsentencesymbol")] = { + symbol = symbol, + } + end + + function extras.subsentencesymbol(di,element,n,fulltag) + local hash = symbols[fulltag] + if hash then + setattribute(di,"symbol",hash.symbol or nil) + end + end + +end + do local itemgroups = { } @@ -774,11 +809,11 @@ end do - local image = { } - usedimages.image = image - usewithcare.images = image + local f_id = formatters["%s-%s"] + local image = { } + usedimages.image = image - local f_id = formatters["%s-%s"] + structurestags.usewithcare.images = image function structurestags.setfigure(name,used,page,width,height,label) local fulltag = locatedtag("image") @@ -3196,13 +3231,16 @@ local htmltemplate = [[ at.href = nil at.detail = nil at.chain = nil + elseif tg == "metavariable" then + at.detail = "metaname-" .. at.name + class = makeclass(tg,at) else class = makeclass(tg,at) end - local id = at.id - local href = at.href + local id = at.id + local href = at.href if id then - id = lpegmatch(p_cleanid, id) or id + id = lpegmatch(p_cleanid, id) or id if href then href = lpegmatch(p_cleanhref,href) or href c.at = { @@ -3515,7 +3553,7 @@ local htmltemplate = [[ local enableaction = nodes.tasks.enableaction function structurestags.setupexport(t) - table.merge(finetuning,t) + merge(finetuning,t) keephyphens = finetuning.hyphen == v_yes exportproperties = finetuning.properties if exportproperties == v_no then @@ -3595,6 +3633,18 @@ implement { arguments = "string" } +implement { + name = "settagdelimitedsymbol", + actions = structurestags.settagdelimitedsymbol, + arguments = "string" +} + +implement { + name = "settagsubsentencesymbol", + actions = structurestags.settagsubsentencesymbol, + arguments = "string" +} + implement { name = "settagsynonym", actions = structurestags.setsynonym, diff --git a/tex/context/base/back-exp.mkiv b/tex/context/base/back-exp.mkiv index ed521e652..9a932043f 100644 --- a/tex/context/base/back-exp.mkiv +++ b/tex/context/base/back-exp.mkiv @@ -187,6 +187,20 @@ \fi}% \to \everyenableelements +\appendtoks + \unexpanded\def\dotagsetdelimitedsymbol#1% + {\iftrialtypesetting\else + \clf_settagdelimitedsymbol{#1}\relax + \fi}% +\to \everyenableelements + +\appendtoks + \unexpanded\def\dotagsetsubsentencesymbol#1% + {\iftrialtypesetting\else + \clf_settagsubsentencesymbol{#1}\relax + \fi}% +\to \everyenableelements + \appendtoks \let\specialfixedspace \explicitfixedspace \let\specialobeyedspace \explicitobeyedspace diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index e3ad1e54b..1dd6f16ae 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{2015.08.10 13:49} +\newcontextversion{2015.08.10 19:46} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf index d39ae1fe3..36281b2ef 100644 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 6613a54fa..4b062f46e 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -39,7 +39,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2015.08.10 13:49} +\edef\contextversion{2015.08.10 19:46} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/export-example.css b/tex/context/base/export-example.css index f44755892..8c7ae3bfc 100644 --- a/tex/context/base/export-example.css +++ b/tex/context/base/export-example.css @@ -560,9 +560,13 @@ listpage, context|div.listpage { display : none ; } -/* delimitedblock : display */ -/* delimited : inline */ -/* subsentence : inline */ +/* delimitedblock : display */ +/* delimited : inline */ +/* delimitedsymbol : inline */ +/* delimitedcontent : inline */ +/* subsentence : inline */ +/* subsentencesymbol : inline */ +/* subsentencecontent : inline */ /* :lang(en) */ @@ -594,6 +598,14 @@ delimited, context|div.delimited { display : inline } +delimitedcontent, context|div.delimitedcontent { + display : inline +} + +delimitedsymbol, context|div.delimitedsymbol { + display : inline +} + delimitedblock, context|div.delimitedblock { display : block } @@ -606,6 +618,14 @@ subsentence, context|div.subsentence { display : inline } +subsentencecontent, context|div.subsentencecontent { + display : inline +} + +subsentencesymbol, context|div.subsentencesymbol { + display : inline +} + /* label : mixed */ /* number : mixed */ diff --git a/tex/context/base/mult-def.mkiv b/tex/context/base/mult-def.mkiv index c6e39e67b..058bc68db 100644 --- a/tex/context/base/mult-def.mkiv +++ b/tex/context/base/mult-def.mkiv @@ -155,6 +155,10 @@ \def\s!traditional {traditional} +\def\s!left {left} +\def\s!middle {middle} +\def\s!right {right} + \def\c!HL {HL} \def\c!VL {VL} \def\c!NL {NL} diff --git a/tex/context/base/page-txt.mkvi b/tex/context/base/page-txt.mkvi index 76143a018..7bcf0d014 100644 --- a/tex/context/base/page-txt.mkvi +++ b/tex/context/base/page-txt.mkvi @@ -880,7 +880,7 @@ % page-spr we overload the the stored version .. evenatually i will % clear up the experimental mess -\def\settextpagecontent#1#2#3% #2 and #3 will disappear +\def\settextpagecontent#1#2#3% #2 and #3 will disappear / is overloaded {\setbox#1\hbox to \makeupwidth {\hss % so don't change this \setlayoutcomponentattribute{\v!page:\v!text}% @@ -890,7 +890,7 @@ \hsize\textwidth % local variant of \sethsize <<< in columns? \boxmaxdepth\maxdepth \noindent % content can be < \hsize - \dopagecontents#2#3}% + \page_otr_command_package_contents#2#3}% \hss}% \dp#1\zeropoint} diff --git a/tex/context/base/s-fonts-charts.mkiv b/tex/context/base/s-fonts-charts.mkiv new file mode 100644 index 000000000..e94b52a2e --- /dev/null +++ b/tex/context/base/s-fonts-charts.mkiv @@ -0,0 +1,204 @@ +%D \module +%D [ file=s-fonts-charts, +%D version=2015.08.08, +%D title=\CONTEXT\ Style File, +%D subtitle=Show Fonts Charts, +%D author=Hans Hagen, +%D date=\currentdate, +%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +% begin info +% +% title : show unicode blocks +% +% comment : show charts of a given fgont +% +% end info + +\startmodule[fonts-charts] + +% \registerctxluafile{s-fonts-charts}{} +\starttexdefinition unexpanded FontChartSetSlot #1#2 + \dontleavehmode + \setbox\scratchbox\vbox to 1cm \bgroup + \vss + \hbox to 1cm \bgroup + \infofont \hss\raise.25mm\hbox{#2}\hss + \egroup + \egroup + \wd\scratchbox0mm + \ht\scratchbox5mm + \dp\scratchbox5mm + \box\scratchbox + \setbox\scratchbox\ruledhbox to 1cm \bgroup + \hss\char#1\hss + \egroup + \ht\scratchbox5mm + \dp\scratchbox5mm + \box\scratchbox +\stoptexdefinition + +\starttexdefinition unexpanded FontChartNoSlot + \dontleavehmode + \setbox\scratchbox\hbox to 1cm \bgroup + % empty + \egroup + \ht\scratchbox5mm + \dp\scratchbox5mm + \box\scratchbox +\stoptexdefinition + +\starttexdefinition unexpanded FontChartSetLegend #1 + \dontleavehmode + \setbox\scratchbox\hbox to 1cm \bgroup + \infofont\hss#1\hss + \egroup + \ht\scratchbox5mm + \dp\scratchbox5mm + \box\scratchbox +\stoptexdefinition + +\starttexdefinition unexpanded FontChartSetCaption #1#2 + \dontleavehmode + \setbox\scratchbox\hbox to 16cm \bgroup + \infofontbold\hskip1cm#1: #2\hss + \egroup + \ht\scratchbox7.5mm + \dp\scratchbox2.5mm + \box\scratchbox +\stoptexdefinition + +\starttexdefinition unexpanded FontChartGap + \kern .5mm +\stoptexdefinition + +\startluacode + local div, mod = math.div, math.mod + local formatters = string.formatters + + moduledata.fonts = moduledata.fonts or { } + moduledata.fonts.charts = moduledata.fonts.charts or { } + + function moduledata.fonts.charts.show(settings) + + local settings = utilities.parsers.settings_to_hash(settings) + + local filename = settings.filename or "" + local fontid = true + local newpage = settings.page == interfaces.variables.yes + + if filename ~= "" then + fontid = fonts.definers.internal({ name = filename, size = "10pt" },"chartfont") + end + + local ranges = { } + local data = fonts.hashes.identifiers[fontid] + local private = fonts.constructors.privateoffset + local chars = data.characters + + for u in table.sortedhash(chars) do + if u >= private then + break + else + ranges[div(u,0xFF)] = true + end + end + + local ctx_setlegend = context.FontChartSetLegend + local ctx_noslot = context.FontChartNoSlot + local ctx_setslot = context.FontChartSetSlot + local ctx_setcaption = context.FontChartSetCaption + local ctx_par = context.par + local ctx_gap = context.FontChartGap + + for r in table.sortedhash(ranges) do + if newpage then + context.page() + end + context.startframed { offset = "overlay", frame = "off", align = "normal" } + if filename ~= "" then + context.chartfont() + end + context.dontcomplain() + context.offinterlineskip() + ctx_noslot() + for i=0,0xF do + ctx_setlegend(formatters["%03X"](r*0x10+i)) + end + r = r * 0xFF + ctx_par() + for i=0,0xF do + ctx_setlegend(formatters["%0X"](i)) + ctx_gap() + for j=0,0xF do + local u = r + i*0x10 + j + local d = chars[u] + if d then + ctx_setslot(u,formatters["%04X"](u)) + else + ctx_noslot() + end + if j ~= 0xF then + ctx_gap() + end + end + ctx_par() + ctx_gap() + end + ctx_setcaption(formatters["%04X-%04X"](r,r+0xFF),file.basename(data.properties.filename)) + ctx_par() + context.stopframed() + if newpage then + context.page() + end + end + end +\stopluacode + +\installmodulecommandluasingle \showfontchart {moduledata.fonts.charts.show} + +\stopmodule + +\continueifinputfile{s-fonts-charts.mkiv} + +\usemodule[art-01] + +\starttext + + \showfontchart[filename=LucidaBrightOT.otf,page=yes] + \showfontchart[filename=LucidaBrightOT-Demi.otf,page=yes] + \showfontchart[filename=LucidaBrightOT-DemiItalic.otf,page=yes] + \showfontchart[filename=LucidaBrightOT-Italic.otf,page=yes] + + \showfontchart[filename=LucidaSansOT.otf,page=yes] + \showfontchart[filename=LucidaSansOT-Demi.otf,page=yes] + \showfontchart[filename=LucidaSansOT-DemiItalic.otf,page=yes] + \showfontchart[filename=LucidaSansOT-Italic.otf,page=yes] + + \showfontchart[filename=LucidaSansTypewriterOT.otf,page=yes] + \showfontchart[filename=LucidaSansTypewriterOT-Bold.otf,page=yes] + \showfontchart[filename=LucidaSansTypewriterOT-BoldOblique.otf,page=yes] + \showfontchart[filename=LucidaSansTypewriterOT-Oblique.otf,page=yes] + + \showfontchart[filename=LucidaConsoleDK.otf,page=yes] + \showfontchart[filename=LucidaConsoleDK-Bold.otf,page=yes] + \showfontchart[filename=LucidaConsoleDK-BoldItalic.otf,page=yes] + \showfontchart[filename=LucidaConsoleDK-Italic.otf,page=yes] + + \showfontchart[filename=LucidaGrandeMonoDK.otf,page=yes] + \showfontchart[filename=LucidaGrandeMonoDK-Bold.otf,page=yes] + \showfontchart[filename=LucidaGrandeMonoDK-BoldItalic.otf,page=yes] + \showfontchart[filename=LucidaGrandeMonoDK-Italic.otf,page=yes] + + \showfontchart[filename=LucidaBrightMathOT.otf,page=yes] + \showfontchart[filename=LucidaBrightMathOT-Demi.otf,page=yes] + + \showfontchart[filename=LucidaBlackletterOT.otf,page=yes] + \showfontchart[filename=LucidaCalligraphyOT.otf,page=yes] + \showfontchart[filename=LucidaHandwritingOT.otf,page=yes] + +\stoptext diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index c12e9102d..0f6019d35 100644 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf index b98019d2b..4858ca475 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/context/base/strc-tag.lua b/tex/context/base/strc-tag.lua index 637d74e8c..967b0d63b 100644 --- a/tex/context/base/strc-tag.lua +++ b/tex/context/base/strc-tag.lua @@ -12,7 +12,7 @@ if not modules then modules = { } end modules ['strc-tag'] = { -- end of the chain tag) or by so called fullname which is a tagname combined with a number. local type, next = type, next -local insert, remove, unpack, concat = table.insert, table.remove, table.unpack, table.concat +local insert, remove, unpack, concat, merge = table.insert, table.remove, table.unpack, table.concat, table.merge local find, topattern, format = string.find, string.topattern, string.format local lpegmatch, P, S, C, Cc = lpeg.match, lpeg.P, lpeg.S, lpeg.C, lpeg.Cc local texattribute = tex.attribute @@ -45,6 +45,7 @@ local tagpatterns = { } local lasttags = { } local stacksize = 0 local metadata = nil -- applied to the next element +local documentdata = { } local tags = structures.tags tags.taglist = taglist -- can best be hidden @@ -127,7 +128,11 @@ local properties = allocate { delimitedblock = { pdf = "BlockQuote", nature = "display" }, delimited = { pdf = "Quote", nature = "inline" }, + delimitedcontent = { pdf = "Span", nature = "inline" }, + delimitedsymbol = { pdf = "Span", nature = "inline" }, subsentence = { pdf = "Span", nature = "inline" }, + subsentencecontent = { pdf = "Span", nature = "inline" }, + subsentencesymbol = { pdf = "Span", nature = "inline" }, label = { pdf = "Span", nature = "mixed" }, number = { pdf = "Span", nature = "mixed" }, @@ -266,10 +271,14 @@ end function tags.registermetadata(data) local d = settings_to_hash(data) - if metadata then - table.merge(metadata,d) + if #chain > 1 then + if metadata then + merge(metadata,d) + else + metadata = d + end else - metadata = d + merge(documentdata,d) end end @@ -331,6 +340,10 @@ function tags.start(tag,specification) taglist[attribute] = specification specifications[completetag] = specification -- + if completetag == "document>1" then + specification.metadata = documentdata + end + -- texattribute[a_tagged] = attribute return attribute end diff --git a/tex/context/base/strc-tag.mkiv b/tex/context/base/strc-tag.mkiv index bb1fe200d..c9132bf04 100644 --- a/tex/context/base/strc-tag.mkiv +++ b/tex/context/base/strc-tag.mkiv @@ -109,7 +109,11 @@ \def\t!delimitedblock {delimited} % BlockQuote \def\t!delimited {delimited} % Quote +\def\t!delimitedsymbol {delimitedsymbol} % Span +\def\t!delimitedcontent {delimitedcontent} % Span \def\t!subsentence {subsentence} % Span +\def\t!subsentencecontent {subsentencecontent} % Span +\def\t!subsentencesymbol {subsentencesymbol} % Span \def\t!float {float} % Div \def\t!floatcaption {floatcaption} % Caption diff --git a/tex/context/base/typo-cap.lua b/tex/context/base/typo-cap.lua index 80a74bac9..eaf14bd63 100644 --- a/tex/context/base/typo-cap.lua +++ b/tex/context/base/typo-cap.lua @@ -83,7 +83,9 @@ local function set(tag,font) else run = run + 1 end - return font * 0x10000 + tag * 0x100 + run + local a = font * 0x10000 + tag * 0x100 + run + blocked[a] = false + return a end local function get(a) @@ -93,6 +95,7 @@ local function get(a) return tag, font, run end + -- print(get(set( 1, 0))) -- print(get(set( 1, 99))) -- print(get(set( 2, 96))) diff --git a/tex/context/base/typo-del.mkiv b/tex/context/base/typo-del.mkiv index 4c3c5ab3d..974bc402d 100644 --- a/tex/context/base/typo-del.mkiv +++ b/tex/context/base/typo-del.mkiv @@ -15,6 +15,9 @@ \unprotect +\ifdefined\dotagsetdelimitedsymbol \else \let\dotagsetdelimitedsymbol \gobbleoneargument \fi +\ifdefined\dotagsetsubsentencesymbol \else \let\dotagsetsubsentencesymbol\gobbleoneargument \fi + % THIS IS OBSOLETE: \installcorenamespace{hyphenmarksign} % let's not waste a setuphandler (yet) @@ -136,7 +139,10 @@ % \def\aftersubsentence {\ignorespaces} \unexpanded\def\midsentence - {\symbol[\c!midsentence]} + {\dostarttagged\t!subsentencesymbol\empty + \dotagsetsubsentencesymbol\s!middle + \symbol[\c!midsentence]% + \dostoptagged} \unexpanded\def\beginofsubsentence {\beforesubsentence @@ -149,11 +155,19 @@ \dontleavehmode % was \leaveoutervmode \fi \dostarttagged\t!subsentence\empty % no chain + \dostarttagged\t!subsentencesymbol\empty + \dotagsetsubsentencesymbol\s!left \symbol[\ifodd\c_typo_subsentence_nesting\c!leftsentence\else\c!leftsubsentence\fi]% + \dostoptagged + \dostarttagged\t!subsentencecontent\empty }% \ignorespaces} \unexpanded\def\endofsubsentence % relax prevents space gobbling - {\symbol[\ifodd\c_typo_subsentence_nesting\c!rightsentence\else\c!rightsubsentence\fi]% + {\dostoptagged + \dostarttagged\t!subsentencesymbol\empty + \dotagsetsubsentencesymbol\s!right + \symbol[\ifodd\c_typo_subsentence_nesting\c!rightsentence\else\c!rightsubsentence\fi]% + \dostoptagged \dostoptagged \global\advance\c_typo_subsentence_nesting\minusone \unskip @@ -237,13 +251,11 @@ \def\quote #1{'#1'}% \to \everysimplifycommands -%D The next features was so desperately needed by Giuseppe -%D Bilotta that he made a module for it. Since this is a -%D typical example of core functionality, I decided to extend -%D the low level quotation macros in such a way that a speech -%D feature could be build on top of it. The speech opening and -%D closing symbols are defined per language. Italian is an -%D example of a language that has them set. +%D The next features was so desperately needed by Giuseppe Bilotta that he made a +%D module for it. Since this is a typical example of core functionality, I decided +%D to extend the low level quotation macros in such a way that a speech feature +%D could be build on top of it. The speech opening and closing symbols are defined +%D per language. Italian is an example of a language that has them set. \newsignal\d_typo_delimited_signal @@ -318,7 +330,10 @@ \def\typo_delimited_start_font {\let\typo_delimited_stop\typo_delimitedtexts_finish_font + \dostarttagged\t!delimitedsymbol\empty + \dotagsetdelimitedsymbol\s!left \delimitedtextparameter\c!left + \dostoptagged \ignorespaces} \def\typo_delimited_start_other @@ -338,7 +353,11 @@ \fi\fi} \def\typo_delimitedtexts_finish_font - {\removeunwantedspaces\delimitedtextparameter\c!right} + {\removeunwantedspaces + \dostarttagged\t!delimitedsymbol\empty + \dotagsetdelimitedsymbol\s!right + \delimitedtextparameter\c!right + \dostoptagged} \def\typo_delimited_start_par {\dosingleempty\typo_delimited_start_par_indeed} @@ -379,11 +398,13 @@ \setnextleftdelimitedtextmark \setnextrightdelimitedtextmark % - \ignorespaces} + \ignorespaces + \dostarttagged\t!delimitedcontent\empty} \def\typo_delimited_stop_par {\removeunwantedspaces \removelastskip + \dostoptagged \rightdelimitedtextmark \carryoverpar\endgroup % new per 2013-01-21 ... please left floats \popmacro\checkindentation @@ -401,10 +422,12 @@ \begingroup \usedelimitedtextstyleandcolor\c!style\c!color \typo_delimited_handle_left\c!left - \ignorespaces} + \ignorespaces + \dostarttagged\t!delimitedcontent\empty} \def\typo_delimited_stop_txt {\removeunwantedspaces + \dostoptagged \typo_delimited_handle_right\c!right \endgroup} @@ -499,16 +522,22 @@ \fi} \def\typo_delimited_left_symbol#1% - {\setbox\scratchbox\hbox{\usedelimitedtextstyleandcolor\c!symstyle\c!symcolor#1}% + {\dostarttagged\t!delimitedsymbol\empty + \dotagsetdelimitedsymbol\s!left + \setbox\scratchbox\hbox{\usedelimitedtextstyleandcolor\c!symstyle\c!symcolor#1}% \dontleavehmode \edef\p_delimited_margin{\delimitedtextparameter\c!location}% \ifx\p_delimited_margin\v!margin \hskip-\wd\scratchbox \fi - \box\scratchbox} + \box\scratchbox + \dostoptagged} \def\typo_delimited_right_symbol#1% - {\hsmash{\usedelimitedtextstyleandcolor\c!symstyle\c!symcolor#1}} + {\dostarttagged\t!delimitedsymbol\empty + \dotagsetdelimitedsymbol\s!right + \hsmash{\usedelimitedtextstyleandcolor\c!symstyle\c!symcolor#1}% + \dostoptagged} \def\typo_delimited_nextleft_symbol#1% {\localleftbox\bgroup @@ -538,7 +567,8 @@ % \stoptext \def\typo_delimited_handle_middle#1% - {\begingroup + {\dostoptagged + \begingroup \usedelimitedtextstyleandcolor\c!symstyle\c!symcolor \setbox\scratchbox\hbox{\delimitedtextparameter#1}% \ifdim\wd\scratchbox>\zeropoint @@ -551,11 +581,15 @@ \hskip\zeropoint % == \prewordbreak \fi \strut % new, needed below + \dostarttagged\t!delimitedsymbol\empty + \dotagsetdelimitedsymbol\s!middle \delimitedtextparameter#1% unhbox\scratchbox + \dostoptagged % \penalty\plustenthousand % else overfull boxes, but that's better than dangling periods \kern\d_typo_delimited_signal % +- \prewordbreak \fi - \endgroup} + \endgroup + \dostarttagged\t!delimitedcontent\empty} \def\typo_delimited_handle_left#1% {\begingroup @@ -575,7 +609,10 @@ \hskip\zeropoint % == \prewordbreak \fi \strut % new, needed below + \dostarttagged\t!delimitedsymbol\empty + \dotagsetdelimitedsymbol\s!left \delimitedtextparameter#1% unhbox\scratchbox + \dostoptagged \penalty\plustenthousand % new per 2013-03-09 WS mailing list \hskip\d_typo_delimited_signal % +- \prewordbreak \fi @@ -600,7 +637,10 @@ \hskip\zeropoint % == \prewordbreak \fi \strut % new, needed below + \dostarttagged\t!delimitedsymbol\empty + \dotagsetdelimitedsymbol\s!right \delimitedtextparameter#1% unhbox\scratchbox + \dostoptagged \kern\d_typo_delimited_signal % +- \prewordbreak \fi \endgroup} @@ -608,8 +648,10 @@ \unexpanded\def\typo_delimited_par {\groupedcommand {\dostarttaggedchained\t!delimited\currentdelimitedtext\??delimitedtext % block? - \typo_delimited_handle_left\c!left} - {\typo_delimited_handle_right\c!right + \typo_delimited_handle_left\c!left + \dostarttagged\t!delimitedcontent\empty} + {\dostoptagged + \typo_delimited_handle_right\c!right \removelastskip \dostoptagged \typo_delimited_pop}} @@ -657,29 +699,36 @@ \def\typo_delimited_quoted_b {\dostarttaggedchained\t!delimited\currentdelimitedtext\??delimitedtext \typo_delimited_handle_left\c!left - \usedelimitedtextstyleandcolor\c!style\c!color} + \usedelimitedtextstyleandcolor\c!style\c!color + \dostarttagged\t!delimitedcontent\empty} \def\typo_delimited_quoted_e - {\typo_delimited_handle_right\c!right - \removelastskip + {\dostoptagged + \typo_delimited_handle_right\c!right + \removelastskip % ? \dostoptagged \typo_delimited_pop} \def\typo_delimited_attributed_b {\dostarttaggedchained\t!delimited\currentdelimitedtext\??delimitedtext - \usedelimitedtextstyleandcolor\c!style\c!color} + \usedelimitedtextstyleandcolor\c!style\c!color + \dostarttagged\t!delimitedcontent\empty + \ignorespaces} \def\typo_delimited_attributed_e {\dostoptagged + \dostoptagged \typo_delimited_pop} \def\typo_delimited_fontdriven_b {\dostarttaggedchained\t!delimited\currentdelimitedtext\??delimitedtext \usedlanguageparameter{\c!left\currentparentdelimitedtext}% was: \currentdelimitedtext - \usedelimitedtextstyleandcolor\c!style\c!color} + \usedelimitedtextstyleandcolor\c!style\c!color + \dostarttagged\t!delimitedcontent\empty} \def\typo_delimited_fontdriven_e - {\usedlanguageparameter{\c!right\currentparentdelimitedtext}% was: \currentdelimitedtext + {\dostoptagged + \usedlanguageparameter{\c!right\currentparentdelimitedtext}% was: \currentdelimitedtext \dostoptagged \typo_delimited_pop} diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index b8bbc208a..acb637f4e 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 : 08/10/15 13:49:38 +-- merge date : 08/10/15 19:46:54 do -- begin closure to overcome local limits and interference -- cgit v1.2.3