prawn-layout 0.3.2 → 0.7.1

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 (292) hide show
  1. data/README +1 -0
  2. data/Rakefile +6 -3
  3. data/lib/prawn/layout.rb +1 -1
  4. data/lib/prawn/layout/page.rb +0 -40
  5. data/lib/prawn/table/cell.rb +15 -13
  6. metadata +31 -309
  7. data/examples/page_layout/flowing_text_with_header_and_footer.rb +0 -36
  8. data/spec/page_layout_spec.rb +0 -41
  9. data/vendor/prawn-core/COPYING +0 -340
  10. data/vendor/prawn-core/HACKING +0 -46
  11. data/vendor/prawn-core/LICENSE +0 -56
  12. data/vendor/prawn-core/README +0 -142
  13. data/vendor/prawn-core/Rakefile +0 -75
  14. data/vendor/prawn-core/bench/afm_text_bench.rb +0 -18
  15. data/vendor/prawn-core/bench/png_type_6.rb +0 -15
  16. data/vendor/prawn-core/bench/ttf_text_bench.rb +0 -19
  17. data/vendor/prawn-core/bugs/canvas_sets_y_to_0.rb +0 -15
  18. data/vendor/prawn-core/bugs/png_barcode_issue.rb +0 -11
  19. data/vendor/prawn-core/bugs/resolved/canvas_sets_y_to_0.rb +0 -15
  20. data/vendor/prawn-core/data/encodings/win_ansi.txt +0 -29
  21. data/vendor/prawn-core/data/fonts/Action Man.dfont +0 -0
  22. data/vendor/prawn-core/data/fonts/Activa.ttf +0 -0
  23. data/vendor/prawn-core/data/fonts/Chalkboard.ttf +0 -0
  24. data/vendor/prawn-core/data/fonts/Courier-Bold.afm +0 -342
  25. data/vendor/prawn-core/data/fonts/Courier-BoldOblique.afm +0 -342
  26. data/vendor/prawn-core/data/fonts/Courier-Oblique.afm +0 -342
  27. data/vendor/prawn-core/data/fonts/Courier.afm +0 -342
  28. data/vendor/prawn-core/data/fonts/DejaVuSans.ttf +0 -0
  29. data/vendor/prawn-core/data/fonts/Dustismo_Roman.ttf +0 -0
  30. data/vendor/prawn-core/data/fonts/Helvetica-Bold.afm +0 -2827
  31. data/vendor/prawn-core/data/fonts/Helvetica-BoldOblique.afm +0 -2827
  32. data/vendor/prawn-core/data/fonts/Helvetica-Oblique.afm +0 -3051
  33. data/vendor/prawn-core/data/fonts/Helvetica.afm +0 -3051
  34. data/vendor/prawn-core/data/fonts/MustRead.html +0 -19
  35. data/vendor/prawn-core/data/fonts/Symbol.afm +0 -213
  36. data/vendor/prawn-core/data/fonts/Times-Bold.afm +0 -2588
  37. data/vendor/prawn-core/data/fonts/Times-BoldItalic.afm +0 -2384
  38. data/vendor/prawn-core/data/fonts/Times-Italic.afm +0 -2667
  39. data/vendor/prawn-core/data/fonts/Times-Roman.afm +0 -2419
  40. data/vendor/prawn-core/data/fonts/ZapfDingbats.afm +0 -225
  41. data/vendor/prawn-core/data/fonts/comicsans.ttf +0 -0
  42. data/vendor/prawn-core/data/fonts/gkai00mp.ttf +0 -0
  43. data/vendor/prawn-core/data/images/16bit.alpha +0 -0
  44. data/vendor/prawn-core/data/images/16bit.dat +0 -0
  45. data/vendor/prawn-core/data/images/16bit.png +0 -0
  46. data/vendor/prawn-core/data/images/arrow.png +0 -0
  47. data/vendor/prawn-core/data/images/arrow2.png +0 -0
  48. data/vendor/prawn-core/data/images/barcode_issue.png +0 -0
  49. data/vendor/prawn-core/data/images/dice.alpha +0 -0
  50. data/vendor/prawn-core/data/images/dice.dat +0 -0
  51. data/vendor/prawn-core/data/images/dice.png +0 -0
  52. data/vendor/prawn-core/data/images/dice_interlaced.png +0 -0
  53. data/vendor/prawn-core/data/images/fractal.jpg +0 -0
  54. data/vendor/prawn-core/data/images/letterhead.jpg +0 -0
  55. data/vendor/prawn-core/data/images/page_white_text.alpha +0 -0
  56. data/vendor/prawn-core/data/images/page_white_text.dat +0 -0
  57. data/vendor/prawn-core/data/images/page_white_text.png +0 -0
  58. data/vendor/prawn-core/data/images/pigs.jpg +0 -0
  59. data/vendor/prawn-core/data/images/rails.dat +0 -0
  60. data/vendor/prawn-core/data/images/rails.png +0 -0
  61. data/vendor/prawn-core/data/images/ruport.png +0 -0
  62. data/vendor/prawn-core/data/images/ruport_data.dat +0 -0
  63. data/vendor/prawn-core/data/images/ruport_transparent.png +0 -0
  64. data/vendor/prawn-core/data/images/ruport_type0.png +0 -0
  65. data/vendor/prawn-core/data/images/stef.jpg +0 -0
  66. data/vendor/prawn-core/data/images/tru256.bmp +0 -0
  67. data/vendor/prawn-core/data/images/web-links.dat +0 -1
  68. data/vendor/prawn-core/data/images/web-links.png +0 -0
  69. data/vendor/prawn-core/data/shift_jis_text.txt +0 -1
  70. data/vendor/prawn-core/examples/bounding_box/bounding_boxes.rb +0 -43
  71. data/vendor/prawn-core/examples/bounding_box/indentation.rb +0 -34
  72. data/vendor/prawn-core/examples/bounding_box/russian_boxes.rb +0 -36
  73. data/vendor/prawn-core/examples/bounding_box/stretched_nesting.rb +0 -67
  74. data/vendor/prawn-core/examples/column_box/column_box_example.rb +0 -43
  75. data/vendor/prawn-core/examples/example_helper.rb +0 -3
  76. data/vendor/prawn-core/examples/general/background.rb +0 -23
  77. data/vendor/prawn-core/examples/general/canvas.rb +0 -15
  78. data/vendor/prawn-core/examples/general/margin.rb +0 -36
  79. data/vendor/prawn-core/examples/general/measurement_units.rb +0 -51
  80. data/vendor/prawn-core/examples/general/metadata-info.rb +0 -16
  81. data/vendor/prawn-core/examples/general/multi_page_layout.rb +0 -18
  82. data/vendor/prawn-core/examples/general/page_geometry.rb +0 -31
  83. data/vendor/prawn-core/examples/general/page_numbering.rb +0 -15
  84. data/vendor/prawn-core/examples/general/stamp.rb +0 -45
  85. data/vendor/prawn-core/examples/graphics/basic_images.rb +0 -23
  86. data/vendor/prawn-core/examples/graphics/cmyk.rb +0 -12
  87. data/vendor/prawn-core/examples/graphics/curves.rb +0 -11
  88. data/vendor/prawn-core/examples/graphics/hexagon.rb +0 -13
  89. data/vendor/prawn-core/examples/graphics/image_fit.rb +0 -15
  90. data/vendor/prawn-core/examples/graphics/image_flow.rb +0 -37
  91. data/vendor/prawn-core/examples/graphics/image_position.rb +0 -17
  92. data/vendor/prawn-core/examples/graphics/line.rb +0 -32
  93. data/vendor/prawn-core/examples/graphics/png_types.rb +0 -22
  94. data/vendor/prawn-core/examples/graphics/polygons.rb +0 -16
  95. data/vendor/prawn-core/examples/graphics/remote_images.rb +0 -12
  96. data/vendor/prawn-core/examples/graphics/ruport_style_helpers.rb +0 -19
  97. data/vendor/prawn-core/examples/graphics/stroke_bounds.rb +0 -20
  98. data/vendor/prawn-core/examples/graphics/stroke_cap_and_join.rb +0 -45
  99. data/vendor/prawn-core/examples/graphics/stroke_dash.rb +0 -42
  100. data/vendor/prawn-core/examples/graphics/transparency.rb +0 -26
  101. data/vendor/prawn-core/examples/m17n/chinese_text_wrapping.rb +0 -19
  102. data/vendor/prawn-core/examples/m17n/euro.rb +0 -15
  103. data/vendor/prawn-core/examples/m17n/sjis.rb +0 -28
  104. data/vendor/prawn-core/examples/m17n/utf8.rb +0 -13
  105. data/vendor/prawn-core/examples/m17n/win_ansi_charset.rb +0 -54
  106. data/vendor/prawn-core/examples/text/alignment.rb +0 -18
  107. data/vendor/prawn-core/examples/text/dfont.rb +0 -48
  108. data/vendor/prawn-core/examples/text/family_based_styling.rb +0 -24
  109. data/vendor/prawn-core/examples/text/font_calculations.rb +0 -91
  110. data/vendor/prawn-core/examples/text/font_size.rb +0 -33
  111. data/vendor/prawn-core/examples/text/kerning.rb +0 -30
  112. data/vendor/prawn-core/examples/text/simple_text.rb +0 -17
  113. data/vendor/prawn-core/examples/text/simple_text_ttf.rb +0 -17
  114. data/vendor/prawn-core/examples/text/span.rb +0 -29
  115. data/vendor/prawn-core/examples/text/text_box.rb +0 -25
  116. data/vendor/prawn-core/examples/text/text_box_returning_excess.rb +0 -51
  117. data/vendor/prawn-core/examples/text/text_flow.rb +0 -67
  118. data/vendor/prawn-core/lib/prawn/byte_string.rb +0 -7
  119. data/vendor/prawn-core/lib/prawn/compatibility.rb +0 -38
  120. data/vendor/prawn-core/lib/prawn/core.rb +0 -85
  121. data/vendor/prawn-core/lib/prawn/document.rb +0 -534
  122. data/vendor/prawn-core/lib/prawn/document/annotations.rb +0 -65
  123. data/vendor/prawn-core/lib/prawn/document/bounding_box.rb +0 -390
  124. data/vendor/prawn-core/lib/prawn/document/column_box.rb +0 -102
  125. data/vendor/prawn-core/lib/prawn/document/destinations.rb +0 -92
  126. data/vendor/prawn-core/lib/prawn/document/internals.rb +0 -180
  127. data/vendor/prawn-core/lib/prawn/document/page_geometry.rb +0 -153
  128. data/vendor/prawn-core/lib/prawn/document/snapshot.rb +0 -71
  129. data/vendor/prawn-core/lib/prawn/document/span.rb +0 -55
  130. data/vendor/prawn-core/lib/prawn/document/text.rb +0 -184
  131. data/vendor/prawn-core/lib/prawn/document/text/box.rb +0 -90
  132. data/vendor/prawn-core/lib/prawn/document/text/wrapping.rb +0 -62
  133. data/vendor/prawn-core/lib/prawn/encoding.rb +0 -121
  134. data/vendor/prawn-core/lib/prawn/errors.rb +0 -61
  135. data/vendor/prawn-core/lib/prawn/font.rb +0 -297
  136. data/vendor/prawn-core/lib/prawn/font/afm.rb +0 -202
  137. data/vendor/prawn-core/lib/prawn/font/dfont.rb +0 -34
  138. data/vendor/prawn-core/lib/prawn/font/ttf.rb +0 -329
  139. data/vendor/prawn-core/lib/prawn/graphics.rb +0 -264
  140. data/vendor/prawn-core/lib/prawn/graphics/cap_style.rb +0 -35
  141. data/vendor/prawn-core/lib/prawn/graphics/color.rb +0 -141
  142. data/vendor/prawn-core/lib/prawn/graphics/dash.rb +0 -69
  143. data/vendor/prawn-core/lib/prawn/graphics/join_style.rb +0 -35
  144. data/vendor/prawn-core/lib/prawn/graphics/transparency.rb +0 -56
  145. data/vendor/prawn-core/lib/prawn/images.rb +0 -339
  146. data/vendor/prawn-core/lib/prawn/images/jpg.rb +0 -46
  147. data/vendor/prawn-core/lib/prawn/images/png.rb +0 -219
  148. data/vendor/prawn-core/lib/prawn/literal_string.rb +0 -14
  149. data/vendor/prawn-core/lib/prawn/measurement_extensions.rb +0 -46
  150. data/vendor/prawn-core/lib/prawn/measurements.rb +0 -71
  151. data/vendor/prawn-core/lib/prawn/name_tree.rb +0 -166
  152. data/vendor/prawn-core/lib/prawn/object_store.rb +0 -63
  153. data/vendor/prawn-core/lib/prawn/pdf_object.rb +0 -81
  154. data/vendor/prawn-core/lib/prawn/reference.rb +0 -72
  155. data/vendor/prawn-core/lib/prawn/stamp.rb +0 -87
  156. data/vendor/prawn-core/meta/Rakefile +0 -62
  157. data/vendor/prawn-core/meta/lib/prawn.rb +0 -2
  158. data/vendor/prawn-core/reference_pdfs/alignment.pdf +0 -229
  159. data/vendor/prawn-core/reference_pdfs/background.pdf +0 -0
  160. data/vendor/prawn-core/reference_pdfs/basic_images.pdf +0 -0
  161. data/vendor/prawn-core/reference_pdfs/bounding_boxes.pdf +0 -128
  162. data/vendor/prawn-core/reference_pdfs/canvas.pdf +0 -78
  163. data/vendor/prawn-core/reference_pdfs/chinese_flow.pdf +0 -0
  164. data/vendor/prawn-core/reference_pdfs/cmyk.pdf +0 -0
  165. data/vendor/prawn-core/reference_pdfs/column_box.pdf +0 -3671
  166. data/vendor/prawn-core/reference_pdfs/curves.pdf +0 -62
  167. data/vendor/prawn-core/reference_pdfs/dfont.pdf +0 -0
  168. data/vendor/prawn-core/reference_pdfs/euro.pdf +0 -75
  169. data/vendor/prawn-core/reference_pdfs/family_style.pdf +0 -286
  170. data/vendor/prawn-core/reference_pdfs/flow.pdf +0 -964
  171. data/vendor/prawn-core/reference_pdfs/font_calculations.pdf +0 -0
  172. data/vendor/prawn-core/reference_pdfs/font_size.pdf +0 -142
  173. data/vendor/prawn-core/reference_pdfs/hexagon.pdf +0 -61
  174. data/vendor/prawn-core/reference_pdfs/image-flow.pdf +0 -0
  175. data/vendor/prawn-core/reference_pdfs/image_fit.pdf +0 -0
  176. data/vendor/prawn-core/reference_pdfs/image_position.pdf +0 -0
  177. data/vendor/prawn-core/reference_pdfs/indentation.pdf +0 -124
  178. data/vendor/prawn-core/reference_pdfs/kerning.pdf +0 -0
  179. data/vendor/prawn-core/reference_pdfs/landscape_a4.pdf +0 -52
  180. data/vendor/prawn-core/reference_pdfs/landscape_legal.pdf +0 -52
  181. data/vendor/prawn-core/reference_pdfs/landscape_letter.pdf +0 -52
  182. data/vendor/prawn-core/reference_pdfs/lines.pdf +0 -116
  183. data/vendor/prawn-core/reference_pdfs/margin.pdf +0 -3850
  184. data/vendor/prawn-core/reference_pdfs/measurement_units.pdf +0 -4667
  185. data/vendor/prawn-core/reference_pdfs/metadata-info.pdf +0 -88
  186. data/vendor/prawn-core/reference_pdfs/multi-layout.pdf +0 -209
  187. data/vendor/prawn-core/reference_pdfs/page_with_numbering.pdf +0 -156
  188. data/vendor/prawn-core/reference_pdfs/png_types.pdf +0 -0
  189. data/vendor/prawn-core/reference_pdfs/portrait_a4.pdf +0 -52
  190. data/vendor/prawn-core/reference_pdfs/portrait_legal.pdf +0 -52
  191. data/vendor/prawn-core/reference_pdfs/portrait_letter.pdf +0 -52
  192. data/vendor/prawn-core/reference_pdfs/pretty_polygons.pdf +0 -122
  193. data/vendor/prawn-core/reference_pdfs/remote_images.pdf +0 -0
  194. data/vendor/prawn-core/reference_pdfs/ruport.pdf +0 -101
  195. data/vendor/prawn-core/reference_pdfs/russian_boxes.pdf +0 -2780
  196. data/vendor/prawn-core/reference_pdfs/simple_text.pdf +0 -136
  197. data/vendor/prawn-core/reference_pdfs/simple_text_ttf.pdf +0 -0
  198. data/vendor/prawn-core/reference_pdfs/sjis.pdf +0 -0
  199. data/vendor/prawn-core/reference_pdfs/span.pdf +0 -1975
  200. data/vendor/prawn-core/reference_pdfs/stamp.pdf +0 -696
  201. data/vendor/prawn-core/reference_pdfs/stretched_nesting.pdf +0 -200
  202. data/vendor/prawn-core/reference_pdfs/stroke_bounds.pdf +0 -135
  203. data/vendor/prawn-core/reference_pdfs/stroke_cap_and_join.pdf +0 -80
  204. data/vendor/prawn-core/reference_pdfs/stroke_dash.pdf +0 -457
  205. data/vendor/prawn-core/reference_pdfs/text_box.pdf +0 -315
  206. data/vendor/prawn-core/reference_pdfs/text_box_returning_excess.pdf +0 -271
  207. data/vendor/prawn-core/reference_pdfs/transparency.pdf +0 -347
  208. data/vendor/prawn-core/reference_pdfs/utf8.pdf +0 -0
  209. data/vendor/prawn-core/reference_pdfs/win-ansi.pdf +0 -6172
  210. data/vendor/prawn-core/spec/annotations_spec.rb +0 -90
  211. data/vendor/prawn-core/spec/bounding_box_spec.rb +0 -185
  212. data/vendor/prawn-core/spec/destinations_spec.rb +0 -15
  213. data/vendor/prawn-core/spec/document_spec.rb +0 -231
  214. data/vendor/prawn-core/spec/font_spec.rb +0 -273
  215. data/vendor/prawn-core/spec/graphics_spec.rb +0 -209
  216. data/vendor/prawn-core/spec/images_spec.rb +0 -79
  217. data/vendor/prawn-core/spec/jpg_spec.rb +0 -25
  218. data/vendor/prawn-core/spec/measurement_units_spec.rb +0 -23
  219. data/vendor/prawn-core/spec/name_tree_spec.rb +0 -112
  220. data/vendor/prawn-core/spec/object_store_spec.rb +0 -42
  221. data/vendor/prawn-core/spec/pdf_object_spec.rb +0 -122
  222. data/vendor/prawn-core/spec/png_spec.rb +0 -236
  223. data/vendor/prawn-core/spec/reference_spec.rb +0 -82
  224. data/vendor/prawn-core/spec/snapshot_spec.rb +0 -115
  225. data/vendor/prawn-core/spec/span_spec.rb +0 -45
  226. data/vendor/prawn-core/spec/spec_helper.rb +0 -20
  227. data/vendor/prawn-core/spec/stamp_spec.rb +0 -98
  228. data/vendor/prawn-core/spec/stroke_styles_spec.rb +0 -152
  229. data/vendor/prawn-core/spec/text_box_spec.rb +0 -109
  230. data/vendor/prawn-core/spec/text_spec.rb +0 -185
  231. data/vendor/prawn-core/spec/transparency_spec.rb +0 -61
  232. data/vendor/prawn-core/vendor/pdf-inspector/README +0 -18
  233. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector.rb +0 -26
  234. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/extgstate.rb +0 -18
  235. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/graphics.rb +0 -119
  236. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/page.rb +0 -25
  237. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/text.rb +0 -31
  238. data/vendor/prawn-core/vendor/pdf-inspector/lib/pdf/inspector/xobject.rb +0 -19
  239. data/vendor/prawn-core/vendor/ttfunk/data/fonts/DejaVuSans.ttf +0 -0
  240. data/vendor/prawn-core/vendor/ttfunk/data/fonts/comicsans.ttf +0 -0
  241. data/vendor/prawn-core/vendor/ttfunk/example.rb +0 -45
  242. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk.rb +0 -102
  243. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/directory.rb +0 -17
  244. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/encoding/mac_roman.rb +0 -88
  245. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/encoding/windows_1252.rb +0 -69
  246. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/reader.rb +0 -44
  247. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/resource_file.rb +0 -78
  248. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset.rb +0 -18
  249. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/base.rb +0 -141
  250. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/mac_roman.rb +0 -46
  251. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/unicode.rb +0 -48
  252. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/unicode_8bit.rb +0 -63
  253. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset/windows_1252.rb +0 -51
  254. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/subset_collection.rb +0 -72
  255. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table.rb +0 -46
  256. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap.rb +0 -34
  257. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/format00.rb +0 -54
  258. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/format04.rb +0 -126
  259. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/cmap/subtable.rb +0 -79
  260. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf.rb +0 -64
  261. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf/compound.rb +0 -81
  262. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/glyf/simple.rb +0 -37
  263. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/head.rb +0 -44
  264. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/hhea.rb +0 -41
  265. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/hmtx.rb +0 -47
  266. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/kern.rb +0 -79
  267. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/kern/format0.rb +0 -62
  268. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/loca.rb +0 -43
  269. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/maxp.rb +0 -40
  270. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/name.rb +0 -119
  271. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/os2.rb +0 -78
  272. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post.rb +0 -91
  273. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format10.rb +0 -43
  274. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format20.rb +0 -35
  275. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format25.rb +0 -23
  276. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format30.rb +0 -17
  277. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/post/format40.rb +0 -17
  278. data/vendor/prawn-core/vendor/ttfunk/lib/ttfunk/table/simple.rb +0 -14
  279. data/vendor/prawn-core/www/index.html +0 -196
  280. data/vendor/prawn-core/www/media/bounding_boxes.pdf +0 -146
  281. data/vendor/prawn-core/www/media/bounding_boxes.png +0 -0
  282. data/vendor/prawn-core/www/media/bounding_boxes_out.png +0 -0
  283. data/vendor/prawn-core/www/media/fancy_table.pdf +0 -350
  284. data/vendor/prawn-core/www/media/image.pdf +0 -0
  285. data/vendor/prawn-core/www/media/images.png +0 -0
  286. data/vendor/prawn-core/www/media/prawn_logo.png +0 -0
  287. data/vendor/prawn-core/www/media/tables.png +0 -0
  288. data/vendor/prawn-core/www/media/utf8.pdf +0 -0
  289. data/vendor/prawn-core/www/media/utf8.png +0 -0
  290. data/vendor/prawn-core/www/prawn-Chinese.html +0 -113
  291. data/vendor/prawn-core/www/prawn.css +0 -86
  292. data/vendor/prawn-core/www/twilight.css +0 -266
