diff options
author | Marius <mariausol@gmail.com> | 2012-06-27 16:00:15 +0300 |
---|---|---|
committer | Marius <mariausol@gmail.com> | 2012-06-27 16:00:15 +0300 |
commit | eedd3462bb4e7d16146d00683c3a85d1f74fe1fe (patch) | |
tree | cda034b6c4ea2d32a1470bcbdcf2994cfbcbbed1 /tex/context/base/lpdf-ren.lua | |
parent | a27c69e853a8239e21fd53b750e13251c45c9e83 (diff) | |
download | context-eedd3462bb4e7d16146d00683c3a85d1f74fe1fe.tar.gz |
beta 2012.06.27 14:37
Diffstat (limited to 'tex/context/base/lpdf-ren.lua')
-rw-r--r-- | tex/context/base/lpdf-ren.lua | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/tex/context/base/lpdf-ren.lua b/tex/context/base/lpdf-ren.lua index 29b78313f..6ffdf8110 100644 --- a/tex/context/base/lpdf-ren.lua +++ b/tex/context/base/lpdf-ren.lua @@ -108,6 +108,7 @@ end local pdfln, pdfld = { }, { } local textlayers, hidelayers, videlayers = pdfarray(), pdfarray(), pdfarray() local pagelayers, pagelayersreference, cache = nil, nil, { } +local alphabetic = { } local specifications = { } local initialized = { } @@ -152,6 +153,7 @@ local function useviewerlayer(name) -- move up so that we can use it as local cache[#cache+1] = { dn, dd } pdfld[tag] = dr textlayers[#textlayers+1] = nr + alphabetic[tag] = nr if specification.visible == v_start then videlayers[#videlayers+1] = nr else @@ -188,11 +190,16 @@ local function flushtextlayers() pdfflushobject(ci[1],ci[2]) end if textlayers and #textlayers > 0 then -- we can group them if needed, like: layout + local sortedlayers = { } + for k, v in table.sortedhash(alphabetic) do + sortedlayers[#sortedlayers+1] = v -- maybe do a proper numeric sort as well + end local d = pdfdictionary { OCGs = textlayers, D = pdfdictionary { Name = "Document", - Order = (viewerlayers.hasorder and textlayers) or nil, + -- Order = (viewerlayers.hasorder and textlayers) or nil, + Order = (viewerlayers.hasorder and sortedlayers) or nil, ON = videlayers, OFF = hidelayers, BaseState = pdf_on, |