diff options
Diffstat (limited to 'tex/context/base/mkxl/driv-shp.lmt')
-rw-r--r-- | tex/context/base/mkxl/driv-shp.lmt | 16 |
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] |