qttk 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +2 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +36 -0
- data/README.markdown +131 -0
- data/Rakefile +17 -0
- data/TODO.markdown +236 -0
- data/bin/qt +7 -0
- data/etc/gutenprint/gp-tool.rb +56 -0
- data/etc/gutenprint/gutenprint-filter.c +400 -0
- data/etc/gutenprint/gutenprint.rb +86 -0
- data/etc/gutenprint/stp-test +326 -0
- data/etc/images/3551599565_db282cf840_o.jpg +0 -0
- data/etc/images/4843122063_d582c569e9_o.jpg +0 -0
- data/etc/images/4843128953_83c1770907_o.jpg +0 -0
- data/lib/quadtone.rb +56 -0
- data/lib/quadtone/cgats.rb +137 -0
- data/lib/quadtone/cluster_calculator.rb +81 -0
- data/lib/quadtone/color.rb +83 -0
- data/lib/quadtone/color/cmyk.rb +112 -0
- data/lib/quadtone/color/device_n.rb +23 -0
- data/lib/quadtone/color/gray.rb +46 -0
- data/lib/quadtone/color/lab.rb +150 -0
- data/lib/quadtone/color/qtr.rb +71 -0
- data/lib/quadtone/color/rgb.rb +71 -0
- data/lib/quadtone/color/xyz.rb +80 -0
- data/lib/quadtone/curve.rb +138 -0
- data/lib/quadtone/curve_set.rb +196 -0
- data/lib/quadtone/descendants.rb +9 -0
- data/lib/quadtone/environment.rb +5 -0
- data/lib/quadtone/extensions/math.rb +11 -0
- data/lib/quadtone/extensions/pathname3.rb +11 -0
- data/lib/quadtone/printer.rb +106 -0
- data/lib/quadtone/profile.rb +217 -0
- data/lib/quadtone/quad_file.rb +59 -0
- data/lib/quadtone/renderer.rb +139 -0
- data/lib/quadtone/run.rb +10 -0
- data/lib/quadtone/sample.rb +32 -0
- data/lib/quadtone/separator.rb +36 -0
- data/lib/quadtone/target.rb +277 -0
- data/lib/quadtone/tool.rb +61 -0
- data/lib/quadtone/tools/add_printer.rb +73 -0
- data/lib/quadtone/tools/characterize.rb +43 -0
- data/lib/quadtone/tools/chart.rb +31 -0
- data/lib/quadtone/tools/check.rb +16 -0
- data/lib/quadtone/tools/dir.rb +15 -0
- data/lib/quadtone/tools/edit.rb +23 -0
- data/lib/quadtone/tools/init.rb +82 -0
- data/lib/quadtone/tools/install.rb +15 -0
- data/lib/quadtone/tools/linearize.rb +28 -0
- data/lib/quadtone/tools/list.rb +19 -0
- data/lib/quadtone/tools/print.rb +38 -0
- data/lib/quadtone/tools/printer_options.rb +40 -0
- data/lib/quadtone/tools/rename.rb +17 -0
- data/lib/quadtone/tools/render.rb +43 -0
- data/lib/quadtone/tools/rewrite.rb +15 -0
- data/lib/quadtone/tools/separate.rb +71 -0
- data/lib/quadtone/tools/show.rb +15 -0
- data/lib/quadtone/tools/test.rb +26 -0
- data/qttk.gemspec +34 -0
- metadata +215 -0
@@ -0,0 +1,86 @@
|
|
1
|
+
module Quadtone
|
2
|
+
|
3
|
+
class Gutenprint
|
4
|
+
|
5
|
+
attr_accessor :printer
|
6
|
+
|
7
|
+
def initialize(printer)
|
8
|
+
@printer = printer
|
9
|
+
end
|
10
|
+
|
11
|
+
def channels
|
12
|
+
run_filter(%w{-s}).split(/\n/).map { |s| s.split(/:\s+/, 2) }
|
13
|
+
end
|
14
|
+
|
15
|
+
def geometry
|
16
|
+
Hash[
|
17
|
+
run_filter(%w{-g}).split(/\n/).map do |s|
|
18
|
+
key, value = s.split(/:\s+/, 2)
|
19
|
+
value = case value
|
20
|
+
when /^\d+$/
|
21
|
+
value.to_i
|
22
|
+
when /^\d+\.\d+$/
|
23
|
+
value.to_f
|
24
|
+
else
|
25
|
+
value
|
26
|
+
end
|
27
|
+
[key.to_sym, value]
|
28
|
+
end
|
29
|
+
]
|
30
|
+
end
|
31
|
+
|
32
|
+
def print(args, &block)
|
33
|
+
run_filter(
|
34
|
+
[
|
35
|
+
'-c', args[:num_channels],
|
36
|
+
'-h', args[:rows],
|
37
|
+
'-w', args[:columns],
|
38
|
+
'-o', args[:output_file],
|
39
|
+
'-'
|
40
|
+
], 'w'
|
41
|
+
) do |io|
|
42
|
+
yield(io)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
private
|
47
|
+
|
48
|
+
def run_filter(args, mode='r', &block)
|
49
|
+
cmd = [
|
50
|
+
File.join(File.realpath(File.dirname($0)), 'gutenprint-filter'),
|
51
|
+
'-d', @printer,
|
52
|
+
] + args
|
53
|
+
cmd = cmd.map { |c| c.to_s }
|
54
|
+
;;warn cmd.join(' ')
|
55
|
+
|
56
|
+
IO.popen(cmd, mode) do |io|
|
57
|
+
if block_given?
|
58
|
+
yield(io)
|
59
|
+
else
|
60
|
+
io.read
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
# currently unused
|
66
|
+
class ChannelMap
|
67
|
+
|
68
|
+
def initialize(gp_channels)
|
69
|
+
@qtr_channels = {}
|
70
|
+
gp_channels.each_with_index do |channel, i|
|
71
|
+
short, long = *channel
|
72
|
+
qtr_key = long.split(/\s+/).map { |s| (s == 'Black') ? 'K' : s[0] }.join.to_sym
|
73
|
+
raise "Unknown channel: #{long}" unless Color::QTR::Channels.index(qtr_key)
|
74
|
+
@qtr_channels[qtr_key] = i
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
def qtr_to_raw_channel_index(qtr_color)
|
79
|
+
@qtr_channels[qtr_color.channel]
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
83
|
+
|
84
|
+
end
|
85
|
+
|
86
|
+
end
|
@@ -0,0 +1,326 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'ffi'
|
4
|
+
|
5
|
+
module Gutenprint
|
6
|
+
|
7
|
+
module FFI
|
8
|
+
|
9
|
+
extend ::FFI::Library
|
10
|
+
|
11
|
+
ffi_lib('/usr/lib/libgutenprint.dylib')
|
12
|
+
|
13
|
+
STP_CHANNEL_LIMIT = 32
|
14
|
+
|
15
|
+
STP_IMAGE_STATUS_OK = 0
|
16
|
+
STP_IMAGE_STATUS_ABORT = 1
|
17
|
+
|
18
|
+
class ImageS < ::FFI::Struct
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
attach_function :stp_init, [], :void
|
23
|
+
|
24
|
+
### printers.h
|
25
|
+
|
26
|
+
attach_function :stp_printer_model_count, [], :int
|
27
|
+
attach_function :stp_get_printer_by_index, [:int], :pointer
|
28
|
+
attach_function :stp_get_printer, [:pointer], :string
|
29
|
+
attach_function :stp_printer_get_driver, [:pointer], :string
|
30
|
+
attach_function :stp_printer_get_long_name, [:pointer], :string
|
31
|
+
attach_function :stp_printer_get_device_id, [:pointer], :string
|
32
|
+
attach_function :stp_printer_get_family, [:pointer], :string
|
33
|
+
attach_function :stp_printer_get_manufacturer, [:pointer], :string
|
34
|
+
attach_function :stp_printer_get_defaults, [:pointer], :pointer
|
35
|
+
attach_function :stp_set_printer_defaults, [:pointer, :pointer], :void
|
36
|
+
attach_function :stp_set_printer_defaults_soft, [:pointer, :pointer], :void
|
37
|
+
|
38
|
+
###
|
39
|
+
### vars.h
|
40
|
+
###
|
41
|
+
|
42
|
+
enum :stp_parameter_type, [
|
43
|
+
:string_list,
|
44
|
+
:int,
|
45
|
+
:boolean,
|
46
|
+
:double,
|
47
|
+
:curve,
|
48
|
+
:file,
|
49
|
+
:raw,
|
50
|
+
:array,
|
51
|
+
:dimension,
|
52
|
+
:invalid
|
53
|
+
]
|
54
|
+
|
55
|
+
enum :stp_parameter_class, [
|
56
|
+
:feature,
|
57
|
+
:output,
|
58
|
+
:core,
|
59
|
+
:invalid
|
60
|
+
]
|
61
|
+
|
62
|
+
enum :stp_parameter_level, [
|
63
|
+
:basic,
|
64
|
+
:advanced,
|
65
|
+
:advanced1,
|
66
|
+
:advanced2,
|
67
|
+
:advanced3,
|
68
|
+
:advanced4,
|
69
|
+
:internal,
|
70
|
+
:external,
|
71
|
+
:invalid
|
72
|
+
]
|
73
|
+
|
74
|
+
enum :stp_parameter_activity, [
|
75
|
+
:inactive,
|
76
|
+
:defaulted,
|
77
|
+
:active
|
78
|
+
]
|
79
|
+
|
80
|
+
# basic printer settings
|
81
|
+
attach_function :stp_vars_create, [], :pointer
|
82
|
+
attach_function :stp_vars_copy, [:pointer, :pointer], :void
|
83
|
+
attach_function :stp_default_settings, [], :void
|
84
|
+
attach_function :stp_vars_create_copy, [:pointer], :pointer
|
85
|
+
attach_function :stp_vars_destroy, [:pointer], :void
|
86
|
+
attach_function :stp_set_driver, [:pointer, :string], :void
|
87
|
+
attach_function :stp_get_driver, [:pointer], :string
|
88
|
+
attach_function :stp_set_color_conversion, [:pointer, :string], :void
|
89
|
+
attach_function :stp_get_color_conversion, [:pointer], :string
|
90
|
+
attach_function :stp_set_left, [:pointer, :int], :void
|
91
|
+
attach_function :stp_get_left, [:pointer], :int
|
92
|
+
attach_function :stp_set_top, [:pointer, :int], :void
|
93
|
+
attach_function :stp_get_top, [:pointer], :int
|
94
|
+
attach_function :stp_set_width, [:pointer, :int], :void
|
95
|
+
attach_function :stp_get_width, [:pointer], :int
|
96
|
+
attach_function :stp_set_height, [:pointer, :int], :void
|
97
|
+
attach_function :stp_get_height, [:pointer], :int
|
98
|
+
attach_function :stp_set_page_width, [:pointer, :int], :void
|
99
|
+
attach_function :stp_get_page_width, [:pointer], :int
|
100
|
+
attach_function :stp_set_page_height, [:pointer, :int], :void
|
101
|
+
attach_function :stp_get_page_height, [:pointer], :int
|
102
|
+
attach_function :stp_set_outfunc, [:pointer, :pointer], :void
|
103
|
+
attach_function :stp_get_outfunc, [:pointer], :pointer
|
104
|
+
attach_function :stp_set_errfunc, [:pointer, :pointer], :void
|
105
|
+
attach_function :stp_get_errfunc, [:pointer], :pointer
|
106
|
+
attach_function :stp_set_outdata, [:pointer, :pointer], :void
|
107
|
+
attach_function :stp_get_outdata, [:pointer], :void
|
108
|
+
attach_function :stp_set_errdata, [:pointer, :pointer], :void
|
109
|
+
attach_function :stp_get_errdata, [:pointer], :void
|
110
|
+
|
111
|
+
# parameter management
|
112
|
+
attach_function :stp_get_parameter_list, [:pointer], :pointer
|
113
|
+
attach_function :stp_parameter_list_count, [:pointer], :int
|
114
|
+
attach_function :stp_parameter_find, [:pointer, :string], :pointer
|
115
|
+
attach_function :stp_parameter_list_param, [:pointer, :int], :pointer
|
116
|
+
attach_function :stp_parameter_list_destroy, [:pointer], :void
|
117
|
+
attach_function :stp_parameter_list_create, [], :pointer
|
118
|
+
attach_function :stp_parameter_list_add_param, [:pointer, :pointer], :void
|
119
|
+
attach_function :stp_parameter_list_copy, [:pointer], :pointer
|
120
|
+
attach_function :stp_parameter_list_append, [:pointer, :pointer], :void
|
121
|
+
attach_function :stp_describe_parameter, [:pointer, :string, :pointer], :void
|
122
|
+
attach_function :stp_parameter_description_destroy, [:pointer], :void
|
123
|
+
attach_function :stp_parameter_find_in_settings, [:pointer, :string], :pointer
|
124
|
+
attach_function :stp_set_string_parameter, [:pointer, :string, :string], :void
|
125
|
+
attach_function :stp_set_string_parameter_n, [:pointer, :string, :string, :int], :void
|
126
|
+
attach_function :stp_set_file_parameter, [:pointer, :string, :string], :void
|
127
|
+
attach_function :stp_set_file_parameter_n, [:pointer, :string, :string, :int], :void
|
128
|
+
attach_function :stp_set_float_parameter, [:pointer, :string, :double], :void
|
129
|
+
attach_function :stp_set_int_parameter, [:pointer, :string, :int], :void
|
130
|
+
attach_function :stp_set_dimension_parameter, [:pointer, :string, :int], :void
|
131
|
+
attach_function :stp_set_boolean_parameter, [:pointer, :string, :int], :void
|
132
|
+
attach_function :stp_set_curve_parameter, [:pointer, :string, :pointer], :void
|
133
|
+
attach_function :stp_set_array_parameter, [:pointer, :string, :pointer], :void
|
134
|
+
attach_function :stp_set_raw_parameter, [:pointer, :string, :pointer, :int], :void
|
135
|
+
attach_function :stp_scale_float_parameter, [:pointer, :string, :double], :void
|
136
|
+
attach_function :stp_set_default_string_parameter, [:pointer, :string, :string], :void
|
137
|
+
attach_function :stp_set_default_string_parameter_n, [:pointer, :string, :string, :int], :void
|
138
|
+
attach_function :stp_set_default_file_parameter, [:pointer, :string, :string], :void
|
139
|
+
attach_function :stp_set_default_file_parameter_n, [:pointer, :string, :string, :int], :void
|
140
|
+
attach_function :stp_set_default_float_parameter, [:pointer, :string, :double], :void
|
141
|
+
attach_function :stp_set_default_int_parameter, [:pointer, :string, :int], :void
|
142
|
+
attach_function :stp_set_default_dimension_parameter, [:pointer, :string, :int], :void
|
143
|
+
attach_function :stp_set_default_boolean_parameter, [:pointer, :string, :int], :void
|
144
|
+
attach_function :stp_set_default_curve_parameter, [:pointer, :string, :pointer], :void
|
145
|
+
attach_function :stp_set_default_array_parameter, [:pointer, :string, :pointer], :void
|
146
|
+
attach_function :stp_set_default_raw_parameter, [:pointer, :string, :pointer, :int], :void
|
147
|
+
attach_function :stp_get_string_parameter, [:pointer, :string], :string
|
148
|
+
attach_function :stp_get_file_parameter, [:pointer, :string], :string
|
149
|
+
attach_function :stp_get_float_parameter, [:pointer, :string], :double
|
150
|
+
attach_function :stp_get_int_parameter, [:pointer, :string], :int
|
151
|
+
attach_function :stp_get_dimension_parameter, [:pointer, :string], :int
|
152
|
+
attach_function :stp_get_boolean_parameter, [:pointer, :string], :int
|
153
|
+
attach_function :stp_get_curve_parameter, [:pointer, :string], :pointer
|
154
|
+
attach_function :stp_get_array_parameter, [:pointer, :string], :pointer
|
155
|
+
attach_function :stp_get_raw_parameter, [:pointer, :string], :pointer
|
156
|
+
attach_function :stp_clear_string_parameter, [:pointer, :string], :void
|
157
|
+
attach_function :stp_clear_file_parameter, [:pointer, :string], :void
|
158
|
+
attach_function :stp_clear_float_parameter, [:pointer, :string], :void
|
159
|
+
attach_function :stp_clear_int_parameter, [:pointer, :string], :void
|
160
|
+
attach_function :stp_clear_dimension_parameter, [:pointer, :string], :void
|
161
|
+
attach_function :stp_clear_boolean_parameter, [:pointer, :string], :void
|
162
|
+
attach_function :stp_clear_curve_parameter, [:pointer, :string], :void
|
163
|
+
attach_function :stp_clear_array_parameter, [:pointer, :string], :void
|
164
|
+
attach_function :stp_clear_raw_parameter, [:pointer, :string], :void
|
165
|
+
attach_function :stp_clear_parameter, [:pointer, :string, :stp_parameter_type], :void
|
166
|
+
attach_function :stp_list_string_parameters, [:pointer], :pointer
|
167
|
+
attach_function :stp_list_file_parameters, [:pointer], :pointer
|
168
|
+
attach_function :stp_list_float_parameters, [:pointer], :pointer
|
169
|
+
attach_function :stp_list_int_parameters, [:pointer], :pointer
|
170
|
+
attach_function :stp_list_dimension_parameters, [:pointer], :pointer
|
171
|
+
attach_function :stp_list_boolean_parameters, [:pointer], :pointer
|
172
|
+
attach_function :stp_list_curve_parameters, [:pointer], :pointer
|
173
|
+
attach_function :stp_list_array_parameters, [:pointer], :pointer
|
174
|
+
attach_function :stp_list_raw_parameters, [:pointer], :pointer
|
175
|
+
attach_function :stp_list_parameters, [:pointer, :stp_parameter_type], :pointer
|
176
|
+
attach_function :stp_set_string_parameter_active, [:pointer, :string, :stp_parameter_activity], :void
|
177
|
+
attach_function :stp_set_file_parameter_active, [:pointer, :string, :stp_parameter_activity], :void
|
178
|
+
attach_function :stp_set_float_parameter_active, [:pointer, :string, :stp_parameter_activity], :void
|
179
|
+
attach_function :stp_set_int_parameter_active, [:pointer, :string, :stp_parameter_activity], :void
|
180
|
+
attach_function :stp_set_dimension_parameter_active, [:pointer, :string, :stp_parameter_activity], :void
|
181
|
+
attach_function :stp_set_boolean_parameter_active, [:pointer, :string, :stp_parameter_activity], :void
|
182
|
+
attach_function :stp_set_curve_parameter_active, [:pointer, :string, :stp_parameter_activity], :void
|
183
|
+
attach_function :stp_set_array_parameter_active, [:pointer, :string, :stp_parameter_activity], :void
|
184
|
+
attach_function :stp_set_raw_parameter_active, [:pointer, :string, :stp_parameter_activity], :void
|
185
|
+
attach_function :stp_set_parameter_active, [:pointer, :string, :stp_parameter_activity, :stp_parameter_type], :void
|
186
|
+
attach_function :stp_check_string_parameter, [:pointer, :string, :stp_parameter_activity], :int
|
187
|
+
attach_function :stp_check_file_parameter, [:pointer, :string, :stp_parameter_activity], :int
|
188
|
+
attach_function :stp_check_float_parameter, [:pointer, :string, :stp_parameter_activity], :int
|
189
|
+
attach_function :stp_check_int_parameter, [:pointer, :string, :stp_parameter_activity], :int
|
190
|
+
attach_function :stp_check_dimension_parameter, [:pointer, :string, :stp_parameter_activity], :int
|
191
|
+
attach_function :stp_check_boolean_parameter, [:pointer, :string, :stp_parameter_activity], :int
|
192
|
+
attach_function :stp_check_curve_parameter, [:pointer, :string, :stp_parameter_activity], :int
|
193
|
+
attach_function :stp_check_array_parameter, [:pointer, :string, :stp_parameter_activity], :int
|
194
|
+
attach_function :stp_check_raw_parameter, [:pointer, :string, :stp_parameter_activity], :int
|
195
|
+
attach_function :stp_check_parameter, [:pointer, :string, :stp_parameter_activity, :stp_parameter_type], :int
|
196
|
+
attach_function :stp_get_string_parameter_active, [:pointer, :string], :pointer
|
197
|
+
attach_function :stp_get_file_parameter_active, [:pointer, :string], :pointer
|
198
|
+
attach_function :stp_get_float_parameter_active, [:pointer, :string], :pointer
|
199
|
+
attach_function :stp_get_int_parameter_active, [:pointer, :string], :pointer
|
200
|
+
attach_function :stp_get_dimension_parameter_active, [:pointer, :string], :pointer
|
201
|
+
attach_function :stp_get_boolean_parameter_active, [:pointer, :string], :pointer
|
202
|
+
attach_function :stp_get_curve_parameter_active, [:pointer, :string], :pointer
|
203
|
+
attach_function :stp_get_array_parameter_active, [:pointer, :string], :pointer
|
204
|
+
attach_function :stp_get_raw_parameter_active, [:pointer, :string], :pointer
|
205
|
+
attach_function :stp_get_parameter_active, [:pointer, :string, :stp_parameter_type], :pointer
|
206
|
+
|
207
|
+
# informational queries
|
208
|
+
|
209
|
+
###
|
210
|
+
###
|
211
|
+
###
|
212
|
+
|
213
|
+
end
|
214
|
+
|
215
|
+
FFI.stp_init
|
216
|
+
|
217
|
+
class Printer
|
218
|
+
|
219
|
+
def self.all_printers
|
220
|
+
FFI.stp_printer_model_count.times.map do |i|
|
221
|
+
new(FFI.stp_get_printer_by_index(i))
|
222
|
+
end
|
223
|
+
end
|
224
|
+
|
225
|
+
def initialize(stp_printer)
|
226
|
+
@stp_printer = stp_printer
|
227
|
+
end
|
228
|
+
|
229
|
+
def driver
|
230
|
+
FFI.stp_printer_get_driver(@stp_printer)
|
231
|
+
end
|
232
|
+
|
233
|
+
def long_name
|
234
|
+
FFI.stp_printer_get_long_name(@stp_printer)
|
235
|
+
end
|
236
|
+
|
237
|
+
def device_id
|
238
|
+
FFI.stp_printer_get_device_id(@stp_printer)
|
239
|
+
end
|
240
|
+
|
241
|
+
def family
|
242
|
+
FFI.stp_printer_get_family(@stp_printer)
|
243
|
+
end
|
244
|
+
|
245
|
+
def manufacturer
|
246
|
+
FFI.stp_printer_get_manufacturer(@stp_printer)
|
247
|
+
end
|
248
|
+
|
249
|
+
end
|
250
|
+
|
251
|
+
class Vars
|
252
|
+
|
253
|
+
include FFI
|
254
|
+
|
255
|
+
def initialize
|
256
|
+
@vars = stp_vars_create
|
257
|
+
stp_vars_copy(@vars, stp_default_settings)
|
258
|
+
@printer = stp_get_printer(@vars)
|
259
|
+
stp_set_printer_defaults(@vars, @printer)
|
260
|
+
end
|
261
|
+
|
262
|
+
end
|
263
|
+
|
264
|
+
class Image
|
265
|
+
|
266
|
+
def initialize
|
267
|
+
end
|
268
|
+
|
269
|
+
def init
|
270
|
+
end
|
271
|
+
|
272
|
+
def reset
|
273
|
+
end
|
274
|
+
|
275
|
+
def width
|
276
|
+
end
|
277
|
+
|
278
|
+
def height
|
279
|
+
end
|
280
|
+
|
281
|
+
def get_row(data, limit, row)
|
282
|
+
end
|
283
|
+
|
284
|
+
def get_appname
|
285
|
+
end
|
286
|
+
|
287
|
+
def conclude
|
288
|
+
end
|
289
|
+
|
290
|
+
end
|
291
|
+
|
292
|
+
end
|
293
|
+
|
294
|
+
if $0 == __FILE__
|
295
|
+
|
296
|
+
require 'pp'
|
297
|
+
|
298
|
+
# puts "Valid printers are:"
|
299
|
+
# Gutenprint::Printer.all_printers.select { |p| p.driver =~ /^escp2-/ }.each do |printer|
|
300
|
+
# puts "%-30s %s (device id = %s, family = %s, manufacturer = %s)" % [
|
301
|
+
# printer.driver,
|
302
|
+
# printer.long_name.inspect,
|
303
|
+
# printer.device_id.inspect,
|
304
|
+
# printer.family.inspect,
|
305
|
+
# printer.manufacturer.inspect
|
306
|
+
# ]
|
307
|
+
# end
|
308
|
+
|
309
|
+
Gutenprint::FFI.stp_init
|
310
|
+
vars = Gutenprint::FFI.stp_vars_create
|
311
|
+
defaults = Gutenprint::FFI.stp_default_settings
|
312
|
+
Gutenprint::FFI.stp_vars_copy(vars, defaults) if defaults
|
313
|
+
printer = Gutenprint::FFI.stp_get_printer(vars)
|
314
|
+
Gutenprint::FFI.stp_set_printer_defaults(vars, printer)
|
315
|
+
|
316
|
+
# vars = Gutenprint::Vars.new
|
317
|
+
# vars.driver = "escp2-r2400"
|
318
|
+
# vars.printer_defaults = vars.printer
|
319
|
+
#
|
320
|
+
# param = vars.describe_parameter("RawChannelNames")
|
321
|
+
# channels = param.bounds or raise "No channels found"
|
322
|
+
# channels.each do |desc|
|
323
|
+
# puts "\t%s (%s)" % [desc.text, desc.name]
|
324
|
+
# end
|
325
|
+
|
326
|
+
end
|
Binary file
|
Binary file
|
Binary file
|
data/lib/quadtone.rb
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
# system
|
2
|
+
require 'pp'
|
3
|
+
|
4
|
+
# gems
|
5
|
+
require 'pathname3'
|
6
|
+
require 'rvg/rvg' # loads 'rmagick'
|
7
|
+
require 'builder'
|
8
|
+
require 'cupsffi'
|
9
|
+
require 'hashstruct'
|
10
|
+
require 'descriptive_statistics'
|
11
|
+
require 'spliner'
|
12
|
+
|
13
|
+
# ours
|
14
|
+
require 'quadtone/cgats'
|
15
|
+
require 'quadtone/color'
|
16
|
+
require 'quadtone/color/device_n'
|
17
|
+
require 'quadtone/color/cmyk'
|
18
|
+
require 'quadtone/color/gray'
|
19
|
+
require 'quadtone/color/lab'
|
20
|
+
require 'quadtone/color/qtr'
|
21
|
+
require 'quadtone/color/rgb'
|
22
|
+
require 'quadtone/color/xyz'
|
23
|
+
require 'quadtone/cluster_calculator'
|
24
|
+
require 'quadtone/curve'
|
25
|
+
require 'quadtone/curve_set'
|
26
|
+
require 'quadtone/descendants'
|
27
|
+
require 'quadtone/environment'
|
28
|
+
require 'quadtone/extensions/math'
|
29
|
+
require 'quadtone/extensions/pathname3'
|
30
|
+
require 'quadtone/printer'
|
31
|
+
require 'quadtone/profile'
|
32
|
+
require 'quadtone/quad_file'
|
33
|
+
require 'quadtone/renderer'
|
34
|
+
require 'quadtone/run'
|
35
|
+
require 'quadtone/sample'
|
36
|
+
require 'quadtone/separator'
|
37
|
+
require 'quadtone/target'
|
38
|
+
require 'quadtone/tool'
|
39
|
+
require 'quadtone/tools/add_printer'
|
40
|
+
require 'quadtone/tools/characterize'
|
41
|
+
require 'quadtone/tools/chart'
|
42
|
+
require 'quadtone/tools/check'
|
43
|
+
require 'quadtone/tools/dir'
|
44
|
+
require 'quadtone/tools/edit'
|
45
|
+
require 'quadtone/tools/init'
|
46
|
+
require 'quadtone/tools/install'
|
47
|
+
require 'quadtone/tools/linearize'
|
48
|
+
require 'quadtone/tools/list'
|
49
|
+
require 'quadtone/tools/print'
|
50
|
+
require 'quadtone/tools/printer_options'
|
51
|
+
require 'quadtone/tools/rename'
|
52
|
+
require 'quadtone/tools/render'
|
53
|
+
require 'quadtone/tools/rewrite'
|
54
|
+
require 'quadtone/tools/separate'
|
55
|
+
require 'quadtone/tools/show'
|
56
|
+
require 'quadtone/tools/test'
|