rghost-ruby1.9-beta 0.8.7.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.
Files changed (132) hide show
  1. data/lib/rghost.rb +18 -0
  2. data/lib/rghost/border.rb +44 -0
  3. data/lib/rghost/callback.rb +58 -0
  4. data/lib/rghost/circle.rb +102 -0
  5. data/lib/rghost/color.rb +175 -0
  6. data/lib/rghost/constants.rb +626 -0
  7. data/lib/rghost/convert.rb +43 -0
  8. data/lib/rghost/cursor.rb +124 -0
  9. data/lib/rghost/dash.rb +59 -0
  10. data/lib/rghost/document.rb +546 -0
  11. data/lib/rghost/document_callback_facade.rb +64 -0
  12. data/lib/rghost/dsc_entry.rb +20 -0
  13. data/lib/rghost/dynamic_document_callback.rb +15 -0
  14. data/lib/rghost/eps.rb +31 -0
  15. data/lib/rghost/font.rb +48 -0
  16. data/lib/rghost/font_map.rb +54 -0
  17. data/lib/rghost/frame.rb +105 -0
  18. data/lib/rghost/function.rb +38 -0
  19. data/lib/rghost/gif.rb +41 -0
  20. data/lib/rghost/graphic.rb +26 -0
  21. data/lib/rghost/grid/base_grid.rb +228 -0
  22. data/lib/rghost/grid/callback_facade.rb +136 -0
  23. data/lib/rghost/grid/csv_grid.rb +51 -0
  24. data/lib/rghost/grid/dynamic_callback.rb +12 -0
  25. data/lib/rghost/grid/field_format.rb +43 -0
  26. data/lib/rghost/grid/grid.rb +15 -0
  27. data/lib/rghost/grid/header.rb +120 -0
  28. data/lib/rghost/grid/matrix.rb +10 -0
  29. data/lib/rghost/grid/rails_grid.rb +74 -0
  30. data/lib/rghost/grid/static_callback.rb +13 -0
  31. data/lib/rghost/grid/style/border_lines.rb +44 -0
  32. data/lib/rghost/grid/style/bottom_lines.rb +28 -0
  33. data/lib/rghost/grid/style/old_forms.rb +28 -0
  34. data/lib/rghost/grid/style/style.rb +8 -0
  35. data/lib/rghost/gs_alone.rb +25 -0
  36. data/lib/rghost/helpers.rb +13 -0
  37. data/lib/rghost/horizontal_line.rb +45 -0
  38. data/lib/rghost/how_to.rb +75 -0
  39. data/lib/rghost/image.rb +26 -0
  40. data/lib/rghost/jpeg.rb +39 -0
  41. data/lib/rghost/line.rb +89 -0
  42. data/lib/rghost/line_width.rb +28 -0
  43. data/lib/rghost/load.rb +43 -0
  44. data/lib/rghost/newpath.rb +19 -0
  45. data/lib/rghost/paper.rb +147 -0
  46. data/lib/rghost/parse_text.rb +53 -0
  47. data/lib/rghost/pdf_security.rb +36 -0
  48. data/lib/rghost/point.rb +23 -0
  49. data/lib/rghost/point_with_command.rb +17 -0
  50. data/lib/rghost/polygon.rb +75 -0
  51. data/lib/rghost/ps/AdobeExpert.enc +258 -0
  52. data/lib/rghost/ps/AdobeLatinEncoding.enc +258 -0
  53. data/lib/rghost/ps/Bengali.enc +386 -0
  54. data/lib/rghost/ps/CodePage1250.enc +258 -0
  55. data/lib/rghost/ps/CodePage1251.enc +258 -0
  56. data/lib/rghost/ps/CodePage1252.enc +258 -0
  57. data/lib/rghost/ps/CodePage1253.enc +258 -0
  58. data/lib/rghost/ps/CodePage1254.enc +258 -0
  59. data/lib/rghost/ps/CodePage1256.enc +258 -0
  60. data/lib/rghost/ps/CodePage1257.enc +258 -0
  61. data/lib/rghost/ps/CodePage1258.enc +258 -0
  62. data/lib/rghost/ps/CodePage874.enc +258 -0
  63. data/lib/rghost/ps/Fontmap +5 -0
  64. data/lib/rghost/ps/IsoLatin.enc +352 -0
  65. data/lib/rghost/ps/MacCentralEuropean.enc +258 -0
  66. data/lib/rghost/ps/MacCyrillice.desnc +258 -0
  67. data/lib/rghost/ps/MacGreek.enc +258 -0
  68. data/lib/rghost/ps/MacHebrew.enc +258 -0
  69. data/lib/rghost/ps/TeX-CorkEncoding.enc +258 -0
  70. data/lib/rghost/ps/TeX-LGR-Greek.enc +258 -0
  71. data/lib/rghost/ps/TeX-T2AModified2Encoding.enc +258 -0
  72. data/lib/rghost/ps/TeX-T2BAdobeEncoding.enc +258 -0
  73. data/lib/rghost/ps/TeX-T2CAdobeEncoding.enc +258 -0
  74. data/lib/rghost/ps/TeX-X2AdobeEncoding.enc +258 -0
  75. data/lib/rghost/ps/TeX-XL2encoding.enc +258 -0
  76. data/lib/rghost/ps/TeXMathExtensionEncoding.enc +258 -0
  77. data/lib/rghost/ps/TeXMathItalicEncoding.enc +258 -0
  78. data/lib/rghost/ps/TeXMathSymbolEncoding.enc +258 -0
  79. data/lib/rghost/ps/US-ASCII.enc +258 -0
  80. data/lib/rghost/ps/UTF-8.enc +3 -0
  81. data/lib/rghost/ps/_cusor.ps +46 -0
  82. data/lib/rghost/ps/basic.ps +25 -0
  83. data/lib/rghost/ps/begin_document.ps +8 -0
  84. data/lib/rghost/ps/callbacks.ps +175 -0
  85. data/lib/rghost/ps/code128.font +344 -0
  86. data/lib/rghost/ps/code39.font +195 -0
  87. data/lib/rghost/ps/cursor.ps +106 -0
  88. data/lib/rghost/ps/datagrid.ps +55 -0
  89. data/lib/rghost/ps/developer.ps +237 -0
  90. data/lib/rghost/ps/ean.font +150 -0
  91. data/lib/rghost/ps/eps.ps +42 -0
  92. data/lib/rghost/ps/font.ps +38 -0
  93. data/lib/rghost/ps/frame.ps +16 -0
  94. data/lib/rghost/ps/gif.ps +150 -0
  95. data/lib/rghost/ps/horizontal_line.ps +4 -0
  96. data/lib/rghost/ps/i25.font +103 -0
  97. data/lib/rghost/ps/jpeg.ps +122 -0
  98. data/lib/rghost/ps/link.ps +22 -0
  99. data/lib/rghost/ps/paper.ps +8 -0
  100. data/lib/rghost/ps/rect_link.ps +17 -0
  101. data/lib/rghost/ps/rectangle.ps +5 -0
  102. data/lib/rghost/ps/rghost_default_template.eps +1532 -0
  103. data/lib/rghost/ps/row.ps +4 -0
  104. data/lib/rghost/ps/show.ps +21 -0
  105. data/lib/rghost/ps/table_callbacks.ps +96 -0
  106. data/lib/rghost/ps/text.ps +63 -0
  107. data/lib/rghost/ps/textarea.ps +11 -0
  108. data/lib/rghost/ps/type.ps +1 -0
  109. data/lib/rghost/ps/unit.ps +3 -0
  110. data/lib/rghost/ps/vertical_line.ps +12 -0
  111. data/lib/rghost/ps/virtual_pages.ps +55 -0
  112. data/lib/rghost/ps_facade.rb +253 -0
  113. data/lib/rghost/ps_object.rb +55 -0
  114. data/lib/rghost/rectangle_link.rb +65 -0
  115. data/lib/rghost/rgengine.so +0 -0
  116. data/lib/rghost/ruby_ghost_config.rb +243 -0
  117. data/lib/rghost/ruby_ghost_engine.rb +156 -0
  118. data/lib/rghost/ruby_ghost_version.rb +8 -0
  119. data/lib/rghost/ruby_to_ps.rb +78 -0
  120. data/lib/rghost/scale.rb +29 -0
  121. data/lib/rghost/shape_content.rb +23 -0
  122. data/lib/rghost/show.rb +88 -0
  123. data/lib/rghost/static_document_callback.rb +18 -0
  124. data/lib/rghost/text.rb +44 -0
  125. data/lib/rghost/text_in.rb +51 -0
  126. data/lib/rghost/text_link_in.rb +42 -0
  127. data/lib/rghost/textarea.rb +88 -0
  128. data/lib/rghost/units.rb +82 -0
  129. data/lib/rghost/variable.rb +12 -0
  130. data/lib/rghost/vertical_line.rb +37 -0
  131. data/lib/rghost/virtual_pages.rb +42 -0
  132. metadata +185 -0
