stationery 0.2.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.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +100 -1
  3. data/README.md +143 -12
  4. data/lib/stationery/builder.rb +2 -1
  5. data/lib/stationery/canvas/debug.rb +2 -1
  6. data/lib/stationery/canvas/marking.rb +124 -0
  7. data/lib/stationery/canvas/text.rb +5 -4
  8. data/lib/stationery/canvas.rb +37 -8
  9. data/lib/stationery/document.rb +35 -10
  10. data/lib/stationery/elements/forms.rb +55 -0
  11. data/lib/stationery/elements/lists.rb +15 -5
  12. data/lib/stationery/elements.rb +10 -7
  13. data/lib/stationery/fonts/font.rb +36 -20
  14. data/lib/stationery/fonts/font_book.rb +3 -0
  15. data/lib/stationery/fonts/glyph_run.rb +4 -3
  16. data/lib/stationery/fonts/gpos.rb +11 -9
  17. data/lib/stationery/fonts/gsub/ligature_subst.rb +44 -0
  18. data/lib/stationery/fonts/gsub.rb +65 -0
  19. data/lib/stationery/fonts/ligatures.rb +16 -0
  20. data/lib/stationery/fonts/registry.rb +18 -9
  21. data/lib/stationery/fonts/to_unicode.rb +1 -1
  22. data/lib/stationery/fonts/true_type.rb +36 -12
  23. data/lib/stationery/fonts/woff.rb +52 -0
  24. data/lib/stationery/forms/acro_form.rb +115 -0
  25. data/lib/stationery/forms/appearance.rb +119 -0
  26. data/lib/stationery/forms/field.rb +122 -0
  27. data/lib/stationery/forms/metrics.rb +49 -0
  28. data/lib/stationery/layout/box.rb +34 -11
  29. data/lib/stationery/layout/field.rb +51 -0
  30. data/lib/stationery/layout/flow.rb +17 -9
  31. data/lib/stationery/layout/image.rb +4 -2
  32. data/lib/stationery/layout/list_item.rb +15 -6
  33. data/lib/stationery/layout/node.rb +2 -0
  34. data/lib/stationery/layout/paginator.rb +3 -2
  35. data/lib/stationery/layout/row.rb +1 -1
  36. data/lib/stationery/layout/svg.rb +9 -2
  37. data/lib/stationery/layout/table/cell.rb +10 -2
  38. data/lib/stationery/layout/table.rb +42 -10
  39. data/lib/stationery/layout/table_of_contents/entry.rb +17 -9
  40. data/lib/stationery/layout/table_of_contents.rb +1 -1
  41. data/lib/stationery/layout/text.rb +6 -4
  42. data/lib/stationery/minitest.rb +2 -0
  43. data/lib/stationery/page.rb +5 -2
  44. data/lib/stationery/page_templates.rb +7 -4
  45. data/lib/stationery/pdf/assembler.rb +38 -5
  46. data/lib/stationery/pdf/encryption/aes.rb +37 -0
  47. data/lib/stationery/pdf/encryption/rc4.rb +33 -0
  48. data/lib/stationery/pdf/encryption/revision4.rb +48 -0
  49. data/lib/stationery/pdf/encryption/revision6.rb +56 -0
  50. data/lib/stationery/pdf/encryption/standard_security.rb +78 -0
  51. data/lib/stationery/pdf/serializer.rb +17 -9
  52. data/lib/stationery/pdf/writer.rb +24 -5
  53. data/lib/stationery/resources.rb +8 -2
  54. data/lib/stationery/rich/renderer.rb +3 -3
  55. data/lib/stationery/structure.rb +15 -9
  56. data/lib/stationery/svg/bounds.rb +76 -0
  57. data/lib/stationery/svg/document.rb +48 -18
  58. data/lib/stationery/svg/gradient.rb +115 -0
  59. data/lib/stationery/svg/painter.rb +70 -0
  60. data/lib/stationery/svg/parser.rb +24 -4
  61. data/lib/stationery/svg/selector.rb +37 -0
  62. data/lib/stationery/svg/shading.rb +34 -0
  63. data/lib/stationery/svg/style.rb +37 -20
  64. data/lib/stationery/svg/stylesheet.rb +47 -0
  65. data/lib/stationery/svg/text.rb +122 -0
  66. data/lib/stationery/svg/transform.rb +11 -0
  67. data/lib/stationery/tagging/element.rb +74 -0
  68. data/lib/stationery/tagging/tree.rb +43 -0
  69. data/lib/stationery/tagging/writer.rb +81 -0
  70. data/lib/stationery/testing/inspector.rb +15 -0
  71. data/lib/stationery/testing/marked_text.rb +60 -0
  72. data/lib/stationery/testing/matchers.rb +25 -0
  73. data/lib/stationery/testing/structure_reader.rb +71 -0
  74. data/lib/stationery/text/paragraph.rb +28 -12
  75. data/lib/stationery/text/style.rb +4 -2
  76. data/lib/stationery/text/wrapper.rb +2 -1
  77. data/lib/stationery/version.rb +1 -1
  78. data/lib/stationery/warnings.rb +8 -0
  79. data/lib/stationery.rb +26 -0
  80. metadata +29 -1
