blob: 6322b351472db6bac4fde800dfb8b179208bf45b [file] [log] [blame]
:
eval 'exec perl -S $0 ${1+"$@"}'
if 0;
#**************************************************************
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
#**************************************************************
#
# Create ordinary theme from HiContrast images.
#
use File::Copy;
use File::Find;
use File::Path;
use File::Spec;
( $src, $dst ) = @ARGV;
if ( $src eq "" || $dst eq "" ) {
print STDERR "Usage: hicontrast-to-theme.pl src dest\n\n";
print STDERR "Create ordinary theme from HiContrast images.\n";
exit 1;
}
$dst = File::Spec->rel2abs( $dst );
@hc_table = (
[ ".*_h.png", "_h.png", ".png" ],
[ ".*_sch.png", "_sch.png", ".png" ],
[ ".*_hc.png", "_hc.png", ".png" ],
[ "lch_.*.png", "lch_", "lc_" ],
[ "sch_.*.png", "sch_", "sc_" ],
[ "lch[0-9].*.png", "lch", "lc" ],
[ "sch[0-9].*.png", "sch", "sc" ],
[ "loh[0-9].*.png", "loh", "lo" ],
[ "lxh[0-9].*.png", "lxh", "lx" ],
[ "sxh[0-9].*.png", "sxh", "sx" ],
[ "avh[0-9].*.png", "avh", "av" ],
[ "avlh[0-9].*.png", "avlh", "avl" ],
[ "idh[0-9].*.png", "idh", "id" ],
[ "imh[0-9].*.png", "imh", "im" ],
[ "mih[0-9].*.png", "mih", "mi" ],
[ "tbh[0-9].*.png", "tbh", "tb" ],
[ "nah[0-9].*.png", "nah", "na" ],
[ "nch[0-9].*.png", "nch", "nc" ],
[ "nvh[0-9].*.png", "nvh", "nv" ],
[ "ouh[0-9].*.png", "ouh", "ou" ],
[ "ddh[0-9].*.png", "ddh", "dd" ],
[ "sfh[0-9].*.png", "sfh", "sf" ],
[ "srh[0-9].*.png", "srh", "sr" ],
[ "wrh[0-9].*.png", "wrh", "wr" ],
[ "alh[0-9].*.png", "alh", "al" ],
[ "ath[0-9].*.png", "ath", "at" ],
[ "bih[0-9].*.png", "bih", "bi" ],
[ "coh[0-9].*.png", "coh", "co" ],
[ "foh[0-9].*.png", "foh", "fo" ],
[ "fuh[0-9].*.png", "fuh", "fu" ],
[ "oph[0-9].*.png", "oph", "op" ],
[ "unh[0-9].*.png", "unh", "un" ],
[ "edh[0-9].*.png", "edh", "ed" ],
[ "cdh[0-9].*.png", "cdh", "cd" ],
[ "frh[0-9].*.png", "frh", "fr" ],
[ "fwh[0-9].*.png", "fwh", "fw" ],
[ "nuh[0-9].*.png", "nuh", "nu" ],
[ "prh[0-9].*.png", "prh", "pr" ],
[ "shh[0-9].*.png", "shh", "sh" ],
[ "trh[0-9].*.png", "trh", "tr" ],
[ "reh[0-9].*.png", "reh", "re" ],
[ "joh[0-9].*.png", "joh", "jo" ],
[ "fph[0-9].*.png", "fph", "fp" ],
[ "dah[0-9].*.png", "dah", "da" ]
);
my (@from_stat, @to_stat);
sub copy_normalized {
$file = $_;
for $hc ( @hc_table ) {
( $what, $from, $to ) = @$hc;
if ( $file =~ /$what/&&!($file=~/\.svn/) ) {
my $dir = File::Spec->catdir( $dst, $File::Find::dir );
if ( ! -d $dir ) {
mkpath( $dir );
}
( my $copy = $file ) =~ s/$from/$to/;
$copy = File::Spec->catfile( $dir, $copy );
@from_stat = stat($file);
@to_stat = stat($copy);
if ( $from_stat[9] > $to_stat[9] ) {
if ( $^O eq 'os2' ) {
$rc = unlink($copy);
}
copy( $file, $copy ) || die $!;
utime( $from_stat[9], $from_stat[9], $copy );
}
last;
}
}
}
chdir( $src );
find( \&copy_normalized, '.' );