Maciej Pijanka just helped me come up with the attached script for converting the text SymbolLines to italicized.

This script uses 1:4 as the slanting factor which your welcome to change, as well as the sign of it for forward slanting.

It's pretty simple but might be useful as a starting point for others wishing to modify the PCB default fonts.

Good luck, Phil Taylor

----------------------------------------------------------------------

#!/usr/bin/perl
# I am grateful to Maciej Pijanka for helping me write this script.
use strict;


my $state = 0;

while (not eof STDIN) {
        my $line = <STDIN>;
        my $printed = 0;

        chomp $line;

        if ($line =~ /^Symbol/) {
                $state = 1;
        }

        if ($state == 1 && $line =~ /^\($/) {
                $state ++;
        }

        if ($state == 2) {
                if ($line =~ /(^[       ]*SymbolLine)\((\d+) (\d+) (\d+) (\d+) 
(\d+)\)(.*)$/) {
my ($prefix, $x1, $y1, $x2, $y2, $thickness, $suffix) = ($1, $2, $3, $4, $5, $6, $7);
                        $x1 += $y1/4;
                        $x2 += $y2/4;
printf "%s[%d %d %d %d %d]%s\n", $prefix, $x1 * 100, $y1 * 100, $x2 * 100, $y2 * 100, $thickness * 100, $suffix;
                        $printed = 1;
} elsif ($line =~ /(^[ ]*SymbolLine)\[(\d+) (\d+) (\d+) (\d+) (\d+)\](.*)$/) { my ($prefix, $x1, $y1, $x2, $y2, $thickness, $suffix) = ($1, $2, $3, $4, $5, $6, $7);
                        $x1 += $y1/4;
                        $x2 += $y2/4;
printf "%s[%d %d %d %d %d]%s\n", $prefix, $x1, $y1, $x2, $y2, $thickness, $suffix;
                        $printed = 1;
                }
        }

        if ($printed == 0) {
                printf "%s\n", $line;
        }
}



_______________________________________________
geda-user mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

Reply via email to