- if (pb != null) pb.drawGlyph(g, x + width, y + g.font.max_ascent - g.baseline, cx1, cy1, cx2, cy2, textcolor);
+ if (a!=null) a.multiply(Affine.translate(0, g.font.max_ascent - g.baseline));
+ if (ha!=null) ha.multiply(Affine.translate(0, g.font.max_ascent - g.baseline));
+ if (pb != null) {
+ pb.drawGlyph(g, a, h, fg, bg);
+ if (h!=null) h.subtract(new Mesh().addRect(0, 0, g.width, g.height), ha);
+ }
+ if (a!=null) a.multiply(Affine.translate(0, -1 * (g.font.max_ascent - g.baseline)));
+ if (ha!=null) ha.multiply(Affine.translate(0, -1 * (g.font.max_ascent - g.baseline)));