diff options
author | Hans Hagen <pragma@wxs.nl> | 2019-10-28 20:03:50 +0100 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2019-10-28 20:03:50 +0100 |
commit | f58a2cb5d22c5931581274db1f0ec85ac903b747 (patch) | |
tree | ba324713b8c0f2ee9465238d3cf867de3fb41dc5 /tex/context/base/mkiv/mlib-lmp.lua | |
parent | 24f6f7de245bdff10f21984a9a3c6af3d31fa1f1 (diff) | |
download | context-f58a2cb5d22c5931581274db1f0ec85ac903b747.tar.gz |
2019-10-28 18:22:00
Diffstat (limited to 'tex/context/base/mkiv/mlib-lmp.lua')
-rw-r--r-- | tex/context/base/mkiv/mlib-lmp.lua | 71 |
1 files changed, 57 insertions, 14 deletions
diff --git a/tex/context/base/mkiv/mlib-lmp.lua b/tex/context/base/mkiv/mlib-lmp.lua index e72ddd03c..402c194fe 100644 --- a/tex/context/base/mkiv/mlib-lmp.lua +++ b/tex/context/base/mkiv/mlib-lmp.lua @@ -6,6 +6,8 @@ if not modules then modules = { } end modules ['mlib-lmp'] = { license = "see context related readme files", } +local type = type + local aux = mp.aux local mpnumeric = aux.numeric local mppair = aux.pair @@ -136,23 +138,64 @@ do end -function mp.lmt_svg_include() - local filename = metapost.getparameter { "filename" } - local fontname = metapost.getparameter { "fontname" } - local metacode = nil - if fontname and fontname ~= "" then - local unicode = metapost.getparameter { "unicode" } - if unicode then - metacode = metapost.svgglyphtomp(fontname,math.round(unicode)) +if CONTEXTLMTXMODE > 0 then + + function mp.lmt_svg_include() + local labelfile = metapost.getparameter { "labelfile" } + if labelfile then + local labels = table.load(labelfile) -- todo: same path as svg file + if type(labels) == "table" then + for i=1,#labels do + metapost.remaptext(labels[i]) + end + end + end + local fontname = metapost.getparameter { "fontname" } + if fontname and fontname ~= "" then + local unicode = metapost.getparameter { "unicode" } + if unicode then + mpdirect ( + metapost.svgglyphtomp(fontname,math.round(unicode)) + ) + end + return + end + local filename = metapost.getparameter { "filename" } + if filename and filename ~= "" then + mpdirect ( metapost.svgtomp { + data = io.loaddata(filename), + remap = true, + } ) + return + end + local buffer = metapost.getparameter { "buffer" } + if buffer then + mpdirect ( metapost.svgtomp { + data = buffers.getcontent(buffer), + -- remap = true, + } ) + return + end + local code = metapost.getparameter { "code" } + if code then + mpdirect ( metapost.svgtomp { + data = code, + } ) + return end - elseif filename and filename ~= "" then - metacode = metapost.svgtomp { - data = io.loaddata(filename) - } end - if metacode then - mpdirect(metacode) + +end + +if CONTEXTLMTXMODE > 0 then + + function mp.lmt_do_remaptext() + local parameters = metapost.scanparameters() + if parameters and parameters.label then + metapost.remaptext(parameters) + end end + end if CONTEXTLMTXMODE > 0 then |