Add aixterm bright colour sequences (SGR 90-97 and 100-107). From
authornicm <nicm@openbsd.org>
Thu, 12 Jan 2023 12:28:08 +0000 (12:28 +0000)
committernicm <nicm@openbsd.org>
Thu, 12 Jan 2023 12:28:08 +0000 (12:28 +0000)
Crystal Kolipe kolipe.c at exoticsilicon dot com.

ok miod

sys/dev/rasops/rasops.c
sys/dev/wscons/wsemul_vt100_subr.c

index 3de0d00..996891d 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: rasops.c,v 1.67 2023/01/11 12:47:04 nicm Exp $        */
+/*     $OpenBSD: rasops.c,v 1.68 2023/01/12 12:28:08 nicm Exp $        */
 /*     $NetBSD: rasops.c,v 1.35 2001/02/02 06:01:01 marcus Exp $       */
 
 /*-
@@ -557,7 +557,8 @@ rasops_pack_cattr(void *cookie, int fg, int bg, int flg, uint32_t *attr)
                bg = swap;
        }
 
-       if ((flg & WSATTR_HILIT) != 0)
+       /* Bold is only supported for ANSI colors 0 - 7. */
+       if ((flg & WSATTR_HILIT) != 0 && fg < 8)
                fg += 8;
 
        flg = ((flg & WSATTR_UNDERLINE) ? 1 : 0);
index e97d65b..b68d94b 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: wsemul_vt100_subr.c,v 1.26 2023/01/12 12:23:40 nicm Exp $ */
+/* $OpenBSD: wsemul_vt100_subr.c,v 1.27 2023/01/12 12:28:08 nicm Exp $ */
 /* $NetBSD: wsemul_vt100_subr.c,v 1.7 2000/04/28 21:56:16 mycroft Exp $ */
 
 /*
@@ -607,6 +607,18 @@ wsemul_vt100_handle_csi(struct wsemul_vt100_emuldata *edp,
                                if (fgcol == WSCOL_WHITE)
                                        flags &= ~WSATTR_WSCOLORS;
                                break;
+                       case 90: case 91: case 92: case 93:
+                       case 94: case 95: case 96: case 97:
+                               /* bright foreground color */
+                               flags |= WSATTR_WSCOLORS;
+                               fgcol = ARG(n) - 82;
+                               break;
+                       case 100: case 101: case 102: case 103:
+                       case 104: case 105: case 106: case 107:
+                               /* bright background color */
+                               flags |= WSATTR_WSCOLORS;
+                               bgcol = ARG(n) - 92;
+                               break;
                        default:
 #ifdef VT100_PRINTUNKNOWN
                                printf("CSI%dm unknown\n", ARG(n));