Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /branches/ttcomtester/tests/color-sgr-decscnm.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 10203 - (hide annotations) (download) (as text)
Sun Aug 28 14:55:44 2022 UTC (19 months, 1 week ago) by zmatsuo
Original Path: trunk/tests/color-sgr-decscnm.pl
File MIME type: text/x-perl
File size: 3815 byte(s)
ANSI Color属性の色も反転表示するようにした

- Tera Term 4 の動作
  - SGR 7 で反転表示(ForeとBackが入れ替わる)する
    - ANSI Color属性を含んでいるとき
    - SGR 7 + ANSI Color (SGR 31(FG Red) + SGR 42(BG Greed)など)で表示したとき
  - マウスで文字を選択したとき反転する
  - DECSCNM で反転させたときに反転しない
- 修正前の動作
  - SGR 7 で反転表示しない
  - マウスで文字を選択したとき反転する
  - DECSCNM で反転させたときに反転しない
- 今回の修正で反転表示の制限をなくした
  - SGR 7 で反転表示する
  - マウスで文字を選択したとき反転する
  - DECSCNM で反転させたときに反転する
1 zmatsuo 10192
2     local $| = 1;
3    
4     print "\x1b[0m";
5     print "SGR(Select Graphic Rendition) test\n";
6    
7     if (1) {
8     print "==================== support attributes\n";
9    
10     print "\x1b[0m";
11     print "Normal / SGR 0";
12     print "\x1b[0m";
13     print "\n";
14    
15     print "\x1b[39m";
16     print "\x1b[49m";
17     print "Normal / SGR 39, 49";
18     print "\x1b[0m";
19     print "\n";
20    
21     print "\x1b[1m";
22     print "Bold / SGR 1";
23     print "\x1b[0m";
24     print "\n";
25    
26     print "\x1b[4m";
27     print "Underline / SGR 4";
28     print "\x1b[0m";
29     print "\n";
30    
31     print "\x1b[5m";
32     print "Blink(Slow blink) / SGR 5";
33     print "\x1b[0m";
34     print "\n";
35    
36     print "\x1b[7m";
37     print "Reverse / SGR 7";
38     print "\x1b[0m";
39     print "\n";
40    
41     print "\x1b[0m";
42     print "https://ttssh2.osdn.jp/ SGR 0(Normal) + URL string\n";
43    
44     print "\x1b[0m\x1b[31m";
45     print "RED / SGR 0 + SGR 31(FG Red)";
46     print "\x1b[0m";
47     print "\n";
48    
49     print "\x1b[0m\x1b[42m";
50     print "RED / SGR 0 + SGR 42(BG Greed)";
51     print "\x1b[0m";
52     print "\n";
53    
54     print "\x1b[31m\x1b[42m";
55     print "RED / SGR 31(FG Red) + SGR 42(BG Greed)";
56     print "\x1b[0m";
57     print "\n";
58    
59 zmatsuo 10203 print "\x1b[7m\x1b[31m\x1b[42m";
60     print "Reverse / SGR 7 + SGR 31(FG Red) + SGR 42(BG Greed)";
61     print "\x1b[0m";
62     print "\n";
63    
64 zmatsuo 10192 print "\x1b[1m\x1b[41m";
65     print "BOLD + BG RED / SGR 1 + SGR 41(BG Red)";
66     print "\x1b[0m";
67     print "\n";
68    
69     print "\x1b[5m\x1b[46m";
70     print "Blink(Slow blink) / SGR 5 + SGR 46(BG Cyan)";
71     print "\x1b[0m";
72     print "\n";
73    
74     print "\x1b[5m\x1b[106m";
75     print "Blink(Slow blink) / SGR 5 + SGR 106(BG Bright Cyan)";
76     print "\x1b[0m";
77     print "\n";
78    
79     print "\x1b[4m\x1b[44m";
80     print "Underline / SGR 4 + SGR 44(BG Blue)";
81     print "\x1b[0m";
82     print "\n";
83    
84     print "\x1b[4m\x1b[104m";
85     print "Underline / SGR 4 + SGR 104(BG Bright Blue)";
86     print "\x1b[0m";
87     print "\n";
88     }
89    
90     if (1) {
91     print "==================== ANSI color\n";
92    
93     print "\x1b[0m";
94    
95 zmatsuo 10196 print "3bit(8) Standard color / 4bit(16) Darker color\n";
96 zmatsuo 10192 print " FG: SGR 30..37 m BG: SGR 40..47 m\n";
97     for ($f = 0; $f < 8; $f++) {
98     for ($b = 0; $b < 8; $b++) {
99     printf("\x1b[%d;%dm %3d/%3d ", $f + 30, $b + 40, $f + 30, $b + 40);
100     }
101     print "\x1b[0m";
102     print "\n";
103     }
104     print "\x1b[0m";
105     print "\n";
106    
107 zmatsuo 10196 if (1) {
108     print "aixterm 4bit(16) bright color\n";
109     print " FG: SGR 90..97 m BG: SGR 100..107 m\n";
110     for ($f = 0; $f < 8; $f++) {
111     for ($b = 0; $b < 8; $b++) {
112     printf("\x1b[%d;%dm %3d/%3d ", $f + 90, $b + 100, $f + 90 , $b + 100);
113     }
114     print "\x1b[0m";
115     print "\n";
116 zmatsuo 10192 }
117     }
118    
119 zmatsuo 10196 if (1) {
120     print "PC-Style 4bit(16) bright color\n";
121     print " FG: SGR 30..37 m BG: SGR 40..47 m\n";
122     for ($f = 0; $f < 8; $f++) {
123     for ($b = 0; $b < 8; $b++) {
124     print "\x1b[1m";
125     printf("\x1b[%d;%dm %3d/%3d ", $f + 30, $b + 40, $f + 30, $b + 40);
126     }
127     print "\x1b[0m";
128     print "\n";
129 zmatsuo 10192 }
130     print "\x1b[0m";
131     print "\n";
132     }
133 zmatsuo 10196
134     if (1) {
135     print "PC 4bit(16) color\n";
136     print " FG: SGR 38 ; 5 ; n m BG: 48 ; 5 ; n m (256color only)\n";
137     for ($f = 0; $f < 8; $f++) {
138     for ($b = 0; $b < 8; $b++) {
139     printf("\x1b[38;5;%dm\x1b[48;5;%dm %3d/%3d ", $f, $b, $f, $b);
140     }
141     print "\x1b[0m";
142     print "\n";
143     }
144     for ($f = 0; $f < 8; $f++) {
145     for ($b = 0; $b < 8; $b++) {
146     printf("\x1b[38;5;%dm\x1b[48;5;%dm %3d/%3d ", $f + 8, $b + 8, $f + 8, $b + 8);
147     }
148     print "\x1b[0m";
149     print "\n";
150     }
151     }
152 zmatsuo 10192 }
153    
154     # DECSCNM 反転表示モード
155     # DECSET ESC [ ? 5 h 設定
156     # echo -en "\033[?5h"
157     # DECRST ESC [ ? 5 l 解除
158     # echo -en "\033[?5l"
159     if (1) {
160     print "==================== DECSCNM test\n";
161     for ($i = 0; $i < 50; $i++) {
162     if (($i % 2) == 0) {
163 zmatsuo 10203 print "\x1b[?5l";
164     } else {
165 zmatsuo 10192 print "\x1b[?5h";
166     }
167 zmatsuo 10203 sleep(1);
168 zmatsuo 10192 }
169     }

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26