diff options
author | Marcus Brinkmann <marcus@gnu.org> | 2002-09-16 02:48:56 +0000 |
---|---|---|
committer | Marcus Brinkmann <marcus@gnu.org> | 2002-09-16 02:48:56 +0000 |
commit | 43e87b8a95aa36ab5a7f78de3034e081bac2e8ad (patch) | |
tree | 8620e769fd58379a8dfa34529aa8688cd9356c60 /console/display.c | |
parent | a618f28ce12e97bfffea729bdf421c38a236f9ca (diff) | |
download | hurd-43e87b8a95aa36ab5a7f78de3034e081bac2e8ad.tar.gz hurd-43e87b8a95aa36ab5a7f78de3034e081bac2e8ad.tar.bz2 hurd-43e87b8a95aa36ab5a7f78de3034e081bac2e8ad.zip |
hurd/
2002-09-16 Marcus Brinkmann <marcus@gnu.org>
* console.h (conchar_attr_t): Add bits for italic and bold text
attributes.
console/
2002-09-16 Marcus Brinkmann <marcus@gnu.org>
* hurd.ti: Add capabilities <sitm>, <ritm>, <gsbom>, <grbom>.
* display.c (handle_esc_bracket_m): Add support for italic.
(display_output_one): Add new capabilities PU1 and PU2 to toggle
bold mode. Reset PARSE->state on most escape sequences.
* console.c (parse_attributes): Rename old bold attribute to
bright. Add support for italic and bold.
Diffstat (limited to 'console/display.c')
-rw-r--r-- | console/display.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/console/display.c b/console/display.c index d11091b4..352e41c4 100644 --- a/console/display.c +++ b/console/display.c @@ -1000,6 +1000,10 @@ handle_esc_bracket_m (attr_t attr, int code) /* Dim on: <dim>. */ attr->current.intensity = CONS_ATTR_INTENSITY_DIM; break; + case 3: + /* Italic on: <sitm>. */ + attr->current.italic = 1; + break; case 4: /* Underline on: <smul>. */ attr->current.underlined = 1; @@ -1028,6 +1032,10 @@ handle_esc_bracket_m (attr_t attr, int code) /* Normal intensity. */ attr->current.intensity = CONS_ATTR_INTENSITY_NORMAL; break; + case 23: + /* Italic off: <ritm>. */ + attr->current.italic = 1; + break; case 24: /* Underline off: <rmul>. */ attr->current.underlined = 0; @@ -1521,6 +1529,7 @@ display_output_one (display_t display, wchar_t chr) break; case STATE_ESC: + parse->state = STATE_NORMAL; switch (chr) { case L'[': @@ -1539,7 +1548,6 @@ display_output_one (display_t display, wchar_t chr) L' ', display->attr.current); user->cursor.col = user->cursor.row = 0; /* XXX Flag cursor change. */ - parse->state = STATE_NORMAL; break; case L'E': /* ECMA-48 <NEL>. */ /* Newline. */ @@ -1562,9 +1570,16 @@ display_output_one (display_t display, wchar_t chr) /* Visible bell. */ user->bell.visible++; break; + case L'Q': /* ECMA-48 <PU1>. */ + /* Bold on: <gsbom>. This is a GNU extension. */ + display->attr.current.bold = 1; + break; + case L'R': /* ECMA-48 <PU2>. */ + /* Bold off: <grbom>. This is a GNU extension. */ + display->attr.current.bold = 0; + break; default: /* Unsupported escape sequence. */ - parse->state = STATE_NORMAL; break; } break; |