[scribus] modifying sla directly WAS Schedule for next major release.
Gregory Pittman
gpittman at iglou.com
Fri Dec 12 15:34:27 CET 2008
John Culleton wrote:
> How about a stripper? An .sla file is pretty unreadable as is. But
> with a simple Gvim command I took a book cover template and revealed
> its sexy inner secrets. The Gvim command:
> :%s/" /" \r/g
>
> This yields a file that looks like this (extract):
> ---------------------------------------------------------
> PAGEHEIGHT="666"
> PAGEWIDTH="918"
> PAGEYPOS="20"
> HorizontalGuides="441 477 663 "
> MNAM="Normal"
> PAGEXPOS="100"
> NumHGuides="3"
> VerticalGuides=""
> BORDERLEFT="27"
> />
> </DOCUMENT>
> </SCRIBUSUTF8NEW>
> ---------------------------------------
> Now this can be edited pretty easily by hand or by program (think sed)
> to change page dimensions, guide locations and so on. Of course
> dimensions need to be expressed in points. This example is 1.3.3.12
> based as I recall so it is readable by both 1.3.3.x and 1.3.5 etc.
>
> Why is this useful? Well dimensions of a book spine are calculated
> based on number of pages and pages per inch plus a factor for the
> thickness of the cover itself. Hand calculation can be error prone.
> A program which takes in the raw data (pages, pages per inch, page
> size etc.) can spit out a template with the correct dimensions and
> spine guides, similar to what LSI template maker provides but without
> the LSI-specific trimming around the edges.
>
Here is a perl program that does a similar thing:
(what I've done is strip out the #! /usr/bin/env perl and pasted the
rest here. When I have tried to attach perl scripts in the past, they
get scrubbed away)
****
use XML::Parser;
$parser = new XML::Parser( Style => 'Tree' );
my $tree = $parser->parsefile( shift @ARGV );
use Data::Dumper;
print Dumper( $tree );
****
This creates an output similar to what you've done. Since it's a perl
program, it could be modified to further parse out details. This output
is typically many lines long.
Greg
More information about the scribus
mailing list