reportlab-enhanced 0.0.1__tar.gz

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 (413) hide show
  1. reportlab_enhanced-0.0.1/.hg_archival.txt +6 -0
  2. reportlab_enhanced-0.0.1/CHANGES.md +29 -0
  3. reportlab_enhanced-0.0.1/INSTALL.txt +1 -0
  4. reportlab_enhanced-0.0.1/LICENSE +57 -0
  5. reportlab_enhanced-0.0.1/MANIFEST.in +9 -0
  6. reportlab_enhanced-0.0.1/PKG-INFO +152 -0
  7. reportlab_enhanced-0.0.1/README.md +112 -0
  8. reportlab_enhanced-0.0.1/VERSION.txt +13 -0
  9. reportlab_enhanced-0.0.1/demos/colors/colortest.py +105 -0
  10. reportlab_enhanced-0.0.1/demos/gadflypaper/00readme.txt +3 -0
  11. reportlab_enhanced-0.0.1/demos/gadflypaper/gfe.py +902 -0
  12. reportlab_enhanced-0.0.1/demos/odyssey/00readme.txt +56 -0
  13. reportlab_enhanced-0.0.1/demos/odyssey/dodyssey.py +245 -0
  14. reportlab_enhanced-0.0.1/demos/odyssey/fodyssey.py +160 -0
  15. reportlab_enhanced-0.0.1/demos/odyssey/odyssey.py +142 -0
  16. reportlab_enhanced-0.0.1/demos/odyssey/odyssey.txt +212 -0
  17. reportlab_enhanced-0.0.1/demos/rlzope/readme.txt +73 -0
  18. reportlab_enhanced-0.0.1/demos/rlzope/rlzope.py +169 -0
  19. reportlab_enhanced-0.0.1/demos/stdfonts/00readme.txt +7 -0
  20. reportlab_enhanced-0.0.1/demos/stdfonts/stdfonts.py +73 -0
  21. reportlab_enhanced-0.0.1/demos/tests/testdemos.py +13 -0
  22. reportlab_enhanced-0.0.1/docs/00readme.txt +7 -0
  23. reportlab_enhanced-0.0.1/docs/Makefile +89 -0
  24. reportlab_enhanced-0.0.1/docs/genAll.py +46 -0
  25. reportlab_enhanced-0.0.1/docs/gen_epydoc +6 -0
  26. reportlab_enhanced-0.0.1/docs/i18n/__init__.py +29 -0
  27. reportlab_enhanced-0.0.1/docs/i18n/en.py +13 -0
  28. reportlab_enhanced-0.0.1/docs/i18n/zh_CN.py +14 -0
  29. reportlab_enhanced-0.0.1/docs/images/Edit_Prefs.gif +0 -0
  30. reportlab_enhanced-0.0.1/docs/images/Python_21.gif +0 -0
  31. reportlab_enhanced-0.0.1/docs/images/Python_21_HINT.gif +0 -0
  32. reportlab_enhanced-0.0.1/docs/images/fileExchange.gif +0 -0
  33. reportlab_enhanced-0.0.1/docs/images/jpn.gif +0 -0
  34. reportlab_enhanced-0.0.1/docs/images/jpnchars.jpg +0 -0
  35. reportlab_enhanced-0.0.1/docs/images/lj8100.jpg +0 -0
  36. reportlab_enhanced-0.0.1/docs/images/redsquare.png +0 -0
  37. reportlab_enhanced-0.0.1/docs/images/replogo.a85 +439 -0
  38. reportlab_enhanced-0.0.1/docs/images/replogo.gif +0 -0
  39. reportlab_enhanced-0.0.1/docs/images/testimg.gif +0 -0
  40. reportlab_enhanced-0.0.1/docs/make.bat +113 -0
  41. reportlab_enhanced-0.0.1/docs/reference/build.bat +3 -0
  42. reportlab_enhanced-0.0.1/docs/reference/genreference.py +31 -0
  43. reportlab_enhanced-0.0.1/docs/reference/reference.yml +312 -0
  44. reportlab_enhanced-0.0.1/docs/source/_static/basic.css +5 -0
  45. reportlab_enhanced-0.0.1/docs/source/_static/default.css +995 -0
  46. reportlab_enhanced-0.0.1/docs/source/_templates/layout.html +6 -0
  47. reportlab_enhanced-0.0.1/docs/source/_templates/page.html +35 -0
  48. reportlab_enhanced-0.0.1/docs/source/conf.py +198 -0
  49. reportlab_enhanced-0.0.1/docs/source/graphics.rst +97 -0
  50. reportlab_enhanced-0.0.1/docs/source/index.rst +30 -0
  51. reportlab_enhanced-0.0.1/docs/source/lib.rst +44 -0
  52. reportlab_enhanced-0.0.1/docs/source/pdfgen.rst +11 -0
  53. reportlab_enhanced-0.0.1/docs/source/platypus.rst +70 -0
  54. reportlab_enhanced-0.0.1/docs/userguide/app_demos.py +113 -0
  55. reportlab_enhanced-0.0.1/docs/userguide/ch1_intro.py +418 -0
  56. reportlab_enhanced-0.0.1/docs/userguide/ch2_graphics.py +1263 -0
  57. reportlab_enhanced-0.0.1/docs/userguide/ch2a_fonts.py +582 -0
  58. reportlab_enhanced-0.0.1/docs/userguide/ch3_pdffeatures.py +690 -0
  59. reportlab_enhanced-0.0.1/docs/userguide/ch4_platypus_concepts.py +514 -0
  60. reportlab_enhanced-0.0.1/docs/userguide/ch5_paragraphs.py +449 -0
  61. reportlab_enhanced-0.0.1/docs/userguide/ch6_tables.py +792 -0
  62. reportlab_enhanced-0.0.1/docs/userguide/ch7_custom.py +81 -0
  63. reportlab_enhanced-0.0.1/docs/userguide/genuserguide.py +132 -0
  64. reportlab_enhanced-0.0.1/docs/userguide/graph_charts.py +1459 -0
  65. reportlab_enhanced-0.0.1/docs/userguide/graph_concepts.py +364 -0
  66. reportlab_enhanced-0.0.1/docs/userguide/graph_intro.py +17 -0
  67. reportlab_enhanced-0.0.1/docs/userguide/graph_shapes.py +415 -0
  68. reportlab_enhanced-0.0.1/docs/userguide/graph_widgets.py +421 -0
  69. reportlab_enhanced-0.0.1/docs/userguide/testfile.txt +2 -0
  70. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/app_demos.py +110 -0
  71. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/ch1_intro.py +379 -0
  72. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/ch2_graphics_1.py +404 -0
  73. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/ch2_graphics_2.py +412 -0
  74. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/ch2_graphics_3.py +291 -0
  75. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/ch2a_fonts_1.py +376 -0
  76. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/ch2a_fonts_2.py +173 -0
  77. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/ch3_pdffeatures_1.py +409 -0
  78. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/ch3_pdffeatures_2.py +258 -0
  79. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/ch4_platypus_concepts.py +468 -0
  80. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/ch5_paragraphs.py +415 -0
  81. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/ch6_tables_1.py +390 -0
  82. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/ch6_tables_2.py +363 -0
  83. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/ch7_custom.py +75 -0
  84. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/graph_charts_1.py +499 -0
  85. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/graph_charts_2.py +373 -0
  86. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/graph_charts_3.py +468 -0
  87. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/graph_concepts.py +326 -0
  88. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/graph_intro.py +15 -0
  89. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/graph_shapes.py +389 -0
  90. reportlab_enhanced-0.0.1/docs/userguide/zh-CN/graph_widgets.py +392 -0
  91. reportlab_enhanced-0.0.1/docs/userguide_web/build.py +21 -0
  92. reportlab_enhanced-0.0.1/docs/userguide_web/mkdocs.yml +77 -0
  93. reportlab_enhanced-0.0.1/docs/userguide_web/py2md.py +347 -0
  94. reportlab_enhanced-0.0.1/pyproject.toml +62 -0
  95. reportlab_enhanced-0.0.1/setup.cfg +4 -0
  96. reportlab_enhanced-0.0.1/setup.py +241 -0
  97. reportlab_enhanced-0.0.1/src/reportlab/MANIFEST.in +6 -0
  98. reportlab_enhanced-0.0.1/src/reportlab/__init__.py +71 -0
  99. reportlab_enhanced-0.0.1/src/reportlab/fonts/00readme.txt +8 -0
  100. reportlab_enhanced-0.0.1/src/reportlab/fonts/DarkGarden-changelog.txt +14 -0
  101. reportlab_enhanced-0.0.1/src/reportlab/fonts/DarkGarden-copying-gpl.txt +339 -0
  102. reportlab_enhanced-0.0.1/src/reportlab/fonts/DarkGarden-copying.txt +26 -0
  103. reportlab_enhanced-0.0.1/src/reportlab/fonts/DarkGarden-readme.txt +106 -0
  104. reportlab_enhanced-0.0.1/src/reportlab/fonts/DarkGarden.sfd +11067 -0
  105. reportlab_enhanced-0.0.1/src/reportlab/fonts/DarkGardenMK.afm +429 -0
  106. reportlab_enhanced-0.0.1/src/reportlab/fonts/DarkGardenMK.pfb +0 -0
  107. reportlab_enhanced-0.0.1/src/reportlab/fonts/Vera.ttf +0 -0
  108. reportlab_enhanced-0.0.1/src/reportlab/fonts/VeraBI.ttf +0 -0
  109. reportlab_enhanced-0.0.1/src/reportlab/fonts/VeraBd.ttf +0 -0
  110. reportlab_enhanced-0.0.1/src/reportlab/fonts/VeraIt.ttf +0 -0
  111. reportlab_enhanced-0.0.1/src/reportlab/fonts/bitstream-vera-license.txt +124 -0
  112. reportlab_enhanced-0.0.1/src/reportlab/fonts/callig15.afm +191 -0
  113. reportlab_enhanced-0.0.1/src/reportlab/fonts/callig15.pfb +0 -0
  114. reportlab_enhanced-0.0.1/src/reportlab/fonts/hb-test.ttf +0 -0
  115. reportlab_enhanced-0.0.1/src/reportlab/graphics/__init__.py +6 -0
  116. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/README +59 -0
  117. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/TODO +24 -0
  118. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/__init__.py +152 -0
  119. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/code128.py +460 -0
  120. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/code39.py +244 -0
  121. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/code93.py +234 -0
  122. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/common.py +775 -0
  123. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/dmtx.py +273 -0
  124. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/eanbc.py +574 -0
  125. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/ecc200datamatrix.py +445 -0
  126. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/fourstate.py +77 -0
  127. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/lto.py +195 -0
  128. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/qr.py +197 -0
  129. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/qrencoder.py +1130 -0
  130. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/test.py +280 -0
  131. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/usps.py +232 -0
  132. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/usps4s.py +465 -0
  133. reportlab_enhanced-0.0.1/src/reportlab/graphics/barcode/widgets.py +357 -0
  134. reportlab_enhanced-0.0.1/src/reportlab/graphics/charts/__init__.py +5 -0
  135. reportlab_enhanced-0.0.1/src/reportlab/graphics/charts/areas.py +94 -0
  136. reportlab_enhanced-0.0.1/src/reportlab/graphics/charts/axes.py +2303 -0
  137. reportlab_enhanced-0.0.1/src/reportlab/graphics/charts/barcharts.py +2434 -0
  138. reportlab_enhanced-0.0.1/src/reportlab/graphics/charts/dotbox.py +165 -0
  139. reportlab_enhanced-0.0.1/src/reportlab/graphics/charts/doughnut.py +473 -0
  140. reportlab_enhanced-0.0.1/src/reportlab/graphics/charts/legends.py +647 -0
  141. reportlab_enhanced-0.0.1/src/reportlab/graphics/charts/linecharts.py +801 -0
  142. reportlab_enhanced-0.0.1/src/reportlab/graphics/charts/lineplots.py +1248 -0
  143. reportlab_enhanced-0.0.1/src/reportlab/graphics/charts/markers.py +82 -0
  144. reportlab_enhanced-0.0.1/src/reportlab/graphics/charts/piecharts.py +1706 -0
  145. reportlab_enhanced-0.0.1/src/reportlab/graphics/charts/slidebox.py +185 -0
  146. reportlab_enhanced-0.0.1/src/reportlab/graphics/charts/spider.py +411 -0
  147. reportlab_enhanced-0.0.1/src/reportlab/graphics/charts/textlabels.py +581 -0
  148. reportlab_enhanced-0.0.1/src/reportlab/graphics/charts/utils.py +483 -0
  149. reportlab_enhanced-0.0.1/src/reportlab/graphics/charts/utils3d.py +230 -0
  150. reportlab_enhanced-0.0.1/src/reportlab/graphics/renderPDF.py +400 -0
  151. reportlab_enhanced-0.0.1/src/reportlab/graphics/renderPM.py +856 -0
  152. reportlab_enhanced-0.0.1/src/reportlab/graphics/renderPS.py +986 -0
  153. reportlab_enhanced-0.0.1/src/reportlab/graphics/renderSVG.py +971 -0
  154. reportlab_enhanced-0.0.1/src/reportlab/graphics/renderbase.py +356 -0
  155. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/__init__.py +1 -0
  156. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/bubble.py +73 -0
  157. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/clustered_bar.py +84 -0
  158. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/clustered_column.py +83 -0
  159. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/excelcolors.py +45 -0
  160. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/exploded_pie.py +65 -0
  161. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/filled_radar.py +54 -0
  162. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/line_chart.py +83 -0
  163. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/linechart_with_markers.py +94 -0
  164. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/radar.py +66 -0
  165. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/runall.py +57 -0
  166. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/scatter.py +71 -0
  167. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/scatter_lines.py +82 -0
  168. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/scatter_lines_markers.py +72 -0
  169. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/simple_pie.py +61 -0
  170. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/stacked_bar.py +85 -0
  171. reportlab_enhanced-0.0.1/src/reportlab/graphics/samples/stacked_column.py +84 -0
  172. reportlab_enhanced-0.0.1/src/reportlab/graphics/shapes.py +1572 -0
  173. reportlab_enhanced-0.0.1/src/reportlab/graphics/svgpath.py +451 -0
  174. reportlab_enhanced-0.0.1/src/reportlab/graphics/testdrawings.py +296 -0
  175. reportlab_enhanced-0.0.1/src/reportlab/graphics/testshapes.py +576 -0
  176. reportlab_enhanced-0.0.1/src/reportlab/graphics/transform.py +96 -0
  177. reportlab_enhanced-0.0.1/src/reportlab/graphics/utils.py +300 -0
  178. reportlab_enhanced-0.0.1/src/reportlab/graphics/widgetbase.py +655 -0
  179. reportlab_enhanced-0.0.1/src/reportlab/graphics/widgets/__init__.py +5 -0
  180. reportlab_enhanced-0.0.1/src/reportlab/graphics/widgets/adjustableArrow.py +126 -0
  181. reportlab_enhanced-0.0.1/src/reportlab/graphics/widgets/eventcal.py +299 -0
  182. reportlab_enhanced-0.0.1/src/reportlab/graphics/widgets/flags.py +879 -0
  183. reportlab_enhanced-0.0.1/src/reportlab/graphics/widgets/grids.py +542 -0
  184. reportlab_enhanced-0.0.1/src/reportlab/graphics/widgets/markers.py +245 -0
  185. reportlab_enhanced-0.0.1/src/reportlab/graphics/widgets/signsandsymbols.py +977 -0
  186. reportlab_enhanced-0.0.1/src/reportlab/graphics/widgets/table.py +160 -0
  187. reportlab_enhanced-0.0.1/src/reportlab/lib/PyFontify.py +161 -0
  188. reportlab_enhanced-0.0.1/src/reportlab/lib/__init__.py +7 -0
  189. reportlab_enhanced-0.0.1/src/reportlab/lib/abag.py +36 -0
  190. reportlab_enhanced-0.0.1/src/reportlab/lib/arciv.py +214 -0
  191. reportlab_enhanced-0.0.1/src/reportlab/lib/attrmap.py +189 -0
  192. reportlab_enhanced-0.0.1/src/reportlab/lib/boxstuff.py +84 -0
  193. reportlab_enhanced-0.0.1/src/reportlab/lib/codecharts.py +363 -0
  194. reportlab_enhanced-0.0.1/src/reportlab/lib/colors.py +1098 -0
  195. reportlab_enhanced-0.0.1/src/reportlab/lib/corp.py +481 -0
  196. reportlab_enhanced-0.0.1/src/reportlab/lib/enums.py +11 -0
  197. reportlab_enhanced-0.0.1/src/reportlab/lib/fontfinder.py +360 -0
  198. reportlab_enhanced-0.0.1/src/reportlab/lib/fonts.py +96 -0
  199. reportlab_enhanced-0.0.1/src/reportlab/lib/formatters.py +109 -0
  200. reportlab_enhanced-0.0.1/src/reportlab/lib/geomutils.py +33 -0
  201. reportlab_enhanced-0.0.1/src/reportlab/lib/logger.py +61 -0
  202. reportlab_enhanced-0.0.1/src/reportlab/lib/normalDate.py +656 -0
  203. reportlab_enhanced-0.0.1/src/reportlab/lib/pagesizes.py +84 -0
  204. reportlab_enhanced-0.0.1/src/reportlab/lib/pdfencrypt.py +776 -0
  205. reportlab_enhanced-0.0.1/src/reportlab/lib/pygments2xpre.py +71 -0
  206. reportlab_enhanced-0.0.1/src/reportlab/lib/randomtext.py +366 -0
  207. reportlab_enhanced-0.0.1/src/reportlab/lib/rl_accel.py +415 -0
  208. reportlab_enhanced-0.0.1/src/reportlab/lib/rl_safe_eval.py +1287 -0
  209. reportlab_enhanced-0.0.1/src/reportlab/lib/rltempfile.py +38 -0
  210. reportlab_enhanced-0.0.1/src/reportlab/lib/rparsexml.py +449 -0
  211. reportlab_enhanced-0.0.1/src/reportlab/lib/sequencer.py +311 -0
  212. reportlab_enhanced-0.0.1/src/reportlab/lib/styles.py +436 -0
  213. reportlab_enhanced-0.0.1/src/reportlab/lib/testutils.py +406 -0
  214. reportlab_enhanced-0.0.1/src/reportlab/lib/textsplit.py +241 -0
  215. reportlab_enhanced-0.0.1/src/reportlab/lib/units.py +30 -0
  216. reportlab_enhanced-0.0.1/src/reportlab/lib/utils.py +1359 -0
  217. reportlab_enhanced-0.0.1/src/reportlab/lib/validators.py +382 -0
  218. reportlab_enhanced-0.0.1/src/reportlab/lib/yaml.py +185 -0
  219. reportlab_enhanced-0.0.1/src/reportlab/license.txt +29 -0
  220. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/__init__.py +6 -0
  221. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_can_cmap_data.py +58 -0
  222. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_cidfontdata.py +483 -0
  223. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata.py +255 -0
  224. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_enc_macexpert.py +28 -0
  225. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_enc_macroman.py +35 -0
  226. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_enc_pdfdoc.py +22 -0
  227. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_enc_standard.py +15 -0
  228. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_enc_symbol.py +30 -0
  229. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_enc_winansi.py +37 -0
  230. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_enc_zapfdingbats.py +20 -0
  231. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_widths_courier.py +229 -0
  232. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_widths_courierbold.py +229 -0
  233. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_widths_courierboldoblique.py +229 -0
  234. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_widths_courieroblique.py +229 -0
  235. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_widths_helvetica.py +229 -0
  236. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_widths_helveticabold.py +229 -0
  237. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_widths_helveticaboldoblique.py +229 -0
  238. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_widths_helveticaoblique.py +229 -0
  239. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_widths_symbol.py +190 -0
  240. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_widths_timesbold.py +229 -0
  241. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_widths_timesbolditalic.py +229 -0
  242. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_widths_timesitalic.py +229 -0
  243. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_widths_timesroman.py +229 -0
  244. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_fontdata_widths_zapfdingbats.py +202 -0
  245. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/_glyphlist.py +4330 -0
  246. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/acroform.py +1150 -0
  247. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/cidfonts.py +516 -0
  248. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/pdfdoc.py +2417 -0
  249. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/pdfform.py +582 -0
  250. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/pdfmetrics.py +851 -0
  251. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/pdfpattern.py +93 -0
  252. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/pdfutils.py +298 -0
  253. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/rl_codecs.py +1107 -0
  254. reportlab_enhanced-0.0.1/src/reportlab/pdfbase/ttfonts.py +1585 -0
  255. reportlab_enhanced-0.0.1/src/reportlab/pdfgen/__init__.py +5 -0
  256. reportlab_enhanced-0.0.1/src/reportlab/pdfgen/canvas.py +2021 -0
  257. reportlab_enhanced-0.0.1/src/reportlab/pdfgen/pathobject.py +139 -0
  258. reportlab_enhanced-0.0.1/src/reportlab/pdfgen/pdfgeom.py +77 -0
  259. reportlab_enhanced-0.0.1/src/reportlab/pdfgen/pdfimages.py +215 -0
  260. reportlab_enhanced-0.0.1/src/reportlab/pdfgen/textobject.py +777 -0
  261. reportlab_enhanced-0.0.1/src/reportlab/platypus/__init__.py +14 -0
  262. reportlab_enhanced-0.0.1/src/reportlab/platypus/doctemplate.py +1408 -0
  263. reportlab_enhanced-0.0.1/src/reportlab/platypus/figures.py +420 -0
  264. reportlab_enhanced-0.0.1/src/reportlab/platypus/flowables.py +2663 -0
  265. reportlab_enhanced-0.0.1/src/reportlab/platypus/frames.py +268 -0
  266. reportlab_enhanced-0.0.1/src/reportlab/platypus/multicol.py +111 -0
  267. reportlab_enhanced-0.0.1/src/reportlab/platypus/para.py +2367 -0
  268. reportlab_enhanced-0.0.1/src/reportlab/platypus/paragraph.py +3038 -0
  269. reportlab_enhanced-0.0.1/src/reportlab/platypus/paraparser.py +3397 -0
  270. reportlab_enhanced-0.0.1/src/reportlab/platypus/tableofcontents.py +559 -0
  271. reportlab_enhanced-0.0.1/src/reportlab/platypus/tables.py +2752 -0
  272. reportlab_enhanced-0.0.1/src/reportlab/platypus/xpreformatted.py +345 -0
  273. reportlab_enhanced-0.0.1/src/reportlab/rl_config.py +150 -0
  274. reportlab_enhanced-0.0.1/src/reportlab/rl_settings.py +279 -0
  275. reportlab_enhanced-0.0.1/src/reportlab_enhanced.egg-info/PKG-INFO +152 -0
  276. reportlab_enhanced-0.0.1/src/reportlab_enhanced.egg-info/SOURCES.txt +411 -0
  277. reportlab_enhanced-0.0.1/src/reportlab_enhanced.egg-info/dependency_links.txt +1 -0
  278. reportlab_enhanced-0.0.1/src/reportlab_enhanced.egg-info/requires.txt +18 -0
  279. reportlab_enhanced-0.0.1/src/reportlab_enhanced.egg-info/top_level.txt +1 -0
  280. reportlab_enhanced-0.0.1/tests/00readme.txt +18 -0
  281. reportlab_enhanced-0.0.1/tests/__init__.py +2 -0
  282. reportlab_enhanced-0.0.1/tests/_ttfont_fallback_helpers.py +73 -0
  283. reportlab_enhanced-0.0.1/tests/alpha_test.png +0 -0
  284. reportlab_enhanced-0.0.1/tests/encryption.gif +0 -0
  285. reportlab_enhanced-0.0.1/tests/gray-alpha.png +0 -0
  286. reportlab_enhanced-0.0.1/tests/pythonpowered-gs.gif +0 -0
  287. reportlab_enhanced-0.0.1/tests/pythonpowered.gif +0 -0
  288. reportlab_enhanced-0.0.1/tests/rltw-icon-tr.png +0 -0
  289. reportlab_enhanced-0.0.1/tests/runAll.py +153 -0
  290. reportlab_enhanced-0.0.1/tests/solid_red_alpha.png +0 -0
  291. reportlab_enhanced-0.0.1/tests/tall_red.png +0 -0
  292. reportlab_enhanced-0.0.1/tests/test-cross.tiff +0 -0
  293. reportlab_enhanced-0.0.1/tests/test-indexed.png +0 -0
  294. reportlab_enhanced-0.0.1/tests/test-rgba.png +0 -0
  295. reportlab_enhanced-0.0.1/tests/test_arabic.py +249 -0
  296. reportlab_enhanced-0.0.1/tests/test_charts_textlabels.py +285 -0
  297. reportlab_enhanced-0.0.1/tests/test_crypto_algorithms.py +132 -0
  298. reportlab_enhanced-0.0.1/tests/test_docs_build.py +43 -0
  299. reportlab_enhanced-0.0.1/tests/test_docstrings.py +203 -0
  300. reportlab_enhanced-0.0.1/tests/test_extra.py +93 -0
  301. reportlab_enhanced-0.0.1/tests/test_geomutils.py +32 -0
  302. reportlab_enhanced-0.0.1/tests/test_graphics_barcode.py +355 -0
  303. reportlab_enhanced-0.0.1/tests/test_graphics_charts.py +1370 -0
  304. reportlab_enhanced-0.0.1/tests/test_graphics_images.py +195 -0
  305. reportlab_enhanced-0.0.1/tests/test_graphics_layout.py +82 -0
  306. reportlab_enhanced-0.0.1/tests/test_graphics_render.py +186 -0
  307. reportlab_enhanced-0.0.1/tests/test_graphics_speed.py +82 -0
  308. reportlab_enhanced-0.0.1/tests/test_hello.py +53 -0
  309. reportlab_enhanced-0.0.1/tests/test_images.py +63 -0
  310. reportlab_enhanced-0.0.1/tests/test_invariant.py +72 -0
  311. reportlab_enhanced-0.0.1/tests/test_issues.py +110 -0
  312. reportlab_enhanced-0.0.1/tests/test_lib_colors.py +198 -0
  313. reportlab_enhanced-0.0.1/tests/test_lib_normaldate.py +269 -0
  314. reportlab_enhanced-0.0.1/tests/test_lib_pdfencrypt.py +150 -0
  315. reportlab_enhanced-0.0.1/tests/test_lib_rl_safe_eval.py +223 -0
  316. reportlab_enhanced-0.0.1/tests/test_lib_sequencer.py +136 -0
  317. reportlab_enhanced-0.0.1/tests/test_lib_utils.py +364 -0
  318. reportlab_enhanced-0.0.1/tests/test_lib_validators.py +183 -0
  319. reportlab_enhanced-0.0.1/tests/test_multibyte_chs.py +81 -0
  320. reportlab_enhanced-0.0.1/tests/test_multibyte_cht.py +128 -0
  321. reportlab_enhanced-0.0.1/tests/test_multibyte_jpn.py +430 -0
  322. reportlab_enhanced-0.0.1/tests/test_multibyte_kor.py +121 -0
  323. reportlab_enhanced-0.0.1/tests/test_paragraphs.py +473 -0
  324. reportlab_enhanced-0.0.1/tests/test_pdfbase_encodings.py +269 -0
  325. reportlab_enhanced-0.0.1/tests/test_pdfbase_fontembed.py +107 -0
  326. reportlab_enhanced-0.0.1/tests/test_pdfbase_pdfdoc.py +60 -0
  327. reportlab_enhanced-0.0.1/tests/test_pdfbase_pdfform.py +173 -0
  328. reportlab_enhanced-0.0.1/tests/test_pdfbase_pdfmetrics.py +123 -0
  329. reportlab_enhanced-0.0.1/tests/test_pdfbase_pdfutils.py +48 -0
  330. reportlab_enhanced-0.0.1/tests/test_pdfbase_postscript.py +75 -0
  331. reportlab_enhanced-0.0.1/tests/test_pdfbase_ttfonts.py +704 -0
  332. reportlab_enhanced-0.0.1/tests/test_pdfgen_callback.py +36 -0
  333. reportlab_enhanced-0.0.1/tests/test_pdfgen_general.py +1293 -0
  334. reportlab_enhanced-0.0.1/tests/test_pdfgen_links.py +190 -0
  335. reportlab_enhanced-0.0.1/tests/test_pdfgen_overprint.py +73 -0
  336. reportlab_enhanced-0.0.1/tests/test_pdfgen_pagemodes.py +65 -0
  337. reportlab_enhanced-0.0.1/tests/test_platypus_accum.py +91 -0
  338. reportlab_enhanced-0.0.1/tests/test_platypus_breaking.py +491 -0
  339. reportlab_enhanced-0.0.1/tests/test_platypus_cjk_wrap.py +102 -0
  340. reportlab_enhanced-0.0.1/tests/test_platypus_general.py +768 -0
  341. reportlab_enhanced-0.0.1/tests/test_platypus_images.py +87 -0
  342. reportlab_enhanced-0.0.1/tests/test_platypus_indents.py +199 -0
  343. reportlab_enhanced-0.0.1/tests/test_platypus_index.py +134 -0
  344. reportlab_enhanced-0.0.1/tests/test_platypus_leftright.py +158 -0
  345. reportlab_enhanced-0.0.1/tests/test_platypus_lists.py +216 -0
  346. reportlab_enhanced-0.0.1/tests/test_platypus_paragraphs.py +1783 -0
  347. reportlab_enhanced-0.0.1/tests/test_platypus_paraparser.py +137 -0
  348. reportlab_enhanced-0.0.1/tests/test_platypus_pleaseturnover.py +216 -0
  349. reportlab_enhanced-0.0.1/tests/test_platypus_preformatted.py +214 -0
  350. reportlab_enhanced-0.0.1/tests/test_platypus_programming.py +135 -0
  351. reportlab_enhanced-0.0.1/tests/test_platypus_tables.py +1197 -0
  352. reportlab_enhanced-0.0.1/tests/test_platypus_toc.py +382 -0
  353. reportlab_enhanced-0.0.1/tests/test_platypus_wrapping.py +102 -0
  354. reportlab_enhanced-0.0.1/tests/test_platypus_xref.py +137 -0
  355. reportlab_enhanced-0.0.1/tests/test_pyfiles.py +151 -0
  356. reportlab_enhanced-0.0.1/tests/test_renderPS.py +204 -0
  357. reportlab_enhanced-0.0.1/tests/test_renderSVG.py +250 -0
  358. reportlab_enhanced-0.0.1/tests/test_rl_accel.py +214 -0
  359. reportlab_enhanced-0.0.1/tests/test_source_chars.py +95 -0
  360. reportlab_enhanced-0.0.1/tests/test_table_inrowsplit.py +606 -0
  361. reportlab_enhanced-0.0.1/tests/test_table_layout.py +831 -0
  362. reportlab_enhanced-0.0.1/tests/test_tools_pythonpoint.py +34 -0
  363. reportlab_enhanced-0.0.1/tests/test_ttfont_fallback_api.py +72 -0
  364. reportlab_enhanced-0.0.1/tests/test_ttfont_fallback_core.py +259 -0
  365. reportlab_enhanced-0.0.1/tests/test_ttfont_fallback_multiscript.py +204 -0
  366. reportlab_enhanced-0.0.1/tests/test_ttfont_fallback_pdf.py +243 -0
  367. reportlab_enhanced-0.0.1/tests/test_utils.py +39 -0
  368. reportlab_enhanced-0.0.1/tests/test_widgetbase_tpc.py +194 -0
  369. reportlab_enhanced-0.0.1/tests/test_widgets_grids.py +453 -0
  370. reportlab_enhanced-0.0.1/tests/unimportable.py +10 -0
  371. reportlab_enhanced-0.0.1/tools/README +10 -0
  372. reportlab_enhanced-0.0.1/tools/__init__.py +3 -0
  373. reportlab_enhanced-0.0.1/tools/docco/README +8 -0
  374. reportlab_enhanced-0.0.1/tools/docco/__init__.py +3 -0
  375. reportlab_enhanced-0.0.1/tools/docco/codegrab.py +228 -0
  376. reportlab_enhanced-0.0.1/tools/docco/docpy.py +1239 -0
  377. reportlab_enhanced-0.0.1/tools/docco/examples.py +881 -0
  378. reportlab_enhanced-0.0.1/tools/docco/graphdocpy.py +976 -0
  379. reportlab_enhanced-0.0.1/tools/docco/rl_doc_utils.py +430 -0
  380. reportlab_enhanced-0.0.1/tools/docco/rltemplate.py +159 -0
  381. reportlab_enhanced-0.0.1/tools/docco/stylesheet.py +165 -0
  382. reportlab_enhanced-0.0.1/tools/docco/t_parse.py +244 -0
  383. reportlab_enhanced-0.0.1/tools/docco/yaml.py +198 -0
  384. reportlab_enhanced-0.0.1/tools/docco/yaml2pdf.py +99 -0
  385. reportlab_enhanced-0.0.1/tools/pdfpath.py +31 -0
  386. reportlab_enhanced-0.0.1/tools/pythonpoint/README +29 -0
  387. reportlab_enhanced-0.0.1/tools/pythonpoint/__init__.py +3 -0
  388. reportlab_enhanced-0.0.1/tools/pythonpoint/customshapes.py +298 -0
  389. reportlab_enhanced-0.0.1/tools/pythonpoint/demos/examples.py +834 -0
  390. reportlab_enhanced-0.0.1/tools/pythonpoint/demos/figures.xml +71 -0
  391. reportlab_enhanced-0.0.1/tools/pythonpoint/demos/htu.xml +96 -0
  392. reportlab_enhanced-0.0.1/tools/pythonpoint/demos/leftlogo.a85 +53 -0
  393. reportlab_enhanced-0.0.1/tools/pythonpoint/demos/leftlogo.gif +0 -0
  394. reportlab_enhanced-0.0.1/tools/pythonpoint/demos/lj8100.jpg +0 -0
  395. reportlab_enhanced-0.0.1/tools/pythonpoint/demos/monterey.xml +306 -0
  396. reportlab_enhanced-0.0.1/tools/pythonpoint/demos/outline.gif +0 -0
  397. reportlab_enhanced-0.0.1/tools/pythonpoint/demos/pplogo.gif +0 -0
  398. reportlab_enhanced-0.0.1/tools/pythonpoint/demos/python.gif +0 -0
  399. reportlab_enhanced-0.0.1/tools/pythonpoint/demos/pythonpoint.xml +1051 -0
  400. reportlab_enhanced-0.0.1/tools/pythonpoint/demos/slidebox.py +29 -0
  401. reportlab_enhanced-0.0.1/tools/pythonpoint/demos/spectrum.png +0 -0
  402. reportlab_enhanced-0.0.1/tools/pythonpoint/demos/vertpython.gif +0 -0
  403. reportlab_enhanced-0.0.1/tools/pythonpoint/pythonpoint.dtd +275 -0
  404. reportlab_enhanced-0.0.1/tools/pythonpoint/pythonpoint.py +1151 -0
  405. reportlab_enhanced-0.0.1/tools/pythonpoint/stdparser.py +865 -0
  406. reportlab_enhanced-0.0.1/tools/pythonpoint/styles/__init__.py +3 -0
  407. reportlab_enhanced-0.0.1/tools/pythonpoint/styles/horrible.py +101 -0
  408. reportlab_enhanced-0.0.1/tools/pythonpoint/styles/htu.py +156 -0
  409. reportlab_enhanced-0.0.1/tools/pythonpoint/styles/modern.py +120 -0
  410. reportlab_enhanced-0.0.1/tools/pythonpoint/styles/projection.py +106 -0
  411. reportlab_enhanced-0.0.1/tools/pythonpoint/styles/standard.py +130 -0
  412. reportlab_enhanced-0.0.1/tools/utils/add_bleed.py +28 -0
  413. reportlab_enhanced-0.0.1/tools/utils/dumpttf.py +60 -0
