tty and curses: support italic as text attribute
This commit is contained in:
@@ -36,6 +36,7 @@ struct tc_lcl_data tc_lcl_data = { 0, 0, 0, 0, 0, 0, 0, FALSE };
|
||||
static char *HO, *CL, *CE, *UP, *XD, *BC, *SO, *SE, *TI, *TE;
|
||||
static char *VS, *VE;
|
||||
static char *ME, *MR, *MB, *MH, *MD;
|
||||
static char *ZH, *ZR;
|
||||
|
||||
#ifdef TERMLIB
|
||||
boolean dynamic_HIHE = FALSE;
|
||||
@@ -256,6 +257,8 @@ tty_startup(int *wid, int *hgt)
|
||||
SE = Tgetstr("se"); /* standout end */
|
||||
nh_US = Tgetstr("us"); /* underline start */
|
||||
nh_UE = Tgetstr("ue"); /* underline end */
|
||||
ZH = Tgetstr("ZH"); /* italic start */
|
||||
ZR = Tgetstr("ZR"); /* italic end */
|
||||
SG = tgetnum("sg"); /* -1: not fnd; else # of spaces left by so */
|
||||
if (!SO || !SE || (SG > 0))
|
||||
SO = SE = nh_US = nh_UE = nullstr;
|
||||
@@ -1320,6 +1323,10 @@ s_atr2str(int n)
|
||||
if (MH && *MH)
|
||||
return MH;
|
||||
break;
|
||||
case ATR_ITALIC:
|
||||
if (ZH && *ZH)
|
||||
return ZH;
|
||||
break;
|
||||
}
|
||||
return nulstr;
|
||||
}
|
||||
@@ -1342,6 +1349,10 @@ e_atr2str(int n)
|
||||
if (ME && *ME)
|
||||
return ME;
|
||||
break;
|
||||
case ATR_ITALIC:
|
||||
if (ZR && *ZR)
|
||||
return ZR;
|
||||
break;
|
||||
}
|
||||
return nulstr;
|
||||
}
|
||||
@@ -1440,7 +1451,7 @@ term_start_color(int color)
|
||||
#define tcfmtstr256 "\033[38:5:%ldm"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
static void emit24bit(long mcolor);
|
||||
static void emit256(int u256coloridx);
|
||||
|
||||
@@ -1469,7 +1480,7 @@ term_start_24bitcolor(struct unicode_representation *urep)
|
||||
{
|
||||
if (urep && SYMHANDLING(H_UTF8)) {
|
||||
/* color 0 has bit 0x1000000 set */
|
||||
long mcolor = (urep->ucolor & 0xFFFFFF);
|
||||
long mcolor = (urep->ucolor & 0xFFFFFF);
|
||||
if (iflags.colorcount == 256)
|
||||
emit256(urep->u256coloridx);
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user