hexapdf 0.3.0 → 0.4.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 +4 -4
- data/CHANGELOG.md +68 -0
- data/CONTRIBUTERS +1 -1
- data/README.md +35 -4
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/data/hexapdf/cmap/83pv-RKSJ-H +314 -0
- data/data/hexapdf/cmap/90ms-RKSJ-H +259 -0
- data/data/hexapdf/cmap/90ms-RKSJ-V +156 -0
- data/data/hexapdf/cmap/90msp-RKSJ-H +257 -0
- data/data/hexapdf/cmap/90msp-RKSJ-V +155 -0
- data/data/hexapdf/cmap/90pv-RKSJ-H +355 -0
- data/data/hexapdf/cmap/Add-RKSJ-H +738 -0
- data/data/hexapdf/cmap/Add-RKSJ-V +135 -0
- data/data/hexapdf/cmap/Adobe-CNS1-UCS2 +18209 -0
- data/data/hexapdf/cmap/Adobe-GB1-UCS2 +14267 -0
- data/data/hexapdf/cmap/Adobe-Japan1-UCS2 +19159 -0
- data/data/hexapdf/cmap/Adobe-Korea1-UCS2 +9267 -0
- data/data/hexapdf/cmap/B5pc-H +337 -0
- data/data/hexapdf/cmap/B5pc-V +90 -0
- data/data/hexapdf/cmap/CNS-EUC-H +490 -0
- data/data/hexapdf/cmap/CNS-EUC-V +538 -0
- data/data/hexapdf/cmap/ETen-B5-H +343 -0
- data/data/hexapdf/cmap/ETen-B5-V +91 -0
- data/data/hexapdf/cmap/ETenms-B5-H +79 -0
- data/data/hexapdf/cmap/ETenms-B5-V +99 -0
- data/data/hexapdf/cmap/EUC-H +207 -0
- data/data/hexapdf/cmap/EUC-V +105 -0
- data/data/hexapdf/cmap/Ext-RKSJ-H +768 -0
- data/data/hexapdf/cmap/Ext-RKSJ-V +117 -0
- data/data/hexapdf/cmap/GB-EUC-H +173 -0
- data/data/hexapdf/cmap/GB-EUC-V +98 -0
- data/data/hexapdf/cmap/GBK-EUC-H +4273 -0
- data/data/hexapdf/cmap/GBK-EUC-V +97 -0
- data/data/hexapdf/cmap/GBK2K-H +5325 -0
- data/data/hexapdf/cmap/GBK2K-V +118 -0
- data/data/hexapdf/cmap/GBKp-EUC-H +4272 -0
- data/data/hexapdf/cmap/GBKp-EUC-V +97 -0
- data/data/hexapdf/cmap/GBpc-EUC-H +175 -0
- data/data/hexapdf/cmap/GBpc-EUC-V +98 -0
- data/data/hexapdf/cmap/H +200 -0
- data/data/hexapdf/cmap/HKscs-B5-H +1331 -0
- data/data/hexapdf/cmap/HKscs-B5-V +90 -0
- data/data/hexapdf/cmap/Identity-H +339 -0
- data/data/hexapdf/cmap/Identity-V +73 -0
- data/data/hexapdf/cmap/KSC-EUC-H +562 -0
- data/data/hexapdf/cmap/KSC-EUC-V +94 -0
- data/data/hexapdf/cmap/KSCms-UHC-H +776 -0
- data/data/hexapdf/cmap/KSCms-UHC-HW-H +775 -0
- data/data/hexapdf/cmap/KSCms-UHC-HW-V +93 -0
- data/data/hexapdf/cmap/KSCms-UHC-V +94 -0
- data/data/hexapdf/cmap/KSCpc-EUC-H +608 -0
- data/data/hexapdf/cmap/LICENSE.txt +26 -0
- data/data/hexapdf/cmap/README.txt +9 -0
- data/data/hexapdf/cmap/UniCNS-UCS2-H +16992 -0
- data/data/hexapdf/cmap/UniCNS-UCS2-V +90 -0
- data/data/hexapdf/cmap/UniCNS-UTF16-H +19117 -0
- data/data/hexapdf/cmap/UniCNS-UTF16-V +94 -0
- data/data/hexapdf/cmap/UniGB-UCS2-H +14321 -0
- data/data/hexapdf/cmap/UniGB-UCS2-V +101 -0
- data/data/hexapdf/cmap/UniGB-UTF16-H +14381 -0
- data/data/hexapdf/cmap/UniGB-UTF16-V +104 -0
- data/data/hexapdf/cmap/UniJIS-UCS2-H +8870 -0
- data/data/hexapdf/cmap/UniJIS-UCS2-HW-H +81 -0
- data/data/hexapdf/cmap/UniJIS-UCS2-HW-V +279 -0
- data/data/hexapdf/cmap/UniJIS-UCS2-V +275 -0
- data/data/hexapdf/cmap/UniJIS-UTF16-H +14450 -0
- data/data/hexapdf/cmap/UniJIS-UTF16-V +299 -0
- data/data/hexapdf/cmap/UniKS-UCS2-H +8725 -0
- data/data/hexapdf/cmap/UniKS-UCS2-V +95 -0
- data/data/hexapdf/cmap/UniKS-UTF16-H +8895 -0
- data/data/hexapdf/cmap/UniKS-UTF16-V +99 -0
- data/data/hexapdf/cmap/V +105 -0
- data/examples/arc.rb +3 -3
- data/examples/merging.rb +4 -1
- data/examples/optimizing.rb +3 -0
- data/examples/show_char_bboxes.rb +2 -2
- data/examples/truetype.rb +2 -2
- data/lib/hexapdf/cli.rb +40 -1
- data/lib/hexapdf/cli/batch.rb +72 -0
- data/lib/hexapdf/cli/command.rb +112 -15
- data/lib/hexapdf/cli/files.rb +2 -2
- data/lib/hexapdf/cli/images.rb +14 -6
- data/lib/hexapdf/cli/info.rb +6 -8
- data/lib/hexapdf/cli/inspect.rb +5 -8
- data/lib/hexapdf/cli/merge.rb +13 -20
- data/lib/hexapdf/cli/modify.rb +4 -7
- data/lib/hexapdf/cli/optimize.rb +2 -5
- data/lib/hexapdf/configuration.rb +32 -3
- data/lib/hexapdf/content/canvas.rb +130 -37
- data/lib/hexapdf/content/parser.rb +40 -6
- data/lib/hexapdf/content/processor.rb +4 -4
- data/lib/hexapdf/document.rb +40 -10
- data/lib/hexapdf/document/fonts.rb +1 -0
- data/lib/hexapdf/encryption/security_handler.rb +8 -12
- data/lib/hexapdf/filter/flate_decode.rb +25 -2
- data/lib/hexapdf/font/cmap.rb +124 -8
- data/lib/hexapdf/font/cmap/parser.rb +65 -15
- data/lib/hexapdf/font/encoding/base.rb +2 -2
- data/lib/hexapdf/font/encoding/glyph_list.rb +2 -4
- data/lib/hexapdf/font/true_type.rb +1 -0
- data/lib/hexapdf/font/true_type/builder.rb +75 -0
- data/lib/hexapdf/font/true_type/optimizer.rb +65 -0
- data/lib/hexapdf/font/true_type/subsetter.rb +9 -22
- data/lib/hexapdf/font/true_type_wrapper.rb +9 -21
- data/lib/hexapdf/font_loader.rb +1 -1
- data/lib/hexapdf/importer.rb +1 -1
- data/lib/hexapdf/serializer.rb +5 -3
- data/lib/hexapdf/type.rb +2 -0
- data/lib/hexapdf/type/cid_font.rb +120 -0
- data/lib/hexapdf/type/font.rb +32 -12
- data/lib/hexapdf/type/font_simple.rb +34 -42
- data/lib/hexapdf/type/font_type0.rb +148 -0
- data/lib/hexapdf/type/form.rb +4 -4
- data/lib/hexapdf/type/page.rb +12 -11
- data/lib/hexapdf/type/resources.rb +14 -0
- data/lib/hexapdf/utils/graphics_helpers.rb +77 -0
- data/lib/hexapdf/version.rb +1 -1
- data/man/man1/hexapdf.1 +43 -1
- data/test/hexapdf/content/test_canvas.rb +76 -0
- data/test/hexapdf/content/test_parser.rb +20 -1
- data/test/hexapdf/content/test_processor.rb +11 -7
- data/test/hexapdf/document/test_fonts.rb +3 -1
- data/test/hexapdf/font/cmap/test_parser.rb +42 -7
- data/test/hexapdf/font/encoding/test_base.rb +1 -1
- data/test/hexapdf/font/encoding/test_glyph_list.rb +3 -3
- data/test/hexapdf/font/test_cmap.rb +104 -0
- data/test/hexapdf/font/test_true_type_wrapper.rb +63 -46
- data/test/hexapdf/font/true_type/test_builder.rb +37 -0
- data/test/hexapdf/font/true_type/test_optimizer.rb +27 -0
- data/test/hexapdf/font/true_type/test_subsetter.rb +6 -13
- data/test/hexapdf/test_configuration.rb +12 -7
- data/test/hexapdf/test_document.rb +24 -0
- data/test/hexapdf/test_importer.rb +9 -1
- data/test/hexapdf/test_writer.rb +2 -2
- data/test/hexapdf/type/test_cid_font.rb +61 -0
- data/test/hexapdf/type/test_font.rb +31 -4
- data/test/hexapdf/type/test_font_simple.rb +6 -21
- data/test/hexapdf/type/test_font_type0.rb +114 -0
- data/test/hexapdf/type/test_resources.rb +17 -1
- data/test/hexapdf/utils/test_graphics_helpers.rb +29 -0
- metadata +82 -3
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
require 'test_helper'
|
|
4
|
+
require 'hexapdf/document'
|
|
5
|
+
require 'hexapdf/type/font_type0'
|
|
6
|
+
|
|
7
|
+
describe HexaPDF::Type::FontType0 do
|
|
8
|
+
before do
|
|
9
|
+
@doc = HexaPDF::Document.new
|
|
10
|
+
fd = @doc.add(Type: :FontDescriptor, FontBBox: [0, 1, 2, 3])
|
|
11
|
+
@cid_font = @doc.wrap(Type: :Font, Subtype: :CIDFontType2, W: [633, [100]], FontDescriptor: fd,
|
|
12
|
+
CIDSystemInfo: {Registry: 'Adobe', Ordering: 'Japan1', Supplement: 1})
|
|
13
|
+
@font = @doc.wrap(Type: :Font, Subtype: :Type0, Encoding: :H, DescendantFonts: [@cid_font])
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it "returns the correct writing mode" do
|
|
17
|
+
assert_equal(:horizontal, @font.writing_mode)
|
|
18
|
+
font = @doc.wrap(Type: :Font, Subtype: :Type0, Encoding: :V)
|
|
19
|
+
assert_equal(:vertical, font.writing_mode)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it "uses the descendant font for getting the width of a code point" do
|
|
23
|
+
assert_equal(100, @font.width(0x2121))
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it "uses the descendant font for getting the bounding box" do
|
|
27
|
+
assert_equal([0, 1, 2, 3], @font.bounding_box)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it "uses the descendant font for determining whether the font is embedded" do
|
|
31
|
+
refute(@font.embedded?)
|
|
32
|
+
@cid_font[:FontDescriptor][:FontFile2] = 5
|
|
33
|
+
assert(@font.embedded?)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
it "uses the descendant font for returning the embedded font file" do
|
|
37
|
+
@cid_font[:FontDescriptor][:FontFile2] = 5
|
|
38
|
+
assert_equal(5, @font.font_file)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
describe "word_spacing_applicable?" do
|
|
42
|
+
it "returns false if code point 32 is not a single-byte code point" do
|
|
43
|
+
refute(@font.word_spacing_applicable?)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
it "returns true if code point 32 is a single-byte code point" do
|
|
47
|
+
@font[:Encoding] = @doc.wrap({}, stream: <<-EOF)
|
|
48
|
+
begincodespacerange
|
|
49
|
+
<00> <ff>
|
|
50
|
+
endcodespacerange
|
|
51
|
+
EOF
|
|
52
|
+
assert(@font.word_spacing_applicable?)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
describe "handling of /Encoding value" do
|
|
58
|
+
it "can use predefined CMaps" do
|
|
59
|
+
assert_equal([0x2121], @font.decode("\x21\x21"))
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
it "can use custom CMaps" do
|
|
63
|
+
@font[:Encoding] = @doc.wrap({}, stream: <<-EOF)
|
|
64
|
+
begincodespacerange
|
|
65
|
+
<00> <ff>
|
|
66
|
+
endcodespacerange
|
|
67
|
+
EOF
|
|
68
|
+
assert_equal([0x41], @font.decode("\x41"))
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
it "raises an error if the /Encoding value is invalid" do
|
|
72
|
+
@font.delete(:Encoding)
|
|
73
|
+
assert_raises(HexaPDF::Error) { @font.decode("a") }
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
describe "decode" do
|
|
78
|
+
it "allows reading CIDs from string using the encoding CMap" do
|
|
79
|
+
assert_equal([0x2121, 0x7e7e], @font.decode("\x21\x21\x7e\x7e"))
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
it "fails if the string contains invalid codes" do
|
|
83
|
+
assert_raises(HexaPDF::Error) { @font.decode("a") }
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
describe "to_utf" do
|
|
88
|
+
it "uses the /ToUnicode CMap if it is available" do
|
|
89
|
+
@font[:ToUnicode] = @doc.add({}, stream: <<-EOF)
|
|
90
|
+
2 beginbfchar
|
|
91
|
+
<20> <0041>
|
|
92
|
+
endbfchar
|
|
93
|
+
EOF
|
|
94
|
+
assert_equal("A", @font.to_utf8(32))
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
describe "it uses a predefined UCS2 CMap" do
|
|
98
|
+
it "for predefined CMaps except Identity-H/-V" do
|
|
99
|
+
assert_equal("?", @font.to_utf8(32))
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
it "for CMaps with predefined character collections" do
|
|
103
|
+
@font[:Encoding] = @doc.add({}, stream: "")
|
|
104
|
+
assert_equal("?", @font.to_utf8(32))
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
it "calls the configured proc if no mapping is available" do
|
|
109
|
+
@font[:Encoding] = :"Identity-H"
|
|
110
|
+
@cid_font[:CIDSystemInfo][:Registry] = :Unknown
|
|
111
|
+
assert_raises(HexaPDF::Error) { @font.to_utf8(32) }
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
@@ -136,7 +136,7 @@ describe HexaPDF::Type::Resources do
|
|
|
136
136
|
end
|
|
137
137
|
end
|
|
138
138
|
|
|
139
|
-
describe "
|
|
139
|
+
describe "font" do
|
|
140
140
|
it "invokes the object_getter method" do
|
|
141
141
|
assert_method_invoked(@res, :object_getter, [:Font, :test]) do
|
|
142
142
|
@res.font(:test)
|
|
@@ -152,6 +152,22 @@ describe HexaPDF::Type::Resources do
|
|
|
152
152
|
end
|
|
153
153
|
end
|
|
154
154
|
|
|
155
|
+
describe "property_list" do
|
|
156
|
+
it "invokes the object_getter method" do
|
|
157
|
+
assert_method_invoked(@res, :object_getter, [:Properties, :test]) do
|
|
158
|
+
@res.property_list(:test)
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
describe "add_property_list" do
|
|
164
|
+
it "invokes the object_setter method" do
|
|
165
|
+
assert_method_invoked(@res, :object_setter, [:Properties, 'P', :test]) do
|
|
166
|
+
@res.add_property_list(:test)
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
end
|
|
170
|
+
|
|
155
171
|
describe "validation" do
|
|
156
172
|
it "assigns the default value if ProcSet is not set" do
|
|
157
173
|
@res.validate
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
require 'test_helper'
|
|
4
|
+
require 'hexapdf/utils/graphics_helpers'
|
|
5
|
+
|
|
6
|
+
describe HexaPDF::Utils::GraphicsHelpers do
|
|
7
|
+
include HexaPDF::Utils::GraphicsHelpers
|
|
8
|
+
|
|
9
|
+
describe "calculate_dimensions" do
|
|
10
|
+
it "returns the requested dimensions if both are specified" do
|
|
11
|
+
assert_equal([7, 8], calculate_dimensions(5, 6, rwidth: 7, rheight: 8))
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it "returns the requested width and an adjusted height" do
|
|
15
|
+
assert_equal([10, 12], calculate_dimensions(5, 6, rwidth: 10))
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it "returns the requested height and an adjusted width" do
|
|
19
|
+
assert_equal([10, 12], calculate_dimensions(5, 6, rheight: 12))
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
describe "point_on_line" do
|
|
24
|
+
it "returns the correct point" do
|
|
25
|
+
assert_equal([5, 5], point_on_line(0, 0, 10, 10, distance: Math.sqrt(50)))
|
|
26
|
+
assert_equal([5, 5], point_on_line(10, 10, 0, 0, distance: Math.sqrt(50)))
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hexapdf
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Thomas Leitner
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-
|
|
11
|
+
date: 2017-03-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cmdparse
|
|
@@ -85,6 +85,73 @@ files:
|
|
|
85
85
|
- data/hexapdf/afm/Times-Italic.afm
|
|
86
86
|
- data/hexapdf/afm/Times-Roman.afm
|
|
87
87
|
- data/hexapdf/afm/ZapfDingbats.afm
|
|
88
|
+
- data/hexapdf/cmap/83pv-RKSJ-H
|
|
89
|
+
- data/hexapdf/cmap/90ms-RKSJ-H
|
|
90
|
+
- data/hexapdf/cmap/90ms-RKSJ-V
|
|
91
|
+
- data/hexapdf/cmap/90msp-RKSJ-H
|
|
92
|
+
- data/hexapdf/cmap/90msp-RKSJ-V
|
|
93
|
+
- data/hexapdf/cmap/90pv-RKSJ-H
|
|
94
|
+
- data/hexapdf/cmap/Add-RKSJ-H
|
|
95
|
+
- data/hexapdf/cmap/Add-RKSJ-V
|
|
96
|
+
- data/hexapdf/cmap/Adobe-CNS1-UCS2
|
|
97
|
+
- data/hexapdf/cmap/Adobe-GB1-UCS2
|
|
98
|
+
- data/hexapdf/cmap/Adobe-Japan1-UCS2
|
|
99
|
+
- data/hexapdf/cmap/Adobe-Korea1-UCS2
|
|
100
|
+
- data/hexapdf/cmap/B5pc-H
|
|
101
|
+
- data/hexapdf/cmap/B5pc-V
|
|
102
|
+
- data/hexapdf/cmap/CNS-EUC-H
|
|
103
|
+
- data/hexapdf/cmap/CNS-EUC-V
|
|
104
|
+
- data/hexapdf/cmap/ETen-B5-H
|
|
105
|
+
- data/hexapdf/cmap/ETen-B5-V
|
|
106
|
+
- data/hexapdf/cmap/ETenms-B5-H
|
|
107
|
+
- data/hexapdf/cmap/ETenms-B5-V
|
|
108
|
+
- data/hexapdf/cmap/EUC-H
|
|
109
|
+
- data/hexapdf/cmap/EUC-V
|
|
110
|
+
- data/hexapdf/cmap/Ext-RKSJ-H
|
|
111
|
+
- data/hexapdf/cmap/Ext-RKSJ-V
|
|
112
|
+
- data/hexapdf/cmap/GB-EUC-H
|
|
113
|
+
- data/hexapdf/cmap/GB-EUC-V
|
|
114
|
+
- data/hexapdf/cmap/GBK-EUC-H
|
|
115
|
+
- data/hexapdf/cmap/GBK-EUC-V
|
|
116
|
+
- data/hexapdf/cmap/GBK2K-H
|
|
117
|
+
- data/hexapdf/cmap/GBK2K-V
|
|
118
|
+
- data/hexapdf/cmap/GBKp-EUC-H
|
|
119
|
+
- data/hexapdf/cmap/GBKp-EUC-V
|
|
120
|
+
- data/hexapdf/cmap/GBpc-EUC-H
|
|
121
|
+
- data/hexapdf/cmap/GBpc-EUC-V
|
|
122
|
+
- data/hexapdf/cmap/H
|
|
123
|
+
- data/hexapdf/cmap/HKscs-B5-H
|
|
124
|
+
- data/hexapdf/cmap/HKscs-B5-V
|
|
125
|
+
- data/hexapdf/cmap/Identity-H
|
|
126
|
+
- data/hexapdf/cmap/Identity-V
|
|
127
|
+
- data/hexapdf/cmap/KSC-EUC-H
|
|
128
|
+
- data/hexapdf/cmap/KSC-EUC-V
|
|
129
|
+
- data/hexapdf/cmap/KSCms-UHC-H
|
|
130
|
+
- data/hexapdf/cmap/KSCms-UHC-HW-H
|
|
131
|
+
- data/hexapdf/cmap/KSCms-UHC-HW-V
|
|
132
|
+
- data/hexapdf/cmap/KSCms-UHC-V
|
|
133
|
+
- data/hexapdf/cmap/KSCpc-EUC-H
|
|
134
|
+
- data/hexapdf/cmap/LICENSE.txt
|
|
135
|
+
- data/hexapdf/cmap/README.txt
|
|
136
|
+
- data/hexapdf/cmap/UniCNS-UCS2-H
|
|
137
|
+
- data/hexapdf/cmap/UniCNS-UCS2-V
|
|
138
|
+
- data/hexapdf/cmap/UniCNS-UTF16-H
|
|
139
|
+
- data/hexapdf/cmap/UniCNS-UTF16-V
|
|
140
|
+
- data/hexapdf/cmap/UniGB-UCS2-H
|
|
141
|
+
- data/hexapdf/cmap/UniGB-UCS2-V
|
|
142
|
+
- data/hexapdf/cmap/UniGB-UTF16-H
|
|
143
|
+
- data/hexapdf/cmap/UniGB-UTF16-V
|
|
144
|
+
- data/hexapdf/cmap/UniJIS-UCS2-H
|
|
145
|
+
- data/hexapdf/cmap/UniJIS-UCS2-HW-H
|
|
146
|
+
- data/hexapdf/cmap/UniJIS-UCS2-HW-V
|
|
147
|
+
- data/hexapdf/cmap/UniJIS-UCS2-V
|
|
148
|
+
- data/hexapdf/cmap/UniJIS-UTF16-H
|
|
149
|
+
- data/hexapdf/cmap/UniJIS-UTF16-V
|
|
150
|
+
- data/hexapdf/cmap/UniKS-UCS2-H
|
|
151
|
+
- data/hexapdf/cmap/UniKS-UCS2-V
|
|
152
|
+
- data/hexapdf/cmap/UniKS-UTF16-H
|
|
153
|
+
- data/hexapdf/cmap/UniKS-UTF16-V
|
|
154
|
+
- data/hexapdf/cmap/V
|
|
88
155
|
- data/hexapdf/encoding/glyphlist.txt
|
|
89
156
|
- data/hexapdf/encoding/zapfdingbats.txt
|
|
90
157
|
- examples/arc.rb
|
|
@@ -98,6 +165,7 @@ files:
|
|
|
98
165
|
- examples/truetype.rb
|
|
99
166
|
- lib/hexapdf.rb
|
|
100
167
|
- lib/hexapdf/cli.rb
|
|
168
|
+
- lib/hexapdf/cli/batch.rb
|
|
101
169
|
- lib/hexapdf/cli/command.rb
|
|
102
170
|
- lib/hexapdf/cli/files.rb
|
|
103
171
|
- lib/hexapdf/cli/images.rb
|
|
@@ -162,7 +230,9 @@ files:
|
|
|
162
230
|
- lib/hexapdf/font/encoding/win_ansi_encoding.rb
|
|
163
231
|
- lib/hexapdf/font/encoding/zapf_dingbats_encoding.rb
|
|
164
232
|
- lib/hexapdf/font/true_type.rb
|
|
233
|
+
- lib/hexapdf/font/true_type/builder.rb
|
|
165
234
|
- lib/hexapdf/font/true_type/font.rb
|
|
235
|
+
- lib/hexapdf/font/true_type/optimizer.rb
|
|
166
236
|
- lib/hexapdf/font/true_type/subsetter.rb
|
|
167
237
|
- lib/hexapdf/font/true_type/table.rb
|
|
168
238
|
- lib/hexapdf/font/true_type/table/cmap.rb
|
|
@@ -209,12 +279,14 @@ files:
|
|
|
209
279
|
- lib/hexapdf/tokenizer.rb
|
|
210
280
|
- lib/hexapdf/type.rb
|
|
211
281
|
- lib/hexapdf/type/catalog.rb
|
|
282
|
+
- lib/hexapdf/type/cid_font.rb
|
|
212
283
|
- lib/hexapdf/type/embedded_file.rb
|
|
213
284
|
- lib/hexapdf/type/file_specification.rb
|
|
214
285
|
- lib/hexapdf/type/font.rb
|
|
215
286
|
- lib/hexapdf/type/font_descriptor.rb
|
|
216
287
|
- lib/hexapdf/type/font_simple.rb
|
|
217
288
|
- lib/hexapdf/type/font_true_type.rb
|
|
289
|
+
- lib/hexapdf/type/font_type0.rb
|
|
218
290
|
- lib/hexapdf/type/font_type1.rb
|
|
219
291
|
- lib/hexapdf/type/form.rb
|
|
220
292
|
- lib/hexapdf/type/graphics_state_parameter.rb
|
|
@@ -230,6 +302,7 @@ files:
|
|
|
230
302
|
- lib/hexapdf/type/xref_stream.rb
|
|
231
303
|
- lib/hexapdf/utils/bit_field.rb
|
|
232
304
|
- lib/hexapdf/utils/bit_stream.rb
|
|
305
|
+
- lib/hexapdf/utils/graphics_helpers.rb
|
|
233
306
|
- lib/hexapdf/utils/lru_cache.rb
|
|
234
307
|
- lib/hexapdf/utils/math_helpers.rb
|
|
235
308
|
- lib/hexapdf/utils/object_hash.rb
|
|
@@ -348,6 +421,7 @@ files:
|
|
|
348
421
|
- test/hexapdf/font/encoding/test_difference_encoding.rb
|
|
349
422
|
- test/hexapdf/font/encoding/test_glyph_list.rb
|
|
350
423
|
- test/hexapdf/font/encoding/test_zapf_dingbats_encoding.rb
|
|
424
|
+
- test/hexapdf/font/test_cmap.rb
|
|
351
425
|
- test/hexapdf/font/test_encoding.rb
|
|
352
426
|
- test/hexapdf/font/test_true_type_wrapper.rb
|
|
353
427
|
- test/hexapdf/font/test_type1_wrapper.rb
|
|
@@ -364,7 +438,9 @@ files:
|
|
|
364
438
|
- test/hexapdf/font/true_type/table/test_name.rb
|
|
365
439
|
- test/hexapdf/font/true_type/table/test_os2.rb
|
|
366
440
|
- test/hexapdf/font/true_type/table/test_post.rb
|
|
441
|
+
- test/hexapdf/font/true_type/test_builder.rb
|
|
367
442
|
- test/hexapdf/font/true_type/test_font.rb
|
|
443
|
+
- test/hexapdf/font/true_type/test_optimizer.rb
|
|
368
444
|
- test/hexapdf/font/true_type/test_subsetter.rb
|
|
369
445
|
- test/hexapdf/font/true_type/test_table.rb
|
|
370
446
|
- test/hexapdf/font/type1/test_afm_parser.rb
|
|
@@ -397,11 +473,13 @@ files:
|
|
|
397
473
|
- test/hexapdf/test_writer.rb
|
|
398
474
|
- test/hexapdf/test_xref_section.rb
|
|
399
475
|
- test/hexapdf/type/test_catalog.rb
|
|
476
|
+
- test/hexapdf/type/test_cid_font.rb
|
|
400
477
|
- test/hexapdf/type/test_embedded_file.rb
|
|
401
478
|
- test/hexapdf/type/test_file_specification.rb
|
|
402
479
|
- test/hexapdf/type/test_font.rb
|
|
403
480
|
- test/hexapdf/type/test_font_descriptor.rb
|
|
404
481
|
- test/hexapdf/type/test_font_simple.rb
|
|
482
|
+
- test/hexapdf/type/test_font_type0.rb
|
|
405
483
|
- test/hexapdf/type/test_font_type1.rb
|
|
406
484
|
- test/hexapdf/type/test_form.rb
|
|
407
485
|
- test/hexapdf/type/test_image.rb
|
|
@@ -415,6 +493,7 @@ files:
|
|
|
415
493
|
- test/hexapdf/type/test_xref_stream.rb
|
|
416
494
|
- test/hexapdf/utils/test_bit_field.rb
|
|
417
495
|
- test/hexapdf/utils/test_bit_stream.rb
|
|
496
|
+
- test/hexapdf/utils/test_graphics_helpers.rb
|
|
418
497
|
- test/hexapdf/utils/test_lru_cache.rb
|
|
419
498
|
- test/hexapdf/utils/test_object_hash.rb
|
|
420
499
|
- test/hexapdf/utils/test_pdf_doc_encoding.rb
|
|
@@ -432,7 +511,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
432
511
|
requirements:
|
|
433
512
|
- - ">="
|
|
434
513
|
- !ruby/object:Gem::Version
|
|
435
|
-
version: '
|
|
514
|
+
version: '2.3'
|
|
436
515
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
437
516
|
requirements:
|
|
438
517
|
- - ">="
|