From baa03d50225f83baa646c9daa7556f9b2ddf3424 Mon Sep 17 00:00:00 2001 From: Marius Date: Wed, 4 May 2011 17:20:13 +0300 Subject: beta 2011.05.04 16:06 --- tex/context/base/char-ini.lua | 7 +++++- tex/context/base/cont-new.mkii | 2 +- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context.mkii | 2 +- tex/context/base/context.mkiv | 2 +- tex/context/base/lpdf-ini.lua | 33 ++++++++++++++++++++++------ tex/context/base/lpdf-ren.lua | 4 ++-- tex/context/base/node-inj.lua | 5 ++++- tex/context/base/status-files.pdf | Bin 23528 -> 23521 bytes tex/context/base/status-lua.pdf | Bin 154267 -> 154272 bytes tex/generic/context/luatex-fonts-merged.lua | 7 ++++-- 11 files changed, 47 insertions(+), 17 deletions(-) (limited to 'tex') diff --git a/tex/context/base/char-ini.lua b/tex/context/base/char-ini.lua index 159ff47e7..7f8c2db2f 100644 --- a/tex/context/base/char-ini.lua +++ b/tex/context/base/char-ini.lua @@ -608,7 +608,7 @@ function characters.setcodes() report_defining("defining lc and uc codes") end for code, chr in next, data do - local cc = chr.category + local cc = chr.category -- mn lo if cc == 'll' or cc == 'lu' or cc == 'lt' then local lc, uc = chr.lccode, chr.uccode if not lc then chr.lccode, lc = code, code end @@ -631,7 +631,12 @@ function characters.setcodes() texsetcatcode(i,11) -- letter texsetlccode(i,i,i) -- self self end + else -- letter + texsetcatcode(code,11) + texsetlccode(code,code,code) end + elseif cc == "mn" then -- mark + texsetlccode(code,code,code) end end end diff --git a/tex/context/base/cont-new.mkii b/tex/context/base/cont-new.mkii index d67c28d05..b61f3acfb 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.05.01 12:50} +\newcontextversion{2011.05.04 16:06} %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 0031f1294..3f1c2982d 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.05.01 12:50} +\newcontextversion{2011.05.04 16:06} %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.mkii b/tex/context/base/context.mkii index a08fbc36a..c2ed0a1fb 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.05.01 12:50} +\edef\contextversion{2011.05.04 16:06} %D For those who want to use this: diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 27a607f82..078e5f55a 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.05.01 12:50} +\edef\contextversion{2011.05.04 16:06} %D For those who want to use this: diff --git a/tex/context/base/lpdf-ini.lua b/tex/context/base/lpdf-ini.lua index 6d7282036..8b86ae921 100644 --- a/tex/context/base/lpdf-ini.lua +++ b/tex/context/base/lpdf-ini.lua @@ -617,6 +617,8 @@ function lpdf.addtonames (k,v) if not (lpdf.protectresources and names [k]) th local dummy = pdfreserveobject() -- else bug in hvmd due so some internal luatex conflict +-- Some day I will implement a proper minimalized resource management. + local r_extgstates, d_extgstates = pdfreserveobject(), pdfdictionary() local p_extgstates = pdfreference(r_extgstates) local r_colorspaces, d_colorspaces = pdfreserveobject(), pdfdictionary() local p_colorspaces = pdfreference(r_colorspaces) local r_patterns, d_patterns = pdfreserveobject(), pdfdictionary() local p_patterns = pdfreference(r_patterns) @@ -632,15 +634,32 @@ local function flushcolorspaces() if next(d_colorspaces) then trace_flush("color local function flushpatterns () if next(d_patterns ) then trace_flush("patterns") pdfimmediateobject(r_patterns, tostring(d_patterns )) end end local function flushshades () if next(d_shades ) then trace_flush("shades") pdfimmediateobject(r_shades, tostring(d_shades )) end end -local collected = pdfdictionary { - ExtGState = p_extgstates, - ColorSpace = p_colorspaces, - Pattern = p_patterns, - Shading = p_shades, -} ; collected = collected() +--~ local collected = pdfdictionary { +--~ ExtGState = p_extgstates, +--~ ColorSpace = p_colorspaces, +--~ Pattern = p_patterns, +--~ Shading = p_shades, +--~ } ; collected = collected() + +--~ function lpdf.collectedresources() +--~ context(collected) +--~ end function lpdf.collectedresources() - context(collected) + local ExtGState = next(d_extgstates ) and p_extgstates + local ColorSpace = next(d_colorspaces) and p_colorspaces + local Pattern = next(d_patterns ) and p_patterns + local Shading = next(d_shades ) and p_shades + if ExtGState or ColorSpace or Pattern or Shading then + local collected = pdfdictionary { + ExtGState = ExtGState, + ColorSpace = ColorSpace, + Pattern = Pattern, + Shading = Shading, + -- ProcSet = pdfarray { pdfconstant("PDF") }, + } + context(collected()) + end end function lpdf.adddocumentextgstate (k,v) d_extgstates [k] = v end diff --git a/tex/context/base/lpdf-ren.lua b/tex/context/base/lpdf-ren.lua index 742d42273..54c78845e 100644 --- a/tex/context/base/lpdf-ren.lua +++ b/tex/context/base/lpdf-ren.lua @@ -48,7 +48,7 @@ local pdf_on = pdfconstant("ON") local pdf_toggle = pdfconstant("Toggle") local pdf_setocgstate = pdfconstant("SetOCGState") -local lpdf_usage = pdfdictionary { Print = pdfdictionary { PrintState = pdfconstant("OFF") } } +local lpdf_usage = pdfdictionary { Print = pdfdictionary { PrintState = pdf_off } } -- We can have references to layers before they are places, for instance from -- hide and vide actions. This is why we need to be able to force usage of layers @@ -140,7 +140,7 @@ local function flushtextlayers() Order = (viewerlayers.hasorder and textlayers) or nil, ON = videlayers, OFF = hidelayers, - BaseState = pdfconstant("On"), + BaseState = pdf_on, }, } lpdf.addtocatalog("OCProperties",d) diff --git a/tex/context/base/node-inj.lua b/tex/context/base/node-inj.lua index 6636e2f1a..aee2d1575 100644 --- a/tex/context/base/node-inj.lua +++ b/tex/context/base/node-inj.lua @@ -321,6 +321,7 @@ function injections.handler(head,where,keep) local d = mrks[index] if d then local rlmode = d[3] + -- maybe better swap and "rlmode and rlmode < 0" as lr (1) is default if rlmode and rlmode > 0 then -- new per 2010-10-06, width adapted per 2010-02-03 -- we used to negate the width of marks because in tfm @@ -333,7 +334,9 @@ function injections.handler(head,where,keep) if k then n.xoffset = p.xoffset + p.width + d[1] - k[2] else - n.xoffset = p.xoffset + p.width + d[1] + -- n.xoffset = p.xoffset + p.width + d[1] + -- lucida U\char"032F (default+mark) + n.xoffset = p.xoffset - p.width + d[1] -- 01-05-2011 end else local k = wx[p] diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 74c250bce..83d886782 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 d761a95a6..44aa6a290 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/generic/context/luatex-fonts-merged.lua b/tex/generic/context/luatex-fonts-merged.lua index cd9cabc8b..58435c612 100644 --- a/tex/generic/context/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 05/01/11 12:50:32 +-- merge date : 05/04/11 16:06:03 do -- begin closure to overcome local limits and interference @@ -7692,6 +7692,7 @@ function injections.handler(head,where,keep) local d = mrks[index] if d then local rlmode = d[3] + -- maybe better swap and "rlmode and rlmode < 0" as lr (1) is default if rlmode and rlmode > 0 then -- new per 2010-10-06, width adapted per 2010-02-03 -- we used to negate the width of marks because in tfm @@ -7704,7 +7705,9 @@ function injections.handler(head,where,keep) if k then n.xoffset = p.xoffset + p.width + d[1] - k[2] else - n.xoffset = p.xoffset + p.width + d[1] + -- n.xoffset = p.xoffset + p.width + d[1] + -- lucida U\char"032F (default+mark) + n.xoffset = p.xoffset - p.width + d[1] -- 01-05-2011 end else local k = wx[p] -- cgit v1.2.3