1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-23 00:43:28 +00:00

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>
This commit is contained in:
Satoshi Asami 1997-06-04 08:46:49 +00:00
parent 3f8394ae69
commit 98dbfa3436
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=6761
8 changed files with 351 additions and 0 deletions

75
korean/nh2ps/Makefile Normal file
View File

@ -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>

1
korean/nh2ps/distinfo Normal file
View File

@ -0,0 +1 @@
MD5 (nh2ps-1.0p1.tar.gz) = 7f57ef061c9b8557cd6c07b5aaa8a58d

197
korean/nh2ps/files/patch-aa Normal file
View File

@ -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

View File

@ -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

1
korean/nh2ps/pkg-comment Normal file
View File

@ -0,0 +1 @@
Formats an ascii file for printing on a postscript printer with Korean char.

16
korean/nh2ps/pkg-descr Normal file
View File

@ -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>

3
korean/nh2ps/pkg-plist Normal file
View File

@ -0,0 +1,3 @@
bin/nh2ps
bin/nh2ps_opt
man/man1/nh2ps.1.gz

11
korean/nh2ps/scripts/configure vendored Normal file
View File

@ -0,0 +1,11 @@
#!/bin/sh
cd $WRKSRC || exit 1;
cat >> Makefile << END
PREFIX= $PREFIX
END
exit 0;