From 3e7ac03ca71c9b93c73fa58fd1de9a2042ec13d7 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Thu, 22 Apr 2004 17:47:28 +0000 Subject: bk_text and bk_info both need to know the on-screen width of characters in order to wrap and align them properly. Therefore, they should be using wcwidth(). So here are a couple of wrappers on wcwidth(), one which filters out the Unicode characters not representable in the target charset, and one which converts _from_ a charset to Unicode before calling wcwidth(). bk_text and bk_info should now align correctly even in the face of unsupported characters and Japanese. [originally from svn r4116] --- bk_text.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bk_text.c') diff --git a/bk_text.c b/bk_text.c index 373de74..8fa7340 100644 --- a/bk_text.c +++ b/bk_text.c @@ -480,7 +480,7 @@ static int text_width(void *ctx, word *text) { attraux(text->aux) == attr_Always ? 0 : 1) : 0) + (cvt_ok(charset, text->text) || !text->alt ? - ustrlen(text->text) : + ustrwid(text->text, charset) : text_width_list(ctx, text->alt))); case word_WhiteSpace: -- cgit v1.1