[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Including scalable icons to improve size coverage



Charlie Brej wrote:
Luya Tshimbalanga wrote:
I forgot to include the modified trim_svg.pl . Charles, could you check
why the script failed to restore visibility on one of Echo icon?

The I have just noticed that some icons refused to show up on my system. I narrowed down the problem to Adobe Illustrator wanting to put "svg:" in front of most tags (but only in some icons). Inkscape can deal with it but gimp/nautilus/eog can't. There are some 20 effected icons but the new version of the script corrects this. It goes through and removes all the svg: from the front of tags.

Another problem I found is that gimp also ignores the visibility attrib and displays the hidden objects anyway. This can be seen in preferences-desktop-accessibilityL.svg where the old wheelchair object is still visible over the new icon. You can search for these using:
 > grep -l display=\"none\" *.svg
Usually these are just temporary items left behind while creating the image, but better make sure they didnt come to the foreground within the frame.

Just realised I forgot to attach the script (doh!).
#!/usr/bin/perl

use XML::Twig;
if (! ARGV) {
    @ARGV = "-";
}
foreach (@ARGV) {
  my $twig=XML::Twig->new(twig_handlers => {
        '_all_' => sub {
            if($_->gi =~ "svg:"){
                my $gi = $_->gi;
                $gi =~ s/^svg://;
                $_->set_gi($gi); 
                }
            
        },
        'i:pgf' => sub {
            $_->delete;
        },
        'i:pgfRef' => sub {
            $_->delete;
        },
        'x:xmpmeta' => sub {
            $_->delete;
        },
        'xpacket' => sub {
            $_->delete;
        }
           
    }
  
  );    # create the twig
  $twig->parsefile($_);        # build it
  open OUTFILE,  "> $_" or die "Can't open $_ : $!";
  $twig->flush (\*OUTFILE);                 # output the twig
  close OUTFILE;
}

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]