data/lib/stationery.rb CHANGED
@@ -5,8 +5,14 @@ require_relative "stationery/errors"
5
5
  require_relative "stationery/pdf/types"
6
6
  require_relative "stationery/pdf/serializer"
7
7
  require_relative "stationery/pdf/stream"
8
+ require_relative "stationery/pdf/encryption/rc4"
9
+ require_relative "stationery/pdf/encryption/aes"
10
+ require_relative "stationery/pdf/encryption/revision4"
11
+ require_relative "stationery/pdf/encryption/revision6"
12
+ require_relative "stationery/pdf/encryption/standard_security"
8
13
  require_relative "stationery/pdf/writer"
9
14
  require_relative "stationery/fonts/sfnt_metrics"
15
+ require_relative "stationery/fonts/woff"
10
16
  require_relative "stationery/fonts/true_type"
11
17
  require_relative "stationery/fonts/cff"
12
18
  require_relative "stationery/fonts/cff_subset"
@@ -18,6 +24,9 @@ require_relative "stationery/fonts/gpos/coverage"
18
24
  require_relative "stationery/fonts/gpos/class_def"
19
25
  require_relative "stationery/fonts/gpos/pair_pos"
20
26
  require_relative "stationery/fonts/kerning"
27
+ require_relative "stationery/fonts/gsub"
28
+ require_relative "stationery/fonts/gsub/ligature_subst"
29
+ require_relative "stationery/fonts/ligatures"
21
30
  require_relative "stationery/fonts/subset"
22
31
  require_relative "stationery/fonts/registry"
23
32
  require_relative "stationery/fonts/glyph_run"
@@ -40,11 +49,19 @@ require_relative "stationery/color"
40
49
  require_relative "stationery/geometry"
41
50
  require_relative "stationery/page"
42
51
  require_relative "stationery/resources"
52
+ require_relative "stationery/tagging/element"
53
+ require_relative "stationery/tagging/tree"
54
+ require_relative "stationery/tagging/writer"
43
55
  require_relative "stationery/canvas/path"
44
56
  require_relative "stationery/canvas/text"
45
57
  require_relative "stationery/canvas/debug"
58
+ require_relative "stationery/canvas/marking"
46
59
  require_relative "stationery/canvas"
47
60
  require_relative "stationery/pdf/outline_writer"
61
+ require_relative "stationery/forms/metrics"
62
+ require_relative "stationery/forms/field"
63
+ require_relative "stationery/forms/appearance"
64
+ require_relative "stationery/forms/acro_form"
48
65
  require_relative "stationery/pdf/assembler"
49
66
  require_relative "stationery/text/style"
50
67
  require_relative "stationery/fonts/fallback"
@@ -77,12 +94,20 @@ require_relative "stationery/svg/path_data"
77
94
  require_relative "stationery/svg/arc"
78
95
  require_relative "stationery/svg/parser"
79
96
  require_relative "stationery/svg/transform"
97
+ require_relative "stationery/svg/selector"
98
+ require_relative "stationery/svg/stylesheet"
80
99
  require_relative "stationery/svg/style"
81
100
  require_relative "stationery/svg/shapes"
101
+ require_relative "stationery/svg/bounds"
102
+ require_relative "stationery/svg/gradient"
103
+ require_relative "stationery/svg/shading"
104
+ require_relative "stationery/svg/painter"
105
+ require_relative "stationery/svg/text"
82
106
  require_relative "stationery/svg/document"
83
107
  require_relative "stationery/layout/svg"
84
108
  require_relative "stationery/layout/wrap"
85
109
  require_relative "stationery/layout/positioned"
110
+ require_relative "stationery/layout/field"
86
111
  require_relative "stationery/layout/list_item"
87
112
  require_relative "stationery/list_markers"
88
113
  require_relative "stationery/outline"
@@ -90,6 +115,7 @@ require_relative "stationery/builder"
90
115
  require_relative "stationery/elements"
91
116
  require_relative "stationery/elements/lists"
92
117
  require_relative "stationery/elements/rich"
118
+ require_relative "stationery/elements/forms"
93
119
  require_relative "stationery/component"
94
120
  require_relative "stationery/regions"
95
121
  require_relative "stationery/page_templates"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stationery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikael Henriksson
@@ -32,6 +32,7 @@ files:
32
32
  - lib/stationery/builder.rb
33
33
  - lib/stationery/canvas.rb