@@ -1,72 +0,0 @@
1
- require 'ttfunk/subset'
2
-
3
- module TTFunk
4
- class SubsetCollection
5
- def initialize(original)
6
- @original = original
7
- @subsets = [Subset.for(@original, :mac_roman)]
8
- end
9
-
10
- def [](subset)
11
- @subsets[subset]
12
- end
13
-
14
- # +characters+ should be an array of UTF-16 characters
15
- def use(characters)
16
- characters.each do |char|
17
- covered = false
18
- @subsets.each_with_index do |subset, i|
19
- if subset.covers?(char)
20
- subset.use(char)
21
- covered = true
22
- break
23
- end
24
- end
25
-
26
- if !covered
27
- @subsets << Subset.for(@original, :unicode_8bit)
28
- @subsets.last.use(char)
29
- end
30
- end
31
- end
32
-
33
- # +characters+ should be an array of UTF-16 characters. Returns
34
- # an array of subset chunks, where each chunk is another array of
35
- # two elements. The first element is the subset number, and the
36
- # second element is the string of characters to render with that
37
- # font subset. The strings will be encoded for their subset font,
38
- # and so may not look (in the raw) like what was passed in, but
39
- # they will render correctly with the indicated subset font.
40
- def encode(characters)
41
- return [] if characters.empty?
42
-
43
- # TODO: probably would be more optimal to nix the #use method,
44
- # and merge it into this one, so it can be done in a single
45
- # pass instead of two passes.
46
- use(characters)
47
-
48
- parts = []
49
- current_subset = 0
50
- current_char = 0
51
- char = characters[current_char]
52
-
53
- loop do
54
- while @subsets[current_subset].includes?(char)
55
- char = @subsets[current_subset].from_unicode(char)
56
-
57
- if parts.empty? || parts.last[0] != current_subset
58
- parts << [current_subset, char.chr]
59
- else
60
- parts.last[1] << char
61
- end
62
-
63
- current_char += 1
64
- return parts if current_char >= characters.length
65
- char = characters[current_char]
66
- end
67
-
68
- current_subset = (current_subset + 1) % @subsets.length
69
- end
70
- end
71
- end
72
- end
@@ -1,46 +0,0 @@
1
- require 'ttfunk/reader'
2
-
3
- module TTFunk
4
- class Table
5
- include Reader
6
-
7
- attr_reader :file
8
- attr_reader :offset
9
- attr_reader :length
10
-
11
- def initialize(file)
12
- @file = file
13
-
14
- info = file.directory_info(tag)
15
-
16
- if info
17
- @offset = info[:offset]
18
- @length = info[:length]
19
-
20
- parse_from(@offset) { parse! }
21
- end
22
- end
23
-
24
- def exists?
25
- !@offset.nil?
26
- end
27
-
28
- def raw
29
- if exists?
30
- parse_from(offset) { io.read(length) }
31
- else
32
- nil
33
- end
34
- end
35
-
36
- def tag
37
- self.class.name.split(/::/).last.downcase
38
- end
39
-
40
- private
41
-
42
- def parse!
43
- # do nothing, by default
44
- end
45
- end
46
- end
@@ -1,34 +0,0 @@
1
- module TTFunk
2
- class Table
3
- class Cmap < Table
4
- attr_reader :version
5
- attr_reader :tables
6
-
7
- def self.encode(charmap, encoding)
8
- result = Cmap::Subtable.encode(charmap, encoding)
9
-
10
- # pack 'version' and 'table-count'
11
- result[:table] = [0, 1, result.delete(:subtable)].pack("nnA*")
12
- return result
13
- end
14
-
15
- def unicode
16
- @unicode ||= @tables.select { |table| table.unicode? }
17
- end
18
-
19
- private
20
-
21
- def parse!
22
- @version, table_count = read(4, "nn")
23
- @tables = []
24
-
25
- table_count.times do
26
- @tables << Cmap::Subtable.new(file, offset)
27
- end
28
- end
29
- end
30
-
31
- end
32
- end
33
-
34
- require 'ttfunk/table/cmap/subtable'
@@ -1,54 +0,0 @@
1
- require 'ttfunk/encoding/mac_roman'
2
- require 'ttfunk/encoding/windows_1252'
3
-
4
- module TTFunk
5
- class Table
6
- class Cmap
7
-
8
- module Format00
9
- attr_reader :language
10
- attr_reader :code_map
11
-
12
- # Expects a hash mapping character codes to glyph ids (where the
13
- # glyph ids are from the original font). Returns a hash including
14
- # a new map (:charmap) that maps the characters in charmap to a
15
- # another hash containing both the old (:old) and new (:new) glyph
16
- # ids. The returned hash also includes a :subtable key, which contains
17
- # the encoded subtable for the given charmap.
18
- def self.encode(charmap)
19
- next_id = 0
20
- glyph_indexes = Array.new(256, 0)
21
- glyph_map = { 0 => 0 }
22
-
23
- new_map = charmap.keys.sort.inject({}) do |map, code|
24
- glyph_map[charmap[code]] ||= next_id += 1
25
- map[code] = { :old => charmap[code], :new => glyph_map[charmap[code]] }
26
- glyph_indexes[code] = glyph_map[charmap[code]]
27
- map
28
- end
29
-
30
- # format, length, language, indices
31
- subtable = [0, 262, 0, *glyph_indexes].pack("nnnC*")
32
-
33
- { :charmap => new_map, :subtable => subtable, :max_glyph_id => next_id+1 }
34
- end
35
-
36
- def [](code)
37
- @code_map[code] || 0
38
- end
39
-
40
- def supported?
41
- true
42
- end
43
-
44
- private
45
-
46
- def parse_cmap!
47
- length, @language = read(4, "nn")
48
- @code_map = read(256, "C*")
49
- end
50
- end
51
-
52
- end
53
- end
54
- end
@@ -1,126 +0,0 @@
1
- module TTFunk
2
- class Table
3
- class Cmap
4
-
5
- module Format04
6
- attr_reader :language
7
- attr_reader :code_map
8
-
9
- # Expects a hash mapping character codes to glyph ids (where the
10
- # glyph ids are from the original font). Returns a hash including
11
- # a new map (:charmap) that maps the characters in charmap to a
12
- # another hash containing both the old (:old) and new (:new) glyph
13
- # ids. The returned hash also includes a :subtable key, which contains
14
- # the encoded subtable for the given charmap.
15
- def self.encode(charmap)
16
- end_codes = []
17
- start_codes = []
18
- next_id = 0
19
- last = difference = nil
20
-
21
- glyph_map = { 0 => 0 }
22
- new_map = charmap.keys.sort.inject({}) do |map, code|
23
- old = charmap[code]
24
- glyph_map[old] ||= next_id += 1
25
- map[code] = { :old => old, :new => glyph_map[old] }
26
-
27
- delta = glyph_map[old] - code
28
- if last.nil? || delta != difference
29
- end_codes << last if last
30
- start_codes << code
31
- difference = delta
32
- end
33
- last = code
34
-
35
- map
36
- end
37
-
38
- end_codes << last if last
39
- end_codes << 0xFFFF
40
- start_codes << 0xFFFF
41
- segcount = start_codes.length
42
-
43
- # build the conversion tables
44
- deltas = []
45
- range_offsets = []
46
- glyph_indices = []
47
-
48
- offset = 0
49
- start_codes.zip(end_codes).each_with_index do |(a, b), segment|
50
- if a == 0xFFFF
51
- deltas << 0
52
- range_offsets << 0
53
- break
54
- end
55
-
56
- start_glyph_id = new_map[a][:new]
57
- if a - start_glyph_id >= 0x8000
58
- deltas << 0
59
- range_offsets << 2 * (glyph_indices.length + segcount - segment)
60
- a.upto(b) { |code| glyph_indices << new_map[code][:new] }
61
- else
62
- deltas << -a + start_glyph_id
63
- range_offsets << 0
64
- end
65
- offset += 2
66
- end
67
-
68
- # format, length, language
69
- subtable = [4, 16 + 8 * segcount + 2 * glyph_indices.length, 0].pack("nnn")
70
-
71
- search_range = 2 * 2 ** (Math.log(segcount) / Math.log(2)).to_i
72
- entry_selector = (Math.log(search_range / 2) / Math.log(2)).to_i
73
- range_shift = (2 * segcount) - search_range
74
- subtable << [segcount * 2, search_range, entry_selector, range_shift].pack("nnnn")
75
-
76
- subtable << end_codes.pack("n*") << "\0\0" << start_codes.pack("n*")
77
- subtable << deltas.pack("n*") << range_offsets.pack("n*") << glyph_indices.pack("n*")
78
-
79
- { :charmap => new_map, :subtable => subtable, :max_glyph_id => next_id+1 }
80
- end
81
-
82
- def [](code)
83
- @code_map[code] || 0
84
- end
85
-
86
- def supported?
87
- true
88
- end
89
-
90
- private
91
-
92
- def parse_cmap!
93
- length, @language, segcount_x2 = read(6, "nnn")
94
- segcount = segcount_x2 / 2
95
-
96
- io.read(6) # skip searching hints
97
-
98
- end_code = read(segcount_x2, "n*")
99
- io.read(2) # skip reserved value
100
- start_code = read(segcount_x2, "n*")
101
- id_delta = read_signed(segcount)
102
- id_range_offset = read(segcount_x2, "n*")
103
-
104
- glyph_ids = read(length - io.pos + @offset, "n*")
105
-
106
- @code_map = {}
107
-
108
- end_code.each_with_index do |tail, i|
109
- start_code[i].upto(tail) do |code|
110
- if id_range_offset[i].zero?
111
- glyph_id = code + id_delta[i]
112
- else
113
- index = id_range_offset[i] / 2 + (code - start_code[i]) - (segcount - i)
114
- glyph_id = glyph_ids[index] || 0 # because some TTF fonts are broken
115
- glyph_id += id_delta[i] if glyph_id != 0
116
- end
117
-
118
- @code_map[code] = glyph_id & 0xFFFF
119
- end
120
- end
121
- end
122
- end
123
-
124
- end
125
- end
126
- end
@@ -1,79 +0,0 @@
1
- require 'ttfunk/reader'
2
-
3
- module TTFunk
4
- class Table
5
- class Cmap
6
- class Subtable
7
- include Reader
8
-
9
- attr_reader :platform_id
10
- attr_reader :encoding_id
11
- attr_reader :format
12
-
13
- ENCODING_MAPPINGS = {
14
- :mac_roman => { :platform_id => 1, :encoding_id => 0 },
15
- # use microsoft unicode, instead of generic unicode, for optimal windows support
16
- :unicode => { :platform_id => 3, :encoding_id => 1 }
17
- }
18
-
19
- def self.encode(charmap, encoding)
20
- case encoding
21
- when :mac_roman
22
- result = Format00.encode(charmap)
23
- when :unicode
24
- result = Format04.encode(charmap)
25
- else
26
- raise NotImplementedError, "encoding #{encoding.inspect} is not supported"
27
- end
28
-
29
- mapping = ENCODING_MAPPINGS[encoding]
30
-
31
- # platform-id, encoding-id, offset
32
- result[:subtable] = [mapping[:platform_id], mapping[:encoding_id],
33
- 12, result[:subtable]].pack("nnNA*")
34
-
35
- return result
36
- end
37
-
38
- def initialize(file, table_start)
39
- @file = file
40
- @platform_id, @encoding_id, @offset = read(8, "nnN")
41
- @offset += table_start
42
-
43
- parse_from(@offset) do
44
- @format = read(2, "n").first
45
-
46
- case @format
47
- when 0 then extend(TTFunk::Table::Cmap::Format00)
48
- when 4 then extend(TTFunk::Table::Cmap::Format04)
49
- end
50
-
51
- parse_cmap!
52
- end
53
- end
54
-
55
- def unicode?
56
- platform_id == 3 && encoding_id == 1 && format == 4 ||
57
- platform_id == 0 && format == 4
58
- end
59
-
60
- def supported?
61
- false
62
- end
63
-
64
- def [](code)
65
- raise NotImplementedError, "cmap format #{@format} is not supported"
66
- end
67
-
68
- private
69
-
70
- def parse_cmap!
71
- # do nothing...
72
- end
73
- end
74
- end
75
- end
76
- end
77
-
78
- require 'ttfunk/table/cmap/format00'
79
- require 'ttfunk/table/cmap/format04'
@@ -1,64 +0,0 @@
1
- require 'ttfunk/table'
2
-
3
- module TTFunk
4
- class Table
5
- class Glyf < Table
6
- # Accepts a hash mapping (old) glyph-ids to glyph objects, and a hash
7
- # mapping old glyph-ids to new glyph-ids.
8
- #
9
- # Returns a hash containing:
10
- #
11
- # * :table - a string representing the encoded 'glyf' table containing
12
- # the given glyphs.
13
- # * :offsets - an array of offsets for each glyph
14
- def self.encode(glyphs, new2old, old2new)
15
- result = { :table => "", :offsets => [] }
16
-
17
- new2old.keys.sort.each do |new_id|
18
- glyph = glyphs[new2old[new_id]]
19
- result[:offsets] << result[:table].length
20
- result[:table] << glyph.recode(old2new) if glyph
21
- end
22
-
23
- # include an offset at the end of the table, for use in computing the
24
- # size of the last glyph
25
- result[:offsets] << result[:table].length
26
- return result
27
- end
28
-
29
- def for(glyph_id)
30
- return @cache[glyph_id] if @cache.key?(glyph_id)
31
-
32
- index = file.glyph_locations.index_of(glyph_id)
33
- size = file.glyph_locations.size_of(glyph_id)
34
-
35
- if size.zero? # blank glyph, e.g. space character
36
- @cache[glyph_id] = nil
37
- return nil
38
- end
39
-
40
- parse_from(offset + index) do
41
- raw = io.read(size)
42
- number_of_contours, x_min, y_min, x_max, y_max = raw.unpack("n5").map { |i| to_signed(i) }
43
-
44
- @cache[glyph_id] = if number_of_contours == -1
45
- Compound.new(raw, x_min, y_min, x_max, y_max)
46
- else
47
- Simple.new(raw, number_of_contours, x_min, y_min, x_max, y_max)
48
- end
49
- end
50
- end
51
-
52
- private
53
-
54
- def parse!
55
- # because the glyf table is rather complex to parse, we defer
56
- # the parse until we need a specific glyf, and then cache it.
57
- @cache = {}
58
- end
59
- end
60
- end
61
- end
62
-
63
- require 'ttfunk/table/glyf/compound'
64
- require 'ttfunk/table/glyf/simple'