pjl 1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +35 -0
- data/README +37 -0
- data/example/ifbrother +42 -0
- data/example/ifcanon +63 -0
- data/example/iffile +36 -0
- data/example/ifkyocera +46 -0
- data/example/nikolaus.ps +31 -0
- data/example/printcap +44 -0
- data/lib/pjl.rb +125 -0
- data/lib/pjl/appl.rb +64 -0
- data/lib/pjl/version.rb +23 -0
- metadata +76 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6e529424d3227987169bcd9a06cac0f672532d42
|
4
|
+
data.tar.gz: 079f31b129672a1dbf6975a4c63a734cb999a31d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 02586fd7a02cdd59030f54c04a8a66b31954c445864255696a63c8cee756701be7897148a25cde4b719868a9f799951b5c1afc5c699dd96d2d028b05aaa1a51d
|
7
|
+
data.tar.gz: cb1937fb2bb4cc2f3807e9c2eeac59140570cdfd3b676438dba1afc625ad8b33b014e488ca46b2a8b40f6a1fa093f8bd5698ab5c234294c38d3636b39259de2e
|
data/LICENSE
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
_ _ _
|
2
|
+
_ __ _ _| |__ _ _ _ __ (_) |
|
3
|
+
| '__| | | | '_ \| | | |_____| '_ \| | |
|
4
|
+
| | | |_| | |_) | |_| |_____| |_) | | |
|
5
|
+
|_| \__,_|_.__/ \__, | | .__// |_|
|
6
|
+
|___/ |_| |__/
|
7
|
+
|
8
|
+
|
9
|
+
Copyright (c) 2012, Bertram Scharpf <software@bertram-scharpf.de>.
|
10
|
+
All rights reserved.
|
11
|
+
|
12
|
+
Redistribution and use in source and binary forms, with or without
|
13
|
+
modification, are permitted provided that the following conditions are
|
14
|
+
met:
|
15
|
+
|
16
|
+
* Redistributions of source code must retain the above copyright
|
17
|
+
notice, this list of conditions and the following disclaimer.
|
18
|
+
|
19
|
+
* Redistributions in binary form must reproduce the above copyright
|
20
|
+
notice, this list of conditions and the following disclaimer in
|
21
|
+
the documentation and/or other materials provided with the
|
22
|
+
distribution.
|
23
|
+
|
24
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
25
|
+
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
26
|
+
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
27
|
+
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
|
28
|
+
OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
29
|
+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
30
|
+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
31
|
+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
32
|
+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
33
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
34
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
35
|
+
|
data/README
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
= ruby-pjl 1.1 -- Generating PJL in Ruby
|
2
|
+
|
3
|
+
Just write some PJL commands by a Ruby program.
|
4
|
+
|
5
|
+
|
6
|
+
== Contents
|
7
|
+
|
8
|
+
* class PJL
|
9
|
+
|
10
|
+
|
11
|
+
== Functionality
|
12
|
+
|
13
|
+
$ cd example
|
14
|
+
|
15
|
+
Get help.
|
16
|
+
|
17
|
+
$ ./ifbrother -H
|
18
|
+
|
19
|
+
Pipe a PostScript file to the printer.
|
20
|
+
|
21
|
+
$ cat nikolaus.ps | ./ifbrother | cat >/dev/ulpt0
|
22
|
+
|
23
|
+
Set up the filter.
|
24
|
+
|
25
|
+
$ vi printcap
|
26
|
+
$ sudo vi /etc/printcap
|
27
|
+
|
28
|
+
|
29
|
+
== Writing Filters
|
30
|
+
|
31
|
+
See the files <code>example/if*</code> for how to do it.
|
32
|
+
|
33
|
+
|
34
|
+
== TODO
|
35
|
+
|
36
|
+
Write some more documentation.
|
37
|
+
|
data/example/ifbrother
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
#
|
4
|
+
# ifbrother -- Print to Brother MFC7420
|
5
|
+
#
|
6
|
+
|
7
|
+
require "pjl/appl"
|
8
|
+
|
9
|
+
|
10
|
+
class MFC7420Appl < PjlAppl
|
11
|
+
|
12
|
+
NAME = "ifbrother"
|
13
|
+
VERSION = "1.0"
|
14
|
+
SUMMARY = "This is just a template"
|
15
|
+
|
16
|
+
RES = 600
|
17
|
+
|
18
|
+
GS = %W(
|
19
|
+
gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPAUSE
|
20
|
+
-sDEVICE=ljet2p -r#{RES} -sOutputFile=- -
|
21
|
+
)
|
22
|
+
|
23
|
+
def frame
|
24
|
+
job "#@login@#@host-#$$" do
|
25
|
+
set :ras1200mode => :off
|
26
|
+
set :resolution => RES
|
27
|
+
set :economode => :off
|
28
|
+
set :sourcetray => :tray1
|
29
|
+
set :mediatype => :regular
|
30
|
+
set :orientation => :portrait
|
31
|
+
set :paper => :a4
|
32
|
+
set :pageprotect => :auto
|
33
|
+
enter :pcl do
|
34
|
+
system *GS
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
exit MFC7420Appl.run
|
42
|
+
|
data/example/ifcanon
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
#!/usr/local/bin/ruby
|
2
|
+
|
3
|
+
#
|
4
|
+
# ifcanon -- input filter for Canon printer
|
5
|
+
#
|
6
|
+
|
7
|
+
require "pjl/appl"
|
8
|
+
require "socket"
|
9
|
+
|
10
|
+
class CanonIRAppl < PjlAppl
|
11
|
+
|
12
|
+
NAME = "ifcanon"
|
13
|
+
VERSION = "1.0"
|
14
|
+
SUMMARY = "Printer driver for Canon IR"
|
15
|
+
|
16
|
+
attr_writer :tray
|
17
|
+
|
18
|
+
define_option "t", :tray=, "NUM", "paper source"
|
19
|
+
alias_option "t", "tray"
|
20
|
+
|
21
|
+
def run
|
22
|
+
@tray ||= ($0 =~ /-tray(\d+)\z/) && $1.to_i
|
23
|
+
super
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def job
|
29
|
+
uel
|
30
|
+
pjl "CQue2.0-2"
|
31
|
+
yield
|
32
|
+
ensure
|
33
|
+
uel
|
34
|
+
end
|
35
|
+
|
36
|
+
GS = %w(
|
37
|
+
gs -q -dBATCH -dPARANOIDSAFER -dNOPAUSE -sDEVICE=ljet4 -sOutputFile=- -
|
38
|
+
)
|
39
|
+
|
40
|
+
def frame
|
41
|
+
uh = "#@login@#@host"
|
42
|
+
h, = Socket.gethostname.split "."
|
43
|
+
jn = "#{h}-#$$!#@login@#@host"
|
44
|
+
job do
|
45
|
+
comment :canpjl, :set, :username => uh
|
46
|
+
comment :canpjl, :set, :docname => jn
|
47
|
+
comment :canpjl, :set, :sortermode => :genericon
|
48
|
+
comment :canpjl, :set, :staple => :genericoff
|
49
|
+
comment :canpjl, :set, :punch => :genericoff
|
50
|
+
comment :canpjl, :set, :booklet => :genericoff
|
51
|
+
if @tray then
|
52
|
+
set :mediasource => :"tray#@tray"
|
53
|
+
end
|
54
|
+
enter :pcl do
|
55
|
+
system *GS
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
exit CanonIRAppl.run
|
63
|
+
|
data/example/iffile
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
#
|
4
|
+
# iffile -- Print to file
|
5
|
+
#
|
6
|
+
|
7
|
+
require "supplement"
|
8
|
+
require "pjl/appl"
|
9
|
+
|
10
|
+
|
11
|
+
class FileAppl < PjlAppl
|
12
|
+
|
13
|
+
NAME = "iffile"
|
14
|
+
VERSION = "1.0"
|
15
|
+
SUMMARY = "Printer driver writing to a file"
|
16
|
+
|
17
|
+
OUTDIR = "/var/tmp/lpd-files"
|
18
|
+
|
19
|
+
def run
|
20
|
+
File.open output_path, "w" do |f|
|
21
|
+
f.puts $stdin.read
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def output_path
|
28
|
+
File.directory? OUTDIR or Dir.mkdir! OUTDIR
|
29
|
+
timestamp = Time.now.strftime "%Y%m%d-%H%M%S"
|
30
|
+
File.join OUTDIR, "lpd-job-#@login@#@host-#{timestamp}-#$$"
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
exit FileAppl.run
|
36
|
+
|
data/example/ifkyocera
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
#!/usr/local/bin/ruby
|
2
|
+
|
3
|
+
#
|
4
|
+
# ifkyocera -- input filter kyocera printer
|
5
|
+
#
|
6
|
+
|
7
|
+
require "pjl/appl"
|
8
|
+
|
9
|
+
class KyoceraFSAppl < PjlAppl
|
10
|
+
|
11
|
+
NAME = "ifkyocera"
|
12
|
+
VERSION = "1.0"
|
13
|
+
SUMMARY = "Printer driver for Kyocera FS"
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def frame
|
18
|
+
puts <<-EOT
|
19
|
+
!R! FRPO N7,1; CMNT Postscripts settumble cannnot do that.; EXIT,E;
|
20
|
+
EOT
|
21
|
+
display = "#@login@#@host"
|
22
|
+
job "#@login@#@host-#$$", :display => display do
|
23
|
+
rdymsg :display => display
|
24
|
+
set :economode => :off
|
25
|
+
enter :postscript do
|
26
|
+
l = $stdin.readline
|
27
|
+
case l
|
28
|
+
when /^%!/, /^%PDF/ then
|
29
|
+
begin
|
30
|
+
print l
|
31
|
+
end while l = readline
|
32
|
+
else
|
33
|
+
Pipe.run %w(a2ps -q) do |p|
|
34
|
+
p.feed l
|
35
|
+
p.feed $stdin
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
rdymsg :display => ""
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
exit KyoceraFSAppl.run
|
46
|
+
|
data/example/nikolaus.ps
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
%!PS-Adobe-3.0
|
2
|
+
|
3
|
+
%
|
4
|
+
% nikolaus.ps -- Das Haus vom Nikolaus
|
5
|
+
%
|
6
|
+
|
7
|
+
% << /Duplex true >> setpagedevice
|
8
|
+
% statusdict begin true setduplexmode true settumble end
|
9
|
+
|
10
|
+
/Phi { 5 sqrt 1 sub 2 div } def
|
11
|
+
|
12
|
+
newpath
|
13
|
+
|
14
|
+
100 100 moveto
|
15
|
+
100 200 lineto
|
16
|
+
200 200 lineto
|
17
|
+
100 100 lineto
|
18
|
+
200 100 lineto
|
19
|
+
100 200 lineto
|
20
|
+
100 100 2 div add 200 100 Phi mul add lineto
|
21
|
+
200 200 lineto
|
22
|
+
200 100 lineto
|
23
|
+
|
24
|
+
stroke
|
25
|
+
|
26
|
+
/Courier findfont 10 scalefont setfont
|
27
|
+
100 350 moveto
|
28
|
+
(Das ist das Haus vom Nikolaus.) show
|
29
|
+
|
30
|
+
showpage
|
31
|
+
|
data/example/printcap
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
#
|
2
|
+
# printcap -- Example FreeBSD printer configuration
|
3
|
+
#
|
4
|
+
|
5
|
+
# (C) 2016 Bertram Scharpf <software@bertram-scharpf.de>
|
6
|
+
|
7
|
+
# WARNING! The filter-path capability "fp" below is an extension
|
8
|
+
# written by me and filed in December 2015
|
9
|
+
# (<https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205604>).
|
10
|
+
# The FreeBSD community is ignoring my proposal as diligently as possible.
|
11
|
+
#
|
12
|
+
# The problem: After lpd was started by the "service" command (not
|
13
|
+
# /etc/rc.d/lpd from the command line!) the PATH environment variable
|
14
|
+
# is set as in /etc/login.conf. If the filter is a Ruby script containing
|
15
|
+
# a shebang line calling "env", the interpreter maybe will not be found.
|
16
|
+
#
|
17
|
+
# #!/usr/bin/env ruby
|
18
|
+
#
|
19
|
+
# Possible solutions:
|
20
|
+
#
|
21
|
+
# - Patch your base system and "make buildworld" etc. again.
|
22
|
+
#
|
23
|
+
# - Replace the shebang line using an explicit path:
|
24
|
+
#
|
25
|
+
# #!/usr/local/bin/ruby
|
26
|
+
#
|
27
|
+
# - Set an extended PATH variable for the lpd daemon in /etc/rc.conf:
|
28
|
+
#
|
29
|
+
# lpd_enable="YES"
|
30
|
+
# lpd_env="PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin"
|
31
|
+
#
|
32
|
+
# - Check the path capability in /etc/login.conf.
|
33
|
+
#
|
34
|
+
# Good luck!
|
35
|
+
#
|
36
|
+
|
37
|
+
mfc7420|brother|lp:\
|
38
|
+
:mx=0:\
|
39
|
+
:sd=/var/spool/lpd/mfc7420:\
|
40
|
+
:sh:\
|
41
|
+
:lp=/dev/ulpt0:\
|
42
|
+
:fp=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin:\
|
43
|
+
:if=/usr/libexec/lpr/ifbrother:
|
44
|
+
|
data/lib/pjl.rb
ADDED
@@ -0,0 +1,125 @@
|
|
1
|
+
#
|
2
|
+
# pjl.rb -- PJL generation
|
3
|
+
#
|
4
|
+
|
5
|
+
=begin rdoc
|
6
|
+
|
7
|
+
:section: Classes definied here
|
8
|
+
|
9
|
+
PJL generates PJL code.
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
|
14
|
+
class Object
|
15
|
+
def to_pjlkey ; to_s ; end
|
16
|
+
end
|
17
|
+
class String
|
18
|
+
def to_pjlkey ; v = gsub '"', "''" ; %Q("#{v}") ; end
|
19
|
+
end
|
20
|
+
class Symbol
|
21
|
+
def to_pjlkey ; r = to_s; r.upcase! ; r ; end
|
22
|
+
end
|
23
|
+
class Array
|
24
|
+
def to_pjlkey ; map { |x| x.to_pjlkey }.join ; end
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
# PJL generation
|
29
|
+
#
|
30
|
+
# = Example
|
31
|
+
#
|
32
|
+
# class MyPrinter
|
33
|
+
# include PJL
|
34
|
+
# def run
|
35
|
+
# job "job-#$$" do
|
36
|
+
# rdymsg :display => "wait..."
|
37
|
+
# enter :postscript do
|
38
|
+
# puts "%!PS"
|
39
|
+
# ...
|
40
|
+
# end
|
41
|
+
# end
|
42
|
+
# end
|
43
|
+
# end
|
44
|
+
# MyPrinter.new.run
|
45
|
+
#
|
46
|
+
module PJL
|
47
|
+
|
48
|
+
def job name, *args
|
49
|
+
print "\0"*32
|
50
|
+
uel
|
51
|
+
pjl
|
52
|
+
j = { :name => name.to_s }
|
53
|
+
args.push j
|
54
|
+
pjl :job, *args
|
55
|
+
yield
|
56
|
+
ensure
|
57
|
+
pjl :eoj, j
|
58
|
+
uel
|
59
|
+
end
|
60
|
+
|
61
|
+
def lparm p
|
62
|
+
m = @m
|
63
|
+
@m = { :lparm => p.to_sym }
|
64
|
+
yield
|
65
|
+
ensure
|
66
|
+
@m = m
|
67
|
+
end
|
68
|
+
|
69
|
+
def iparm p
|
70
|
+
m = @m
|
71
|
+
@m = { :iparm => p.to_sym }
|
72
|
+
yield
|
73
|
+
ensure
|
74
|
+
@m = m
|
75
|
+
end
|
76
|
+
|
77
|
+
def noop
|
78
|
+
pjl
|
79
|
+
end
|
80
|
+
alias nop noop
|
81
|
+
|
82
|
+
def method_missing name, *args, &block
|
83
|
+
if block then
|
84
|
+
super
|
85
|
+
else
|
86
|
+
args.each { |a|
|
87
|
+
case a
|
88
|
+
when String, Symbol, Hash then next
|
89
|
+
else super
|
90
|
+
end
|
91
|
+
}
|
92
|
+
if name.to_s =~ /\Apjl_/ then name = $'.to_sym end
|
93
|
+
pjl name, *args
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
def enter language
|
98
|
+
pjl :enter, :language => language.to_sym
|
99
|
+
yield
|
100
|
+
ensure
|
101
|
+
uel
|
102
|
+
pjl
|
103
|
+
end
|
104
|
+
|
105
|
+
private
|
106
|
+
|
107
|
+
def uel
|
108
|
+
print "\e%-12345X"
|
109
|
+
end
|
110
|
+
|
111
|
+
def pjl *args
|
112
|
+
opt = {}
|
113
|
+
opt.update args.pop while args.last.is_a? Hash
|
114
|
+
l = []
|
115
|
+
args.flatten!
|
116
|
+
args.each { |a| l.push a }
|
117
|
+
@m and @m.each { |k,v| l.push [ k, :":", v] }
|
118
|
+
opt .each { |k,v| l.push [ k, :"=", v] }
|
119
|
+
cmd = "@PJL"
|
120
|
+
l.each { |x| cmd << " " << x.to_pjlkey }
|
121
|
+
puts cmd
|
122
|
+
end
|
123
|
+
|
124
|
+
end
|
125
|
+
|
data/lib/pjl/appl.rb
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
#
|
2
|
+
# pjl/appl.rb -- Application
|
3
|
+
#
|
4
|
+
|
5
|
+
require "appl"
|
6
|
+
require "pjl"
|
7
|
+
|
8
|
+
class PjlAppl < Application
|
9
|
+
|
10
|
+
NAME = "pjlappl"
|
11
|
+
VERSION = "0.0"
|
12
|
+
SUMMARY = "This is just a template"
|
13
|
+
|
14
|
+
DESCRIPTION = "Call this as an input filter from printcap."
|
15
|
+
|
16
|
+
attr_writer :width, :length, :indent, :login, :host
|
17
|
+
attr_bang :plain, :debug
|
18
|
+
|
19
|
+
define_option "c", :plain!, "pass through control characters"
|
20
|
+
alias_option "c", "passctrl"
|
21
|
+
define_option "w", :width=, "NUM", "width"
|
22
|
+
alias_option "w", "width"
|
23
|
+
define_option "l", :length=, "NUM", "length"
|
24
|
+
alias_option "l", "length"
|
25
|
+
define_option "i", :indent=, "NUM", "indent"
|
26
|
+
alias_option "i", "indent"
|
27
|
+
define_option "n", :login=, "STR", "login name"
|
28
|
+
alias_option "n", "login"
|
29
|
+
define_option "h", :host=, "STR", "host name"
|
30
|
+
alias_option "h", "host"
|
31
|
+
|
32
|
+
define_option "g", :debug!, "lots of ugly debugging information"
|
33
|
+
alias_option "g", "debug"
|
34
|
+
|
35
|
+
define_option "H", :help, "show this options list"
|
36
|
+
alias_option "H", "help"
|
37
|
+
define_option "V", :version, "show version information"
|
38
|
+
alias_option "V", "version"
|
39
|
+
|
40
|
+
def run
|
41
|
+
@host ||= gethostname
|
42
|
+
@host, = @host.split "."
|
43
|
+
@acct_file = @args.shift
|
44
|
+
if @plain then
|
45
|
+
while (l = readline) do
|
46
|
+
print l
|
47
|
+
end
|
48
|
+
else
|
49
|
+
frame
|
50
|
+
end
|
51
|
+
rescue EOFError
|
52
|
+
end
|
53
|
+
|
54
|
+
include PJL
|
55
|
+
|
56
|
+
private
|
57
|
+
|
58
|
+
def gethostname
|
59
|
+
require "socket"
|
60
|
+
Socket.gethostname
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
data/lib/pjl/version.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
#
|
2
|
+
# pjl/version.rb -- Name and version number
|
3
|
+
#
|
4
|
+
|
5
|
+
module PJL
|
6
|
+
|
7
|
+
NAME = "pjl"
|
8
|
+
VERSION = "1.1".freeze
|
9
|
+
|
10
|
+
SUMMARY = "PJL generation"
|
11
|
+
|
12
|
+
DESCRIPTION = <<EOT
|
13
|
+
Write PJL (Printer Job Language) commands from a Ruby program.
|
14
|
+
EOT
|
15
|
+
|
16
|
+
COPYRIGHT = "(C) 2013-2016 Bertram Scharpf"
|
17
|
+
LICENSE = "BSD-2-Clause"
|
18
|
+
AUTHOR = "Bertram Scharpf <software@bertram-scharpf.de>"
|
19
|
+
TEAM = [ "Bertram Scharpf"]
|
20
|
+
HOMEPAGE = "http://www.bertram-scharpf.de/software/pjl"
|
21
|
+
|
22
|
+
end
|
23
|
+
|
metadata
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: pjl
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '1.1'
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Bertram Scharpf
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-12-09 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: appl
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.0'
|
27
|
+
description: |
|
28
|
+
Write PJL (Printer Job Language) commands from a Ruby program.
|
29
|
+
email: Bertram Scharpf <software@bertram-scharpf.de>
|
30
|
+
executables: []
|
31
|
+
extensions: []
|
32
|
+
extra_rdoc_files:
|
33
|
+
- README
|
34
|
+
- LICENSE
|
35
|
+
files:
|
36
|
+
- LICENSE
|
37
|
+
- README
|
38
|
+
- example/ifbrother
|
39
|
+
- example/ifcanon
|
40
|
+
- example/iffile
|
41
|
+
- example/ifkyocera
|
42
|
+
- example/nikolaus.ps
|
43
|
+
- example/printcap
|
44
|
+
- lib/pjl.rb
|
45
|
+
- lib/pjl/appl.rb
|
46
|
+
- lib/pjl/version.rb
|
47
|
+
homepage: http://www.bertram-scharpf.de/software/pjl
|
48
|
+
licenses:
|
49
|
+
- BSD-2-Clause
|
50
|
+
metadata: {}
|
51
|
+
post_install_message:
|
52
|
+
rdoc_options:
|
53
|
+
- "--charset"
|
54
|
+
- utf-8
|
55
|
+
- "--main"
|
56
|
+
- lib/pjl.rb
|
57
|
+
require_paths:
|
58
|
+
- lib
|
59
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0'
|
64
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
requirements:
|
70
|
+
- Some other tools from the same author
|
71
|
+
rubyforge_project: NONE
|
72
|
+
rubygems_version: 2.6.4
|
73
|
+
signing_key:
|
74
|
+
specification_version: 4
|
75
|
+
summary: PJL generation
|
76
|
+
test_files: []
|