data/lib/rghost.rb ADDED
@@ -0,0 +1,18 @@
1
+ $LOAD_PATH << File.dirname(__FILE__)+File::SEPARATOR+"rghost"
2
+ require 'fileutils'
3
+
4
+
5
+ module RGhost
6
+
7
+ end
8
+
9
+ require 'rghost/ruby_ghost_version'
10
+ require 'rghost/ps_object'
11
+ require 'rghost/variable'
12
+ require 'rghost/ps_facade'
13
+ require 'rghost/function'
14
+ require 'rghost/document'
15
+ require 'rghost/grid/grid'
16
+ RGhost::Config::GS[:PATH]="/opt/local/bin/gs"
17
+
18
+
@@ -0,0 +1,44 @@
1
+ #Border object render a border around of vector shapes. Its sketch can be a combination of color, dashes, line joins and line caps.
2
+ #Usually its use inside of object facades, such as, Document, CallbackFacade and PsFacade as parameter :border, for example:
3
+ # d=Document.new
4
+ # d.horizontal_line :middle, :border => { :color => '#058412', :dash => [1,0,2] }
5
+ #You can use it as a new instance of Border and set inside of Document by method set, example:
6
+ # d=Document.new
7
+ # b=Border.new :color => '#058412', :dash => [1,0,2]
8
+ # d.set b
9
+ # d.lineto :x => 2.5, :y => 5
10
+ #===Options
11
+ #* <tt>:color</tt> - Facade to Color using the same parameter.
12
+ #* <tt>:dash</tt> - Facade to Dash using the same parameter.
13
+ #* <tt>:width</tt> - Facade to LineWidth using the same parameter.
14
+ #* <tt>:linejoin</tt> - Sets the line join parameter in the graphics state to int, which must be one of the integers 0, 1, or 2.
15
+ #====:linejoin examples
16
+ #* <tt>Miter join</tt> link:images/linejoin0.png <tt> :linejoin => 0 </tt>
17
+ #* <tt>Round join</tt> link:images/linejoin1.png <tt> :linejoin => 1 </tt>
18
+ #* <tt>Bevel join</tt> link:images/linejoin2.png <tt> :linejoin => 2 </tt>
19
+ #* <tt>:linecap</tt> - Sets the line cap parameter in the graphics state to int, which must be one of the integers 0, 1, or 2
20
+ #====:linecap examples
21
+ #* <tt><tt>Butt cap</tt></tt> link:images/linecap0.png <tt> :linecap => 0 </tt>
22
+ #* <tt>Round cap</tt> link:images/linecap1.png <tt> :linecap => 1 </tt>
23
+ #* <tt>Projecting square cap</tt> link:images/linecap2.png <tt> :linecap => 2 </tt>
24
+ class RGhost::Border < RGhost::PsObject
25
+
26
+ DEFAULT_OPTIONS = {:color => '#49AAFA', :dash => false, :width => 0.5, :linejoin => 0, :linecap => 0 }
27
+ # aqui tem documentação
28
+ def initialize(options={})
29
+ super(""){}
30
+ @options = DEFAULT_OPTIONS.dup.merge(options)
31
+ end
32
+
33
+ def ps #:nodoc:
34
+ p=RGhost::PsObject.new
35
+ p.set RGhost::LineWidth.new(@options[:width]) if @options[:width]
36
+ p.raw "#{@options[:linejoin]} setlinejoin"
37
+ p.raw "#{@options[:linecap]} setlinecap"
38
+ p.set RGhost::Dash.new(@options[:dash]) if @options[:dash]
39
+ p.set RGhost::Color.create(@options[:color]) if @options[:color]
40
+ p
41
+ end
42
+
43
+ end
44
+
@@ -0,0 +1,58 @@
1
+ require "rghost/ps_object"
2
+ require "rghost/ruby_to_ps"
3
+
4
+ # Callbacks are custom code blocks defined inside of Document.
5
+ # All callbacks received implicitly a instance of PsFacade can be creates any PsObject.
6
+ # The callbacks's execution depend of the algorithims predefined in Postscript core library.
7
+ # There are two kind of callbacks, Statics and Dynamics callbacks.
8
+ # A Static callback there aren't parameters to control of the inclusion and exception on current scope, usually
9
+ # applied for events which happen one time, for example after_document_create, "after document create" always will execute one time for each document.
10
+ # Otherwise Dynamic callbacks there is control of scope using conditional :only or :except, this is only difference in relation the static callbacks.
11
+ # The parameters of a Dynamic callbak must be one integer or one array of integer. Example:
12
+ # For all pages except page 3
13
+ # doc.before_page_create :except => 3 do |b|
14
+ # # do something
15
+ # end
16
+ #
17
+ # For just 2 and 4 pages
18
+ # doc.before_page_create :only => [2,4] do |b|
19
+ # # do something
20
+ # end
21
+ #
22
+ # The most of callbacks are defined in facades such as DocumentCallbackFacade and Grid::CallbackFacade
23
+ class RGhost::Callback < RGhost::PsObject
24
+ attr_accessor :only, :except, :name
25
+ include RGhost::RubyToPs
26
+
27
+ def initialize(name,options={},&block)
28
+
29
+ super(""){}
30
+ set RGhost::PsFacade.new(&block) if block
31
+ @name=name
32
+ @options=options
33
+
34
+ end
35
+
36
+ def ps
37
+
38
+ @only=num_to_array(@options[:only])
39
+ @except=num_to_array(@options[:except])
40
+
41
+ "\n/#{@name} 3 dict def #{@name} begin \n/proc { #{super} } bind def \n/except #{to_array(@except)} def \n/only #{to_array(@only)} def \nend "
42
+
43
+ end
44
+
45
+ private
46
+ def num_to_array(value)
47
+ case value
48
+ when Fixnum then
49
+ a=[]
50
+ a << value
51
+ when NilClass then []
52
+ else
53
+ value
54
+ end
55
+
56
+ end
57
+ end
58
+
@@ -0,0 +1,102 @@
1
+ require "rghost/ps_object"
2
+ require "rghost/units"
3
+ #Draw a circle to the current path(or current row by default).
4
+ #===Options
5
+ #
6
+ #* <tt>:x and :y</tt> - as center of the circle.
7
+ #* <tt>:radius</tt> - as radius(in points).
8
+ #* <tt>:ang1</tt> - the angle of a vector from (:x , :y ) of length :radius to the first endpoint of the circle.
9
+ #* <tt>:ang2</tt> - the angle of a vector from (:x, :y) of length :radius to the second endpoint of the circle.
10
+ #* <tt>:content</tt> - facade to ShapeContent with same parameters.
11
+ #* <tt>:border</tt> - facade to Border with same parameters.
12
+ #* <tt>:use</tt> - <b>:arc</b> draw counterclockwise and <b>:arcn</b> (arc negative) clockwise direction.
13
+ #===Examples using facade circle method inside of Document
14
+ # d=Document.new
15
+ # d.circle :x => 5, :y => 2.5 , :radius => 40
16
+ #
17
+ #link:images/circle01.png
18
+ # d=Document.new
19
+ # d.circle :x => 5, :y => 2.5 , :radius => 40, :content => {:fill => false}
20
+ #
21
+ #link:images/circle02.png
22
+ #
23
+ # d=Document.new
24
+ # d.circle :x => 5, :y => 2.5 , :radius => 40, :content => {:color => "#FF0000"}
25
+ #
26
+ #link:images/circle03.png
27
+ #
28
+ # d=Document.new
29
+ # d.circle :x => 5, :y => 2.5 , :radius => 40, :content => {:color => "#FF0000"} ,:border => {:color => "#FFFFFF"}
30
+ #
31
+ #link:images/circle04.png
32
+ #
33
+ # d=Document.new
34
+ # d.circle :x => 5, :y => 2.5 , :radius => 40, :content => {:color => :yellow} ,:border => {:color => :orange, :dash => [1,2,1,2], :width => 20}
35
+ #
36
+ #link:images/circle05.png
37
+ #
38
+ # d=Document.new
39
+ # colors=%w[#98AE09 #AFE099 #A971FF #CC1010 #FF7201 #34FEE1]
40
+ # 6.downto(1) do |v|
41
+ # d.circle :x => 5, :y => 2.5 , :radius => v*10, :content =>{:color => colors[v]}
42
+ # end
43
+ #
44
+ #link:images/circle06.png
45
+ # d=Document.new
46
+ # d.circle :x => 5, :y => 2.5 , :ang1 => 90, :radius => 50, :content => {:fill => false }
47
+ #
48
+ #link:images/circle07.png
49
+ #
50
+ # d=Document.new
51
+ # d.circle :x => 5, :y => 2.5 , :ang2 => 90, :radius => 50, :content => {:fill => false }
52
+ #
53
+ #link:images/circle08.png
54
+ #
55
+ # d=Document.new
56
+ # d.circle :x => 5, :y => 2.5 , :ang2 => 90, :radius => 50, :content =>{:color => :green}
57
+ #
58
+ #link:images/circle09.png
59
+ #
60
+ # d=Document.new
61
+ # d.circle :x => 5, :y => 2.5 , :ang2 => 90, :use => :arcn, :radius => 50, :content =>{:color => :green}
62
+ #
63
+ #link:images/circle10.png
64
+ #
65
+ #===Examples using Circle class
66
+ # d=Document.new
67
+ # d.scale(3,1)
68
+ # d.set Circle.new(:x => 1.5, :y => 1.5 , :ang2 => 180, :radius => 25)
69
+ #
70
+ #link:images/circle11.png
71
+ class RGhost::Circle < RGhost::PsObject
72
+ DEFAULT_OPTIONS={
73
+ :x => :limit_left,
74
+ :y=> :current_row,
75
+ :radius => 50,
76
+ :ang1 => 0,
77
+ :ang2 => 360 ,
78
+ :use => :arc,
79
+ :content => RGhost::ShapeContent::DEFAULT_OPTIONS,
80
+ :border => RGhost::Border::DEFAULT_OPTIONS
81
+ }
82
+
83
+ def initialize(options={})
84
+ super(''){}
85
+ @options=DEFAULT_OPTIONS.dup.merge(options)
86
+ end
87
+
88
+ def ps
89
+
90
+ x,y= RGhost::Units::parse(@options[:x]), RGhost::Units::parse(@options[:y]) #with parse
91
+
92
+ graph=RGhost::Graphic.new
93
+ graph.raw :newpath
94
+ graph.set RGhost::Border.new(@options[:border]) if @options[:border]
95
+ graph.raw "#{x} #{y} #{@options[:radius]} #{@options[:ang1]} #{@options[:ang2]} #{@options[:use]} "
96
+ graph.set RGhost::ShapeContent.new(@options[:content]) if @options[:content]
97
+ graph.raw :stroke
98
+ graph
99
+
100
+ end
101
+
102
+ end
@@ -0,0 +1,175 @@
1
+ require "rghost/ps_object"
2
+ require "rghost/constants"
3
+ require "rghost/ruby_to_ps" #array_to_stack
4
+
5
+ #Creates color for postscript components
6
+ class RGhost::Color < RGhost::PsObject
7
+
8
+ include RGhost::RubyToPs
9
+ #The method create is a color factory depends when parameter is used. The parameter variate between 0 and 1, if value greatet that 1 will be divided by 100.0 .
10
+ #===Examples
11
+ #====Creating RGB color
12
+ #String HTML color converter
13
+ # Color.create '#FFAA33'
14
+ #As Symbol will be find in RGhost::Constants::Colors::RGB
15
+ # Color.create :red
16
+ #As Array with 3 elements
17
+ # Color.create [0.5, 0.3, 0.5]
18
+ #Hash with 3 pair of key/value. Valids keys :red, :green and :blue
19
+ # Color.create :red => 0.5, :green => 0.3, :blue => 0.5
20
+ #Hash with 3 pair of key/value. Valids keys :r, :g and :b
21
+ # Color.create :r => 0.5, :g => 0.3, :b => 0.5
22
+ #====Creating CMYK color
23
+ #Hash with 4 pair of key/value. Valids keys :cyan, :magenta, :yellow and :black
24
+ # Color.create :cyan=> 1 ,:magenta => 0.3, :yellow => 0, :black => 0
25
+ #Hash with 4 pair of key/value. Valids keys :c, :m, :y and :b
26
+ # Color.create :c=> 1 ,:m => 0.3, :y => 0, :b => 0
27
+ #====Creating CMYK Spot color
28
+ #Hash with 5 pair of key/value. Valids keys :cyan, :magenta, :yellow, :black, and :name
29
+ # Color.create :cyan=> 0, :magenta => 100, :yellow => 63, :black => 12, :name => 'Pantone 200 C'
30
+ #====Creating Gray color
31
+ #A single Numeric
32
+ # Color.create 0.5
33
+ #50 percent of black will be divided by 100.0
34
+ # Color.create 50
35
+ def self.create(color="FFAA99")
36
+
37
+ return case color
38
+ when String then RGhost::RGB.new(color)
39
+ when Symbol then
40
+ c=RGhost::Constants::Colors::RGB[color]
41
+ raise ArgumentError.new("#{color}##{color.class}") unless c
42
+ self.create c
43
+
44
+ when Array, Hash then
45
+ if color.size == 3
46
+ RGhost::RGB.new(color)
47
+ elsif color.size == 4
48
+ RGhost::CMYK.new(color)
49
+ elsif color.size == 5
50
+ RGhost::CMYKSpot.new(color)
51
+ else
52
+ raise ArgumentError.new("#{color}##{color.class}")
53
+ end
54
+ when Numeric then RGhost::Gray.new(color)
55
+ else
56
+ raise ArgumentError.new("#{color}##{color.class}")
57
+ end
58
+
59
+ end
60
+
61
+
62
+ end
63
+
64
+ #Creates RGB color
65
+ class RGhost::RGB < RGhost::Color
66
+ attr_accessor :red, :green, :blue
67
+ CONSTANTS=RGhost::Constants::Colors::RGB
68
+ DEFAULT_RGB={:red => 0, :green => 0, :blue => 0}
69
+ #String HTML color converter
70
+ # Color.create '#FFAA33'
71
+ #As Symbol will be find in RGhost::Constants::Colors::RGB
72
+ # Color.create :red
73
+ #As Array with 3 elements
74
+ # Color.create [0.5, 0.3, 0.5]
75
+ #Hash with 3 pair of key/value. Valids keys :red, :green and :blue
76
+ # Color.create :red => 0.5, :green => 0.3, :blue => 0.5
77
+ #Hash with 3 pair of key/value. Valids keys :r, :g and :b
78
+ # Color.create :r => 0.5, :g => 0.3, :b => 0.5
79
+ def initialize(color_or_red=nil,green=nil,blue=nil)
80
+ @color=color_or_red
81
+ @color=[color_or_red.to_f,green.to_f,blue.to_f] if color_or_red.is_a? Numeric
82
+ @color=DEFAULT_RGB.merge(color_or_red) if color_or_red.is_a? Hash
83
+
84
+ end
85
+
86
+ def ps
87
+ value=color_params
88
+
89
+ array_to_stack(value.map{|n| n > 1 ? n/100.0: n})+"setrgbcolor"
90
+ end
91
+ def stack_format
92
+ color_params
93
+ end
94
+ def color_params
95
+ case @color
96
+ when Hash then [@color[:red] || @color[:r],@color[:green] || @color[:g],@color[:blue] || @color[:b]]
97
+ when Array then @color
98
+ when String then hex_to_rgb(@color)
99
+ when NilClass then [0,0,1]
100
+ end
101
+
102
+
103
+ end
104
+
105
+ private
106
+
107
+ def hex_to_rgb(color="#FFFFFF")
108
+
109
+ color.gsub(/#/,'').scan(/[\dA-F]{2}/).map{|h| h.hex / 255.0}
110
+ end
111
+
112
+ end
113
+
114
+ #Creates CMYK color space
115
+ class RGhost::CMYK < RGhost::Color
116
+ attr_accessor :cyan ,:magenta, :yellow, :black
117
+ CONSTANTS=RGhost::Constants::Colors::CMYK
118
+
119
+ #Hash with 4 pair of key/value. Valids keys :cyan, :magenta, :yellow and :black
120
+ # Color.create :cyan=> 1 ,:magenta => 0.3, :yellow => 0, :black => 0
121
+ #Hash with 4 pair of key/value. Valids keys :c, :m, :y and :b
122
+ # Color.create :c=> 1 ,:m => 0.3, :y => 0, :b => 0
123
+ def initialize(color={:cyan=> 1 ,:magenta => 0, :yellow => 0, :black => 0})
124
+ @color=color
125
+ end
126
+
127
+ def ps
128
+ value=case @color
129
+ when Hash then [@color[:cyan] || @color[:c],@color[:magenta] || @color[:m],@color[:yellow] || @color[:y],@color[:black] || @color[:k]]
130
+ when Array then @color
131
+ end
132
+
133
+ array_to_stack(value.map{|n| n > 1 ? n/100.0: n})+"setcmykcolor"
134
+ end
135
+
136
+ end
137
+
138
+ #Creates CMYK Spot color space
139
+ class RGhost::CMYKSpot < RGhost::Color
140
+ attr_accessor :cyan ,:magenta, :yellow, :black, :name
141
+
142
+ def initialize(color={:name => 'spot', :cyan=> 1 ,:magenta => 0, :yellow => 0, :black => 0})
143
+ @name = color[:name]
144
+ color.delete(:name)
145
+ @color = color
146
+ end
147
+
148
+ def ps
149
+ value=case @color
150
+ when Hash then [@color[:cyan] || @color[:c],@color[:magenta] || @color[:m],@color[:yellow] || @color[:y],@color[:black] || @color[:k]]
151
+ when Array then @color
152
+ end
153
+
154
+ array_to_stack(value.map{|n| n > 1 ? n/100.0: n}) + "(#{@name.to_s}) findcmykcustomcolor \n/#{@name.to_s.gsub(' ', '_')} exch def\n\n#{@name.to_s.gsub(' ', '_')} 1 setcustomcolor"
155
+ end
156
+ end
157
+
158
+ #Creates Gray color
159
+ class RGhost::Gray < RGhost::Color
160
+ attr_accessor :gray
161
+
162
+ #A single Numeric
163
+ # Color.create 0.5
164
+ #50 percent of black will be divided by 100.0
165
+ # Color.create 50
166
+ def initialize(gray=0.8)
167
+ @gray=gray
168
+ end
169
+
170
+ def ps #:nodoc:
171
+ @gray = @gray/100.0 if @gray > 1
172
+ "#{@gray} setgray"
173
+ end
174
+
175
+ end
@@ -0,0 +1,626 @@
1
+ require "rghost/helpers"
2
+
3
+ module RGhost::Constants
4
+ module HashKeyMethod #:nodoc:
5
+ def method_missing(method, *args)
6
+ self[method.to_sym]
7
+ end
8
+ end
9
+ class HashKeyMethodClass < Hash #:nodoc:
10
+ include RGhost::Constants::HashKeyMethod
11
+ end
12
+ module Devices
13
+ #Standard Devices
14
+ STANDARD=RGhost::Constants::HashKeyMethodClass[
15
+ #-- MS-DOS displays",
16
+ :ega => "EGA (640x350, 16-color)",
17
+ :vga => "VGA (640x480, 16-color)",
18
+ #-- Ms Windows => "",
19
+ :ali => "SuperVGA using Avance Logic Inc. chipset, 256-color modes",
20
+ :atiw => "ATI Wonder SuperVGA, 256-color modes",
21
+ :cirr => "SuperVGA using Cirrus Logic CL-GD54XX chips, 256-color modes",
22
+ :s3vga => "SuperVGA using S3 86C911 chip (e.g., Diamond Stealth board)",
23
+ :svga16 => "Generic SuperVGA in 800x600, 16-color mode",
24
+ :tseng => "SuperVGA using Tseng Labs ET3000/4000 chips, 256-color modes",
25
+ :vesa => "SuperVGA with VESA standard API driver",
26
+ :mswindll => "Microsoft Windows 3.1 DLL => [MS Windows only]",
27
+ :mswinprn => "Microsoft Windows 3.0, 3.1 DDB printer => [MS Windows only]",
28
+ :mswinpr2 => "Microsoft Windows 3.0, 3.1 DIB printer => [MS Windows only]",
29
+ #-- Others Displays",
30
+ :os2pm => "OS/2 Presentation Manager => [OS/2 only]",
31
+ :os2dll => "OS/2 DLL bitmap::[OS/2 only]",
32
+ :os2prn => "OS/2 printer:: => [OS/2 only]",
33
+ #-- Unix Displays",
34
+ :lvga256 => "Linux vgalib, 256-color VGA modes => [Linux only]",
35
+ :vgalib => "Linux vgalib, 16-color VGA modes => [Linux only]",
36
+ :x11 => "X Windows version 11, release >=4 => [Unix and VMS only]",
37
+ :x11alpha => "X Windows masquerading as a device with alpha capability",
38
+ :x11cmyk => "X Windows masquerading as a 1-bit-per-plane CMYK device",
39
+ :x11cmyk2 => "X Windows as a 2-bit-per-plane CMYK device",
40
+ :x11cmyk4 => "X Windows as a 4-bit-per-plane CMYK device",
41
+ :x11cmyk8 => "X Windows as an 8-bit-per-plane CMYK device",
42
+ :x11gray2 => "X Windows as a 2-bit gray-scale device",
43
+ :x11gray4 => "X Windows as a 4-bit gray-scale device",
44
+ :x11mono => "X Windows masquerading as a black-and-white device",
45
+ :x11rg16x => "X Windows with G5/B5/R6 pixel layout for testing.",
46
+ :x11rg32x => "X Windows with G11/B10/R11 pixel layout for testing.",
47
+ #-- Printers",
48
+ :epson => "Epson-compatible dot matrix printers (9- or 24-pin)",
49
+ :eps9mid => "Epson-compatible 9-pin, interleaved lines (intermediate resolution)",
50
+ :eps9high => "Epson-compatible 9-pin, interleaved lines (triple resolution)",
51
+ :atx23 => "Practical Automation ATX-23 label printer",
52
+ :atx24 => "Practical Automation ATX-24 label printer",
53
+ :atx38 => "Practical Automation ATX-38 label printer",
54
+ :deskjet => "H-P DeskJet and DeskJet Plus",
55
+ :djet500 => "H-P DeskJet 500; use -r600 for DJ 600 series",
56
+ :fs600 => "Kyocera FS-600 (600 dpi)",
57
+ :laserjet => "H-P LaserJet",
58
+ :ljet2p => "H-P LaserJet IId/IIp/III* with TIFF compression",
59
+ :ljet3 => "H-P LaserJet III* with Delta Row compression",
60
+ :ljet3d => "H-P LaserJet IIID with duplex capability",
61
+ :ljet4 => "H-P LaserJet 4 (defaults to 600 dpi)",
62
+ :ljet4d => "H-P LaserJet 4 (defaults to 600 dpi) with duplex",
63
+ :ljetplus => "H-P LaserJet Plus",
64
+ :lj5mono => "H-P LaserJet 5 & 6 family (PCL XL), bitmap:",
65
+ :lj5gray => "H-P LaserJet 5 & 6 family, gray-scale bitmap;",
66
+ :lp2563 => "H-P 2563B line printer",
67
+ :oce9050 => "OCE 9050 printe",
68
+ :pxlmono => "H-P black-and-white PCL XL printers (LaserJet 5 and 6 family)",
69
+ :pxlcolor => "H-P color PCL XL printers (e.g. Color LaserJet 4500)",
70
+ #-- Fax file format",
71
+ :faxg3 => "Group 3 fax, with EOLs but no header or EOD",
72
+ :faxg32d => "Group 3 2-D fax, with EOLs but no header or EOD",
73
+ :faxg4 => "Group 4 fax, with EOLs but no header or EOD",
74
+ :tiffcrle => "TIFF CCITT RLE 1-dim (= Group 3 fax with no EOLs)",
75
+ :tiffg3 => "TIFF Group 3 fax (with EOLs)",
76
+ :tiffg32d => "TIFF Group 3 2-D fax",
77
+ :tiffg4 => "TIFF Group 4 fax",
78
+ #-- High-level (vector) file formats",
79
+ :epswrite => "EPS output (like PostScript Distillery)",
80
+ :pdfwrite => "PDF output (like Adobe Acrobat Distiller)",
81
+ :pswrite => "PostScript output (like PostScript Distillery)",
82
+ :pxlmono => "Black-and-white PCL XL",
83
+ :pxlcolor => "Color PCL XL",
84
+ #-- Raster file formats and devices",
85
+ :bit => "Plain bits, monochrome",
86
+ :bitrgb => "Plain bits, RGB",
87
+ :bitcmyk => "Plain bits, CMYK",
88
+ :bmpmono => "Monochrome MS Windows .BMP file format",
89
+ :bmpgray => "8-bit gray .BMP file format",
90
+ :bmpsep1 => "Separated 1-bit CMYK .BMP file format, primarily for testing",
91
+ :bmpsep8 =>"Separated 8-bit CMYK .BMP file format, primarily for testing",
92
+ :bmp16 => "4-bit (EGA/VGA) .BMP file format",
93
+ :bmp256 => "8-bit (256-color) .BMP file format",
94
+ :bmp16m => "24-bit .BMP file format",
95
+ :bmp32b => "32-bit pseudo-.BMP file format",
96
+ :cgmmono => "Monochrome (black-and-white) CGM -- LOW LEVEL OUTPUT ONLY",
97
+ :cgm8 => "8-bit (256-color) CGM -- DITTO",
98
+ :cgm24 => "24-bit color CGM -- DITTO",
99
+ :jpeg => "JPEG format, RGB output",
100
+ :jpeggray => "JPEG format, gray output",
101
+ :miff24 => "ImageMagick MIFF format, 24-bit direct color, RLE compressed",
102
+ :pcxmono=> "PCX file format, monochrome (1-bit black and white)",
103
+ :pcxgray=> "PCX file format, 8-bit gray scale",
104
+ :pcx16 => "PCX file format, 4-bit planar (EGA/VGA) color",
105
+ :pcx256 => "PCX file format, 8-bit chunky color",
106
+ :pcx24b => "PCX file format, 24-bit color (3 8-bit planes)",
107
+ :pcxcmyk => "PCX file format, 4-bit chunky CMYK color",
108
+ :pbm => "Portable Bitmap (plain format)",
109
+ :pbmraw => "Portable Bitmap (raw format)",
110
+ :pgm => "Portable Graymap (plain format)",
111
+ :pgmraw => "Portable Graymap (raw format)",
112
+ :pgnm => "Portable Graymap (plain format), optimizing to PBM if possible",
113
+ :pgnmraw => "Portable Graymap (raw format), optimizing to PBM if possible",
114
+ :pnm => "Portable Pixmap (plain format) (RGB), optimizing to PGM or PBM",
115
+ :pnmraw => "Portable Pixmap (raw format) (RGB), optimizing to PGM or PBM",
116
+ :ppm => "Portable Pixmap (plain format) (RGB)",
117
+ :ppmraw => "Portable Pixmap (raw format) (RGB)",
118
+ :pkm => "Portable inKmap (plain format) (4-bit CMYK => RGB)",
119
+ :pkmraw => "Portable inKmap (raw format) (4-bit CMYK => RGB)",
120
+ :pksm => "Portable Separated map (plain format) (4-bit CMYK => 4 pages)",
121
+ :pksmraw => "Portable Separated map (raw format) (4-bit CMYK => 4 pages)",
122
+ :plan9bm => "Plan 9 bitmap format",
123
+ :pngmono => "Monochrome Portable Network Graphics (PNG)",
124
+ :pnggray => "8-bit gray Portable Network Graphics (PNG)",
125
+ :png16 => "4-bit color Portable Network Graphics (PNG)",
126
+ :png256 => "8-bit color Portable Network Graphics (PNG)",
127
+ :png16m => "24-bit color Portable Network Graphics (PNG)",
128
+ :psmono => "PostScript (Level 1) monochrome image",
129
+ :psgray => "PostScript (Level 1) 8-bit gray image",
130
+ :psrgb => "PostScript (Level 2) 24-bit color image",
131
+ :tiff12nc => "TIFF 12-bit RGB, no compression",
132
+ :tiff24nc => "TIFF 24-bit RGB, no compression (NeXT standard format)",
133
+ :tifflzw => "TIFF LZW (tag = 5) (monochrome)",
134
+ :tiffpack => "TIFF PackBits (tag = 32773) (monochrome)"
135
+
136
+
137
+ ]
138
+ DEVICES_ALIAS={
139
+ :eps => :epswrite,
140
+ :pdf => :pdfwrite,
141
+ :ps => :pswrite,
142
+ :pcl => :pxlmono,
143
+ :tif => :tiffcrle,
144
+ :tiff => :tiffcrle,
145
+ :jpg => :jpeg,
146
+ :png => :png16m
147
+ }
148
+ #Load device by alias
149
+ def device_for(dev)
150
+
151
+
152
+ return DEVICES_ALIAS[dev] if DEVICES_ALIAS.key? dev
153
+ return dev if STANDARD.key? dev
154
+ raise "Undefined device: #{dev}"
155
+ end
156
+
157
+ end
158
+
159
+ module Fonts
160
+ #Standard Encodings
161
+ ENCODINGS=['ISOLatin1Encoding', 'StandardEncoding ']
162
+ #Standard Fonts
163
+ STANDARD={
164
+ 'AvantGarde-Book' => "Adobe-ITC Avant Garde Gothic-Book-R-Normal--*",
165
+ 'AvantGarde-BookOblique' => "Adobe-ITC Avant Garde Gothic-Book-O-Normal--*",
166
+ 'AvantGarde-Demi' => "Adobe-ITC Avant Garde Gothic-Demi-R-Normal--*",
167
+ 'AvantGarde-DemiOblique' => "Adobe-ITC Avant Garde Gothic-Demi-O-Normal--*",
168
+ 'Bookman-Demi' => "Adobe-ITC Bookman-Demi-R-Normal--*",
169
+ 'Bookman-DemiItalic' => "Adobe-ITC Bookman-Demi-I-Normal--*",
170
+ 'Bookman-Light' => "Adobe-ITC Bookman-Light-R-Normal--*",
171
+ 'Bookman-LightItalic' => "Adobe-ITC Bookman-Light-I-Normal--*",
172
+ :Courier => "Adobe-Courier-Medium-R-Normal--*",
173
+ 'Courier-Bold' => "Adobe-Courier-Bold-R-Normal--*",
174
+ 'Courier-BoldOblique' => "Adobe-Courier-Bold-O-Normal--*",
175
+ 'Courier-Oblique' => "Adobe-Courier-Medium-O-Normal--*",
176
+ :Helvetica => "Adobe-Helvetica-Medium-R-Normal--*",
177
+ 'Helvetica-Bold' => "Adobe-Helvetica-Bold-R-Normal--*",
178
+ 'Helvetica-BoldOblique' => "Adobe-Helvetica-Bold-O-Normal--*",
179
+ 'Helvetica-Narrow' => "Adobe-Helvetica-Medium-R-Narrow--*",
180
+ 'Helvetica-Narrow-Bold' => "Adobe-Helvetica-Bold-R-Narrow--*",
181
+ 'Helvetica-Narrow-BoldOblique' =>"Adobe-Helvetica-Bold-O-Narrow--*",
182
+ 'Helvetica-Narrow-Oblique' => "Adobe-Helvetica-Medium-O-Narrow--*",
183
+ 'Helvetica-Oblique' => "Adobe-Helvetica-Medium-O-Normal--*",
184
+ 'NewCenturySchlbk-Bold' => "Adobe-New Century Schoolbook-Bold-R-Normal--*",
185
+ 'NewCenturySchlbk-BoldItalic' => "Adobe-New Century Schoolbook-Bold-I-Normal--*",
186
+ 'NewCenturySchlbk-Italic' => "Adobe-New Century Schoolbook-Medium-I-Normal--*",
187
+ 'NewCenturySchlbk-Roman' => "Adobe-New Century Schoolbook-Medium-R-Normal--*",
188
+ 'Palatino-Bold' => "Adobe-Palatino-Bold-R-Normal--*",
189
+ 'Palatino-BoldItalic' => "Adobe-Palatino-Bold-I-Normal--*",
190
+ 'Palatino-Italic' => "Adobe-Palatino-Medium-I-Normal--*",
191
+ 'Palatino-Roman' => "Adobe-Palatino-Medium-R-Normal--*",
192
+ :Times => "Adobe-Times-Normal--*",
193
+ 'Times-Bold' => "Adobe-Times-Bold-R-Normal--*",
194
+ 'Times-BoldItalic' => "Adobe-Times-Bold-I-Normal--*",
195
+ 'Times-Italic' => "Adobe-Times-Medium-I-Normal--*",
196
+ 'Times-Roman' => "Adobe-Times-Medium-R-Normal--*",
197
+ 'ZapfChancery-MediumItalic' => "Adobe-ITC Zapf Chancery-Medium-I-Normal--",
198
+ :Symbol => "Adobe-Symbol-Medium-R-Normal--",
199
+ :ZapfDingbats => "Adobe-ITC Zapf Dingbats-Medium-R-Normal--"
200
+ }
201
+ SUNS={
202
+ 'AvantGarde-Book' => "-itc-avantgarde-book-r-normal--*",
203
+ 'AvantGarde-BookOblique' => "-itc-avantgarde-book-o-normal--*",
204
+ 'AvantGarde-Demi' => "-itc-avantgarde-demi-r-normal--*",
205
+ 'AvantGarde-DemiOblique' => "-itc-avantgarde-demi-o-normal--*",
206
+ 'Bembo' => "-monotype-bembo-medium-r-normal--*",
207
+ 'Bembo-Bold' => "-monotype-bembo-bold-r-normal--*",
208
+ 'Bembo-BoldItalic' => "-monotype-bembo-bold-i-normal--*",
209
+ 'Bembo-Italic' => "-monotype-bembo-medium-i-normal--*",
210
+ 'Bookman-Demi' => "-itc-bookman-demi-r-normal--*",
211
+ 'Bookman-DemiItalic' => "-itc-bookman-demi-i-normal--*",
212
+ 'Bookman-Light' => "-itc-bookman-light-r-normal--*",
213
+ 'Bookman-LightItalic' => "-itc-bookman-light-i-normal--*",
214
+ 'Courier' => "-itc-courier-medium-r-normal--*",
215
+ 'Courier-Bold' => "-itc-courier-bold-r-normal--*",
216
+ 'Courier-BoldOblique' => "-itc-courier-bold-o-normal--*",
217
+ 'Courier-Oblique' => "-itc-courier-medium-o-normal--*",
218
+ 'GillSans' => "-monotype-gill-medium-r-normal-sans-*",
219
+ 'GillSans-Bold' => "-monotype-gill-bold-r-normal-sans-*",
220
+ 'GillSans-BoldItalic' => "-monotype-gill-bold-i-normal-sans-*",
221
+ 'GillSans-Italic' => "-monotype-gill-normal-i-normal-sans-*",
222
+ 'Helvetica' => "-linotype-helvetica-medium-r-normal--*",
223
+ 'Helvetica-Bold' => "-linotype-helvetica-bold-r-normal--*",
224
+ 'Helvetica-BoldOblique' => "-linotype-helvetica-bold-o-normal--*",
225
+ 'Helvetica-Narrow' => "-linotype-helvetica-medium-r-narrow--*",
226
+ 'Helvetica-Narrow-Bold' => "-linotype-helvetica-bold-r-narrow--*",
227
+ 'Helvetica-Narrow-BoldOblique' => "-linotype-helvetica-bold-o-narrow--*",
228
+ 'Helvetica-Narrow-Oblique' => "-linotype-helvetica-medium-o-narrow--*",
229
+ 'Helvetica-Oblique' => "-linotype-helvetica-medium-o-normal--*",
230
+ 'LucidaBright' => "-b&h-lucidabright-medium-r-normal--*",
231
+ 'LucidaBright-Demi' => "-b&h-lucidabright-demibold-r-normal--*",
232
+ 'LucidaBright-DemiItalic' => "-b&h-lucidabright-demibold-i-normal--*",
233
+ 'LucidaBright-Italic' => "-b&h-lucidabright-medium-i-normal--*",
234
+ 'LucidaSans' => "-b&h-lucida-medium-r-normal-sans-*",
235
+ 'LucidaSans-Bold' => "-b&h-lucida-bold-r-normal-sans-*",
236
+ 'LucidaSans-BoldItalic' => "-b&h-lucida-bold-i-normal-sans-*",
237
+ 'LucidaSans-Italic' => "-b&h-lucida-medium-i-normal-sans-*",
238
+ 'LucidaSans-Typewriter' => "-b&h-lucidatypewriter-medium-r-normal-sans-*",
239
+ 'LucidaSans-TypewriterBold' => "-b&h-lucidatypewriter-bold-r-normal-sans-*",
240
+ 'NewCenturySchlbk-BoldItalic' => "-linotype-new century schoolbook-bold-i-normal--*",
241
+ 'NewCenturySchlbk-Bold' => "-linotype-new century schoolbook-bold-r-normal--*",
242
+ 'NewCenturySchlbk-Italic' => "-linotype-new century schoolbook-medium-i-normal--*",
243
+ 'NewCenturySchlbk-Roman' => "-linotype-new century schoolbook-medium-r-normal--*",
244
+ 'Palatino-Bold' => "-linotype-palatino-bold-r-normal--*",
245
+ 'Palatino-BoldItalic' => "-linotype-palatino-bold-i-normal--*",
246
+ 'Palatino-Italic' => "-linotype-palatino-medium-i-normal--*",
247
+ 'Palatino-Roman' => "-linotype-palatino-medium-r-normal--*",
248
+ 'Rockwell' => "-monotype-rockwell-medium-r-normal--*",
249
+ 'Rockwell-Bold' => "-monotype-rockwell-bold-r-normal--*",
250
+ 'Rockwell-BoldItalic' => "-monotype-rockwell-bold-i-normal--*",
251
+ 'Rockwell-Italic' => "-monotype-rockwell-medium-i-normal--*",
252
+ 'Times-Bold' => "-linotype-times-bold-r-normal--*",
253
+ 'Times-BoldItalic' => "-linotype-times-bold-i-normal--*",
254
+ 'Times-Italic' => "-linotype-times-medium-i-normal--*",
255
+ 'Times-Roman' => "-linotype-times-medium-r-normal--*",
256
+ 'Utopia-Bold' => "-adobe-utopia-bold-r-normal--*",
257
+ 'Utopia-BoldItalic' => "-adobe-utopia-bold-i-normal--*",
258
+ 'Utopia-Italic' => "-adobe-utopia-regular-i-normal--*",
259
+ 'Utopia-Regular' => "-adobe-utopia-regular-r-normal--*",
260
+ 'ZapfChancery-MediumItalic' => "-itc-zapfchancery-medium-i-normal--",
261
+ 'ZapfDingbats' => "-itc-zapfdingbats-medium-r-normal--",
262
+ 'Symbol' => "--symbol-medium-r-normal--"
263
+ }
264
+
265
+ end
266
+ #Color map
267
+ module Colors
268
+ RGB=RGhost::Constants::HashKeyMethodClass[
269
+ :aliceBlue => [0.941176470588235,0.972549019607843,1.0],
270
+ :antiqueWhite => [0.980392156862745,0.92156862745098,0.843137254901961],
271
+ :aqua => [0.0,1.0,1.0],
272
+ :aquamarine => [0.498039215686275,1.0,0.831372549019608],
273
+ :azure => [0.941176470588235,1.0,1.0],
274
+ :beige => [0.96078431372549,0.96078431372549,0.862745098039216],
275
+ :bisque => [1.0,0.894117647058824,0.768627450980392],
276
+ :black => [0.0,0.0,0.0],
277
+ :blanchedAlmond => [1.0,0.92156862745098,0.803921568627451],
278
+ :blue => [0.0,0.0,1.0],
279
+ :blueViolet => [0.541176470588235,0.168627450980392,0.886274509803922],
280
+ :brown => [0.647058823529412,0.164705882352941,0.164705882352941],
281
+ :burlyWood => [0.870588235294118,0.72156862745098,0.529411764705882],
282
+ :cadetBlue => [0.372549019607843,0.619607843137255,0.627450980392157],
283
+ :chartreuse => [0.498039215686275,1.0,0.0],
284
+ :chocolate => [0.823529411764706,0.411764705882353,0.117647058823529],
285
+ :coral => [1.0,0.498039215686275,0.313725490196078],
286
+ :cornflowerBlue => [0.392156862745098,0.584313725490196,0.929411764705882],
287
+ :cornsilk => [1.0,0.972549019607843,0.862745098039216],
288
+ :crimson => [0.862745098039216,0.0784313725490196,0.235294117647059],
289
+ :cyan => [0.0,1.0,1.0],
290
+ :darkBlue => [0.0,0.0,0.545098039215686],
291
+ :darkCyan => [0.0,0.545098039215686,0.545098039215686],
292
+ :darkGoldenRod => [0.72156862745098,0.525490196078431,0.0431372549019608],
293
+ :darkGray => [0.662745098039216,0.662745098039216,0.662745098039216],
294
+ :darkGreen => [0.0,0.392156862745098,0.0],
295
+ :darkGrey => [0.662745098039216,0.662745098039216,0.662745098039216],
296
+ :darkKhaki => [0.741176470588235,0.717647058823529,0.419607843137255],
297
+ :darkMagenta => [0.545098039215686,0.0,0.545098039215686],
298
+ :darkOliveGreen => [0.333333333333333,0.419607843137255,0.184313725490196],
299
+ :darkOrchid => [0.6,0.196078431372549,0.8],
300
+ :darkRed => [0.545098039215686,0.0,0.0],
301
+ :darkSalmon => [0.913725490196078,0.588235294117647,0.47843137254902],
302
+ :darkSeaGreen => [0.56078431372549,0.737254901960784,0.56078431372549],
303
+ :darkSlateBlue => [0.282352941176471,0.23921568627451,0.545098039215686],
304
+ :darkSlateGray => [0.184313725490196,0.309803921568627,0.309803921568627],
305
+ :darkSlateGrey => [0.184313725490196,0.309803921568627,0.309803921568627],
306
+ :darkTurquoise => [0.0,0.807843137254902,0.819607843137255],
307
+ :darkViolet => [0.580392156862745,0.0,0.827450980392157],
308
+ :darkorange => [1.0,0.549019607843137,0.0],
309
+ :deepPink => [1.0,0.0784313725490196,0.576470588235294],
310
+ :deepSkyBlue => [0.0,0.749019607843137,1.0],
311
+ :dimGray => [0.411764705882353,0.411764705882353,0.411764705882353],
312
+ :dimGrey => [0.411764705882353,0.411764705882353,0.411764705882353],
313
+ :dodgerBlue => [0.117647058823529,0.564705882352941,1.0],
314
+ :direBrick => [0.698039215686274,0.133333333333333,0.133333333333333],
315
+ :dloralWhite => [1.0,0.980392156862745,0.941176470588235],
316
+ :dorestGreen => [0.133333333333333,0.545098039215686,0.133333333333333],
317
+ :duchsia => [1.0,0.0,1.0],
318
+ :gainsboro => [0.862745098039216,0.862745098039216,0.862745098039216],
319
+ :ghostWhite => [0.972549019607843,0.972549019607843,1.0],
320
+ :gold => [1.0,0.843137254901961,0.0],
321
+ :goldenRod => [0.854901960784314,0.647058823529412,0.125490196078431],
322
+ :gray => [0.501960784313725,0.501960784313725,0.501960784313725],
323
+ :green => [0.0,0.501960784313725,0.0],
324
+ :greenYellow => [0.67843137254902,1.0,0.184313725490196],
325
+ :grey => [0.501960784313725,0.501960784313725,0.501960784313725],
326
+ :honeyDew => [0.941176470588235,1.0,0.941176470588235],
327
+ :hotPink => [1.0,0.411764705882353,0.705882352941177],
328
+ :indianRed => [0.803921568627451,0.36078431372549,0.36078431372549],
329
+ :indigo => [0.294117647058824,0.0,0.509803921568627],
330
+ :ivory => [1.0,1.0,0.941176470588235],
331
+ :khaki => [0.941176470588235,0.901960784313726,0.549019607843137],
332
+ :lavenderBlush => [1.0,0.941176470588235,0.96078431372549],
333
+ :lavender => [0.901960784313726,0.901960784313726,0.980392156862745],
334
+ :lawnGreen => [0.486274509803922,0.988235294117647,0.0],
335
+ :lemonChiffon => [1.0,0.980392156862745,0.803921568627451],
336
+ :lightBlue => [0.67843137254902,0.847058823529412,0.901960784313726],
337
+ :lightCoral => [0.941176470588235,0.501960784313725,0.501960784313725],
338
+ :lightCyan => [0.87843137254902,1.0,1.0],
339
+ :lightGoldenRodYellow => [0.980392156862745,0.980392156862745,0.823529411764706],
340
+ :lightGray => [0.827450980392157,0.827450980392157,0.827450980392157],
341
+ :lightGreen => [0.564705882352941,0.933333333333333,0.564705882352941],
342
+ :lightGrey => [0.827450980392157,0.827450980392157,0.827450980392157],
343
+ :lightPink => [1.0,0.713725490196078,0.756862745098039],
344
+ :lightSalmon => [1.0,0.627450980392157,0.47843137254902],
345
+ :lightSeaGreen => [0.125490196078431,0.698039215686274,0.666666666666667],
346
+ :lightSkyBlue => [0.529411764705882,0.807843137254902,0.980392156862745],
347
+ :lightSlateGray => [0.466666666666667,0.533333333333333,0.6],
348
+ :lightSlateGrey => [0.466666666666667,0.533333333333333,0.6],
349
+ :lightSteelBlue => [0.690196078431373,0.768627450980392,0.870588235294118],
350
+ :lightYellow => [1.0,1.0,0.87843137254902],
351
+ :lime => [0.0,1.0,0.0],
352
+ :limeGreen => [0.196078431372549,0.803921568627451,0.196078431372549],
353
+ :linen => [0.980392156862745,0.941176470588235,0.901960784313726],
354
+ :magenta => [1.0,0.0,1.0],
355
+ :maroon => [0.501960784313725,0.0,0.0],
356
+ :mediumAquaMarine => [0.4,0.803921568627451,0.666666666666667],
357
+ :mediumBlue => [0.0,0.0,0.803921568627451],
358
+ :mediumOrchid => [0.729411764705882,0.333333333333333,0.827450980392157],
359
+ :mediumPurple => [0.576470588235294,0.43921568627451,0.847058823529412],
360
+ :mediumSeaGreen => [0.235294117647059,0.701960784313725,0.443137254901961],
361
+ :mediumSlateBlue => [0.482352941176471,0.407843137254902,0.933333333333333],
362
+ :mediumSpringGreen => [0.0,0.980392156862745,0.603921568627451],
363
+ :mediumTurquoise => [0.282352941176471,0.819607843137255,0.8],
364
+ :mediumVioletRed => [0.780392156862745,0.0823529411764706,0.52156862745098],
365
+ :midnightBlue => [0.0980392156862745,0.0980392156862745,0.43921568627451],
366
+ :mintCream => [0.96078431372549,1.0,0.980392156862745],
367
+ :mistyRose => [1.0,0.894117647058824,0.882352941176471],
368
+ :moccasin => [1.0,0.894117647058824,0.709803921568627],
369
+ :navajoWhite => [1.0,0.870588235294118,0.67843137254902],
370
+ :navy => [0.0,0.0,0.501960784313725],
371
+ :oldLace => [0.992156862745098,0.96078431372549,0.901960784313726],
372
+ :olive => [0.501960784313725,0.501960784313725,0.0],
373
+ :oliveDrab => [0.419607843137255,0.556862745098039,0.137254901960784],
374
+ :orange => [1.0,0.647058823529412,0.0],
375
+ :orangeRed => [1.0,0.270588235294118,0.0],
376
+ :orchid => [0.854901960784314,0.43921568627451,0.83921568627451],
377
+ :paleGoldenRod => [0.933333333333333,0.909803921568627,0.666666666666667],
378
+ :paleGreen => [0.596078431372549,0.984313725490196,0.596078431372549],
379
+ :paleTurquoise => [0.686274509803922,0.933333333333333,0.933333333333333],
380
+ :paleVioletRed => [0.847058823529412,0.43921568627451,0.576470588235294],
381
+ :papayaWhip => [1.0,0.937254901960784,0.835294117647059],
382
+ :peachPuff => [1.0,0.854901960784314,0.725490196078431],
383
+ :peru => [0.803921568627451,0.52156862745098,0.247058823529412],
384
+ :pink => [1.0,0.752941176470588,0.796078431372549],
385
+ :plum => [0.866666666666667,0.627450980392157,0.866666666666667],
386
+ :powderBlue => [0.690196078431373,0.87843137254902,0.901960784313726],
387
+ :purple => [0.501960784313725,0.0,0.501960784313725],
388
+ :red => [1.0,0.0,0.0],
389
+ :rosyBrown => [0.737254901960784,0.56078431372549,0.56078431372549],
390
+ :royalBlue => [0.254901960784314,0.411764705882353,0.882352941176471],
391
+ :saddleBrown => [0.545098039215686,0.270588235294118,0.0745098039215686],
392
+ :salmon => [0.980392156862745,0.501960784313725,0.447058823529412],
393
+ :sandyBrown => [0.956862745098039,0.643137254901961,0.376470588235294],
394
+ :seaGreen => [0.180392156862745,0.545098039215686,0.341176470588235],
395
+ :seaShell => [1.0,0.96078431372549,0.933333333333333],
396
+ :sienna => [0.627450980392157,0.32156862745098,0.176470588235294],
397
+ :silver => [0.752941176470588,0.752941176470588,0.752941176470588],
398
+ :skyBlue => [0.529411764705882,0.807843137254902,0.92156862745098],
399
+ :slateBlue => [0.415686274509804,0.352941176470588,0.803921568627451],
400
+ :slateGray => [0.43921568627451,0.501960784313725,0.564705882352941],
401
+ :slateGrey => [0.43921568627451,0.501960784313725,0.564705882352941],
402
+ :snow => [1.0,0.980392156862745,0.980392156862745],
403
+ :springGreen => [0.0,1.0,0.498039215686275],
404
+ :steelBlue => [0.274509803921569,0.509803921568627,0.705882352941177],
405
+ :tan => [0.823529411764706,0.705882352941177,0.549019607843137],
406
+ :teal => [0.0,0.501960784313725,0.501960784313725],
407
+ :thistle => [0.847058823529412,0.749019607843137,0.847058823529412],
408
+ :tomato => [1.0,0.388235294117647,0.27843137254902],
409
+ :turquoise => [0.250980392156863,0.87843137254902,0.815686274509804],
410
+ :violet => [0.933333333333333,0.509803921568627,0.933333333333333],
411
+ :wheat => [0.96078431372549,0.870588235294118,0.701960784313725],
412
+ :white => [1.0,1.0,1.0],
413
+ :whiteSmoke => [0.96078431372549,0.96078431372549,0.96078431372549],
414
+ :yellow => [1.0,1.0,0.0],
415
+ :yellowGreen => [0.603921568627451,0.803921568627451,0.196078431372549]
416
+ ]
417
+
418
+ CMYK=RGhost::Constants::HashKeyMethodClass[
419
+ :AliceBlue => [0.0588235294117647,0.0274509803921569,0.0,0.0],
420
+ :AntiqueWhite => [0.0,0.06,0.14,0.0196078431372549],
421
+ :Aqua => [1.0,0.0,0.0,0.0],
422
+ :Aquamarine => [0.501960784313725,0.0,0.168627450980392,0.0],
423
+ :Azure => [0.0588235294117647,0.0,0.0,0.0],
424
+ :Beige => [0.0,0.0,0.102040816326531,0.0392156862745098],
425
+ :Bisque => [0.0,0.105882352941176,0.231372549019608,0.0],
426
+ :Black => [0.0,0.0,0.0,1.0],
427
+ :BlanchedAlmond => [0.0,0.0784313725490197,0.196078431372549,0.0],
428
+ :Blue => [1.0,1.0,0.0,0.0],
429
+ :BlueViolet => [0.389380530973451,0.809734513274336,0.0,0.113725490196078],
430
+ :Brown => [0.0,0.745454545454545,0.745454545454545,0.352941176470588],
431
+ :BurlyWood => [0.0,0.171171171171171,0.391891891891892,0.129411764705882],
432
+ :CadetBlue => [0.40625,0.0125,0.0,0.372549019607843],
433
+ :Chartreuse => [0.501960784313725,0.0,1.0,0.0],
434
+ :Chocolate => [0.0,0.5,0.857142857142857,0.176470588235294],
435
+ :Coral => [0.0,0.501960784313725,0.686274509803922,0.0],
436
+ :CornflowerBlue => [0.578059071729958,0.371308016877637,0.0,0.0705882352941176],
437
+ :Cornsilk => [0.0,0.0274509803921569,0.137254901960784,0.0],
438
+ :Crimson => [0.0,0.909090909090909,0.727272727272727,0.137254901960784],
439
+ :Cyan => [1.0,0.0,0.0,0.0],
440
+ :DarkBlue => [1.0,1.0,0.0,0.454901960784314],
441
+ :DarkCyan => [1.0,0.0,0.0,0.454901960784314],
442
+ :DarkGoldenRod => [0.0,0.271739130434783,0.940217391304348,0.27843137254902],
443
+ :DarkGray => [0.0,0.0,0.0,0.337254901960784],
444
+ :DarkGreen => [1.0,0.0,1.0,0.607843137254902],
445
+ :DarkGrey => [0.0,0.0,0.0,0.337254901960784],
446
+ :DarkKhaki => [0.0,0.0317460317460318,0.433862433862434,0.258823529411765],
447
+ :DarkMagenta => [0.0,1.0,0.0,0.454901960784314],
448
+ :DarkOliveGreen => [0.205607476635514,0.0,0.560747663551402,0.580392156862745],
449
+ :DarkOrchid => [0.25,0.754901960784314,0.0,0.2],
450
+ :DarkRed => [0.0,1.0,1.0,0.454901960784314],
451
+ :DarkSalmon => [0.0,0.356223175965665,0.476394849785408,0.0862745098039216],
452
+ :DarkSeaGreen => [0.23936170212766,0.0,0.23936170212766,0.262745098039216],
453
+ :DarkSlateBlue => [0.482014388489209,0.56115107913669,0.0,0.454901960784314],
454
+ :DarkSlateGray => [0.405063291139241,0.0,0.0,0.690196078431373],
455
+ :DarkSlateGrey => [0.405063291139241,0.0,0.0,0.690196078431373],
456
+ :DarkTurquoise => [1.0,0.0143540669856459,0.0,0.180392156862745],
457
+ :DarkViolet => [0.298578199052133,1.0,0.0,0.172549019607843],
458
+ :Darkorange => [0.0,0.450980392156863,1.0,0.0],
459
+ :DeepPink => [0.0,0.92156862745098,0.423529411764706,0.0],
460
+ :DeepSkyBlue => [1.0,0.250980392156863,0.0,0.0],
461
+ :DimGray => [0.0,0.0,0.0,0.588235294117647],
462
+ :DimGrey => [0.0,0.0,0.0,0.588235294117647],
463
+ :DodgerBlue => [0.882352941176471,0.435294117647059,0.0,0.0],
464
+ :FireBrick => [0.0,0.808988764044944,0.808988764044944,0.301960784313726],
465
+ :FloralWhite => [0.0,0.0196078431372549,0.0588235294117647,0.0],
466
+ :ForestGreen => [0.755395683453237,0.0,0.755395683453237,0.454901960784314],
467
+ :Fuchsia => [0.0,1.0,0.0,0.0],
468
+ :Gainsboro => [0.0,0.0,0.0,0.137254901960784],
469
+ :GhostWhite => [0.0274509803921569,0.0274509803921569,0.0,0.0],
470
+ :Gold => [0.0,0.156862745098039,1.0,0.0],
471
+ :GoldenRod => [0.0,0.243119266055046,0.853211009174312,0.145098039215686],
472
+ :Gray => [0.0,0.0,0.0,0.498039215686275],
473
+ :Green => [1.0,0.0,1.0,0.498039215686275],
474
+ :GreenYellow => [0.32156862745098,0.0,0.815686274509804,0.0],
475
+ :Grey => [0.0,0.0,0.0,0.498039215686275],
476
+ :HoneyDew => [0.0588235294117647,0.0,0.0588235294117647,0.0],
477
+ :HotPink => [0.0,0.588235294117647,0.294117647058823,0.0],
478
+ :IndianRed => [0.0,0.551219512195122,0.551219512195122,0.196078431372549],
479
+ :Indigo => [0.423076923076923,1.0,0.0,0.490196078431373],
480
+ :Ivory => [0.0,0.0,0.0588235294117647,0.0],
481
+ :Khaki => [0.0,0.0416666666666666,0.416666666666667,0.0588235294117647],
482
+ :LavenderBlush => [0.0,0.0588235294117647,0.0392156862745098,0.0],
483
+ :Lavender => [0.0799999999999999,0.0799999999999999,0.0,0.0196078431372549],
484
+ :LawnGreen => [0.507936507936508,0.0,1.0,0.0117647058823529],
485
+ :LemonChiffon => [0.0,0.0196078431372549,0.196078431372549,0.0],
486
+ :LightBlue => [0.247826086956522,0.0608695652173913,0.0,0.0980392156862745],
487
+ :LightCoral => [0.0,0.466666666666667,0.466666666666667,0.0588235294117647],
488
+ :LightCyan => [0.12156862745098,0.0,0.0,0.0],
489
+ :LightGoldenRodYellow => [0.0,0.0,0.16,0.0196078431372549],
490
+ :LightGray => [0.0,0.0,0.0,0.172549019607843],
491
+ :LightGreen => [0.394957983193277,0.0,0.394957983193277,0.0666666666666667],
492
+ :LightGrey => [0.0,0.0,0.0,0.172549019607843],
493
+ :LightPink => [0.0,0.286274509803922,0.243137254901961,0.0],
494
+ :LightSalmon => [0.0,0.372549019607843,0.52156862745098,0.0],
495
+ :LightSeaGreen => [0.820224719101124,0.0,0.0449438202247191,0.301960784313726],
496
+ :LightSkyBlue => [0.46,0.176,0.0,0.0196078431372549],
497
+ :LightSlateGray => [0.222222222222222,0.111111111111111,0.0,0.4],
498
+ :LightSlateGrey => [0.222222222222222,0.111111111111111,0.0,0.4],
499
+ :LightSteelBlue => [0.207207207207207,0.117117117117117,0.0,0.129411764705882],
500
+ :LightYellow => [0.0,0.0,0.12156862745098,0.0],
501
+ :Lime => [1.0,0.0,1.0,0.0],
502
+ :LimeGreen => [0.75609756097561,0.0,0.75609756097561,0.196078431372549],
503
+ :Linen => [0.0,0.04,0.0799999999999999,0.0196078431372549],
504
+ :Magenta => [0.0,1.0,0.0,0.0],
505
+ :Maroon => [0.0,1.0,1.0,0.498039215686275],
506
+ :MediumAquaMarine => [0.502439024390244,0.0,0.170731707317073,0.196078431372549],
507
+ :MediumBlue => [1.0,1.0,0.0,0.196078431372549],
508
+ :MediumOrchid => [0.118483412322275,0.597156398104265,0.0,0.172549019607843],
509
+ :MediumPurple => [0.319444444444444,0.481481481481481,0.0,0.152941176470588],
510
+ :MediumSeaGreen => [0.664804469273743,0.0,0.368715083798883,0.298039215686275],
511
+ :MediumSlateBlue => [0.483193277310924,0.563025210084034,0.0,0.0666666666666667],
512
+ :MediumSpringGreen => [1.0,0.0,0.384,0.0196078431372549],
513
+ :MediumTurquoise => [0.655502392344498,0.0,0.0239234449760765,0.180392156862745],
514
+ :MediumVioletRed => [0.0,0.894472361809045,0.331658291457286,0.219607843137255],
515
+ :MidnightBlue => [0.776785714285714,0.776785714285714,0.0,0.56078431372549],
516
+ :MintCream => [0.0392156862745098,0.0,0.0196078431372549,0.0],
517
+ :MistyRose => [0.0,0.105882352941176,0.117647058823529,0.0],
518
+ :Moccasin => [0.0,0.105882352941176,0.290196078431373,0.0],
519
+ :NavajoWhite => [0.0,0.129411764705882,0.32156862745098,0.0],
520
+ :Navy => [1.0,1.0,0.0,0.498039215686275],
521
+ :OldLace => [0.0,0.0316205533596838,0.0909090909090909,0.00784313725490193],
522
+ :Olive => [0.0,0.0,1.0,0.498039215686275],
523
+ :OliveDrab => [0.246478873239437,0.0,0.753521126760563,0.443137254901961],
524
+ :Orange => [0.0,0.352941176470588,1.0,0.0],
525
+ :OrangeRed => [0.0,0.729411764705882,1.0,0.0],
526
+ :Orchid => [0.0,0.486238532110092,0.0183486238532109,0.145098039215686],
527
+ :PaleGoldenRod => [0.0,0.0252100840336135,0.285714285714286,0.0666666666666667],
528
+ :PaleGreen => [0.394422310756972,0.0,0.394422310756972,0.015686274509804],
529
+ :PaleTurquoise => [0.264705882352941,0.0,0.0,0.0666666666666667],
530
+ :PaleVioletRed => [0.0,0.481481481481481,0.319444444444444,0.152941176470588],
531
+ :PapayaWhip => [0.0,0.0627450980392157,0.164705882352941,0.0],
532
+ :PeachPuff => [0.0,0.145098039215686,0.274509803921569,0.0],
533
+ :Peru => [0.0,0.351219512195122,0.692682926829268,0.196078431372549],
534
+ :Pink => [0.0,0.247058823529412,0.203921568627451,0.0],
535
+ :Plum => [0.0,0.276018099547511,0.0,0.133333333333333],
536
+ :PowderBlue => [0.234782608695652,0.0260869565217392,0.0,0.0980392156862745],
537
+ :Purple => [0.0,1.0,0.0,0.498039215686275],
538
+ :Red => [0.0,1.0,1.0,0.0],
539
+ :RosyBrown => [0.0,0.23936170212766,0.23936170212766,0.262745098039216],
540
+ :RoyalBlue => [0.711111111111111,0.533333333333333,0.0,0.117647058823529],
541
+ :SaddleBrown => [0.0,0.503597122302158,0.863309352517986,0.454901960784314],
542
+ :Salmon => [0.0,0.488,0.544,0.0196078431372549],
543
+ :SandyBrown => [0.0,0.327868852459016,0.60655737704918,0.0431372549019607],
544
+ :SeaGreen => [0.669064748201439,0.0,0.37410071942446,0.454901960784314],
545
+ :SeaShell => [0.0,0.0392156862745098,0.0666666666666667,0.0],
546
+ :Sienna => [0.0,0.4875,0.71875,0.372549019607843],
547
+ :Silver => [0.0,0.0,0.0,0.247058823529412],
548
+ :SkyBlue => [0.425531914893617,0.123404255319149,0.0,0.0784313725490197],
549
+ :SlateBlue => [0.482926829268293,0.560975609756098,0.0,0.196078431372549],
550
+ :SlateGray => [0.222222222222222,0.111111111111111,0.0,0.435294117647059],
551
+ :SlateGrey => [0.222222222222222,0.111111111111111,0.0,0.435294117647059],
552
+ :Snow => [0.0,0.0196078431372549,0.0196078431372549,0.0],
553
+ :SpringGreen => [1.0,0.0,0.501960784313725,0.0],
554
+ :SteelBlue => [0.611111111111111,0.277777777777778,0.0,0.294117647058823],
555
+ :Tan => [0.0,0.142857142857143,0.333333333333333,0.176470588235294],
556
+ :Teal => [1.0,0.0,0.0,0.498039215686275],
557
+ :Thistle => [0.0,0.115740740740741,0.0,0.152941176470588],
558
+ :Tomato => [0.0,0.611764705882353,0.72156862745098,0.0],
559
+ :Turquoise => [0.714285714285714,0.0,0.0714285714285714,0.12156862745098],
560
+ :Violet => [0.0,0.453781512605042,0.0,0.0666666666666667],
561
+ :Wheat => [0.0,0.0938775510204082,0.269387755102041,0.0392156862745098],
562
+ :White => [0.0,0.0,0.0,0.0],
563
+ :WhiteSmoke => [0.0,0.0,0.0,0.0392156862745098],
564
+ :Yellow => [0.0,0.0,1.0,0.0],
565
+ :YellowGreen => [0.248780487804878,0.0,0.75609756097561,0.196078431372549]
566
+ ]
567
+
568
+ end
569
+ #Standard papers
570
+ module Papers
571
+ STANDARD={
572
+ "11x17" => [792,1224],
573
+ :ledger => [1224,792],
574
+ :legal => [612,1008],
575
+ :letter => [612,792],
576
+ :lettersmall=> [612,792],
577
+ :archE => [2592,3456],
578
+ :archD => [1728,2592],
579
+ :archC => [1296,1728],
580
+ :archB => [864,1296],
581
+ :archA => [648,864],
582
+ #ISO standard]
583
+ :a0 => [2384,3370],
584
+ :a1 => [1684,2384],
585
+ :a2 => [1191,1684],
586
+ :a3 => [842,1191],
587
+ :a4 => [595,842],
588
+ :a4small => [595,842],
589
+ :a5 => [420,595],
590
+ :a6 => [297,420],
591
+ :a7 => [210,297],
592
+ :a8 => [148,210],
593
+ :a9 => [105,148],
594
+ :a10 => [73,105],
595
+ :isob0 => [2835,4008],
596
+ :isob1 => [2004,2835],
597
+ :isob2 => [1417,2004],
598
+ :isob3 => [1001,1417],
599
+ :isob4 => [709,1001],
600
+ :isob5 => [499,709],
601
+ :isob6 => [354,499],
602
+ :c0 => [2599,3677],
603
+ :c1 => [1837,2599],
604
+ :c2 => [1298,1837],
605
+ :c3 => [918,1298],
606
+ :c4 => [649,918],
607
+ :c5 => [459,649],
608
+ :c6 => [323,459],
609
+ #JIS standard
610
+ :jisb0 => [1030,1456],
611
+ :jisb1 => [728,1030],
612
+ :jisb2 => [515,728],
613
+ :jisb3 => [364,515],
614
+ :jisb4 => [257,364],
615
+ :jisb5 => [182,257],
616
+ :jisb6 => [128,182],
617
+ #Other
618
+ :flsa => [612,936],
619
+ :flse => [612,936],
620
+ :halfletter => [396,612]
621
+ }
622
+
623
+ end
624
+ end
625
+
626
+