diff --git a/a2ps-h-font.patch b/a2ps-h-font.patch new file mode 100644 index 0000000..96149a1 --- /dev/null +++ b/a2ps-h-font.patch @@ -0,0 +1,26 @@ +--- a2ps-h.py.orig Fri Jan 26 12:12:32 2001 ++++ a2ps-h.py Fri Jan 26 11:41:50 2001 +@@ -24,15 +24,15 @@ + def tmpnam(): + return "/tmp/a2ps-h-tmp" + +-hps = '/Gulim-Medium-KSC-EUC-H' +-hbps = '/Gulim-Medium-KSC-EUC-H' +-hbops = '/Gulim-Medium-KSC-EUC-H' +-hops = '/Gulim-Medium-KSC-EUC-H' ++hps = '/Munhwa-Regular-KSC-EUC-H' ++hbps = '/Munhwa-Regular-KSC-EUC-H' ++hbops = '/Munhwa-Regular-KSC-EUC-H' ++hops = '/Munhwa-Regular-KSC-EUC-H' + +-hps = '/Gulim-Regular' +-hbps = '/Gulim-Regular' +-hbops = '/Gulim-Regular' +-hops = '/Gulim-Regular' ++hps = '/SMgoJ' ++hbps = '/SMgoJ' ++hbops = '/SMgoJ' ++hops = '/SMgoJ' + + def startswith(s, needle): + if len(needle) > len(s): return 0 diff --git a/a2ps-h.changes b/a2ps-h.changes new file mode 100644 index 0000000..711f35b --- /dev/null +++ b/a2ps-h.changes @@ -0,0 +1,31 @@ +------------------------------------------------------------------- +Sun Mar 17 09:54:44 UTC 2019 - Jan Engelhardt + +- Remove old tags/sections from specfile. + +------------------------------------------------------------------- +Fri May 7 07:03:27 UTC 2010 - aj@suse.de + +- Install file writable so that patch can change it. + +------------------------------------------------------------------- +Wed Jan 25 21:45:41 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Mon Feb 23 13:52:37 CET 2004 - hmacht@suse.de + +- building as non-root + +------------------------------------------------------------------- +Fri Jun 13 12:55:58 CEST 2003 - ro@suse.de + +- added directory to filelist + +------------------------------------------------------------------- +Fri Jan 26 12:18:31 CET 2001 - violiet@suse.de + +- NEW a2ps-h package version to 20010113 +- change hangul PostScript font. + diff --git a/a2ps-h.py b/a2ps-h.py new file mode 100644 index 0000000..5c31e97 --- /dev/null +++ b/a2ps-h.py @@ -0,0 +1,231 @@ +#! /usr/bin/env python + +# +# (C) Mizi Research +# distributed under GPL +# +# Author: Hwang, ChiDeok (hwang@mizi.co.kr) +# 2000.03.14 +# +# ChangeLog: +# -o option�� ���� ��쳪 argument�� �־��� ������ +# ps ������ �ƴ� ��� a2ps �� �θ����� ���� +# argument�� �� �־��� ��� stdin���� �о�帲. (2000/03/16) +# string��ȯ�� postscript language���� �ϵ��� ����. (2000/03/20) +# string��ȯ�� �ϰ� ���� ������ ������ ���� (2000/03/23) +# stdin���κ��� �� ���뵵 �ʿ��ϸ� a2ps�� ���� (2000/12/28) +# mutt�� �Բ� �� �� �ֵ��� -m�ɼ��� �߰� (2000/01/03) + +import string,sys,os + +try: + from os import tmpnam # python2.0 +except: + def tmpnam(): + return "/tmp/a2ps-h-tmp" + +hps = '/Gulim-Medium-KSC-EUC-H' +hbps = '/Gulim-Medium-KSC-EUC-H' +hbops = '/Gulim-Medium-KSC-EUC-H' +hops = '/Gulim-Medium-KSC-EUC-H' + +hps = '/Gulim-Regular' +hbps = '/Gulim-Regular' +hbops = '/Gulim-Regular' +hops = '/Gulim-Regular' + +def startswith(s, needle): + if len(needle) > len(s): return 0 + return s[:len(needle)] == needle + +def trans_file(filename): + if type(filename) == type([]): + lines = filename + else: + lines = open(filename).readlines() + for i in range(len(lines)): + if startswith(lines[i], '% Check PostScript language '): + print show_override + print lines[i], + elif startswith(lines[i], '% Dictionary for ISO-8859-1'): + print lines[i], + print lines[i+1], + print hangul_font + lines = lines[i+10:] + break + else: + print lines[i], + for line in lines: print line, + +hangul_font = """\ +16 dict begin + /FontName /fCourier def /FontType 0 def + /WMode 0 def /FMapType 3 def /FontMatrix matrix def + /Encoding [0 1] def + /FDepVector [ /Courier findfont %(hps)s findfont ] def + FontName currentdict + end +definefont /fCourier exch def + +16 dict begin + /FontName /fCourier-Bold def /FontType 0 def + /WMode 0 def /FMapType 3 def /FontMatrix matrix def + /Encoding [0 1] def + /FDepVector [ /Courier-Bold findfont %(hbps)s findfont ] def + FontName currentdict + end +definefont /fCourier-Bold exch def + +16 dict begin + /FontName /fCourier-BoldOblique def /FontType 0 def + /WMode 0 def /FMapType 3 def /FontMatrix matrix def + /Encoding [0 1] def + /FDepVector [ /Courier-BoldOblique findfont %(hbops)s findfont ] def + FontName currentdict + end +definefont /fCourier-BoldOblique exch def + +16 dict begin + /FontName /fCourier-Oblique def /FontType 0 def + /WMode 0 def /FMapType 3 def /FontMatrix matrix def + /Encoding [0 1] def + /FDepVector [ /Courier-Oblique findfont %(hops)s findfont ] def + FontName currentdict + end +definefont /fCourier-Oblique exch def + +16 dict begin + /FontName /fHelvetica def /FontType 0 def + /WMode 0 def /FMapType 3 def /FontMatrix matrix def + /Encoding [0 1] def + /FDepVector [ /Helvetica findfont %(hps)s findfont ] def + FontName currentdict + end +definefont /fHelvetica exch def + +16 dict begin + /FontName /fHelvetica-Bold def /FontType 0 def + /WMode 0 def /FMapType 3 def /FontMatrix matrix def + /Encoding [0 1] def + /FDepVector [ /Helvetica-Bold findfont %(hbps)s findfont ] def + FontName currentdict + end +definefont /fHelvetica-Bold exch def + +16 dict begin + /FontName /fTimes-Bold def /FontType 0 def + /WMode 0 def /FMapType 3 def /FontMatrix matrix def + /Encoding [0 1] def + /FDepVector [ /Times-Bold findfont %(hbps)s findfont ] def + FontName currentdict + end +definefont /fTimes-Bold exch def + +16 dict begin + /FontName /fTimes-Roman def /FontType 0 def + /WMode 0 def /FMapType 3 def /FontMatrix matrix def + /Encoding [0 1] def + /FDepVector [ /Times-Roman findfont %(hps)s findfont ] def + FontName currentdict + end +definefont /fTimes-Roman exch def +""" % locals() + +show_override = """\ +% +%%Copyright: (c) 2000, 2001 Chideok Hwang +/han-trans { + dup length 3 mul string /mystr exch def + /mylen 0 def + /in-hangul false def + { + dup 128 gt { + in-hangul { + % c + mystr exch mylen exch put + /mylen mylen 1 add def + } { + /in-hangul true def + % 255 1 c + mystr mylen (\\377\\1) putinterval + mystr exch mylen 2 add exch put + /mylen mylen 3 add def + } ifelse + } { + in-hangul not { + % c + mystr exch mylen exch put + /mylen mylen 1 add def + } { + /in-hangul false def + % 255 0 c + mystr mylen (\\377\\0) putinterval + mystr exch mylen 2 add exch put + /mylen mylen 3 add def + } ifelse + } ifelse + } forall + mystr 0 mylen getinterval +} bind def + +/origshow {show} bind def +/show {han-trans origshow} bind def +/origstringwidth {stringwidth} bind def +/stringwidth { han-trans origstringwidth } bind def + +%\ +""" + +def run_a2ps(input_file): + ps = os.popen('a2ps --output=- ' + input_file) + return ps.readlines() + +def run_a2ps_from_stdin(contents): + infile_name = tmpnam() + infile = open(infile_name, 'w') + infile.write(contents) + del infile # flush + a2ps_args = ' --center-title="' + title + '" ' + \ + '--footer="���� �޽���" ' + \ + '--output=- '+ infile_name + ps = os.popen('a2ps ' + a2ps_args, 'r') + outlines = ps.readlines() + os.remove(infile_name) + return outlines + +try: + i = sys.argv.index('-o') + sys.stdout = open(sys.argv[i+1], 'w') + del sys.argv[i:i+2] +except: pass + +if '-h' in sys.argv: + sys.exit(0) + +if '-m' in sys.argv: + # called from mutt + i = sys.argv.index('-m') + del sys.argv[i] + assert len(sys.argv) == 1 + input_buf = sys.stdin.read() + magic = input_buf[:5]; + import re + title = re.search('^Subject:(.*)$', input_buf, re.M).group(1) + input_file = None +elif len(sys.argv) == 1: + input_buf = sys.stdin.read() + magic = input_buf[:5] + title = 'From Stdin' + input_file = None +else: + input_file = sys.argv[1] + magic = open(input_file).read(5) + +if magic != '%!PS-': + if input_file: + input_lines = run_a2ps(input_file) + else: + input_lines = run_a2ps_from_stdin(input_buf) + +trans_file(input_lines) + diff --git a/a2ps-h.spec b/a2ps-h.spec new file mode 100644 index 0000000..2a18153 --- /dev/null +++ b/a2ps-h.spec @@ -0,0 +1,50 @@ +# +# spec file for package a2ps-h +# +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: a2ps-h +Requires: python +Version: 20010113 +Release: 0 +Summary: a2ps Support for Korean PostScript Filter (Python Version) +License: GPL-2.0-or-later +Group: Hardware/Printing +Source0: a2ps-h.py +Source1: a2ps-h-font.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildArch: noarch + +%description +a2ps support for Korean PostScript filter (Python version). + +%prep + +%build + +%install +mkdir -p %{buildroot}%{_prefix}/bin +mkdir -p %{buildroot}%{_defaultdocdir}/%{name} +install -m 755 %{SOURCE0} %{buildroot}%{_prefix}/bin/a2ps-h.py +head -n 18 %{SOURCE0} > %{buildroot}%{_defaultdocdir}/%{name}/Copyright +find %{buildroot}%{_prefix}/bin -name a2ps-h.py -exec patch {} %{SOURCE1} \; + +%files +%dir %{_defaultdocdir}/%{name} +%{_defaultdocdir}/%{name}/Copyright +%attr(555, root, root) %{_prefix}/bin/a2ps-h.py + +%changelog