diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/l-tex.lua')
-rw-r--r-- | Master/texmf-dist/tex/context/base/l-tex.lua | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/Master/texmf-dist/tex/context/base/l-tex.lua b/Master/texmf-dist/tex/context/base/l-tex.lua deleted file mode 100644 index 1a23c183e7b..00000000000 --- a/Master/texmf-dist/tex/context/base/l-tex.lua +++ /dev/null @@ -1,114 +0,0 @@ --- filename : l-tex.lua --- comment : split off from luat-lib --- author : Hans Hagen, PRAGMA-ADE, Hasselt NL --- copyright: PRAGMA ADE / ConTeXt Development Team --- license : see context related readme files - -if not versions then versions = { } end versions['l-tex'] = 1.001 - -if not number then number = { } end - -local dimenfactors = { - ["pt"] = 1/65536, - ["in"] = ( 100/ 7227)/65536, - ["cm"] = ( 254/ 7227)/65536, - ["mm"] = ( 254/72270)/65536, - ["sp"] = 1, - ["bp"] = ( 7200/ 7227)/65536, - ["pc"] = ( 1/ 12)/65536, - ["dd"] = ( 1157/ 1238)/65536, - ["cc"] = ( 1157/14856)/65536, - ["nd"] = (20320/21681)/65536, - ["nc"] = ( 5080/65043)/65536 -} - -local function todimen(n,unit,fmt) - if type(n) == 'string' then - return n - else - unit = unit or 'pt' - return string.format(fmt or "%.5g%s", n*dimenfactors[unit], unit) - end -end - -number.todimen = todimen -number.dimenfactors = dimenfactors - -function number.topoints (n) return todimen(n,"pt") end -function number.toinches (n) return todimen(n,"in") end -function number.tocentimeters (n) return todimen(n,"cm") end -function number.tomillimeters (n) return todimen(n,"mm") end -function number.toscaledpoints(n) return todimen(n,"sp") end -function number.toscaledpoints(n) return n .. "sp" end -function number.tobasepoints (n) return todimen(n,"bp") end -function number.topicas (n) return todimen(n "pc") end -function number.todidots (n) return todimen(n,"dd") end -function number.tociceros (n) return todimen(n,"cc") end -function number.tonewdidots (n) return todimen(n,"nd") end -function number.tonewciceros (n) return todimen(n,"nc") end - ---~ for k,v in pairs{nil, "%.5f%s", "%.8g%s", "%.8f%s"} do ---~ print(todimen(65536)) ---~ print(todimen( 256)) ---~ print(todimen(65536,'pt',v)) ---~ print(todimen( 256,'pt',v)) ---~ end - --- todo: use different scratchdimen --- todo: use parser if no tex.dimen - -function string.todimen(str) - if type(str) == "number" then - return str - elseif str:find("^[%d%-%+%.]+$") then - return tonumber(str) ---~ elseif tex then ---~ tex.dimen[0] = str ---~ return tex.dimen[0] or 0 - else - local n, u = str:match("([%d%-%+%.]+)(%a%a)") - if n and u then - return n/dimenfactors[u] - else - return 0 - end - end -end - ---~ print(string.todimen("10000")) ---~ print(string.todimen("10pt")) - ---~ See mk.pdf for an explanation of the following code: ---~ ---~ function test(n) ---~ lua.delay(function(...) ---~ tex.sprint(string.format("pi: %s %s %s\\par",...)) ---~ end) ---~ lua.delay(function(...) ---~ tex.sprint(string.format("more pi: %s %s %s\\par",...)) ---~ end) ---~ tex.sprint(string.format("\\setbox0=\\hbox{%s}",math.pi*n)) ---~ lua.flush(tex.wd[0],tex.ht[0],tex.dp[0]) ---~ end - -if lua then do - - local delayed = { } - - function lua.delay(f) - delayed[#delayed+1] = f - end - - function lua.flush_delayed(...) - local t = delayed - delayed = { } - for i=1, #t do - t[i](...) - end - end - - function lua.flush(...) - tex.sprint("\\directlua0{lua.flush_delayed(" .. table.concat({...},',') .. ")}") - end - -end end |