gamba 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +80 -0
- data/COPYING +2 -0
- data/GPLv2 +339 -0
- data/GPLv3 +674 -0
- data/LICENSE +65 -0
- data/LICENSE-prawn-svg +21 -0
- data/README.md +148 -0
- data/data/fonts/Courier-Bold.afm +342 -0
- data/data/fonts/Courier-BoldOblique.afm +342 -0
- data/data/fonts/Courier-Oblique.afm +342 -0
- data/data/fonts/Courier.afm +342 -0
- data/data/fonts/Helvetica-Bold.afm +2827 -0
- data/data/fonts/Helvetica-BoldOblique.afm +2827 -0
- data/data/fonts/Helvetica-Oblique.afm +3051 -0
- data/data/fonts/Helvetica.afm +3051 -0
- data/data/fonts/MustRead.html +19 -0
- data/data/fonts/Symbol.afm +213 -0
- data/data/fonts/Times-Bold.afm +2588 -0
- data/data/fonts/Times-BoldItalic.afm +2384 -0
- data/data/fonts/Times-Italic.afm +2667 -0
- data/data/fonts/Times-Roman.afm +2419 -0
- data/data/fonts/ZapfDingbats.afm +225 -0
- data/lib/gamba/annotations.rb +21 -0
- data/lib/gamba/combine.rb +307 -0
- data/lib/gamba/document/bounding_box.rb +193 -0
- data/lib/gamba/document/column_box.rb +91 -0
- data/lib/gamba/document/internals.rb +264 -0
- data/lib/gamba/document/span.rb +25 -0
- data/lib/gamba/document.rb +268 -0
- data/lib/gamba/encoding.rb +13 -0
- data/lib/gamba/errors.rb +39 -0
- data/lib/gamba/font.rb +228 -0
- data/lib/gamba/fonts/afm.rb +171 -0
- data/lib/gamba/fonts/otf.rb +50 -0
- data/lib/gamba/fonts/ttf.rb +413 -0
- data/lib/gamba/graphic_state.rb +84 -0
- data/lib/gamba/graphics/color.rb +174 -0
- data/lib/gamba/graphics/patterns.rb +100 -0
- data/lib/gamba/graphics/style.rb +159 -0
- data/lib/gamba/graphics.rb +212 -0
- data/lib/gamba/grid.rb +216 -0
- data/lib/gamba/images/image.rb +271 -0
- data/lib/gamba/images/png_decoder.rb +65 -0
- data/lib/gamba/images.rb +115 -0
- data/lib/gamba/measurement_extensions.rb +40 -0
- data/lib/gamba/measurements.rb +62 -0
- data/lib/gamba/outline.rb +148 -0
- data/lib/gamba/page.rb +125 -0
- data/lib/gamba/page_geometry.rb +27 -0
- data/lib/gamba/pdf/decryption.rb +165 -0
- data/lib/gamba/pdf/outline_node.rb +53 -0
- data/lib/gamba/pdf/reader.rb +616 -0
- data/lib/gamba/pdf/reference.rb +31 -0
- data/lib/gamba/pdf/writer.rb +105 -0
- data/lib/gamba/pdf.rb +87 -0
- data/lib/gamba/pdf_a/srgb_profile.rb +61 -0
- data/lib/gamba/pdf_a.rb +132 -0
- data/lib/gamba/repeater.rb +79 -0
- data/lib/gamba/security.rb +111 -0
- data/lib/gamba/stamp.rb +76 -0
- data/lib/gamba/table/cell/kinds.rb +246 -0
- data/lib/gamba/table/cell.rb +331 -0
- data/lib/gamba/table/cells.rb +208 -0
- data/lib/gamba/table.rb +298 -0
- data/lib/gamba/text/box.rb +16 -0
- data/lib/gamba/text/formatted/arranger.rb +217 -0
- data/lib/gamba/text/formatted/box.rb +312 -0
- data/lib/gamba/text/formatted/fragment.rb +205 -0
- data/lib/gamba/text/formatted/line_wrap.rb +205 -0
- data/lib/gamba/text/formatted/parser.rb +150 -0
- data/lib/gamba/text/formatted/wrap.rb +103 -0
- data/lib/gamba/text.rb +310 -0
- data/lib/gamba/transformation_stack.rb +43 -0
- data/lib/gamba/true_type/cff_subset.rb +157 -0
- data/lib/gamba/true_type/file.rb +372 -0
- data/lib/gamba/true_type/open_type_layout.rb +189 -0
- data/lib/gamba/true_type/simple_subsets.rb +108 -0
- data/lib/gamba/true_type/subset.rb +206 -0
- data/lib/gamba/version.rb +10 -0
- data/lib/gamba/view.rb +28 -0
- data/lib/gamba.rb +124 -0
- data/lib/pdf/core.rb +4 -0
- data/lib/prawn/measurement_extensions.rb +4 -0
- data/lib/prawn/svg/attributes/clip_path.rb +46 -0
- data/lib/prawn/svg/attributes/mask.rb +16 -0
- data/lib/prawn/svg/attributes/opacity.rb +30 -0
- data/lib/prawn/svg/attributes/space.rb +10 -0
- data/lib/prawn/svg/attributes/stroke.rb +50 -0
- data/lib/prawn/svg/attributes/transform.rb +10 -0
- data/lib/prawn/svg/attributes.rb +6 -0
- data/lib/prawn/svg/calculators/arc_to_bezier_curve.rb +57 -0
- data/lib/prawn/svg/calculators/aspect_ratio.rb +60 -0
- data/lib/prawn/svg/calculators/document_sizing.rb +103 -0
- data/lib/prawn/svg/calculators/path_length.rb +168 -0
- data/lib/prawn/svg/calculators/pixels.rb +57 -0
- data/lib/prawn/svg/color.rb +240 -0
- data/lib/prawn/svg/css/font_face_parser.rb +72 -0
- data/lib/prawn/svg/css/font_family_parser.rb +39 -0
- data/lib/prawn/svg/css/font_parser.rb +46 -0
- data/lib/prawn/svg/css/selector_parser.rb +180 -0
- data/lib/prawn/svg/css/stylesheets.rb +233 -0
- data/lib/prawn/svg/css/values_parser.rb +68 -0
- data/lib/prawn/svg/document.rb +169 -0
- data/lib/prawn/svg/elements/anchor.rb +10 -0
- data/lib/prawn/svg/elements/base.rb +315 -0
- data/lib/prawn/svg/elements/bbox_scaling.rb +78 -0
- data/lib/prawn/svg/elements/call_duplicator.rb +37 -0
- data/lib/prawn/svg/elements/circle.rb +19 -0
- data/lib/prawn/svg/elements/clip_path.rb +26 -0
- data/lib/prawn/svg/elements/container.rb +10 -0
- data/lib/prawn/svg/elements/direct_render_base.rb +28 -0
- data/lib/prawn/svg/elements/ellipse.rb +20 -0
- data/lib/prawn/svg/elements/gradient.rb +183 -0
- data/lib/prawn/svg/elements/ignored.rb +5 -0
- data/lib/prawn/svg/elements/image.rb +178 -0
- data/lib/prawn/svg/elements/line.rb +27 -0
- data/lib/prawn/svg/elements/marker.rb +72 -0
- data/lib/prawn/svg/elements/mask.rb +65 -0
- data/lib/prawn/svg/elements/path.rb +294 -0
- data/lib/prawn/svg/elements/pattern.rb +150 -0
- data/lib/prawn/svg/elements/polygon.rb +25 -0
- data/lib/prawn/svg/elements/polyline.rb +23 -0
- data/lib/prawn/svg/elements/rect.rb +64 -0
- data/lib/prawn/svg/elements/root.rb +22 -0
- data/lib/prawn/svg/elements/switch.rb +92 -0
- data/lib/prawn/svg/elements/text.rb +99 -0
- data/lib/prawn/svg/elements/text_component.rb +352 -0
- data/lib/prawn/svg/elements/text_node.rb +308 -0
- data/lib/prawn/svg/elements/text_path.rb +153 -0
- data/lib/prawn/svg/elements/use.rb +142 -0
- data/lib/prawn/svg/elements/viewport.rb +29 -0
- data/lib/prawn/svg/elements.rb +46 -0
- data/lib/prawn/svg/extension.rb +25 -0
- data/lib/prawn/svg/font.rb +20 -0
- data/lib/prawn/svg/font_metrics.rb +144 -0
- data/lib/prawn/svg/font_registry.rb +315 -0
- data/lib/prawn/svg/funciri.rb +14 -0
- data/lib/prawn/svg/gradient_renderer.rb +332 -0
- data/lib/prawn/svg/gradients.rb +53 -0
- data/lib/prawn/svg/interface.rb +72 -0
- data/lib/prawn/svg/length.rb +43 -0
- data/lib/prawn/svg/link_renderer.rb +40 -0
- data/lib/prawn/svg/loaders/data.rb +17 -0
- data/lib/prawn/svg/loaders/file.rb +111 -0
- data/lib/prawn/svg/loaders/web.rb +24 -0
- data/lib/prawn/svg/paint.rb +67 -0
- data/lib/prawn/svg/pathable.rb +153 -0
- data/lib/prawn/svg/pattern_renderer.rb +112 -0
- data/lib/prawn/svg/pdfmatrix.rb +39 -0
- data/lib/prawn/svg/percentage.rb +24 -0
- data/lib/prawn/svg/properties.rb +329 -0
- data/lib/prawn/svg/renderer.rb +249 -0
- data/lib/prawn/svg/state.rb +24 -0
- data/lib/prawn/svg/transform_parser.rb +78 -0
- data/lib/prawn/svg/ttc.rb +35 -0
- data/lib/prawn/svg/ttf.rb +95 -0
- data/lib/prawn/svg/url_loader.rb +46 -0
- data/lib/prawn/svg/version.rb +5 -0
- data/lib/prawn/table.rb +4 -0
- data/lib/prawn-svg.rb +52 -0
- data/lib/prawn.rb +3 -0
- metadata +263 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
class Prawn::SVG::TTC
|
|
2
|
+
TTC_TAG = "ttcf".freeze
|
|
3
|
+
|
|
4
|
+
attr_reader :fonts
|
|
5
|
+
|
|
6
|
+
def initialize(filename)
|
|
7
|
+
@fonts = []
|
|
8
|
+
load_data_from_file(filename)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
private
|
|
12
|
+
|
|
13
|
+
def load_data_from_file(filename)
|
|
14
|
+
File.open(filename, "rb") do |f|
|
|
15
|
+
tag = f.read(4)
|
|
16
|
+
next unless tag == TTC_TAG
|
|
17
|
+
|
|
18
|
+
_major, _minor = f.read(4).unpack("nn")
|
|
19
|
+
font_count = f.read(4).unpack1("N")
|
|
20
|
+
offsets = f.read(font_count * 4).unpack("N*")
|
|
21
|
+
|
|
22
|
+
offsets.each_with_index do |offset, index|
|
|
23
|
+
result = Prawn::SVG::TTF.read_name_table(f, offset)
|
|
24
|
+
next unless result
|
|
25
|
+
|
|
26
|
+
family, subfamily = result
|
|
27
|
+
next unless family
|
|
28
|
+
|
|
29
|
+
weight_class = Prawn::SVG::TTF.read_weight_class(f, offset)
|
|
30
|
+
@fonts << {family:, subfamily:, index:, weight_class:}
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
rescue Errno::ENOENT
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
class Prawn::SVG::TTF
|
|
2
|
+
SFNT_VERSION_STRINGS = ["\x00\x01\x00\x00", "true", "typ1"].freeze
|
|
3
|
+
LANGUAGE_IDS = [0, 0x409].freeze # English, US English
|
|
4
|
+
UTF_16BE_PLATFORM_IDS = [0, 3].freeze # Unicode, Microsoft
|
|
5
|
+
|
|
6
|
+
attr_reader :family, :subfamily, :weight_class
|
|
7
|
+
|
|
8
|
+
def initialize(filename)
|
|
9
|
+
load_data_from_file(filename)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def self.read_weight_class(io, font_offset)
|
|
13
|
+
io.seek(font_offset)
|
|
14
|
+
offset_table = io.read(12)
|
|
15
|
+
return unless offset_table&.length == 12 && SFNT_VERSION_STRINGS.include?(offset_table[0..3])
|
|
16
|
+
|
|
17
|
+
table_count = (offset_table[4].ord * 256) + offset_table[5].ord
|
|
18
|
+
tables = io.read(table_count * 16)
|
|
19
|
+
return unless tables&.length == table_count * 16
|
|
20
|
+
|
|
21
|
+
table_count.times do |index|
|
|
22
|
+
start = index * 16
|
|
23
|
+
next unless tables[start..start + 3] == "OS/2"
|
|
24
|
+
|
|
25
|
+
offset, = tables[start + 8..start + 15].unpack("NN")
|
|
26
|
+
io.seek(offset)
|
|
27
|
+
data = io.read(6)
|
|
28
|
+
return data[4..5].unpack1("n") if data&.length == 6
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
nil
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def self.read_name_table(io, font_offset)
|
|
35
|
+
io.seek(font_offset)
|
|
36
|
+
offset_table = io.read(12)
|
|
37
|
+
return unless offset_table && offset_table.length == 12 && SFNT_VERSION_STRINGS.include?(offset_table[0..3])
|
|
38
|
+
|
|
39
|
+
table_count = (offset_table[4].ord * 256) + offset_table[5].ord
|
|
40
|
+
tables = io.read(table_count * 16)
|
|
41
|
+
return unless tables && tables.length == table_count * 16
|
|
42
|
+
|
|
43
|
+
offset, length = table_count.times do |index|
|
|
44
|
+
start = index * 16
|
|
45
|
+
break tables[start + 8..start + 15].unpack("NNN") if tables[start..start + 3] == "name"
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
return unless length
|
|
49
|
+
|
|
50
|
+
io.seek(offset)
|
|
51
|
+
data = io.read(length)
|
|
52
|
+
return unless data && data.length == length
|
|
53
|
+
|
|
54
|
+
_, name_count, string_offset = data[0..5].unpack("nnn")
|
|
55
|
+
|
|
56
|
+
names = {}
|
|
57
|
+
name_count.times do |index|
|
|
58
|
+
start = 6 + (index * 12)
|
|
59
|
+
platform_id, _, language_id, name_id, length, offset = data[start..start + 11].unpack("nnnnnn")
|
|
60
|
+
next unless offset
|
|
61
|
+
next unless LANGUAGE_IDS.include?(language_id)
|
|
62
|
+
next unless [1, 2, 16, 17].include?(name_id)
|
|
63
|
+
|
|
64
|
+
offset += string_offset
|
|
65
|
+
field = data[offset..offset + length - 1]
|
|
66
|
+
next unless field && field.length == length
|
|
67
|
+
|
|
68
|
+
names[name_id] =
|
|
69
|
+
if UTF_16BE_PLATFORM_IDS.include?(platform_id)
|
|
70
|
+
begin
|
|
71
|
+
field.force_encoding(Encoding::UTF_16BE).encode(Encoding::UTF_8)
|
|
72
|
+
rescue
|
|
73
|
+
field
|
|
74
|
+
end
|
|
75
|
+
else
|
|
76
|
+
field
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
family = names[16] || names[1]
|
|
81
|
+
subfamily = names[17] || names[2]
|
|
82
|
+
[family, subfamily]
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
private
|
|
86
|
+
|
|
87
|
+
def load_data_from_file(filename)
|
|
88
|
+
File.open(filename, "rb") do |f|
|
|
89
|
+
result = self.class.read_name_table(f, 0)
|
|
90
|
+
@family, @subfamily = result if result
|
|
91
|
+
@weight_class = self.class.read_weight_class(f, 0)
|
|
92
|
+
end
|
|
93
|
+
rescue Errno::ENOENT # in case the file disappears between the scan and the load, we don't want to crash
|
|
94
|
+
end
|
|
95
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
class Prawn::SVG::UrlLoader
|
|
2
|
+
Error = Class.new(StandardError)
|
|
3
|
+
|
|
4
|
+
attr_reader :enable_cache, :loaders
|
|
5
|
+
|
|
6
|
+
def initialize(enable_cache: false, enable_web: true, enable_file_with_root: nil)
|
|
7
|
+
@url_cache = {}
|
|
8
|
+
@enable_cache = enable_cache
|
|
9
|
+
|
|
10
|
+
@loaders = []
|
|
11
|
+
loaders << Prawn::SVG::Loaders::Data.new
|
|
12
|
+
loaders << Prawn::SVG::Loaders::Web.new if enable_web
|
|
13
|
+
loaders << Prawn::SVG::Loaders::File.new(enable_file_with_root) if enable_file_with_root
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def load(url)
|
|
17
|
+
retrieve_from_cache(url) || perform_and_cache(url)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def add_to_cache(url, data)
|
|
21
|
+
@url_cache[url] = data
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def retrieve_from_cache(url)
|
|
25
|
+
@url_cache[url]
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
private
|
|
29
|
+
|
|
30
|
+
def perform_and_cache(url)
|
|
31
|
+
data = perform(url)
|
|
32
|
+
add_to_cache(url, data) if enable_cache
|
|
33
|
+
data
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def perform(url)
|
|
37
|
+
try_each_loader(url) or raise Error, "No handler available for this URL scheme"
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def try_each_loader(url)
|
|
41
|
+
loaders.detect do |loader|
|
|
42
|
+
data = loader.from_url(url)
|
|
43
|
+
break data if data
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
data/lib/prawn/table.rb
ADDED
data/lib/prawn-svg.rb
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
require "matrix"
|
|
2
|
+
require "rexml/document"
|
|
3
|
+
|
|
4
|
+
require "prawn"
|
|
5
|
+
require "prawn/svg/version"
|
|
6
|
+
|
|
7
|
+
require "css_parser"
|
|
8
|
+
|
|
9
|
+
require "prawn/svg/font_registry"
|
|
10
|
+
require "prawn/svg/font_metrics"
|
|
11
|
+
require "prawn/svg/calculators/arc_to_bezier_curve"
|
|
12
|
+
require "prawn/svg/calculators/aspect_ratio"
|
|
13
|
+
require "prawn/svg/calculators/document_sizing"
|
|
14
|
+
require "prawn/svg/calculators/path_length"
|
|
15
|
+
require "prawn/svg/calculators/pixels"
|
|
16
|
+
require "prawn/svg/pdfmatrix"
|
|
17
|
+
require "prawn/svg/transform_parser"
|
|
18
|
+
require "prawn/svg/url_loader"
|
|
19
|
+
require "prawn/svg/loaders/data"
|
|
20
|
+
require "prawn/svg/loaders/file"
|
|
21
|
+
require "prawn/svg/loaders/web"
|
|
22
|
+
require "prawn/svg/color"
|
|
23
|
+
require "prawn/svg/funciri"
|
|
24
|
+
require "prawn/svg/length"
|
|
25
|
+
require "prawn/svg/paint"
|
|
26
|
+
require "prawn/svg/percentage"
|
|
27
|
+
require "prawn/svg/attributes"
|
|
28
|
+
require "prawn/svg/properties"
|
|
29
|
+
require "prawn/svg/pathable"
|
|
30
|
+
require "prawn/svg/elements"
|
|
31
|
+
require "prawn/svg/extension"
|
|
32
|
+
require "prawn/svg/renderer"
|
|
33
|
+
require "prawn/svg/interface"
|
|
34
|
+
require "prawn/svg/css/font_face_parser"
|
|
35
|
+
require "prawn/svg/css/font_parser"
|
|
36
|
+
require "prawn/svg/css/font_family_parser"
|
|
37
|
+
require "prawn/svg/css/selector_parser"
|
|
38
|
+
require "prawn/svg/css/stylesheets"
|
|
39
|
+
require "prawn/svg/css/values_parser"
|
|
40
|
+
require "prawn/svg/ttf"
|
|
41
|
+
require "prawn/svg/ttc"
|
|
42
|
+
require "prawn/svg/font"
|
|
43
|
+
require "prawn/svg/gradients"
|
|
44
|
+
require "prawn/svg/gradient_renderer"
|
|
45
|
+
require "prawn/svg/pattern_renderer"
|
|
46
|
+
require "prawn/svg/link_renderer"
|
|
47
|
+
require "prawn/svg/document"
|
|
48
|
+
require "prawn/svg/state"
|
|
49
|
+
|
|
50
|
+
module Prawn
|
|
51
|
+
Svg = SVG # backwards compatibility
|
|
52
|
+
end
|
data/lib/prawn.rb
ADDED
metadata
ADDED
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: gamba
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 2.0.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Level UP Solutions
|
|
8
|
+
bindir: bin
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: css_parser
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - ">="
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: 1.17.1
|
|
19
|
+
- - "<"
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: '4'
|
|
22
|
+
type: :runtime
|
|
23
|
+
prerelease: false
|
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
requirements:
|
|
26
|
+
- - ">="
|
|
27
|
+
- !ruby/object:Gem::Version
|
|
28
|
+
version: 1.17.1
|
|
29
|
+
- - "<"
|
|
30
|
+
- !ruby/object:Gem::Version
|
|
31
|
+
version: '4'
|
|
32
|
+
- !ruby/object:Gem::Dependency
|
|
33
|
+
name: matrix
|
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
|
35
|
+
requirements:
|
|
36
|
+
- - "~>"
|
|
37
|
+
- !ruby/object:Gem::Version
|
|
38
|
+
version: '0.4'
|
|
39
|
+
type: :runtime
|
|
40
|
+
prerelease: false
|
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
42
|
+
requirements:
|
|
43
|
+
- - "~>"
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: '0.4'
|
|
46
|
+
- !ruby/object:Gem::Dependency
|
|
47
|
+
name: rexml
|
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
|
49
|
+
requirements:
|
|
50
|
+
- - ">="
|
|
51
|
+
- !ruby/object:Gem::Version
|
|
52
|
+
version: 3.4.2
|
|
53
|
+
- - "<"
|
|
54
|
+
- !ruby/object:Gem::Version
|
|
55
|
+
version: '4'
|
|
56
|
+
type: :runtime
|
|
57
|
+
prerelease: false
|
|
58
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
59
|
+
requirements:
|
|
60
|
+
- - ">="
|
|
61
|
+
- !ruby/object:Gem::Version
|
|
62
|
+
version: 3.4.2
|
|
63
|
+
- - "<"
|
|
64
|
+
- !ruby/object:Gem::Version
|
|
65
|
+
version: '4'
|
|
66
|
+
description: 'A drop-in replacement for prawn, prawn-table and prawn-svg: the same
|
|
67
|
+
API and the same pages as Prawn 2.5, written faster, with fewer allocations and
|
|
68
|
+
lighter files.'
|
|
69
|
+
executables: []
|
|
70
|
+
extensions: []
|
|
71
|
+
extra_rdoc_files: []
|
|
72
|
+
files:
|
|
73
|
+
- CHANGELOG.md
|
|
74
|
+
- COPYING
|
|
75
|
+
- GPLv2
|
|
76
|
+
- GPLv3
|
|
77
|
+
- LICENSE
|
|
78
|
+
- LICENSE-prawn-svg
|
|
79
|
+
- README.md
|
|
80
|
+
- data/fonts/Courier-Bold.afm
|
|
81
|
+
- data/fonts/Courier-BoldOblique.afm
|
|
82
|
+
- data/fonts/Courier-Oblique.afm
|
|
83
|
+
- data/fonts/Courier.afm
|
|
84
|
+
- data/fonts/Helvetica-Bold.afm
|
|
85
|
+
- data/fonts/Helvetica-BoldOblique.afm
|
|
86
|
+
- data/fonts/Helvetica-Oblique.afm
|
|
87
|
+
- data/fonts/Helvetica.afm
|
|
88
|
+
- data/fonts/MustRead.html
|
|
89
|
+
- data/fonts/Symbol.afm
|
|
90
|
+
- data/fonts/Times-Bold.afm
|
|
91
|
+
- data/fonts/Times-BoldItalic.afm
|
|
92
|
+
- data/fonts/Times-Italic.afm
|
|
93
|
+
- data/fonts/Times-Roman.afm
|
|
94
|
+
- data/fonts/ZapfDingbats.afm
|
|
95
|
+
- lib/gamba.rb
|
|
96
|
+
- lib/gamba/annotations.rb
|
|
97
|
+
- lib/gamba/combine.rb
|
|
98
|
+
- lib/gamba/document.rb
|
|
99
|
+
- lib/gamba/document/bounding_box.rb
|
|
100
|
+
- lib/gamba/document/column_box.rb
|
|
101
|
+
- lib/gamba/document/internals.rb
|
|
102
|
+
- lib/gamba/document/span.rb
|
|
103
|
+
- lib/gamba/encoding.rb
|
|
104
|
+
- lib/gamba/errors.rb
|
|
105
|
+
- lib/gamba/font.rb
|
|
106
|
+
- lib/gamba/fonts/afm.rb
|
|
107
|
+
- lib/gamba/fonts/otf.rb
|
|
108
|
+
- lib/gamba/fonts/ttf.rb
|
|
109
|
+
- lib/gamba/graphic_state.rb
|
|
110
|
+
- lib/gamba/graphics.rb
|
|
111
|
+
- lib/gamba/graphics/color.rb
|
|
112
|
+
- lib/gamba/graphics/patterns.rb
|
|
113
|
+
- lib/gamba/graphics/style.rb
|
|
114
|
+
- lib/gamba/grid.rb
|
|
115
|
+
- lib/gamba/images.rb
|
|
116
|
+
- lib/gamba/images/image.rb
|
|
117
|
+
- lib/gamba/images/png_decoder.rb
|
|
118
|
+
- lib/gamba/measurement_extensions.rb
|
|
119
|
+
- lib/gamba/measurements.rb
|
|
120
|
+
- lib/gamba/outline.rb
|
|
121
|
+
- lib/gamba/page.rb
|
|
122
|
+
- lib/gamba/page_geometry.rb
|
|
123
|
+
- lib/gamba/pdf.rb
|
|
124
|
+
- lib/gamba/pdf/decryption.rb
|
|
125
|
+
- lib/gamba/pdf/outline_node.rb
|
|
126
|
+
- lib/gamba/pdf/reader.rb
|
|
127
|
+
- lib/gamba/pdf/reference.rb
|
|
128
|
+
- lib/gamba/pdf/writer.rb
|
|
129
|
+
- lib/gamba/pdf_a.rb
|
|
130
|
+
- lib/gamba/pdf_a/srgb_profile.rb
|
|
131
|
+
- lib/gamba/repeater.rb
|
|
132
|
+
- lib/gamba/security.rb
|
|
133
|
+
- lib/gamba/stamp.rb
|
|
134
|
+
- lib/gamba/table.rb
|
|
135
|
+
- lib/gamba/table/cell.rb
|
|
136
|
+
- lib/gamba/table/cell/kinds.rb
|
|
137
|
+
- lib/gamba/table/cells.rb
|
|
138
|
+
- lib/gamba/text.rb
|
|
139
|
+
- lib/gamba/text/box.rb
|
|
140
|
+
- lib/gamba/text/formatted/arranger.rb
|
|
141
|
+
- lib/gamba/text/formatted/box.rb
|
|
142
|
+
- lib/gamba/text/formatted/fragment.rb
|
|
143
|
+
- lib/gamba/text/formatted/line_wrap.rb
|
|
144
|
+
- lib/gamba/text/formatted/parser.rb
|
|
145
|
+
- lib/gamba/text/formatted/wrap.rb
|
|
146
|
+
- lib/gamba/transformation_stack.rb
|
|
147
|
+
- lib/gamba/true_type/cff_subset.rb
|
|
148
|
+
- lib/gamba/true_type/file.rb
|
|
149
|
+
- lib/gamba/true_type/open_type_layout.rb
|
|
150
|
+
- lib/gamba/true_type/simple_subsets.rb
|
|
151
|
+
- lib/gamba/true_type/subset.rb
|
|
152
|
+
- lib/gamba/version.rb
|
|
153
|
+
- lib/gamba/view.rb
|
|
154
|
+
- lib/pdf/core.rb
|
|
155
|
+
- lib/prawn-svg.rb
|
|
156
|
+
- lib/prawn.rb
|
|
157
|
+
- lib/prawn/measurement_extensions.rb
|
|
158
|
+
- lib/prawn/svg/attributes.rb
|
|
159
|
+
- lib/prawn/svg/attributes/clip_path.rb
|
|
160
|
+
- lib/prawn/svg/attributes/mask.rb
|
|
161
|
+
- lib/prawn/svg/attributes/opacity.rb
|
|
162
|
+
- lib/prawn/svg/attributes/space.rb
|
|
163
|
+
- lib/prawn/svg/attributes/stroke.rb
|
|
164
|
+
- lib/prawn/svg/attributes/transform.rb
|
|
165
|
+
- lib/prawn/svg/calculators/arc_to_bezier_curve.rb
|
|
166
|
+
- lib/prawn/svg/calculators/aspect_ratio.rb
|
|
167
|
+
- lib/prawn/svg/calculators/document_sizing.rb
|
|
168
|
+
- lib/prawn/svg/calculators/path_length.rb
|
|
169
|
+
- lib/prawn/svg/calculators/pixels.rb
|
|
170
|
+
- lib/prawn/svg/color.rb
|
|
171
|
+
- lib/prawn/svg/css/font_face_parser.rb
|
|
172
|
+
- lib/prawn/svg/css/font_family_parser.rb
|
|
173
|
+
- lib/prawn/svg/css/font_parser.rb
|
|
174
|
+
- lib/prawn/svg/css/selector_parser.rb
|
|
175
|
+
- lib/prawn/svg/css/stylesheets.rb
|
|
176
|
+
- lib/prawn/svg/css/values_parser.rb
|
|
177
|
+
- lib/prawn/svg/document.rb
|
|
178
|
+
- lib/prawn/svg/elements.rb
|
|
179
|
+
- lib/prawn/svg/elements/anchor.rb
|
|
180
|
+
- lib/prawn/svg/elements/base.rb
|
|
181
|
+
- lib/prawn/svg/elements/bbox_scaling.rb
|
|
182
|
+
- lib/prawn/svg/elements/call_duplicator.rb
|
|
183
|
+
- lib/prawn/svg/elements/circle.rb
|
|
184
|
+
- lib/prawn/svg/elements/clip_path.rb
|
|
185
|
+
- lib/prawn/svg/elements/container.rb
|
|
186
|
+
- lib/prawn/svg/elements/direct_render_base.rb
|
|
187
|
+
- lib/prawn/svg/elements/ellipse.rb
|
|
188
|
+
- lib/prawn/svg/elements/gradient.rb
|
|
189
|
+
- lib/prawn/svg/elements/ignored.rb
|
|
190
|
+
- lib/prawn/svg/elements/image.rb
|
|
191
|
+
- lib/prawn/svg/elements/line.rb
|
|
192
|
+
- lib/prawn/svg/elements/marker.rb
|
|
193
|
+
- lib/prawn/svg/elements/mask.rb
|
|
194
|
+
- lib/prawn/svg/elements/path.rb
|
|
195
|
+
- lib/prawn/svg/elements/pattern.rb
|
|
196
|
+
- lib/prawn/svg/elements/polygon.rb
|
|
197
|
+
- lib/prawn/svg/elements/polyline.rb
|
|
198
|
+
- lib/prawn/svg/elements/rect.rb
|
|
199
|
+
- lib/prawn/svg/elements/root.rb
|
|
200
|
+
- lib/prawn/svg/elements/switch.rb
|
|
201
|
+
- lib/prawn/svg/elements/text.rb
|
|
202
|
+
- lib/prawn/svg/elements/text_component.rb
|
|
203
|
+
- lib/prawn/svg/elements/text_node.rb
|
|
204
|
+
- lib/prawn/svg/elements/text_path.rb
|
|
205
|
+
- lib/prawn/svg/elements/use.rb
|
|
206
|
+
- lib/prawn/svg/elements/viewport.rb
|
|
207
|
+
- lib/prawn/svg/extension.rb
|
|
208
|
+
- lib/prawn/svg/font.rb
|
|
209
|
+
- lib/prawn/svg/font_metrics.rb
|
|
210
|
+
- lib/prawn/svg/font_registry.rb
|
|
211
|
+
- lib/prawn/svg/funciri.rb
|
|
212
|
+
- lib/prawn/svg/gradient_renderer.rb
|
|
213
|
+
- lib/prawn/svg/gradients.rb
|
|
214
|
+
- lib/prawn/svg/interface.rb
|
|
215
|
+
- lib/prawn/svg/length.rb
|
|
216
|
+
- lib/prawn/svg/link_renderer.rb
|
|
217
|
+
- lib/prawn/svg/loaders/data.rb
|
|
218
|
+
- lib/prawn/svg/loaders/file.rb
|
|
219
|
+
- lib/prawn/svg/loaders/web.rb
|
|
220
|
+
- lib/prawn/svg/paint.rb
|
|
221
|
+
- lib/prawn/svg/pathable.rb
|
|
222
|
+
- lib/prawn/svg/pattern_renderer.rb
|
|
223
|
+
- lib/prawn/svg/pdfmatrix.rb
|
|
224
|
+
- lib/prawn/svg/percentage.rb
|
|
225
|
+
- lib/prawn/svg/properties.rb
|
|
226
|
+
- lib/prawn/svg/renderer.rb
|
|
227
|
+
- lib/prawn/svg/state.rb
|
|
228
|
+
- lib/prawn/svg/transform_parser.rb
|
|
229
|
+
- lib/prawn/svg/ttc.rb
|
|
230
|
+
- lib/prawn/svg/ttf.rb
|
|
231
|
+
- lib/prawn/svg/url_loader.rb
|
|
232
|
+
- lib/prawn/svg/version.rb
|
|
233
|
+
- lib/prawn/table.rb
|
|
234
|
+
homepage: https://github.com/levups/gamba
|
|
235
|
+
licenses:
|
|
236
|
+
- Nonstandard
|
|
237
|
+
- GPL-2.0-only
|
|
238
|
+
- GPL-3.0-only
|
|
239
|
+
- MIT
|
|
240
|
+
metadata:
|
|
241
|
+
source_code_uri: https://github.com/levups/gamba
|
|
242
|
+
changelog_uri: https://github.com/levups/gamba/blob/main/CHANGELOG.md
|
|
243
|
+
documentation_uri: https://levups.github.io/gamba/
|
|
244
|
+
bug_tracker_uri: https://github.com/levups/gamba/issues
|
|
245
|
+
rubygems_mfa_required: 'true'
|
|
246
|
+
rdoc_options: []
|
|
247
|
+
require_paths:
|
|
248
|
+
- lib
|
|
249
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
250
|
+
requirements:
|
|
251
|
+
- - ">="
|
|
252
|
+
- !ruby/object:Gem::Version
|
|
253
|
+
version: '3.3'
|
|
254
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
255
|
+
requirements:
|
|
256
|
+
- - ">="
|
|
257
|
+
- !ruby/object:Gem::Version
|
|
258
|
+
version: '0'
|
|
259
|
+
requirements: []
|
|
260
|
+
rubygems_version: 4.0.24
|
|
261
|
+
specification_version: 4
|
|
262
|
+
summary: 'Prawn''s API, rewritten for speed: same pages, lighter files'
|
|
263
|
+
test_files: []
|