From 7c392c75755a0ddbdbc2a8e4665f158500876997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20Fabian=20Kr=C3=BCger?= Date: Tue, 7 Jul 2020 04:54:27 +0200 Subject: [PATCH] Add support for virtual fonts in addcharacters --- luametalatex-back-pdf.lua | 3 ++ luametalatex-bit32.lua | 2 +- luametalatex-font-resolve.lua | 55 +++++++++++++++++++++++++++++++++++ luametalatex-init.lua | 1 + luametalatex-nodewriter.lua | 3 +- 5 files changed, 62 insertions(+), 2 deletions(-) diff --git a/luametalatex-back-pdf.lua b/luametalatex-back-pdf.lua index 2efb35c..8e2a902 100644 --- a/luametalatex-back-pdf.lua +++ b/luametalatex-back-pdf.lua @@ -5,6 +5,7 @@ local writer = require'luametalatex-nodewriter' local newpdf = require'luametalatex-pdf' local nametree = require'luametalatex-pdf-nametree' local build_fontdir = require'luametalatex-pdf-font' +local fontmap = require'luametalatex-pdf-font-map' local utils = require'luametalatex-pdf-utils' local strip_floats = utils.strip_floats @@ -744,6 +745,8 @@ token.luacmd("pdfextension", function(_, imm) error[[Unsupported dest type]] end node.write(whatsit) + elseif token.scan_keyword'mapline' then + fontmap.mapline(token.scan_string()) else -- The following error message gobbles the next word as a side effect. -- This is intentional to make error-recovery easier. diff --git a/luametalatex-bit32.lua b/luametalatex-bit32.lua index 42dac55..b63a159 100644 --- a/luametalatex-bit32.lua +++ b/luametalatex-bit32.lua @@ -16,6 +16,6 @@ return { return (i ^ j) & mask32 end, extract = function(v, shift, count) - return ((bit32 & v) >> shift) & ((1<> shift) & ((1<