| 3034 |
RepStr[len++] = ';'; |
RepStr[len++] = ';'; |
| 3035 |
} |
} |
| 3036 |
if (CharAttr.Attr2 & Attr2Fore) { |
if (CharAttr.Attr2 & Attr2Fore) { |
| 3037 |
if (CharAttr.Fore <= 7) { |
int color = CharAttr.Fore; |
| 3038 |
|
if (color <= 7 && (CharAttr.Attr & AttrBold) && (ts.ColorFlag & CF_PCBOLD16)) { |
| 3039 |
|
color += 8; |
| 3040 |
|
} |
| 3041 |
|
|
| 3042 |
|
if (color <= 7) { |
| 3043 |
RepStr[len++] = '3'; |
RepStr[len++] = '3'; |
| 3044 |
RepStr[len++] = '0' + CharAttr.Fore; |
RepStr[len++] = '0' + color; |
| 3045 |
RepStr[len++] = ';'; |
RepStr[len++] = ';'; |
| 3046 |
} |
} |
| 3047 |
else if (CharAttr.Fore <= 15) { |
else if (color <= 15) { |
| 3048 |
RepStr[len++] = '9'; |
if (ts.ColorFlag & CF_AIXTERM16) { |
| 3049 |
RepStr[len++] = '0' + CharAttr.Fore - 8; |
RepStr[len++] = '9'; |
| 3050 |
RepStr[len++] = ';'; |
RepStr[len++] = '0' + color - 8; |
| 3051 |
|
RepStr[len++] = ';'; |
| 3052 |
|
} |
| 3053 |
|
else if (ts.ColorFlag & CF_XTERM256) { |
| 3054 |
|
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, "38;5;%d;", CLocale, color); |
| 3055 |
|
} |
| 3056 |
|
else if (ts.ColorFlag & CF_PCBOLD16) { |
| 3057 |
|
RepStr[len++] = '3'; |
| 3058 |
|
RepStr[len++] = '0' + color - 8; |
| 3059 |
|
RepStr[len++] = ';'; |
| 3060 |
|
} |
| 3061 |
} |
} |
| 3062 |
else { |
else if (ts.ColorFlag & CF_XTERM256) { |
| 3063 |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, "38;5;%d;", CLocale, CharAttr.Fore); |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, "38;5;%d;", CLocale, color); |
| 3064 |
} |
} |
| 3065 |
} |
} |
| 3066 |
if (CharAttr.Attr2 & Attr2Back) { |
if (CharAttr.Attr2 & Attr2Back) { |
| 3067 |
if (CharAttr.Back <= 7) { |
int color = CharAttr.Back; |
| 3068 |
|
if (color <= 7 && (CharAttr.Attr & AttrBlink) && (ts.ColorFlag & CF_PCBOLD16)) { |
| 3069 |
|
color += 8; |
| 3070 |
|
} |
| 3071 |
|
if (color <= 7) { |
| 3072 |
RepStr[len++] = '4'; |
RepStr[len++] = '4'; |
| 3073 |
RepStr[len++] = '0' + CharAttr.Back; |
RepStr[len++] = '0' + color; |
| 3074 |
RepStr[len++] = ';'; |
RepStr[len++] = ';'; |
| 3075 |
} |
} |
| 3076 |
else if (CharAttr.Back <= 15) { |
else if (color <= 15) { |
| 3077 |
RepStr[len++] = '1'; |
if (ts.ColorFlag & CF_AIXTERM16) { |
| 3078 |
RepStr[len++] = '0'; |
RepStr[len++] = '1'; |
| 3079 |
RepStr[len++] = '0' + CharAttr.Back - 8; |
RepStr[len++] = '0'; |
| 3080 |
RepStr[len++] = ';'; |
RepStr[len++] = '0' + color - 8; |
| 3081 |
|
RepStr[len++] = ';'; |
| 3082 |
|
} |
| 3083 |
|
else if (ts.ColorFlag & CF_XTERM256) { |
| 3084 |
|
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, "48;5;%d;", CLocale, color); |
| 3085 |
|
} |
| 3086 |
|
else if (ts.ColorFlag & CF_PCBOLD16) { |
| 3087 |
|
RepStr[len++] = '4'; |
| 3088 |
|
RepStr[len++] = '0' + color - 8; |
| 3089 |
|
RepStr[len++] = ';'; |
| 3090 |
|
} |
| 3091 |
} |
} |
| 3092 |
else { |
else if (ts.ColorFlag & CF_XTERM256) { |
| 3093 |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, "48;5;%d;", CLocale, CharAttr.Back); |
len += _snprintf_s_l(&RepStr[len], sizeof(RepStr) - len, _TRUNCATE, "48;5;%d;", CLocale, color); |
| 3094 |
} |
} |
| 3095 |
} |
} |
| 3096 |
if (len == 3) { |
if (len == 3) { |