diff options
Diffstat (limited to 'Master/texmf-dist/tex/luatex')
-rw-r--r-- | Master/texmf-dist/tex/luatex/lua-visual-debug/lua-visual-debug.lua | 43 | ||||
-rw-r--r-- | Master/texmf-dist/tex/luatex/lua-visual-debug/lua-visual-debug.sty | 10 |
2 files changed, 32 insertions, 21 deletions
diff --git a/Master/texmf-dist/tex/luatex/lua-visual-debug/lua-visual-debug.lua b/Master/texmf-dist/tex/luatex/lua-visual-debug/lua-visual-debug.lua index 8d600a74bfb..eb962c06804 100644 --- a/Master/texmf-dist/tex/luatex/lua-visual-debug/lua-visual-debug.lua +++ b/Master/texmf-dist/tex/luatex/lua-visual-debug/lua-visual-debug.lua @@ -1,6 +1,6 @@ -- Copyright 2012 Patrick Gundlach, patrick@gundla.ch -- Public repository: https://github.com/pgundlach/lvdebug (issues/pull requests,...) --- Version: 0.4 +-- Version: 0.5 -- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the -- "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, @@ -52,6 +52,14 @@ local number_sp_in_a_pdf_point = 65782 -- -- the pointer is "nil" if there is no next item -- end +local HLIST = node.id("hlist") +local VLIST = node.id("vlist") +local RULE = node.id("rule") +local DISC = node.id("disc") +local GLUE = node.id("glue") +local KERN = node.id("kern") +local PENALTY = node.id("penalty") + function math.round(num, idp) if idp and idp>0 then local mult = 10^idp @@ -64,7 +72,7 @@ end function show_page_elements(parent) local head = parent.list while head do - if head.id == 0 or head.id == 1 then -- hbox / vbox + if head.id == HLIST or head.id == VLIST then local rule_width = 0.1 local wd = math.round(head.width / number_sp_in_a_pdf_point - rule_width ,2) @@ -74,7 +82,7 @@ function show_page_elements(parent) -- recurse into the contents of the box show_page_elements(head) local rectangle = node.new("whatsit","pdf_literal") - if head.id == 0 then -- hbox + if head.id == HLIST then -- hbox rectangle.data = string.format("q 0.5 G %g w %g %g %g %g re s Q", rule_width, -rule_width / 2, -dp, wd, ht) else rectangle.data = string.format("q 0.1 G %g w %g %g %g %g re s Q", rule_width, -rule_width / 2, 0, wd, -ht) @@ -82,7 +90,7 @@ function show_page_elements(parent) head.list = node.insert_before(head.list,head.list,rectangle) - elseif head.id == 2 then -- rule + elseif head.id == RULE then local show_rule = node.new("whatsit","pdf_literal") if head.width == -1073741824 or head.height == -1073741824 or head.depth == -1073741824 then -- ignore for now -- these rules are stretchable @@ -94,25 +102,29 @@ function show_page_elements(parent) parent.list = node.insert_before(parent.list,head,show_rule) - elseif head.id == 7 then -- disc + elseif head.id == DISC then local hyphen_marker = node.new("whatsit","pdf_literal") hyphen_marker.data = "q 0 0 1 RG 0.3 w 0 -1 m 0 0 l S Q" parent.list = node.insert_before(parent.list,head,hyphen_marker) - elseif head.id == 10 then -- glue - local wd = head.spec.width + elseif head.id == GLUE then + local head_spec = head.spec + if not head_spec then + head_spec = head + end + local wd = head_spec.width local color = "0.5 G" - if parent.glue_sign == 1 and parent.glue_order == head.spec.stretch_order then - wd = wd + parent.glue_set * head.spec.stretch + if parent.glue_sign == 1 and parent.glue_order == head_spec.stretch_order then + wd = wd + parent.glue_set * head_spec.stretch color = "0 0 1 RG" - elseif parent.glue_sign == 2 and parent.glue_order == head.spec.shrink_order then - wd = wd - parent.glue_set * head.spec.shrink + elseif parent.glue_sign == 2 and parent.glue_order == head_spec.shrink_order then + wd = wd - parent.glue_set * head_spec.shrink color = "1 0 1 RG" end local pdfstring = node.new("whatsit","pdf_literal") local wd_bp = math.round(wd / number_sp_in_a_pdf_point,2) - if parent.id == 0 then --hlist + if parent.id == HLIST then pdfstring.data = string.format("q %s [0.2] 0 d 0.5 w 0 0 m %g 0 l s Q",color,wd_bp) else -- vlist pdfstring.data = string.format("q 0.1 G 0.1 w -0.5 0 m 0.5 0 l -0.5 %g m 0.5 %g l s [0.2] 0 d 0.5 w 0.25 0 m 0.25 %g l s Q",-wd_bp,-wd_bp,-wd_bp) @@ -120,12 +132,12 @@ function show_page_elements(parent) parent.list = node.insert_before(parent.list,head,pdfstring) - elseif head.id == 11 then -- kern + elseif head.id == KERN then local rectangle = node.new("whatsit","pdf_literal") local color = "1 1 0 rg" if head.kern < 0 then color = "1 0 0 rg" end local k = math.round(head.kern / number_sp_in_a_pdf_point,2) - if parent.id == 0 then --hlist + if parent.id == HLIST then rectangle.data = string.format("q %s 0 w 0 0 %g 1 re B Q",color, k ) else rectangle.data = string.format("q %s 0 w 0 0 1 %g re B Q",color, -k ) @@ -133,7 +145,7 @@ function show_page_elements(parent) parent.list = node.insert_before(parent.list,head,rectangle) - elseif head.id == 12 then -- penalty + elseif head.id == PENALTY then local color = "1 g" local rectangle = node.new("whatsit","pdf_literal") if head.penalty < 10000 then @@ -146,4 +158,3 @@ function show_page_elements(parent) end return true end - diff --git a/Master/texmf-dist/tex/luatex/lua-visual-debug/lua-visual-debug.sty b/Master/texmf-dist/tex/luatex/lua-visual-debug/lua-visual-debug.sty index 49636ac10c1..0f250b4563f 100644 --- a/Master/texmf-dist/tex/luatex/lua-visual-debug/lua-visual-debug.sty +++ b/Master/texmf-dist/tex/luatex/lua-visual-debug/lua-visual-debug.sty @@ -1,7 +1,7 @@ % see lua file for copyright information (MIT License) -\def\lvdebugpkgdate{2012/04/06} -\def\lvdebugpkgversion{0.4} +\def\lvdebugpkgdate{2016/05/30} +\def\lvdebugpkgversion{0.5} \expandafter\ifx\csname ProvidesPackage\endcsname\relax \input ifluatex.sty\relax @@ -11,7 +11,7 @@ \RequirePackage{ifluatex} \fi -\def\dothings{% +\def\luavisualdebug@dothings{% \directlua{ lvd = require("lua-visual-debug")}% \AtBeginShipout {\directlua{lvd.show_page_elements(tex.box["AtBeginShipoutBox"])}}% } @@ -19,7 +19,7 @@ \expandafter\ifx\csname ProvidesPackage\endcsname\relax \ifluatex \input atbegshi.sty\relax - \dothings + \luavisualdebug@dothings \AtBeginShipoutInit \else \message{Warning: lua-visual-debug only works with LuaTeX (plain and LaTeX format)} @@ -27,7 +27,7 @@ \else \ifluatex \RequirePackage{atbegshi} - \dothings + \luavisualdebug@dothings \else \PackageWarning{lua-visual-debug}{You are using this package without LuaTeX. This is not supported, so you don't get any visual debugging.} \fi |