[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
gEDA-user: PCB italics  and reverse italics  text script
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
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user