summaryrefslogtreecommitdiff
path: root/tex/context/base/mkxl/driv-shp.lmt
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/mkxl/driv-shp.lmt')
-rw-r--r--tex/context/base/mkxl/driv-shp.lmt16
1 files changed, 8 insertions, 8 deletions
diff --git a/tex/context/base/mkxl/driv-shp.lmt b/tex/context/base/mkxl/driv-shp.lmt
index 0048f4bb8..be156affb 100644
--- a/tex/context/base/mkxl/driv-shp.lmt
+++ b/tex/context/base/mkxl/driv-shp.lmt
@@ -289,6 +289,8 @@ local flush_character do
end
end
+ -- virtual t3 fonts have negative font index
+
for i=1,#vfcommands do
local packet = vfcommands[i]
if packet then
@@ -297,16 +299,14 @@ local flush_character do
local chr = packet[2]
local csx = packet[3]
local csy = packet[4] or csx
- pos_h = pos_h + flushchar(fnt,chr,csx,csy)
-* sx
+ pos_h = pos_h + flushchar(fnt,chr,csx,csy) * sx
elseif command == "slot" then
local index = packet[2]
local chr = packet[3]
local csx = packet[4]
local csy = packet[5] or csx
if index == 0 then
- pos_h = pos_h + flushchar(font,chr,csx,csy)
-* sx
+ pos_h = pos_h + flushchar(font,chr,csx,csy) * sx
else
local okay = fonts and fonts[index]
if okay then
@@ -315,13 +315,11 @@ local flush_character do
if fnt == 0 then
fnt = font
end
- pos_h = pos_h + flushchar(fnt,chr,csx,csy)
-* sx
+ pos_h = pos_h + flushchar(fnt,chr,csx,csy) * sx
end
else
-- safeguard, we assume the font itself (often index 1)
- pos_h = pos_h + flushchar(font,chr,csx,csy)
-* sx
+ pos_h = pos_h + flushchar(font,chr,csx,csy) * sx
end
end
elseif command == "use" then
@@ -394,6 +392,7 @@ local flush_character do
if v and v ~= 0 then
pos_v = pos_v + v * sy
end
+print("6>",fnt)
flushchar(fnt,c,csx,csy)
pos_h = ph
pos_v = pv
@@ -525,6 +524,7 @@ local flush_character do
local okay = fonts and fonts[index]
if okay then
fnt = okay.id or fnt -- or maybe just return
+print("7>",fnt)
end
elseif command == "lua" then
local code = packet[2]