apply cairo_font_scale also for nocairo fonts (in addition to nocairo_[xy]_font_scale)

This commit is contained in:
Stefan Schippers 2024-03-24 20:36:19 +01:00
parent 3186270548
commit faee6bbc89
3 changed files with 6 additions and 6 deletions

View File

@ -355,10 +355,10 @@ void draw_string(int layer, int what, const char *str, short rot, short flip, in
return;
}
else {
xscale*=tclgetdoublevar("nocairo_font_xscale") * cairo_font_scale;
yscale*=tclgetdoublevar("nocairo_font_yscale") * cairo_font_scale;
text_bbox(str, xscale, yscale, rot, flip, hcenter, vcenter, x1,y1,
&textx1,&texty1,&textx2,&texty2, &no_of_lines, &longest_line);
xscale*=tclgetdoublevar("nocairo_font_xscale");
yscale*=tclgetdoublevar("nocairo_font_yscale");
if(!textclip(xctx->areax1,xctx->areay1,xctx->areax2,xctx->areay2,
textx1,texty1,textx2,texty2)) return;
x1=textx1;y1=texty1;

View File

@ -740,6 +740,8 @@ static void old_ps_draw_string(int gctext, const char *str,
double longest_line;
if(str==NULL) return;
xscale*=tclgetdoublevar("nocairo_font_xscale") * cairo_font_scale;
yscale*=tclgetdoublevar("nocairo_font_yscale") * cairo_font_scale;
#if HAS_CAIRO==1
text_bbox_nocairo(str, xscale, yscale, rot, flip, hcenter, vcenter,
x1,y1, &rx1,&ry1,&rx2,&ry2, &no_of_lines, &longest_line);
@ -747,8 +749,6 @@ static void old_ps_draw_string(int gctext, const char *str,
text_bbox(str, xscale, yscale, rot, flip, hcenter, vcenter,
x1,y1, &rx1,&ry1,&rx2,&ry2, &no_of_lines, &longest_line);
#endif
xscale*=tclgetdoublevar("nocairo_font_xscale");
yscale*=tclgetdoublevar("nocairo_font_yscale");
if(!textclip(xctx->areax1,xctx->areay1,xctx->areax2,xctx->areay2,rx1,ry1,rx2,ry2)) return;
set_ps_colors(gctext);

View File

@ -389,6 +389,8 @@ static void old_svg_draw_string(int layer, const char *str,
double longest_line;
if(str==NULL) return;
xscale*=tclgetdoublevar("nocairo_font_xscale") * cairo_font_scale;
yscale*=tclgetdoublevar("nocairo_font_yscale") * cairo_font_scale;
#if HAS_CAIRO==1
text_bbox_nocairo(str, xscale, yscale, rot, flip, hcenter, vcenter,
x,y, &rx1,&ry1,&rx2,&ry2, &no_of_lines, &longest_line);
@ -396,8 +398,6 @@ static void old_svg_draw_string(int layer, const char *str,
text_bbox(str, xscale, yscale, rot, flip, hcenter, vcenter, x,y,
&rx1,&ry1,&rx2,&ry2, &no_of_lines, &longest_line);
#endif
xscale*=tclgetdoublevar("nocairo_font_xscale");
yscale*=tclgetdoublevar("nocairo_font_yscale");
if(!textclip(xctx->areax1,xctx->areay1,xctx->areax2,xctx->areay2,rx1,ry1,rx2,ry2)) return;
x=rx1;y=ry1;
if(rot&1) {y=ry2;rot=3;}