34
34
  - lib/stationery/canvas/debug.rb
35
+ - lib/stationery/canvas/marking.rb
35
36
  - lib/stationery/canvas/path.rb
36
37
  - lib/stationery/canvas/text.rb
37
38
  - lib/stationery/cli.rb
@@ -41,6 +42,7 @@ files:
41
42
  - lib/stationery/component.rb
42
43
  - lib/stationery/document.rb
43
44
  - lib/stationery/elements.rb
45
+ - lib/stationery/elements/forms.rb
44
46
  - lib/stationery/elements/lists.rb
45
47
  - lib/stationery/elements/rich.rb
46
48
  - lib/stationery/errors.rb
@@ -67,9 +69,12 @@ files:
67
69
  - lib/stationery/fonts/gpos/class_def.rb
68
70
  - lib/stationery/fonts/gpos/coverage.rb
69
71
  - lib/stationery/fonts/gpos/pair_pos.rb
72
+ - lib/stationery/fonts/gsub.rb
73
+ - lib/stationery/fonts/gsub/ligature_subst.rb
70
74
  - lib/stationery/fonts/installer.rb
71
75
  - lib/stationery/fonts/kern_table.rb
72
76
  - lib/stationery/fonts/kerning.rb
77
+ - lib/stationery/fonts/ligatures.rb
73
78
  - lib/stationery/fonts/name_table.rb
74
79
  - lib/stationery/fonts/packs.rb
75
80
  - lib/stationery/fonts/registry.rb
@@ -77,6 +82,11 @@ files:
77
82
  - lib/stationery/fonts/subset.rb
78
83
  - lib/stationery/fonts/to_unicode.rb
79
84
  - lib/stationery/fonts/true_type.rb
85
+ - lib/stationery/fonts/woff.rb
86
+ - lib/stationery/forms/acro_form.rb
87
+ - lib/stationery/forms/appearance.rb
88
+ - lib/stationery/forms/field.rb
89
+ - lib/stationery/forms/metrics.rb
80
90
  - lib/stationery/geometry.rb
81
91
  - lib/stationery/html/document.rb
82
92
  - lib/stationery/html/tokenizer.rb
@@ -90,6 +100,7 @@ files:
90
100
  - lib/stationery/images/png.rb
91
101
  - lib/stationery/images/scanlines.rb
92
102
  - lib/stationery/layout/box.rb
103
+ - lib/stationery/layout/field.rb
93
104
  - lib/stationery/layout/flow.rb
94
105
  - lib/stationery/layout/image.rb
95
106
  - lib/stationery/layout/leaves.rb
@@ -124,6 +135,11 @@ files:
124
135
  - lib/stationery/page.rb
125
136
  - lib/stationery/page_templates.rb
126
137
  - lib/stationery/pdf/assembler.rb
138
+ - lib/stationery/pdf/encryption/aes.rb
139
+ - lib/stationery/pdf/encryption/rc4.rb
140
+ - lib/stationery/pdf/encryption/revision4.rb
141
+ - lib/stationery/pdf/encryption/revision6.rb
142
+ - lib/stationery/pdf/encryption/standard_security.rb
127
143
  - lib/stationery/pdf/outline_writer.rb
128
144
  - lib/stationery/pdf/serializer.rb
129
145
  - lib/stationery/pdf/stream.rb
@@ -142,14 +158,26 @@ files:
142
158
  - lib/stationery/rspec.rb
143
159
  - lib/stationery/structure.rb
144
160
  - lib/stationery/svg/arc.rb
161
+ - lib/stationery/svg/bounds.rb
145
162
  - lib/stationery/svg/document.rb
163
+ - lib/stationery/svg/gradient.rb
164
+ - lib/stationery/svg/painter.rb
146
165
  - lib/stationery/svg/parser.rb
147
166
  - lib/stationery/svg/path_data.rb
167
+ - lib/stationery/svg/selector.rb
168
+ - lib/stationery/svg/shading.rb
148
169
  - lib/stationery/svg/shapes.rb
149
170
  - lib/stationery/svg/style.rb
171
+ - lib/stationery/svg/stylesheet.rb
172
+ - lib/stationery/svg/text.rb
150
173
  - lib/stationery/svg/transform.rb
174
+ - lib/stationery/tagging/element.rb
175
+ - lib/stationery/tagging/tree.rb
176
+ - lib/stationery/tagging/writer.rb
151
177
  - lib/stationery/testing/inspector.rb
178
+ - lib/stationery/testing/marked_text.rb
152
179
  - lib/stationery/testing/matchers.rb
180
+ - lib/stationery/testing/structure_reader.rb
153
181
  - lib/stationery/text/entities.rb
154
182
  - lib/stationery/text/entities/html4.rb
155
183
  - lib/stationery/text/line.rb