📄 gen-color-table.pl
字号:
#!/usr/bin/perl -wif (@ARGV != 1) { die "Usage: gen-colors.pl rgb.txt > pango-color-table.h\n";}open IN, $ARGV[0] || die "Cannot open $ARGV[0]: $!\n";@colors = ();while (defined($_ = <IN>)) { next if /^!/; if (!/^\s*([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+(.*\S)\s+$/) { die "Cannot parse line $_"; } push @colors, [$1, $2, $3, $4];}@colors = sort { lc($a->[3]) cmp lc($b->[3]) } @colors;$offset = 0;$date = gmtime;print <<EOT;/* pango-color-table.h: Generated by gen-color-table.pl from rgb.txt * * Date: $date * * Do not edit. */static const char color_names[] =EOTfor $color (@colors) { $name = $color->[3]; if ($offset != 0) { print qq(\n); } print qq( "$name\\0"); $color->[4] = $offset; $offset += length($name) + 1;}print ";\n\n";print <<EOT;typedef struct { guint16 name_offset; guchar red; guchar green; guchar blue;} ColorEntry;static const ColorEntry color_entries[] = {EOT$i = 0;for $color (@colors) { $red = $color->[0]; $green = $color->[1]; $blue = $color->[2]; $offset = $color->[4]; if ($i != 0) { print ",\n"; } print " { $offset, $red, $green, $blue }"; $i++;}print "\n};\n";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -