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

[mgp-users-jp 00787] mkps6



$BA0ED(B@Tokyo.pm$B$G$9!#(B

$BLs(B2$BL>$NJ}!9$+$i%j%/%(%9%H$r$$$?$@$-$^$7$?$N$G!"$*Aw$j$7$^$9!#(B

mkp6 hoge.mgp
$B$H$d$k$H!"(BPRINT6$B$H$$$&%G%#%l%/%H%j0J2<$K2hLL%@%s%W$r:n@.$7!"(B
tgif4$B$K?)$o$;$F(Bps$B$r:n$j$^$9!#(B

tgif$B!"(Bppmtopgm$B$J$I$N<B9T%Q%9L>!"2hLL$NBg$-$5!"%W%j%s%?$N(Bdpi$BCM$J(B
$B$I$,(Bhard coding$B$5$l$F$$$^$9$N$GE,59JT=8$7$F$+$i$*;H$$$/$@$5$$!#(B

-------------------------------  Avatar          Md+   d/=$B""(B=\.   Md+
 $BA0ED(B $B70(B    maeda@tokyo.pm.org   75t 170km/h   AFC50  O \*oo*/ "  LG+ LG+
 Tokyo.pm  http://tokyo.pm.org   HeatSink 15   LRM10   .=X$B!1(BX=.   LRM10
-------------------------------  Armor 2164      Md+  _|_    _|_  Md+

mkp6
---cut---
#!/usr/local/bin/perl

# Copyright (C) 2000, 2001 Kaoru Maeda.
# All rights reserved.

# This file can be freely distributed
# under the same condition as Perl.

$stem = shift;
$stem =~ s/\.mgp?//;

$tmpdir = "PRINT6";

@PAGES = glob("$tmpdir/mgp00???.eps");

if (!-d $tmpdir || !@PAGES) {

    if (-d $tmpdir) {
	system("rm -rf $tmpdir");
    }
    mkdir $tmpdir, 0777;

    system("mgp -D $tmpdir -E png -o -g 800x600+0+0 -X ppmraw+ $stem.mgp");

    @PNGS = glob("$tmpdir/mgp00???.png");
    for $png (@PNGS) {
	($eps = $png) =~ s/\.png/.eps/;
	print STDERR "$png -> $eps\n";
	system("pngtopnm $png | ppmtopgm | perl -pe 'tr/\\372/\\377/' | pnmtops -dpi 600 -scale 0.6 -noturn > $eps");
    }

    @PAGES = glob("$tmpdir/mgp00???.eps");
}

$pages = 0;
$o = 0;
@LOC = ('48,128,509,474',
	'544,128,1005,474',
	'48,576,509,922',
	'544,576,1005,922',
	'48,1024,509,1370',
	'544,1024,1005,1370',
	);

while (@PAGES) {
    @P = splice(@PAGES, 0, scalar @LOC);
    $pages++;
    push(@out, qq[page($pages,"",1,'').\n]);
    @loc = @LOC;
    for $file (@P) {
	$mtime = (stat $file)[9];
	$mtime = localtime($mtime);
	$loc = shift(@loc);
	$x = <<EOL;
group([
xbm('black','',$loc,0,OBJID,0,461,346,0,0,1,75000,208000,536000,554000,1,0,0,0,0,0,0,
    "$mtime","$file",[
]),
box('black','',$loc,0,1,1,OBJID,0,0,0,0,0,'1',0,[
])
],
OBJID,0,0,[
]).
EOL
    ;
	$x =~ s/OBJID/$o++/ge;
	push(@out, $x);
    }
}

unshift(@out, <<'EOL');
%
% @(#)$Header: /home/kaoru/work/perl/PerlRuby2000/Regex/RCS/mkp6.pl,v 1.3 2000/11/30 14:19:54 kaoru Exp kaoru $
% %W%
%
unit("1 pixel/pixel").
color_info(12,65535,0,[
	"magenta", 65535, 0, 65535, 65535, 0, 65535, 1,
	"red", 65535, 0, 0, 65535, 0, 0, 1,
	"green", 0, 65535, 0, 0, 65535, 0, 1,
	"blue", 0, 0, 65535, 0, 0, 65535, 1,
	"yellow", 65535, 65535, 0, 65535, 65535, 0, 1,
	"pink", 65535, 49931, 53052, 65535, 49344, 52171, 1,
	"cyan", 0, 65535, 65535, 0, 65535, 65535, 1,
	"CadetBlue", 22885, 40569, 42649, 24415, 40606, 41120, 1,
	"white", 65535, 65535, 65535, 65535, 65535, 65535, 1,
	"black", 0, 0, 0, 0, 0, 0, 1,
	"DarkSlateGray", 10402, 19764, 18724, 12079, 20303, 20303, 1,
	"AntiqueWhite2", 61374, 57213, 53052, 61166, 57311, 52428, 1
]).
script_frac("0.6").
fg_bg_colors('black','AntiqueWhite2').
EOL
    ;

    unshift(@out, <<EOL);
%TGIF 4.1.39
state(0,37,100.000,0,0,2,8,1,9,1,1,0,0,1,0,1,0,'Helvetica',0,80640,0,0,0,10,0,0,1,0,0,16,0,0,$pages,$pages,1,1,1050,1485,1,0,2880,0).
EOL
    ;

    
    open (OUT, ">$stem-6.obj");
    print OUT @out;
    close OUT;

    system("tgif4 -print -ps $stem-6.obj");
__END__
--cut--