summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts/context/lua/mtx-fonts.lua
diff options
context:
space:
mode:
authorMojca Miklavec <mojca.miklavec@gmail.com>2012-05-14 17:38:55 +0000
committerMojca Miklavec <mojca.miklavec@gmail.com>2012-05-14 17:38:55 +0000
commit15995e10bfc68edf79970c4ea4fbb6678566c46e (patch)
tree2de7ca2a83f2d37ef043ad7429a5cb945bb79ddb /Master/texmf-dist/scripts/context/lua/mtx-fonts.lua
parentc9a39f716f1e5ec820ed3aab2c9aef25c5a9d730 (diff)
ConTeXt 2012.05.14 16:00
git-svn-id: svn://tug.org/texlive/trunk@26371 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/scripts/context/lua/mtx-fonts.lua')
-rw-r--r--Master/texmf-dist/scripts/context/lua/mtx-fonts.lua20
1 files changed, 20 insertions, 0 deletions
diff --git a/Master/texmf-dist/scripts/context/lua/mtx-fonts.lua b/Master/texmf-dist/scripts/context/lua/mtx-fonts.lua
index 8c8f47a70ab..c5b458c1422 100644
--- a/Master/texmf-dist/scripts/context/lua/mtx-fonts.lua
+++ b/Master/texmf-dist/scripts/context/lua/mtx-fonts.lua
@@ -8,6 +8,7 @@ if not modules then modules = { } end modules ['mtx-fonts'] = {
local helpinfo = [[
--save save open type font in raw table
+--unpack save a tma file in a more readale format
--reload generate new font database
--reload --simple generate 'luatex-fonts-names.lua' (not for context!)
@@ -334,6 +335,23 @@ function scripts.fonts.list()
end
+function scripts.fonts.unpack()
+ local name = file.removesuffix(file.basename(environment.files[1] or ""))
+ if name and name ~= "" then
+ local cache = containers.define("fonts", "otf", 2.730, true)
+ local cleanname = containers.cleanname(name)
+ local data = containers.read(cache,cleanname)
+ if data then
+ local savename = file.addsuffix(cleanname .. "-unpacked","tma")
+ report("fontsave, saving data in %s",savename)
+ fonts.handlers.otf.enhancers.unpack(data)
+ io.savedata(savename,table.serialize(data,true))
+ else
+ report("unknown file '%s'",name)
+ end
+ end
+end
+
function scripts.fonts.save()
local name = environment.files[1] or ""
local sub = environment.files[2] or ""
@@ -387,6 +405,8 @@ elseif environment.argument("reload") then
scripts.fonts.reload()
elseif environment.argument("save") then
scripts.fonts.save()
+elseif environment.argument("unpack") then
+ scripts.fonts.unpack()
elseif environment.argument("statistics") then
fonts.names.statistics()
else