aboutsummaryrefslogtreecommitdiff
path: root/korean/nh2ps
diff options
context:
space:
mode:
authorSatoshi Asami <asami@FreeBSD.org>1997-06-04 08:46:49 +0000
committerSatoshi Asami <asami@FreeBSD.org>1997-06-04 08:46:49 +0000
commit98dbfa343628531167ae4d6b45ced407453f4497 (patch)
tree919633472da2071e68ec736ea740d38535b176e7 /korean/nh2ps
parent3f8394ae69e2b35d4d918eaaa7acc12b531bd096 (diff)
downloadports-98dbfa343628531167ae4d6b45ced407453f4497.tar.gz
ports-98dbfa343628531167ae4d6b45ced407453f4497.zip
Formats an ascii file for printing on a postscript printer with Korean char.
PR: 3343 Submitted by: Choi Jun Ho <junker@moderato.snu.ac.kr>
Notes
Notes: svn path=/head/; revision=6761
Diffstat (limited to 'korean/nh2ps')
-rw-r--r--korean/nh2ps/Makefile75
-rw-r--r--korean/nh2ps/distinfo1
-rw-r--r--korean/nh2ps/files/patch-aa197
-rw-r--r--korean/nh2ps/files/patch-ab47
-rw-r--r--korean/nh2ps/pkg-comment1
-rw-r--r--korean/nh2ps/pkg-descr16
-rw-r--r--korean/nh2ps/pkg-plist3
-rw-r--r--korean/nh2ps/scripts/configure11
8 files changed, 351 insertions, 0 deletions
diff --git a/korean/nh2ps/Makefile b/korean/nh2ps/Makefile
new file mode 100644
index 000000000000..d6152d89b7e0
--- /dev/null
+++ b/korean/nh2ps/Makefile
@@ -0,0 +1,75 @@
+# New ports collection makefile for: nh2ps-1.0p1
+# Version required: 1.0p1
+# Date created: 2 Apr 1997
+# Whom: Choi Jun Ho <junker@jazz.snu.ac.kr>
+#
+# $Id$
+#
+
+DISTNAME= nh2ps-1.0p1
+PKGNAME= kr-nh2ps-${PAPERSIZE}-1.0p1
+CATEGORIES= korean print
+MASTER_SITES= ftp://jazz.snu.ac.kr/pub/unix/util/nh2ps/
+
+MAINTAINER= junker@jazz.snu.ac.kr
+
+# it depends on HLaTeX-0.95(ps) fonts and perl-5.004
+RUN_DEPENDS= ${PREFIX}/share/fonts/HLaTeX-0.95-pfb:${PORTSDIR}/korean/hlatexpsfonts \
+ perl5.004:${PORTSDIR}/lang/perl5
+
+MAKE_FLAGS?= WIDTH=${WIDTH} HEIGHT=${HEIGHT} A4_PAPERSIZE=${A4_PAPERSIZE} -f
+MAN1= nh2ps.1
+
+letter::
+ ${MAKE} PAPERSIZE=letter
+
+letter-install::
+ ${MAKE} PAPERSIZE=letter install
+
+a4::
+ ${MAKE} PAPERSIZE=a4
+
+a4-install::
+ ${MAKE} PAPERSIZE=a4 install
+
+
+.if !defined(PAPERSIZE)
+PAPERSIZE=a4
+WIDTH=8.27
+HEIGHT=11.64
+A4_PAPERSIZE=1
+PAPERSIZE_UNSPECIFIED= yes
+.elif ${PAPERSIZE} == A4 || ${PAPERSIZE} == a4
+PAPERSIZE=a4
+WIDTH=8.27
+HEIGHT=11.64
+A4_PAPERSIZE=1
+.elif ${PAPERSIZE} == letter || ${PAPERSIZE} == LETTER
+PAPERSIZE=letter
+WIDTH=8.5
+HEIGHT=11.0
+A4_PAPERSIZE=0
+.else
+PAPERSIZE_INVALID= yes
+.endif # not defined PAPERSIZE
+
+
+pre-fetch:
+.if defined(PAPERSIZE_UNSPECIFIED)
+ @echo "Defaulting to ${PAPERSIZE} sized paper."
+ @echo ""
+ @echo "Set the environment variable PAPERSIZE if you want to use other sizes."
+ @echo "Possible values are: A4 (default) or letter"
+.elif defined(PAPERSIZE_INVALID)
+ @echo "Error: invalid value for PAPERSIZE: \"${PAPERSIZE}\""
+ @echo "Possible values are: A4 (default) or letter"
+ @/usr/bin/false
+.endif
+
+pre-install:
+ @(cd ${WRKSRC}; make install.man)
+
+post-install:
+ strip ${PREFIX}/bin/nh2ps
+
+.include <bsd.port.mk>
diff --git a/korean/nh2ps/distinfo b/korean/nh2ps/distinfo
new file mode 100644
index 000000000000..c582cfdbd8aa
--- /dev/null
+++ b/korean/nh2ps/distinfo
@@ -0,0 +1 @@
+MD5 (nh2ps-1.0p1.tar.gz) = 7f57ef061c9b8557cd6c07b5aaa8a58d
diff --git a/korean/nh2ps/files/patch-aa b/korean/nh2ps/files/patch-aa
new file mode 100644
index 000000000000..3a2b09b1675f
--- /dev/null
+++ b/korean/nh2ps/files/patch-aa
@@ -0,0 +1,197 @@
+diff -c -r ../nh2ps-1.0p1-old/nh2ps.1 ./nh2ps.1
+*** ../nh2ps-1.0p1-old/nh2ps.1 Tue Jan 28 18:26:01 1997
+--- ./nh2ps.1 Wed Apr 2 21:29:12 1997
+***************
+*** 168,173 ****
+--- 168,176 ----
+ is the number of copies desired of each file named. By default, you get
+ only one copy.
+ .TP 0.6i
++ .B -a
++ Use the American paper size (8.5" x 11") as the basis for all calculations.
++ .TP 0.6i
+ .B -d
+ Print the current date and time at the bottom of the page. This option
+ is affected by the no surrounding border and the no header options.
+diff -c -r ../nh2ps-1.0p1-old/nh2ps.c ./nh2ps.c
+*** ../nh2ps-1.0p1-old/nh2ps.c Fri Jan 31 10:01:27 1997
+--- ./nh2ps.c Wed Apr 2 21:32:03 1997
+***************
+*** 180,191 ****
+ /*
+ * Default page dimensions
+ */
+ #ifndef WIDTH
+! #define WIDTH 8.27
+ #endif
+
+ #ifndef HEIGHT
+! #define HEIGHT 11.64
+ #endif
+
+ #ifndef MARGIN
+--- 180,196 ----
+ /*
+ * Default page dimensions
+ */
++ #define USA_WIDTH 8.5
++ #define USA_HEIGHT 11.0
++ #define A4_WIDTH 8.27
++ #define A4_HEIGHT 11.64
++
+ #ifndef WIDTH
+! #define WIDTH A4_WIDTH
+ #endif
+
+ #ifndef HEIGHT
+! #define HEIGHT A4_HEIGHT
+ #endif
+
+ #ifndef MARGIN
+***************
+*** 408,413 ****
+--- 413,421 ----
+ /*
+ * Sheet dimensions
+ */
++ double paper_height = HEIGHT; /* Paper height */
++ double paper_width = WIDTH; /* Paper width */
++
+ double page_height = HEIGHT; /* Paper height */
+ double page_width = WIDTH; /* Paper width */
+
+***************
+*** 428,433 ****
+--- 436,446 ----
+ fprintf(stderr,"pos. = -#num\t\tnumber of copies to print\n");
+ fprintf(stderr," -1\t\tone page per sheet\n");
+ fprintf(stderr," -2\t\tTWIN PAGES per sheet\n");
++ #if A4_PAPERSIZE == 1
++ fprintf(stderr," -a\t\tUse USA paper size (8.5\" x 11\")\n");
++ #else
++ fprintf(stderr," -a\t\tUse A4 paper size (21cm x 29.56cm (8.27\" 11.64\"))\n");
++ #endif
+ fprintf(stderr," -d\t-nd\tprint (DON'T PRINT) current date at the bottom\n");
+ fprintf(stderr," -Fnum\t\tfont size, num is a float number\n");
+ fprintf(stderr," -Hstr\t\tuse str like header title for subsequent files\n");
+***************
+*** 518,523 ****
+--- 531,542 ----
+ usage(EXIT_FAILURE);
+ interpret = TRUE;
+ break;
++ case 'a': /* American paper sizes */
++ #if defined(USA_HEIGHT) && defined(USA_WIDTH)
++ paper_height = USA_HEIGHT;
++ paper_width = USA_WIDTH;
++ #endif
++ break;
+ case 'n':
+ if (arg[2] == NUL)
+ return;
+***************
+*** 785,792 ****
+ /*
+ * This routine buffers a line of input, release one character at a time
+ * or a whole sequence of characters with some meaning like bold sequences
+! * produced by nroff (no others sequences are recognized by the moment):
+! * <c><\b><c><\b><c><\b><c>
+ */
+ int
+ mygetc(statusp)
+--- 804,812 ----
+ /*
+ * This routine buffers a line of input, release one character at a time
+ * or a whole sequence of characters with some meaning like bold sequences
+! * or underlining produced by nroff.
+! * <c><\b><c>
+! * <_><\b><c>
+ */
+ int
+ mygetc(statusp)
+***************
+*** 814,829 ****
+ if (buffer[curr+1] != '\b') /* this is not a special sequence */
+ return buffer[curr++];
+
+! /* Check if it is a bold sequence */
+! c = buffer[curr++];
+! if (c == buffer[curr+1] &&
+! buffer[curr] == buffer[curr+2] &&
+! c == buffer[curr+3] &&
+! buffer[curr] == buffer[curr+4] &&
+! c == buffer[curr+5])
+ {
+ *statusp = IS_BOLD;
+! curr += 6;
+ }
+
+ /* Return the first character of the sequence */
+--- 834,848 ----
+ if (buffer[curr+1] != '\b') /* this is not a special sequence */
+ return buffer[curr++];
+
+! /* check if we're underlining */
+! if (buffer[curr] == '_')
+! return buffer[curr++];
+!
+! /* Check if it is a bold sequence */
+! if ((c = buffer[curr]) == buffer[curr+2])
+ {
+ *statusp = IS_BOLD;
+! curr += 3;
+ }
+
+ /* Return the first character of the sequence */
+***************
+*** 1695,1702 ****
+ printf("\n%% Initialize page description variables.\n");
+ printf("/x0 0 def\n");
+ printf("/y0 0 def\n");
+! printf("/sh %g inch def\n", (double)HEIGHT);
+! printf("/sw %g inch def\n", (double)WIDTH);
+ printf("/margin %g inch def\n", (double)MARGIN);
+ printf("/rm margin 3 div def\n");
+ printf("/lm margin 2 mul 3 div def\n");
+--- 1714,1721 ----
+ printf("\n%% Initialize page description variables.\n");
+ printf("/x0 0 def\n");
+ printf("/y0 0 def\n");
+! printf("/sh %g inch def\n", (double)paper_height);
+! printf("/sw %g inch def\n", (double)paper_width);
+ printf("/margin %g inch def\n", (double)MARGIN);
+ printf("/rm margin 3 div def\n");
+ printf("/lm margin 2 mul 3 div def\n");
+***************
+*** 2033,2040 ****
+ /* Initialize variables not depending of positional options */
+ landscape = twinpages = -1; /* To force format switching */
+ fontsize = -1.0; /* To force fontsize switching */
+! page_height = (double)(HEIGHT - MARGIN) * PIXELS_INCH;
+! page_width = (double)(WIDTH - MARGIN) * PIXELS_INCH;
+
+ /* Postcript prologue printing */
+ print_prologue();
+--- 2052,2059 ----
+ /* Initialize variables not depending of positional options */
+ landscape = twinpages = -1; /* To force format switching */
+ fontsize = -1.0; /* To force fontsize switching */
+! page_height = (double)(paper_height - MARGIN) * PIXELS_INCH;
+! page_width = (double)(paper_width - MARGIN) * PIXELS_INCH;
+
+ /* Postcript prologue printing */
+ print_prologue();
+diff -c -r ../nh2ps-1.0p1-old/nh2ps_opt ./nh2ps_opt
+*** ../nh2ps-1.0p1-old/nh2ps_opt Tue Jan 28 18:26:10 1997
+--- ./nh2ps_opt Wed Apr 2 21:27:52 1997
+***************
+*** 1,4 ****
+! #!/usr/local/bin/perl
+ #
+ # nh2ps_opt
+ # - nh2ps hangul, hanja font optimizer
+--- 1,4 ----
+! #!/usr/bin/perl
+ #
+ # nh2ps_opt
+ # - nh2ps hangul, hanja font optimizer
diff --git a/korean/nh2ps/files/patch-ab b/korean/nh2ps/files/patch-ab
new file mode 100644
index 000000000000..396eb364de43
--- /dev/null
+++ b/korean/nh2ps/files/patch-ab
@@ -0,0 +1,47 @@
+*** Makefile.orig Tue Jan 28 19:07:14 1997
+--- Makefile Wed Apr 2 21:33:43 1997
+***************
+*** 32,50 ****
+ # stupid a**holes who add non-compatible "features"
+ SHELL =/bin/sh
+
+! CC =gcc
+
+ D =.
+ O =.
+
+! BINDIR =/usr/local/bin
+
+- MANDIR =/usr/local/man/mann
+- MANEXT =n
+-
+- #CFLAGS = -DBSD -O -DLPR_PRINT
+ # SunSolaris 2.x, omit -DLPR_PRINT for no automatical print
+- CFLAGS = -DBSD -O2 -DHFONT
+ # Default values for HEIGHT, WIDTH, MARGIN and DIR_SEP (11.64, 8.27, 1.2, '/').
+ # Default values for LPR_COMMAND and LPR_OPT ("lpr", "-l")
+ # No values for TWOSIDED_DFLT, ONESIDED and TWOSIDED
+--- 32,54 ----
+ # stupid a**holes who add non-compatible "features"
+ SHELL =/bin/sh
+
+! CC = cc
+
+ D =.
+ O =.
+
+! ##BINDIR =/usr/local/bin
+! BINDIR = $(PREFIX)/bin
+!
+! ##MANDIR =/usr/man/mann
+! ##MANEXT =n
+! MANEXT = 1
+! MANDIR = $(PREFIX)/man/man$(MANEXT)
+!
+! #CFLAGS = -O # -DBSD -DLPR_PRINT
+! CFLAGS = -O -DBSD -DHFONT -DWIDTH=$(WIDTH) -DHEIGHT=$(HEIGHT) -DA4_PAPERSIZE=$(A4_PAPERSIZE)
+
+ # SunSolaris 2.x, omit -DLPR_PRINT for no automatical print
+ # Default values for HEIGHT, WIDTH, MARGIN and DIR_SEP (11.64, 8.27, 1.2, '/').
+ # Default values for LPR_COMMAND and LPR_OPT ("lpr", "-l")
+ # No values for TWOSIDED_DFLT, ONESIDED and TWOSIDED
diff --git a/korean/nh2ps/pkg-comment b/korean/nh2ps/pkg-comment
new file mode 100644
index 000000000000..eee098160907
--- /dev/null
+++ b/korean/nh2ps/pkg-comment
@@ -0,0 +1 @@
+Formats an ascii file for printing on a postscript printer with Korean char.
diff --git a/korean/nh2ps/pkg-descr b/korean/nh2ps/pkg-descr
new file mode 100644
index 000000000000..b23a6fbe1278
--- /dev/null
+++ b/korean/nh2ps/pkg-descr
@@ -0,0 +1,16 @@
+nh2ps-1.0p1
+-----------
+
+nh2ps formats each named file for printing in a postscript printer with
+HLaTeX-0.95 PS Type1 Hangul fonts; if no file is given, nh2ps reads from the
+standard input. The format used is nice and compact: normally two pages
+on each physical page, borders surrounding pages, headers with useful
+information (page number, printing date, file name or supplied header),
+line numbering, etc. This is very useful for making archive listings of
+programs.
+
+It is relatively large when comparing with h2ps, and need to another
+installed fonts and ghostscript.
+
+--
+Port by Choi Jun Ho <junker@jazz.snu.ac.kr>
diff --git a/korean/nh2ps/pkg-plist b/korean/nh2ps/pkg-plist
new file mode 100644
index 000000000000..86481d06e63f
--- /dev/null
+++ b/korean/nh2ps/pkg-plist
@@ -0,0 +1,3 @@
+bin/nh2ps
+bin/nh2ps_opt
+man/man1/nh2ps.1.gz
diff --git a/korean/nh2ps/scripts/configure b/korean/nh2ps/scripts/configure
new file mode 100644
index 000000000000..b99a44d794f8
--- /dev/null
+++ b/korean/nh2ps/scripts/configure
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+cd $WRKSRC || exit 1;
+
+cat >> Makefile << END
+
+PREFIX= $PREFIX
+
+END
+exit 0;
+