aboutsummaryrefslogtreecommitdiff
path: root/console/display.c
diff options
context:
space:
mode:
Diffstat (limited to 'console/display.c')
-rw-r--r--console/display.c19
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;