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 10192 - (hide annotations) (download) (as text)
Fri Aug 26 14:29:24 2022 UTC (19 months, 2 weeks ago) by zmatsuo
Original Path: trunk/tests/color-sgr-decscnm.pl
File MIME type: text/x-perl
File size: 3086 byte(s)
文字色設定の整理

- 反転表示、常に標準の背景色を使う、8/16/256色表示 を整理
  - 反転表示 = 文字のBGとFGの色が入れ替わる処理
- vtdisp.c の DispSetupDC() のみで表示文字の色設定を行うようにした
- 従来、カラーテーブルの入れ替え、上書きなどを行っていた
  - BGExchangeColor() を削除
  - テーブルの入れ替えなどを行っている部分を削除
- 文字背景色が標準属性背景色で上書きしなくても表示できるようにした
  - ウィンドウの設定ダイアログの「常に標準の背景色を使う」のチェック
  - TERATERM.INI の [Tera Term] セクション UseNormalBGColor=on/off
  - 次の手順で上書きされる
    - 標準色を使うのチェックが外れている状態から
    - チェックを入れて
    - TERATERM.INIを保存すると、背景色が標準背景色となる
- 各種文字色設定をテストするテストを追加 color-sgr-decscnm.pl
  - いろいろなパターンの色設定を表示
  - 反転表示
  - マニュアルにスクリプトについて追記
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     print "\x1b[1m\x1b[41m";
60     print "BOLD + BG RED / SGR 1 + SGR 41(BG Red)";
61     print "\x1b[0m";
62     print "\n";
63    
64     print "\x1b[5m\x1b[46m";
65     print "Blink(Slow blink) / SGR 5 + SGR 46(BG Cyan)";
66     print "\x1b[0m";
67     print "\n";
68    
69     print "\x1b[5m\x1b[106m";
70     print "Blink(Slow blink) / SGR 5 + SGR 106(BG Bright Cyan)";
71     print "\x1b[0m";
72     print "\n";
73    
74     print "\x1b[4m\x1b[44m";
75     print "Underline / SGR 4 + SGR 44(BG Blue)";
76     print "\x1b[0m";
77     print "\n";
78    
79     print "\x1b[4m\x1b[104m";
80     print "Underline / SGR 4 + SGR 104(BG Bright Blue)";
81     print "\x1b[0m";
82     print "\n";
83     }
84    
85     if (1) {
86     print "==================== ANSI color\n";
87    
88     print "\x1b[0m";
89    
90     print "3bit(8) and 4bit(16) color Standard\n";
91     print " FG: SGR 30..37 m BG: SGR 40..47 m\n";
92     for ($f = 0; $f < 8; $f++) {
93     for ($b = 0; $b < 8; $b++) {
94     printf("\x1b[%d;%dm %3d/%3d ", $f + 30, $b + 40, $f + 30, $b + 40);
95     }
96     print "\x1b[0m";
97     print "\n";
98     }
99     print "\x1b[0m";
100     print "\n";
101    
102     print "aixterm 4bit(16) color bright\n";
103     print " FG: SGR 90..97 m BG: SGR 100..107 m\n";
104     for ($f = 0; $f < 8; $f++) {
105     for ($b = 0; $b < 8; $b++) {
106     printf("\x1b[%d;%dm %3d/%3d ", $f + 90, $b + 100, $f + 90 , $b + 100);
107     }
108     print "\x1b[0m";
109     print "\n";
110     }
111    
112     print "PC 4bit(16) color bright\n";
113     print " FG: SGR 38 ; 5 ; n m BG: 48 ; 5 ; n m (256color only)\n";
114     for ($f = 0; $f < 8; $f++) {
115     for ($b = 0; $b < 8; $b++) {
116     printf("\x1b[38;5;%dm\x1b[48;5;%dm %3d/%3d ", $f + 8 , $b + 8, $f + 8 , $b + 8);
117     }
118     print "\x1b[0m";
119     print "\n";
120     }
121     }
122    
123     # DECSCNM 反転表示モード
124     # DECSET ESC [ ? 5 h 設定
125     # echo -en "\033[?5h"
126     # DECRST ESC [ ? 5 l 解除
127     # echo -en "\033[?5l"
128     if (1) {
129     print "==================== DECSCNM test\n";
130     for ($i = 0; $i < 50; $i++) {
131     sleep(1);
132     if (($i % 2) == 0) {
133     print "\x1b[?5h";
134     } else {
135     print "\x1b[?5l";
136     }
137     }
138     }

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