qttk 0.1.0 → 0.2
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 +4 -4
- data/Rakefile +2 -16
- data/etc/gutenprint/gp-tool.rb +10 -10
- data/lib/quadtone.rb +1 -2
- data/lib/quadtone/cgats.rb +1 -1
- data/lib/quadtone/curve_set.rb +1 -1
- data/lib/quadtone/environment.rb +1 -1
- data/lib/quadtone/printer.rb +1 -1
- data/lib/quadtone/profile.rb +13 -9
- data/lib/quadtone/quad_file.rb +1 -1
- data/lib/quadtone/target.rb +8 -7
- data/lib/quadtone/tools/add_printer.rb +7 -6
- data/lib/quadtone/tools/edit.rb +4 -5
- data/lib/quadtone/tools/init.rb +1 -0
- data/lib/quadtone/tools/print.rb +1 -1
- data/lib/quadtone/tools/rename.rb +1 -1
- data/lib/quadtone/tools/render.rb +1 -1
- data/lib/quadtone/tools/separate.rb +4 -4
- data/lib/quadtone/version.rb +5 -0
- data/qttk.gemspec +14 -17
- metadata +66 -39
- data/Gemfile +0 -6
- data/Gemfile.lock +0 -36
- data/lib/quadtone/extensions/pathname3.rb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83d48ce495443dbea802822d6f95374535e422b193f79a67661ed07db9891ac6
|
4
|
+
data.tar.gz: 1ac59ca9a4b4b8911f086ca756f2fb34ce689f248fbc1bcb57d35341e363b218
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 81dbe754233de68f446292f44a347d36d2f84d988af052d7a0d1b6d2562d6f67d91056455426b552f7f6bd7793407a36b6bd7397f00e0c9ab329e34ab4a6946a
|
7
|
+
data.tar.gz: ffb52959736139bca4cc9afd6ad4ce98df9c1e6562348c2006fba8e9b36809400e4148d2c6d7a1a02854cb42c3bd07607553367ac5a58b4bf1fe2fd58c84bbe6
|
data/Rakefile
CHANGED
@@ -1,17 +1,3 @@
|
|
1
|
-
|
2
|
-
require 'bundler/gem_tasks'
|
3
|
-
rescue LoadError
|
4
|
-
warn 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
5
|
-
exit(1)
|
6
|
-
end
|
1
|
+
require 'rubygems/tasks'
|
7
2
|
|
8
|
-
|
9
|
-
require 'rake/testtask'
|
10
|
-
|
11
|
-
spec = Gem::Specification.load(FileList['*.gemspec'].first)
|
12
|
-
|
13
|
-
task :default => [:test, :install]
|
14
|
-
|
15
|
-
Rake::TestTask.new do |t|
|
16
|
-
t.test_files = spec.test_files
|
17
|
-
end
|
3
|
+
Gem::Tasks.new
|
data/etc/gutenprint/gp-tool.rb
CHANGED
@@ -2,33 +2,33 @@ require 'quadtone'
|
|
2
2
|
include Quadtone
|
3
3
|
|
4
4
|
module Quadtone
|
5
|
-
|
5
|
+
|
6
6
|
class GPTool < Tool
|
7
|
-
|
7
|
+
|
8
8
|
attr_accessor :printer
|
9
|
-
|
9
|
+
|
10
10
|
def parse_option(option, args)
|
11
11
|
case option
|
12
12
|
when '--printer', '-p'
|
13
13
|
@printer = args.shift
|
14
14
|
end
|
15
15
|
end
|
16
|
-
|
16
|
+
|
17
17
|
def run(image_file)
|
18
|
-
image_file =
|
19
|
-
|
18
|
+
image_file = Path.new(image_file)
|
19
|
+
|
20
20
|
raise "Must specify printer with --printer" unless @printer
|
21
21
|
|
22
22
|
gp = Gutenprint.new(@printer)
|
23
|
-
|
23
|
+
|
24
24
|
gp_channels = gp.channels
|
25
25
|
|
26
26
|
geometry = gp.geometry
|
27
27
|
width = geometry[:width]
|
28
28
|
height = geometry[:height]
|
29
29
|
|
30
|
-
;;warn "[reading #{image_file}]"
|
31
|
-
image_list = Magick::ImageList.new(image_file)
|
30
|
+
;;warn "[reading #{image_file}]"
|
31
|
+
image_list = Magick::ImageList.new(image_file.to_s)
|
32
32
|
# ;;warn "[rotating]"
|
33
33
|
# ;;image_list.rotate!(90)
|
34
34
|
# ;;warn "[scaling]"
|
@@ -51,6 +51,6 @@ module Quadtone
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
end
|
54
|
-
|
54
|
+
|
55
55
|
end
|
56
56
|
end
|
data/lib/quadtone.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
require 'pp'
|
3
3
|
|
4
4
|
# gems
|
5
|
-
require '
|
5
|
+
require 'path'
|
6
6
|
require 'rvg/rvg' # loads 'rmagick'
|
7
7
|
require 'builder'
|
8
8
|
require 'cupsffi'
|
@@ -26,7 +26,6 @@ require 'quadtone/curve_set'
|
|
26
26
|
require 'quadtone/descendants'
|
27
27
|
require 'quadtone/environment'
|
28
28
|
require 'quadtone/extensions/math'
|
29
|
-
require 'quadtone/extensions/pathname3'
|
30
29
|
require 'quadtone/printer'
|
31
30
|
require 'quadtone/profile'
|
32
31
|
require 'quadtone/quad_file'
|
data/lib/quadtone/cgats.rb
CHANGED
data/lib/quadtone/curve_set.rb
CHANGED
@@ -62,7 +62,7 @@ module Quadtone
|
|
62
62
|
|
63
63
|
def chart_target
|
64
64
|
import_from_target
|
65
|
-
out_file = (@profile.dir_path
|
65
|
+
out_file = (@profile.dir_path / @type.to_s).with_extname('.html')
|
66
66
|
out_file.open('w') { |io| io.write(to_html) }
|
67
67
|
;;warn "Saved chart to #{out_file.to_s.inspect}"
|
68
68
|
system('qlmanage', '-p', out_file.to_s)
|
data/lib/quadtone/environment.rb
CHANGED
data/lib/quadtone/printer.rb
CHANGED
@@ -34,7 +34,7 @@ module Quadtone
|
|
34
34
|
|
35
35
|
def get_inks
|
36
36
|
# FIXME: It would be nice to get this path programmatically.
|
37
|
-
ppd_file =
|
37
|
+
ppd_file = Path.new("/etc/cups/ppd/#{@name}.ppd")
|
38
38
|
ppd_file.readlines.each do |line|
|
39
39
|
if line =~ /^\*%Inks\s*(.*?)\s*$/
|
40
40
|
@inks = $1.split(/,/).map(&:downcase).map(&:to_sym)
|
data/lib/quadtone/profile.rb
CHANGED
@@ -18,11 +18,11 @@ module Quadtone
|
|
18
18
|
attr_accessor :linearization_curveset
|
19
19
|
attr_accessor :test_curveset
|
20
20
|
|
21
|
-
ProfilesDir = BaseDir
|
21
|
+
ProfilesDir = BaseDir / 'profiles'
|
22
22
|
ProfileName = 'profile.txt'
|
23
23
|
|
24
24
|
def self.profile_names
|
25
|
-
|
25
|
+
ProfilesDir.children.select { |p| p.directory? && p.basename.to_s[0] != '.' }.map(&:basename).map(&:to_s)
|
26
26
|
end
|
27
27
|
|
28
28
|
def self.load(name)
|
@@ -52,7 +52,7 @@ module Quadtone
|
|
52
52
|
|
53
53
|
def load(name)
|
54
54
|
inks_by_num = []
|
55
|
-
(ProfilesDir
|
55
|
+
(ProfilesDir / name / ProfileName).readlines.each do |line|
|
56
56
|
line.chomp!
|
57
57
|
line.sub!(/#.*/, '')
|
58
58
|
line.strip!
|
@@ -130,15 +130,19 @@ module Quadtone
|
|
130
130
|
end
|
131
131
|
|
132
132
|
def dir_path
|
133
|
-
ProfilesDir
|
133
|
+
ProfilesDir / name
|
134
134
|
end
|
135
135
|
|
136
136
|
def qtr_profile_path
|
137
|
-
dir_path
|
137
|
+
dir_path / ProfileName
|
138
138
|
end
|
139
139
|
|
140
140
|
def quad_file_path
|
141
|
-
|
141
|
+
Path.new('/Library/Printers/QTR/quadtone') / @printer.name / "#{name}.quad"
|
142
|
+
end
|
143
|
+
|
144
|
+
def html_path
|
145
|
+
dir_path / 'profile.html'
|
142
146
|
end
|
143
147
|
|
144
148
|
def ink_limit(ink)
|
@@ -148,9 +152,9 @@ module Quadtone
|
|
148
152
|
def install
|
149
153
|
# filename needs to match name of profile for quadprofile to install it properly,
|
150
154
|
# so temporarily make a symlink
|
151
|
-
tmp_file =
|
152
|
-
qtr_profile_path.symlink(tmp_file)
|
153
|
-
system('/Library/Printers/QTR/bin/quadprofile', tmp_file)
|
155
|
+
tmp_file = Path.new('/tmp') / "#{name}.txt"
|
156
|
+
qtr_profile_path.symlink(tmp_file.to_s)
|
157
|
+
system('/Library/Printers/QTR/bin/quadprofile', tmp_file.to_s)
|
154
158
|
tmp_file.unlink
|
155
159
|
end
|
156
160
|
|
data/lib/quadtone/quad_file.rb
CHANGED
@@ -24,7 +24,7 @@ module Quadtone
|
|
24
24
|
|
25
25
|
def load(quad_file)
|
26
26
|
;;warn "reading #{quad_file}"
|
27
|
-
lines =
|
27
|
+
lines = Path.new(quad_file).open.readlines.map { |line| line.chomp.force_encoding('ISO-8859-1') }
|
28
28
|
# process header
|
29
29
|
channels = parse_channel_list(lines.shift)
|
30
30
|
channels.each do |channel|
|
data/lib/quadtone/target.rb
CHANGED
@@ -139,7 +139,8 @@ module Quadtone
|
|
139
139
|
def sample_image(size)
|
140
140
|
;;warn "\t" + "generating sample image of size #{size.inspect}"
|
141
141
|
bounds = Magick::Rectangle.new(*size, 0, 0)
|
142
|
-
|
142
|
+
file = Path.new(ENV['HOME']) / 'Desktop' / '121213b.01.tif' #FIXME: parameterize
|
143
|
+
ilist = Magick::ImageList.new(file.to_s)
|
143
144
|
ilist.first.resize_to_fill(*size)
|
144
145
|
end
|
145
146
|
|
@@ -211,7 +212,7 @@ module Quadtone
|
|
211
212
|
# private
|
212
213
|
|
213
214
|
def base_file(channel=nil, n=nil)
|
214
|
-
@base_dir
|
215
|
+
@base_dir / (@name.to_s + (channel ? "-#{channel}" : '') + (n ? "-#{n}" : ''))
|
215
216
|
end
|
216
217
|
|
217
218
|
def ti1_file(channel)
|
@@ -235,19 +236,19 @@ module Quadtone
|
|
235
236
|
end
|
236
237
|
|
237
238
|
def ti_files
|
238
|
-
|
239
|
+
Path.glob(base_file.with_extname('*.ti[123]'))
|
239
240
|
end
|
240
241
|
|
241
242
|
def ti2_files(channel)
|
242
|
-
|
243
|
+
Path.glob(base_file(channel).with_extname('*.ti2'))
|
243
244
|
end
|
244
245
|
|
245
246
|
def ti3_files(channel)
|
246
|
-
|
247
|
+
Path.glob(base_file(channel).with_extname('*.ti3'))
|
247
248
|
end
|
248
249
|
|
249
250
|
def image_files
|
250
|
-
|
251
|
+
Path.glob(base_file.with_extname('*.tif'))
|
251
252
|
end
|
252
253
|
|
253
254
|
def cleanup_files(files)
|
@@ -261,7 +262,7 @@ module Quadtone
|
|
261
262
|
files += image_files
|
262
263
|
when :ti
|
263
264
|
files += ti_files
|
264
|
-
when
|
265
|
+
when Path
|
265
266
|
if file.exist?
|
266
267
|
# ;;warn "\t" + file
|
267
268
|
file.unlink
|
@@ -16,19 +16,20 @@ module Quadtone
|
|
16
16
|
raise ToolUsageError, "Printer #{printer.inspect} already exists"
|
17
17
|
end
|
18
18
|
|
19
|
-
curves_dir =
|
20
|
-
|
21
|
-
cups_serverbin_dir =
|
19
|
+
curves_dir = Path.new('/Library/Printers/QTR/quadtone') / printer
|
20
|
+
ppds_dir = Path.new('/Library/Printers/PPDs/Contents/Resources')
|
21
|
+
cups_serverbin_dir = Path.new(%x{cups-config --serverbin}.chomp)
|
22
|
+
cups_backend_usb_tool = cups_serverbin_dir / 'backend' / 'usb'
|
22
23
|
|
23
24
|
model = printer.split(/[-_=]/).first
|
24
|
-
model_ppd = "
|
25
|
-
ppd_file =
|
25
|
+
model_ppd = "#{model}.ppd.gz"
|
26
|
+
ppd_file = ppds_dir / model_ppd
|
26
27
|
|
27
28
|
raise "QuadToneRIP does not support printer model #{model.inspect}" unless ppd_file.exist?
|
28
29
|
|
29
30
|
uri = loc = nil
|
30
31
|
|
31
|
-
File.popen(
|
32
|
+
File.popen(cups_backend_usb_tool.to_s).readlines.each do |line|
|
32
33
|
#FIXME: Too fragile -- use 'lpinfo' to find all printers
|
33
34
|
if line =~ /(usb:.*EPSON.*#{Regexp.escape(model.sub(/^Quad/, ''))})/
|
34
35
|
uri = $1
|
data/lib/quadtone/tools/edit.rb
CHANGED
@@ -5,12 +5,11 @@ module Quadtone
|
|
5
5
|
class Edit < Tool
|
6
6
|
|
7
7
|
def run
|
8
|
-
|
9
|
-
editor
|
10
|
-
Quadtone.run(editor,
|
8
|
+
editor = ENV['EDITOR'] or raise "Can't determine editor"
|
9
|
+
system(editor,
|
11
10
|
'--wait',
|
12
|
-
@profile.qtr_profile_path)
|
13
|
-
@profile = Profile.load(@profile.
|
11
|
+
@profile.qtr_profile_path.to_s)
|
12
|
+
@profile = Profile.load(@profile.name)
|
14
13
|
@profile.check
|
15
14
|
@profile.save
|
16
15
|
@profile.show
|
data/lib/quadtone/tools/init.rb
CHANGED
@@ -20,6 +20,7 @@ module Quadtone
|
|
20
20
|
|
21
21
|
def get_printer
|
22
22
|
printers = CupsPrinter.get_all_printer_names.map { |n| Printer.new(n) }.select(&:quadtone?)
|
23
|
+
raise "No quadtone printers" if printers.empty?
|
23
24
|
@printer = prompt('Printer', printers, printers[0]) { |p| p.name }
|
24
25
|
end
|
25
26
|
|
data/lib/quadtone/tools/print.rb
CHANGED
@@ -26,7 +26,7 @@ module Quadtone
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def run(*args)
|
29
|
-
args.map { |p|
|
29
|
+
args.map { |p| Path.new(p) }.each do |image_path|
|
30
30
|
@profile.print_file(image_path, calibrate: @calibrate, printer_options: @printer_options)
|
31
31
|
end
|
32
32
|
end
|
@@ -30,7 +30,7 @@ module Quadtone
|
|
30
30
|
options.merge!(page_size: @page_size) if @page_size
|
31
31
|
options.merge!(desired_size: @desired_size) if @desired_size
|
32
32
|
renderer = Renderer.new(options)
|
33
|
-
args.map { |p|
|
33
|
+
args.map { |p| Path.new(p) }.each do |input_path|
|
34
34
|
output_paths = renderer.render(input_path)
|
35
35
|
;;warn "\t" + "Wrote rendered file to #{output_paths.join(', ')}"
|
36
36
|
end
|
@@ -22,12 +22,12 @@ module Quadtone
|
|
22
22
|
def run(image_file=nil)
|
23
23
|
|
24
24
|
if @gradient
|
25
|
-
image_file =
|
25
|
+
image_file = Path.new('gradient.tif')
|
26
26
|
image = Magick::Image.new(200, 200, Magick::GradientFill.new(0, 0, 0, 200, 'white', 'black'))
|
27
27
|
else
|
28
28
|
raise ToolUsageError, "Must specify image file (or --gradient option)" unless image_file
|
29
|
-
image_file =
|
30
|
-
image = Magick::Image.read(image_file).first
|
29
|
+
image_file = Path.new(image_file)
|
30
|
+
image = Magick::Image.read(image_file.to_s).first
|
31
31
|
end
|
32
32
|
|
33
33
|
quad = QuadFile.new(@profile)
|
@@ -51,7 +51,7 @@ module Quadtone
|
|
51
51
|
images.each do |channel, separated_image|
|
52
52
|
separated_image_file = image_file.with_extname(".#{@profile.name}.sep-#{channel}.tif")
|
53
53
|
;;warn "writing channel #{channel} of separated file to #{separated_image_file}"
|
54
|
-
separated_image.write(separated_image_file) { self.compression = Magick::ZipCompression }
|
54
|
+
separated_image.write(separated_image_file.to_s) { self.compression = Magick::ZipCompression }
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
data/qttk.gemspec
CHANGED
@@ -1,12 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
$LOAD_PATH << File.expand_path('../lib', __FILE__)
|
4
|
-
|
5
|
-
# require 'qttk/version'
|
1
|
+
require_relative 'lib/quadtone/version'
|
6
2
|
|
7
3
|
Gem::Specification.new do |s|
|
8
4
|
s.name = 'qttk'
|
9
|
-
s.version =
|
5
|
+
s.version = Quadtone::VERSION
|
10
6
|
s.author = 'John Labovitz'
|
11
7
|
s.email = 'johnl@johnlabovitz.com'
|
12
8
|
s.homepage = 'http://github.com/jslabovitz/qttk'
|
@@ -14,21 +10,22 @@ Gem::Specification.new do |s|
|
|
14
10
|
s.description = %q{
|
15
11
|
Quadtone Toolkit (QTTK): Tools for working with the quadtone printing process.
|
16
12
|
}
|
13
|
+
s.license = 'MIT'
|
17
14
|
|
18
15
|
s.files = `git ls-files`.split("\n")
|
19
16
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
20
17
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
21
|
-
s.
|
18
|
+
s.require_path = 'lib'
|
22
19
|
|
23
|
-
s.add_dependency 'builder'
|
24
|
-
s.add_dependency '
|
25
|
-
s.add_dependency 'rmagick'
|
26
|
-
s.add_dependency 'ffi'
|
27
|
-
s.add_dependency 'cupsffi'
|
28
|
-
s.add_dependency 'hashstruct'
|
29
|
-
s.add_dependency 'descriptive_statistics'
|
30
|
-
s.add_dependency 'spliner'
|
20
|
+
s.add_dependency 'builder', '~> 3.2'
|
21
|
+
s.add_dependency 'path', '~> 2.0'
|
22
|
+
s.add_dependency 'rmagick', '~> 2.16'
|
23
|
+
s.add_dependency 'ffi', '~> 1.9'
|
24
|
+
s.add_dependency 'cupsffi', '~> 0.1'
|
25
|
+
s.add_dependency 'hashstruct', '~> 1.3'
|
26
|
+
s.add_dependency 'descriptive_statistics', '~> 2.5'
|
27
|
+
s.add_dependency 'spliner', '~> 1.0'
|
31
28
|
|
32
|
-
|
33
|
-
|
29
|
+
s.add_development_dependency 'rake', '~> 12.3'
|
30
|
+
s.add_development_dependency 'rubygems-tasks', '~> 0.2'
|
34
31
|
end
|
metadata
CHANGED
@@ -1,127 +1,155 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qttk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.2'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Labovitz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-02-
|
11
|
+
date: 2018-02-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: builder
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '3.2'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '3.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: path
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
33
|
+
version: '2.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
40
|
+
version: '2.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rmagick
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '2.16'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '2.16'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: ffi
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '1.9'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '1.9'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: cupsffi
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
75
|
+
version: '0.1'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
82
|
+
version: '0.1'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: hashstruct
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '1.3'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '1.3'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: descriptive_statistics
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - "
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
103
|
+
version: '2.5'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
110
|
+
version: '2.5'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: spliner
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
117
|
+
version: '1.0'
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
124
|
+
version: '1.0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rake
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '12.3'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '12.3'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rubygems-tasks
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0.2'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0.2'
|
125
153
|
description: "\n Quadtone Toolkit (QTTK): Tools for working with the quadtone printing
|
126
154
|
process.\n "
|
127
155
|
email: johnl@johnlabovitz.com
|
@@ -131,8 +159,6 @@ extensions: []
|
|
131
159
|
extra_rdoc_files: []
|
132
160
|
files:
|
133
161
|
- ".gitignore"
|
134
|
-
- Gemfile
|
135
|
-
- Gemfile.lock
|
136
162
|
- README.markdown
|
137
163
|
- Rakefile
|
138
164
|
- TODO.markdown
|
@@ -160,7 +186,6 @@ files:
|
|
160
186
|
- lib/quadtone/descendants.rb
|
161
187
|
- lib/quadtone/environment.rb
|
162
188
|
- lib/quadtone/extensions/math.rb
|
163
|
-
- lib/quadtone/extensions/pathname3.rb
|
164
189
|
- lib/quadtone/printer.rb
|
165
190
|
- lib/quadtone/profile.rb
|
166
191
|
- lib/quadtone/quad_file.rb
|
@@ -188,9 +213,11 @@ files:
|
|
188
213
|
- lib/quadtone/tools/separate.rb
|
189
214
|
- lib/quadtone/tools/show.rb
|
190
215
|
- lib/quadtone/tools/test.rb
|
216
|
+
- lib/quadtone/version.rb
|
191
217
|
- qttk.gemspec
|
192
218
|
homepage: http://github.com/jslabovitz/qttk
|
193
|
-
licenses:
|
219
|
+
licenses:
|
220
|
+
- MIT
|
194
221
|
metadata: {}
|
195
222
|
post_install_message:
|
196
223
|
rdoc_options: []
|
data/Gemfile
DELETED
data/Gemfile.lock
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
qttk (0.1.0)
|
5
|
-
builder
|
6
|
-
cupsffi
|
7
|
-
descriptive_statistics
|
8
|
-
ffi
|
9
|
-
hashstruct
|
10
|
-
pathname3
|
11
|
-
rmagick
|
12
|
-
spliner
|
13
|
-
|
14
|
-
GEM
|
15
|
-
remote: http://rubygems.org/
|
16
|
-
specs:
|
17
|
-
builder (3.2.3)
|
18
|
-
cupsffi (0.1.7)
|
19
|
-
ffi
|
20
|
-
descriptive_statistics (2.5.1)
|
21
|
-
ffi (1.9.22)
|
22
|
-
hashstruct (1.3.1)
|
23
|
-
pathname3 (1.2.5)
|
24
|
-
rake (12.3.0)
|
25
|
-
rmagick (2.16.0)
|
26
|
-
spliner (1.0.6)
|
27
|
-
|
28
|
-
PLATFORMS
|
29
|
-
ruby
|
30
|
-
|
31
|
-
DEPENDENCIES
|
32
|
-
qttk!
|
33
|
-
rake
|
34
|
-
|
35
|
-
BUNDLED WITH
|
36
|
-
1.16.1
|