mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-04-17 19:18:06 -05:00
Double-height and double-width line attributes (ESC#3, ESC#4, ESC#6)
were not working correctly with double-width Unicode characters (CJK). [originally from svn r4636]
This commit is contained in:
parent
5f05f03fb2
commit
4eef9ce190
@ -1973,7 +1973,7 @@ void do_text_internal(Context ctx, int x, int y, wchar_t *text, int len,
|
|||||||
y*inst->font_height+inst->cfg.window_border,
|
y*inst->font_height+inst->cfg.window_border,
|
||||||
x*inst->font_width+inst->cfg.window_border + 2*i+1,
|
x*inst->font_width+inst->cfg.window_border + 2*i+1,
|
||||||
y*inst->font_height+inst->cfg.window_border,
|
y*inst->font_height+inst->cfg.window_border,
|
||||||
len * inst->font_width - i, inst->font_height);
|
len * widefactor * inst->font_width - i, inst->font_height);
|
||||||
}
|
}
|
||||||
len *= 2;
|
len *= 2;
|
||||||
if ((lattr & LATTR_MODE) != LATTR_WIDE) {
|
if ((lattr & LATTR_MODE) != LATTR_WIDE) {
|
||||||
@ -1987,9 +1987,9 @@ void do_text_internal(Context ctx, int x, int y, wchar_t *text, int len,
|
|||||||
gdk_draw_pixmap(inst->pixmap, gc, inst->pixmap,
|
gdk_draw_pixmap(inst->pixmap, gc, inst->pixmap,
|
||||||
x*inst->font_width+inst->cfg.window_border,
|
x*inst->font_width+inst->cfg.window_border,
|
||||||
y*inst->font_height+inst->cfg.window_border+dt*i+db,
|
y*inst->font_height+inst->cfg.window_border+dt*i+db,
|
||||||
x*widefactor*inst->font_width+inst->cfg.window_border,
|
x*inst->font_width+inst->cfg.window_border,
|
||||||
y*inst->font_height+inst->cfg.window_border+dt*(i+1),
|
y*inst->font_height+inst->cfg.window_border+dt*(i+1),
|
||||||
len * inst->font_width, inst->font_height-i-1);
|
len * widefactor * inst->font_width, inst->font_height-i-1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user