groff/groff-grotty-wc-no-sgr.patch
Jan Vcelak 0cfd1e9552 fix: Japanese bold/underline text not displayed correctly
Resolves: #712904
Thanks To: Daiki Ueno <dueno@redhat.com>
2011-06-17 15:27:14 +02:00

59 lines
1.6 KiB
Diff

Fix handling of wide characters in no-SGR mode.
Fixes: #712904 Japanese bold/underlined text not displayed correctly
Patch from upstream CVS:
2011-01-20 Colin Watson <cjwatson@debian.org>
Fix handling of wide characters in no-SGR mode.
* src/devices/grotty/tty.cpp (tty_printer::make_underline): Only
emit a single backspace in no-SGR mode. less (at least) backspaces
over a character at a time.
(tty_printer::make_bold): Likewise.
Index: src/devices/grotty/tty.cpp
===================================================================
RCS file: /sources/groff/groff/src/devices/grotty/tty.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- a/src/devices/grotty/tty.cpp 13 Dec 2010 17:42:28 -0000 1.23
+++ b/src/devices/grotty/tty.cpp 20 Jan 2011 07:13:57 -0000 1.24
@@ -1,6 +1,6 @@
// -*- C++ -*-
-/* Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
- 2010
+/* Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005, 2006,
+ 2009-2011
Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -311,11 +311,8 @@
if (!w)
warning("can't underline zero-width character");
else {
- int n = w / font::hor;
- for (int i = 0; i < n; i++)
- putchar('_');
- for (int j = 0; j < n; j++)
- putchar('\b');
+ putchar('_');
+ putchar('\b');
}
}
else {
@@ -337,10 +334,8 @@
if (!w)
warning("can't print zero-width character in bold");
else {
- int n = w / font::hor;
put_char(c);
- for (int i = 0; i < n; i++)
- putchar('\b');
+ putchar('\b');
}
}
else {