* gpg-key2ps: also accept revoked-style long option, thanks Luca Capello
[pgp-tools.git] / gpg-key2ps / gpg-key2ps
index 302381b73e6b758ae2a06a517e43c9ac78147215..ed54cc89e7c9a670f2c4d9c77efff42557176bcc 100755 (executable)
@@ -2,8 +2,8 @@
 #
 # gpg-key2ps: convert a PGP/GnuPG key into paper slips.
 # Copyright (C) 2001-2005  Simon Richter
-# Copyright (C) 2005-2006  Thijs Kinkhorst
-# Copyright (C) 2005-2006  Christoph Berg <cb@df7cb.de>
+# Copyright (C) 2005-2007  Thijs Kinkhorst
+# Copyright (C) 2005-2007  Christoph Berg <cb@df7cb.de>
 # Licenced under the GNU General Public License,
 # version 2 or later.
 #
@@ -15,18 +15,19 @@ use Getopt::Long;
 my $version = '$Rev$';
 $version =~ s/\$Rev:\s*(\d+)\s*\$/$1/;
 my $revokestyle = "hide";
+my $columns = 2;
 my $creationdate = scalar(localtime);
 
 sub version($) {
        my $fd = shift;
-       print $fd "gpg-key2ps $version - (c) 2001-2006 Simon Richter, Thijs Kinkhorst, Christoph Berg\n";
+       print $fd "gpg-key2ps $version - (c) 2001-2007 Simon Richter, Thijs Kinkhorst, Christoph Berg\n";
 }
 
 sub usage($$) {
        my ($fd, $exitcode) = @_;
        version ($fd);
        print $fd <<EOF;
-Usage: $0 [-p papersize] [-r revoked-style] keyid-or-name ...
+Usage: $0 [-p papersize] [-r revoked-style] [-1] keyid-or-name ...
 Options:
  -p --paper-size
  -r --revoked-style
@@ -35,6 +36,7 @@ Options:
         note   - Add "[revoked]"
         show   - List revoked uids normally
         strike - Strike through lines
+ -1 Only print one column, for extra wide keys
  -h --help
  -v --version
 EOF
@@ -53,6 +55,7 @@ if (!GetOptions (
        '--paper-size=s'    => \$opts->{papersize},
        '-r=s'              => \$opts->{revokestyle},
        '--revoked-style=s' => \$opts->{revokestyle},
+       '-1'                => \$opts->{1},
 )) {
        usage(\*STDERR, 1);
 }
@@ -74,6 +77,8 @@ if ( $revokestyle !~ /^(grey|hide|note|show|strike)$/ ) {
        usage (\*STDERR, 1);
 }
 
+if ( $opts->{1} ) { $columns = 1; }
+
 usage(\*STDERR, 1) unless scalar @ARGV >= 1;
 
 # determine the paper size through the paperconf tool
@@ -119,7 +124,7 @@ print <<EOF;
 
 /hline {
        30 y 3 add moveto
-       w 2 div 30 sub y 3 add lineto stroke
+       w $columns div 30 sub y 3 add lineto stroke
        newline
 } def
 
@@ -249,12 +254,12 @@ print <<EOF;
        /y w 20 sub def
        1 1 num {
                gsave
-               0 0 h 2 div w rectclip
+               0 0 h $columns div w rectclip
                /upper y 11 add def
                key
                newline
                /lower y 11 add def
-               0 upper h 2 div upper h 2 div lower 0 lower 0 upper moveto lineto lineto lineto lineto stroke
+               0 upper h $columns div upper h $columns div lower 0 lower 0 upper moveto lineto lineto lineto lineto stroke
                grestore
        } for
 } def
@@ -262,9 +267,17 @@ print <<EOF;
 w 0 translate
 90 rotate
 column
-h 2 div 0 translate
+EOF
+
+if ( $columns == 2 ) {
+       print <<EOF;
+h $columns div 0 translate
 column
 
+EOF
+}
+
+print <<EOF;
 showpage
 
 %%Trailer
@@ -324,18 +337,34 @@ Print version and exit.
 
 =back
 
-
 =head1 SEE ALSO
 
-gpg(1)
+=over
+
+=item gpg(1)
 
-http://pgp-tools.alioth.debian.org/
+GNU Privacy Guard.
+
+=item http://pgp-tools.alioth.debian.org/
+
+The homepage of B<gpg-key2ps> and the other tools bundled in B<signing-party>.
+
+=item http://www.debian.org/events/materials/business-cards/
+
+B<gpg-key2ps> prints plain fingerprint slips. If you are looking for something
+more stylish, look at these latex templates for business cards that also
+include fingerprints.
+
+=back
 
 =head1 AUTHORS AND COPYRIGHT
 
-(c) 2001 - 2005 Simon Richter <sjr@debian.org>
+=over
+
+=item (c) 2001-2005 Simon Richter <sjr@debian.org>
 
-(c) 2005 Thijs Kinkhorst <thijs@kinkhorst.com>
+=item (c) 2005-2007 Thijs Kinkhorst <thijs@kinkhorst.com>
 
-(c) 2005 Christoph Berg <cb@df7cb.de>
+=item (c) 2005-2007 Christoph Berg <cb@df7cb.de>
 
+=back