diff options
author | asami <asami@FreeBSD.org> | 1997-06-04 08:46:49 +0000 |
---|---|---|
committer | asami <asami@FreeBSD.org> | 1997-06-04 08:46:49 +0000 |
commit | ad78c0badc3f19d60b750ac7460f80ed40d38f17 (patch) | |
tree | d5e802fddcb36547d0e8e5a3e0957f5b9dbcb4de | |
parent | ca6eba715743be2b7fd5aa10958c4426a3167077 (diff) | |
download | FreeBSD-ports-ad78c0badc3f19d60b750ac7460f80ed40d38f17.zip FreeBSD-ports-ad78c0badc3f19d60b750ac7460f80ed40d38f17.tar.gz |
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>
-rw-r--r-- | korean/nh2ps/Makefile | 75 | ||||
-rw-r--r-- | korean/nh2ps/distinfo | 1 | ||||
-rw-r--r-- | korean/nh2ps/files/patch-aa | 197 | ||||
-rw-r--r-- | korean/nh2ps/files/patch-ab | 47 | ||||
-rw-r--r-- | korean/nh2ps/pkg-comment | 1 | ||||
-rw-r--r-- | korean/nh2ps/pkg-descr | 16 | ||||
-rw-r--r-- | korean/nh2ps/pkg-plist | 3 | ||||
-rw-r--r-- | korean/nh2ps/scripts/configure | 11 |
8 files changed, 351 insertions, 0 deletions
diff --git a/korean/nh2ps/Makefile b/korean/nh2ps/Makefile new file mode 100644 index 0000000..d6152d8 --- /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 0000000..c582cfd --- /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 0000000..3a2b09b --- /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 0000000..396eb36 --- /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 0000000..eee0981 --- /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 0000000..b23a6fb --- /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 0000000..86481d0 --- /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 0000000..b99a44d --- /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; + |