@@ -0,0 +1,6 @@
1
+ repo: f19e0a2433abc72c041b028bc15995894be2ffa7
2
+ node: d6b18cd78998509f7b0b5cc42fb0c9f256f0012d
3
+ branch: default
4
+ latesttag: ReportLab_3_5_0
5
+ latesttagdistance: 501
6
+ changessincelatesttag: 525
@@ -0,0 +1,29 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [Unreleased]
6
+
7
+ ## [0.0.1] - 2026-02-12
8
+
9
+ ### Added
10
+ - Complete CI/CD automation workflow for GitHub Actions
11
+ - Automatic GitHub Pages deployment on master push
12
+ - Automatic PyPI publishing on release tags
13
+ - Version verification against pyproject.toml
14
+ - Dry-run mode support for workflow testing
15
+ - Version management refactored to use pyproject.toml as single source of truth
16
+
17
+ ### Changed
18
+ - pyproject.toml: Complete reconfiguration with static version
19
+ - setup.py: Simplified to retain only dynamic build logic
20
+ - src/reportlab/__init__.py: Now uses importlib.metadata for version resolution
21
+
22
+ ## [0.0.0] - 2025-02-12
23
+
24
+ ### Added
25
+ - Initial fork from ReportLab
26
+ - Based on ReportLab version 3.6.13
27
+
28
+ This version represents the starting point of the reportlab-enhanced fork,
29
+ containing all the features and fixes from the upstream ReportLab 3.6.13 release.
@@ -0,0 +1 @@
1
+ Please see README.txt for installation instructions.
@@ -0,0 +1,57 @@
1
+ #####################################################################################
2
+ #
3
+ # Copyright (c) 2025-2026, selcarpa
4
+ # All rights reserved.
5
+ #
6
+ # Redistribution and use in source and binary forms, with or without modification,
7
+ # are permitted provided that the following conditions are met:
8
+ #
9
+ # * Redistributions of source code must retain the above copyright notice,
10
+ # this list of conditions and the following disclaimer.
11
+ # * Redistributions in binary form must reproduce the above copyright notice,
12
+ # this list of conditions and the following disclaimer in the documentation
13
+ # and/or other materials provided with the distribution.
14
+ # * Neither the name of the copyright holder nor the names of its contributors
15
+ # may be used to endorse or promote products derived from this software
16
+ # without specific prior written permission.
17
+ #
18
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
+ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21
+ # IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
22
+ # INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
23
+ # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24
+ # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
25
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
26
+ # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27
+ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
+ #
29
+ #####################################################################################
30
+ #
31
+ # Copyright (c) 2000-2024, ReportLab Inc.
32
+ # All rights reserved.
33
+ #
34
+ # Redistribution and use in source and binary forms, with or without modification,
35
+ # are permitted provided that the following conditions are met:
36
+ #
37
+ # * Redistributions of source code must retain the above copyright notice,
38
+ # this list of conditions and the following disclaimer.
39
+ # * Redistributions in binary form must reproduce the above copyright notice,
40
+ # this list of conditions and the following disclaimer in the documentation
41
+ # and/or other materials provided with the distribution.
42
+ # * Neither the name of the company nor the names of its contributors may be
43
+ # used to endorse or promote products derived from this software without
44
+ # specific prior written permission.
45
+ #
46
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
47
+ # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
48
+ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
49
+ # IN NO EVENT SHALL THE OFFICERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
50
+ # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
51
+ # TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
52
+ # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
53
+ # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
54
+ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
55
+ # SUCH DAMAGE.
56
+ #
57
+ #####################################################################################
@@ -0,0 +1,9 @@
1
+ include *.txt *.yml CHANGES.md
2
+ include src/reportlab/graphics/barcode/README
3
+ include src/reportlab/graphics/barcode/TODO
4
+ include src/reportlab/LICENSE
5
+ include src/reportlab/MANIFEST.in
6
+ recursive-include demos *.py *.txt
7
+ recursive-include docs *.py *.txt *.gif *.a85 *.png *.jpg *.rst *.html gen_epydoc *.bat Makefile *.yml *.css
8
+ recursive-include tests *.py *.gif *.jpg *.png 00readme.txt *.tiff
9
+ recursive-include tools *.py *.dtd *.xml *.a85 *.gif README *.jpg *.png
@@ -0,0 +1,152 @@
1
+ Metadata-Version: 2.4
2
+ Name: reportlab-enhanced
3
+ Version: 0.0.1
4
+ Summary: The ReportLab Toolkit (Enhanced Fork)
5
+ Author: Andy Robinson, Robin Becker, the ReportLab team and the community
6
+ Author-email: selcarpa <selcarpa@gmail.com>
7
+ License: BSD license (see LICENSE for details), Copyright (c) 2025-2026 selcarpa, Copyright (c) 2000-2024 ReportLab Inc.
8
+ Project-URL: Homepage, https://github.com/selcarpa/reportlab_enhanced
9
+ Project-URL: Documentation, https://selcarpa.github.io/reportlab_enhanced/
10
+ Project-URL: Repository, https://github.com/selcarpa/reportlab_enhanced
11
+ Project-URL: Changelog, https://github.com/selcarpa/reportlab_enhanced/releases
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: BSD License
15
+ Classifier: Topic :: Printing
16
+ Classifier: Topic :: Text Processing :: Markup
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Programming Language :: Python :: 3.14
23
+ Requires-Python: <4,>=3.9
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ Requires-Dist: pillow>=9.0.0
27
+ Requires-Dist: charset-normalizer
28
+ Provides-Extra: accel
29
+ Requires-Dist: rl_accel<1.1,>=0.9.0; extra == "accel"
30
+ Provides-Extra: renderpm
31
+ Requires-Dist: rl_renderPM<4.1,>=4.0.3; extra == "renderpm"
32
+ Provides-Extra: pycairo
33
+ Requires-Dist: rlPyCairo<1,>=0.2.0; extra == "pycairo"
34
+ Requires-Dist: freetype-py<2.4,>=2.3.0; extra == "pycairo"
35
+ Provides-Extra: bidi
36
+ Requires-Dist: rlbidi; extra == "bidi"
37
+ Provides-Extra: shaping
38
+ Requires-Dist: uharfbuzz; extra == "shaping"
39
+ Dynamic: license-file
40
+
41
+ # reportlab-enhanced
42
+
43
+ [中文](README.zh-CN.md)
44
+
45
+ An enhanced fork of [ReportLab](https://www.reportlab.com/) — the open-source Python library for generating PDF documents, charts, and vector graphics.
46
+
47
+ ## Features
48
+
49
+ - Generate rich PDF documents with text, images, tables, and charts
50
+ - High-level layout engine (Platypus) with flowables, frames, and page templates
51
+ - Low-level Canvas API for direct PDF drawing operations
52
+ - Charts and graphics with SVG/PS/bitmap rendering support
53
+ - TrueType and Type1 font handling
54
+ - **Enhanced**: TrueType font fallback support for missing glyphs
55
+ - Pure Python (no C extensions required since v4.0)
56
+ - Python >= 3.9
57
+
58
+ ## Enhancements over upstream
59
+
60
+ This fork builds on ReportLab 4.x with additional features:
61
+
62
+ - **TTFont Fallback**: Automatic font fallback for missing glyphs in TrueType fonts, controlled via environment variable `REPORTLAB_FONT_FALLBACK=1`
63
+ - Active development with improvements to font handling and CJK support
64
+
65
+ See [CHANGES.md](CHANGES.md) for the full changelog.
66
+
67
+ ## Installation
68
+
69
+ ```bash
70
+ pip install reportlab-enhanced
71
+ ```
72
+
73
+ For development:
74
+
75
+ ```bash
76
+ git clone https://github.com/selcarpa/reportlab_enhanced.git
77
+ cd reportlab-enhanced
78
+ pip install -e .
79
+ ```
80
+
81
+ ### Optional dependencies
82
+
83
+ ```bash
84
+ pip install reportlab-enhanced[accel] # rl_accel acceleration
85
+ pip install reportlab-enhanced[renderpm] # rl_renderPM bitmap rendering
86
+ pip install reportlab-enhanced[pycairo] # Cairo-based rendering
87
+ pip install reportlab-enhanced[bidi] # Bidirectional text support
88
+ pip install reportlab-enhanced[shaping] # HarfBuzz text shaping
89
+ ```
90
+
91
+ ## Quick Start
92
+
93
+ ```python
94
+ from reportlab.lib.pagesizes import A4
95
+ from reportlab.pdfgen import canvas
96
+
97
+ c = canvas.Canvas("hello.pdf", pagesize=A4)
98
+ c.drawString(100, 750, "Hello, reportlab-enhanced!")
99
+ c.save()
100
+ ```
101
+
102
+ For the high-level Platypus API:
103
+
104
+ ```python
105
+ from reportlab.lib.pagesizes import A4
106
+ from reportlab.platypus import SimpleDocTemplate, Paragraph
107
+ from reportlab.lib.styles import getSampleStyleSheet
108
+
109
+ doc = SimpleDocTemplate("doc.pdf", pagesize=A4)
110
+ styles = getSampleStyleSheet()
111
+ story = [Paragraph("Hello, reportlab-enhanced!", styles["Title"])]
112
+ doc.build(story)
113
+ ```
114
+
115
+ ## Documentation
116
+
117
+ The original ReportLab documentation is available at [docs.reportlab.com](https://docs.reportlab.com/).
118
+
119
+ To build the included PDF manuals:
120
+
121
+ ```bash
122
+ cd docs && python genAll.py
123
+ ```
124
+
125
+ This generates three PDF references in the `docs/` directory.
126
+
127
+ ## Development
128
+
129
+ This project extensively uses **vibe coding** with [Claude Code](https://claude.ai/code) (Anthropic Claude) as a development partner for code generation, refactoring, and documentation.
130
+
131
+ ### Running tests
132
+
133
+ ```bash
134
+ python setup.py tests-preinstall
135
+ # or
136
+ cd tests && python runAll.py
137
+ ```
138
+
139
+ ### Contributing
140
+
141
+ Contributions are welcome! Please open an issue or pull request on [GitHub](https://github.com/selcarpa/reportlab_enhanced).
142
+
143
+ ## Acknowledgements
144
+
145
+ This project is a fork of [ReportLab](https://www.reportlab.com/) by ReportLab Inc., originally created by Andy Robinson, Robin Becker, and the ReportLab team. The upstream project has been developed since 2000 and provides the foundation for this enhanced version.
146
+
147
+ ## License
148
+
149
+ BSD License. See [LICENSE](LICENSE) for details.
150
+
151
+ - Copyright (c) 2025-2026, selcarpa
152
+ - Copyright (c) 2000-2024, ReportLab Inc.
@@ -0,0 +1,112 @@
1
+ # reportlab-enhanced
2
+
3
+ [中文](README.zh-CN.md)
4
+
5
+ An enhanced fork of [ReportLab](https://www.reportlab.com/) — the open-source Python library for generating PDF documents, charts, and vector graphics.
6
+
7
+ ## Features
8
+
9
+ - Generate rich PDF documents with text, images, tables, and charts
10
+ - High-level layout engine (Platypus) with flowables, frames, and page templates
11
+ - Low-level Canvas API for direct PDF drawing operations
12
+ - Charts and graphics with SVG/PS/bitmap rendering support
13
+ - TrueType and Type1 font handling
14
+ - **Enhanced**: TrueType font fallback support for missing glyphs
15
+ - Pure Python (no C extensions required since v4.0)
16
+ - Python >= 3.9
17
+
18
+ ## Enhancements over upstream
19
+
20
+ This fork builds on ReportLab 4.x with additional features:
21
+
22
+ - **TTFont Fallback**: Automatic font fallback for missing glyphs in TrueType fonts, controlled via environment variable `REPORTLAB_FONT_FALLBACK=1`
23
+ - Active development with improvements to font handling and CJK support
24
+
25
+ See [CHANGES.md](CHANGES.md) for the full changelog.
26
+
27
+ ## Installation
28
+
29
+ ```bash
30
+ pip install reportlab-enhanced
31
+ ```
32
+
33
+ For development:
34
+
35
+ ```bash
36
+ git clone https://github.com/selcarpa/reportlab_enhanced.git
37
+ cd reportlab-enhanced
38
+ pip install -e .
39
+ ```
40
+
41
+ ### Optional dependencies
42
+
43
+ ```bash
44
+ pip install reportlab-enhanced[accel] # rl_accel acceleration
45
+ pip install reportlab-enhanced[renderpm] # rl_renderPM bitmap rendering
46
+ pip install reportlab-enhanced[pycairo] # Cairo-based rendering
47
+ pip install reportlab-enhanced[bidi] # Bidirectional text support
48
+ pip install reportlab-enhanced[shaping] # HarfBuzz text shaping
49
+ ```
50
+
51
+ ## Quick Start
52
+
53
+ ```python
54
+ from reportlab.lib.pagesizes import A4
55
+ from reportlab.pdfgen import canvas
56
+
57
+ c = canvas.Canvas("hello.pdf", pagesize=A4)
58
+ c.drawString(100, 750, "Hello, reportlab-enhanced!")
59
+ c.save()
60
+ ```
61
+
62
+ For the high-level Platypus API:
63
+
64
+ ```python
65
+ from reportlab.lib.pagesizes import A4
66
+ from reportlab.platypus import SimpleDocTemplate, Paragraph
67
+ from reportlab.lib.styles import getSampleStyleSheet
68
+
69
+ doc = SimpleDocTemplate("doc.pdf", pagesize=A4)
70
+ styles = getSampleStyleSheet()
71
+ story = [Paragraph("Hello, reportlab-enhanced!", styles["Title"])]
72
+ doc.build(story)
73
+ ```
74
+
75
+ ## Documentation
76
+
77
+ The original ReportLab documentation is available at [docs.reportlab.com](https://docs.reportlab.com/).
78
+
79
+ To build the included PDF manuals:
80
+
81
+ ```bash
82
+ cd docs && python genAll.py
83
+ ```
84
+
85
+ This generates three PDF references in the `docs/` directory.
86
+
87
+ ## Development
88
+
89
+ This project extensively uses **vibe coding** with [Claude Code](https://claude.ai/code) (Anthropic Claude) as a development partner for code generation, refactoring, and documentation.
90
+
91
+ ### Running tests
92
+
93
+ ```bash
94
+ python setup.py tests-preinstall
95
+ # or
96
+ cd tests && python runAll.py
97
+ ```
98
+
99
+ ### Contributing
100
+
101
+ Contributions are welcome! Please open an issue or pull request on [GitHub](https://github.com/selcarpa/reportlab_enhanced).
102
+
103
+ ## Acknowledgements
104
+
105
+ This project is a fork of [ReportLab](https://www.reportlab.com/) by ReportLab Inc., originally created by Andy Robinson, Robin Becker, and the ReportLab team. The upstream project has been developed since 2000 and provides the foundation for this enhanced version.
106
+
107
+ ## License
108
+
109
+ BSD License. See [LICENSE](LICENSE) for details.
110
+
111
+ - Copyright (c) 2025-2026, selcarpa
112
+ - Copyright (c) 2000-2024, ReportLab Inc.
@@ -0,0 +1,13 @@
1
+ Version Management
2
+ ==================
3
+
4
+ The single source of truth for the version number is in:
5
+
6
+ src/reportlab/__init__.py
7
+
8
+ Version = "x.y.z"
9
+
10
+ This version is automatically read by:
11
+ - setup.py during build (via get_version())
12
+ - pyproject.toml configuration (dynamic version)
13
+ - GitHub Actions workflow (version verification)
@@ -0,0 +1,105 @@
1
+ #Copyright ReportLab Europe Ltd. 2000-2017
2
+ #see license.txt for license details
3
+ __version__='3.3.0'
4
+ import reportlab.pdfgen.canvas
5
+ from reportlab.lib import colors
6
+ from reportlab.lib.units import inch
7
+
8
+
9
+ def run():
10
+ c = reportlab.pdfgen.canvas.Canvas('colortest.pdf')
11
+
12
+ #do a test of CMYK interspersed with RGB
13
+
14
+ #first do RGB values
15
+ framePage(c, 'Color Demo - RGB Space and CMYK spaces interspersed' )
16
+
17
+ y = 700
18
+
19
+ c.setFillColorRGB(0,0,0)
20
+ c.drawString(100, y, 'cyan')
21
+ c.setFillColorCMYK(1,0,0,0)
22
+ c.rect(200, y, 300, 30, fill=1)
23
+ y = y - 40
24
+
25
+ c.setFillColorRGB(0,0,0)
26
+ c.drawString(100, y, 'red')
27
+ c.setFillColorRGB(1,0,0)
28
+ c.rect(200, y, 300, 30, fill=1)
29
+ y = y - 40
30
+
31
+ c.setFillColorRGB(0,0,0)
32
+ c.drawString(100, y, 'magenta')
33
+ c.setFillColorCMYK(0,1,0,0)
34
+ c.rect(200, y, 300, 30, fill=1)
35
+ y = y - 40
36
+
37
+ c.setFillColorRGB(0,0,0)
38
+ c.drawString(100, y, 'green')
39
+ c.setFillColorRGB(0,1,0)
40
+ c.rect(200, y, 300, 30, fill=1)
41
+ y = y - 40
42
+
43
+ c.setFillColorRGB(0,0,0)
44
+ c.drawString(100, y, 'yellow')
45
+ c.setFillColorCMYK(0,0,1,0)
46
+ c.rect(200, y, 300, 30, fill=1)
47
+ y = y - 40
48
+
49
+ c.setFillColorRGB(0,0,0)
50
+ c.drawString(100, y, 'blue')
51
+ c.setFillColorRGB(0,0,1)
52
+ c.rect(200, y, 300, 30, fill=1)
53
+ y = y - 40
54
+
55
+ c.setFillColorRGB(0,0,0)
56
+ c.drawString(100, y, 'black')
57
+ c.setFillColorCMYK(0,0,0,1)
58
+ c.rect(200, y, 300, 30, fill=1)
59
+ y = y - 40
60
+
61
+
62
+ c.showPage()
63
+
64
+ #do all named colors
65
+ framePage(c, 'Color Demo - RGB Space - page %d' % c.getPageNumber())
66
+
67
+ all_colors = list(reportlab.lib.colors.getAllNamedColors().items())
68
+ all_colors.sort() # alpha order by name
69
+ c.setFont('Times-Roman', 12)
70
+ c.drawString(72,730, 'This shows all the named colors in the HTML standard.')
71
+ y = 700
72
+ for (name, color) in all_colors:
73
+ c.setFillColor(colors.black)
74
+ c.drawString(100, y, name)
75
+ c.setFillColor(color)
76
+ c.rect(200, y-10, 300, 30, fill=1)
77
+ y = y - 40
78
+ if y < 100:
79
+ c.showPage()
80
+ framePage(c, 'Color Demo - RGB Space - page %d' % c.getPageNumber())
81
+ y = 700
82
+
83
+
84
+
85
+
86
+ c.save()
87
+
88
+ def framePage(canvas, title):
89
+ canvas.setFont('Times-BoldItalic',20)
90
+ canvas.drawString(inch, 10.5 * inch, title)
91
+
92
+ canvas.setFont('Times-Roman',10)
93
+ canvas.drawCentredString(4.135 * inch, 0.75 * inch,
94
+ 'Page %d' % canvas.getPageNumber())
95
+
96
+ #draw a border
97
+ canvas.setStrokeColorRGB(1,0,0)
98
+ canvas.setLineWidth(5)
99
+ canvas.line(0.8 * inch, inch, 0.8 * inch, 10.75 * inch)
100
+ #reset carefully afterwards
101
+ canvas.setLineWidth(1)
102
+ canvas.setStrokeColorRGB(0,0,0)
103
+
104
+ if __name__ == '__main__':
105
+ run()
@@ -0,0 +1,3 @@
1
+ This is Aaron Watters' first script;
2
+ it renders his paper for IPC8 into
3
+ PDF. A fascinating read, as well.