summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/pdfmanagement-testphase/luaotfload-l3color-tmp.lua
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/pdfmanagement-testphase/luaotfload-l3color-tmp.lua')
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/luaotfload-l3color-tmp.lua78
1 files changed, 0 insertions, 78 deletions
diff --git a/macros/latex/contrib/pdfmanagement-testphase/luaotfload-l3color-tmp.lua b/macros/latex/contrib/pdfmanagement-testphase/luaotfload-l3color-tmp.lua
deleted file mode 100644
index 1d4eab4de1..0000000000
--- a/macros/latex/contrib/pdfmanagement-testphase/luaotfload-l3color-tmp.lua
+++ /dev/null
@@ -1,78 +0,0 @@
-if not luaotfload.set_transparent_colorstack then return end
-local l = lpeg
-local spaces = l.P' '^0
-local digit16 = l.R('09', 'af', 'AF')
-
-local octet = digit16 * digit16 / function(s) return string.format('%.3g ', tonumber(s, 16) / 255) end
-local htmlcolor = l.Cs(octet * octet * octet * -1 * l.Cc'rg')
-local color_export = {
- token.create'endlocalcontrol',
- token.create'tex_hpack:D',
- token.new(0, 1),
- token.create'color_export:nnN',
- token.new(0, 1),
- '',
- token.new(0, 2),
- token.new(0, 1),
- 'backend',
- token.new(0, 2),
- token.create'l_tmpa_tl',
- token.create'exp_after:wN',
- token.create'__color_select:nn',
- token.create'l_tmpa_tl',
- token.new(0, 2),
-}
-local group_end = token.create'group_end:'
-local value = (1 - l.P'}')^0
-luatexbase.add_to_callback('luaotfload.parse_color', function (value)
- local html = htmlcolor:match(value)
- if html then return html end
-
- tex.runtoks(function()
- token.get_next()
- color_export[6] = value
- tex.sprint(-2, color_export)
- end)
- local list = token.scan_list()
- if not list.head or list.head.next or list.head.subtype ~= node.subtype'pdf_colorstack' then
- error'Unexpected backend behavior'
- end
- local cmd = list.head.data
- node.free(list)
- return cmd
-end, 'l3color')
-
--- Let's also integrate l3opacity
-
-luaotfload.set_transparent_colorstack(token.create'c__opacity_backend_stack_int'.index)
-
-local transparent_register = {
- token.create'pdfmanagement_add:nnn',
- token.new(0, 1),
- 'Page/Resources/ExtGState',
- token.new(0, 2),
- token.new(0, 1),
- '',
- token.new(0, 2),
- token.new(0, 1),
- '<</ca ',
- '',
- '/CA ',
- '',
- '>>',
- token.new(0, 2),
-}
-luatexbase.add_to_callback('luaotfload.parse_transparent', function(value)
- value = (octet * -1):match(value)
- if not value then
- tex.error'Invalid transparency value'
- return
- end
- value = value:sub(1, -2)
- local result = 'opacity' .. value
- tex.runtoks(function()
- transparent_register[6], transparent_register[10], transparent_register[12] = result, value, value
- tex.sprint(-2, transparent_register)
- end)
- return '/' .. result .. ' gs'
-end, 'l3opacity')