core-pdf 0.0.2__py3-none-any.whl

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 (741) hide show
  1. core_pdf/__init__.py +22 -0
  2. core_pdf/__main__.py +7 -0
  3. core_pdf/cli.py +65 -0
  4. core_pdf/impl/__init__.py +2 -0
  5. core_pdf/impl/engine/__init__.py +16 -0
  6. core_pdf/impl/engine/extraction/__init__.py +4 -0
  7. core_pdf/impl/engine/extraction/cache.py +16 -0
  8. core_pdf/impl/engine/extraction/common/__init__.py +2 -0
  9. core_pdf/impl/engine/extraction/common/observation_resolver.py +211 -0
  10. core_pdf/impl/engine/extraction/common/ordering.py +625 -0
  11. core_pdf/impl/engine/extraction/common/page_content.py +472 -0
  12. core_pdf/impl/engine/extraction/common/page_geometry.py +1560 -0
  13. core_pdf/impl/engine/extraction/common/page_profile.py +485 -0
  14. core_pdf/impl/engine/extraction/common/render.py +1803 -0
  15. core_pdf/impl/engine/extraction/document.py +38 -0
  16. core_pdf/impl/engine/extraction/document_extraction.py +397 -0
  17. core_pdf/impl/engine/extraction/document_structured.py +384 -0
  18. core_pdf/impl/engine/extraction/document_text.py +89 -0
  19. core_pdf/impl/engine/extraction/ocr/__init__.py +2 -0
  20. core_pdf/impl/engine/extraction/ocr/backend.py +1799 -0
  21. core_pdf/impl/engine/extraction/ocr/candidate_generation.py +1618 -0
  22. core_pdf/impl/engine/extraction/ocr/candidates.py +40 -0
  23. core_pdf/impl/engine/extraction/ocr/execution.py +566 -0
  24. core_pdf/impl/engine/extraction/ocr/full_page.py +853 -0
  25. core_pdf/impl/engine/extraction/ocr/geometry.py +158 -0
  26. core_pdf/impl/engine/extraction/ocr/glyph_recognizer.py +596 -0
  27. core_pdf/impl/engine/extraction/ocr/iterator_layout.py +994 -0
  28. core_pdf/impl/engine/extraction/ocr/layout.py +897 -0
  29. core_pdf/impl/engine/extraction/ocr/line_reconciliation.py +2836 -0
  30. core_pdf/impl/engine/extraction/ocr/page_analysis.py +653 -0
  31. core_pdf/impl/engine/extraction/ocr/postprocess.py +5202 -0
  32. core_pdf/impl/engine/extraction/ocr/rendering.py +405 -0
  33. core_pdf/impl/engine/extraction/ocr/schematic.py +2779 -0
  34. core_pdf/impl/engine/extraction/ocr/selection.py +720 -0
  35. core_pdf/impl/engine/extraction/ocr/session.py +401 -0
  36. core_pdf/impl/engine/extraction/ocr/table_regions.py +1943 -0
  37. core_pdf/impl/engine/extraction/ocr/text_analysis.py +884 -0
  38. core_pdf/impl/engine/extraction/ocr/tiling.py +551 -0
  39. core_pdf/impl/engine/extraction/ocr/types.py +283 -0
  40. core_pdf/impl/engine/extraction/ocr/vector_text.py +867 -0
  41. core_pdf/impl/engine/extraction/page.py +46 -0
  42. core_pdf/impl/engine/extraction/page_text/__init__.py +2 -0
  43. core_pdf/impl/engine/extraction/page_text/decisions.py +67 -0
  44. core_pdf/impl/engine/extraction/page_text/engine.py +466 -0
  45. core_pdf/impl/engine/extraction/page_text/mixin.py +13425 -0
  46. core_pdf/impl/engine/extraction/page_text/native.py +639 -0
  47. core_pdf/impl/engine/extraction/page_text/output.py +140 -0
  48. core_pdf/impl/engine/extraction/page_text/policy.py +1225 -0
  49. core_pdf/impl/engine/extraction/redactions.py +579 -0
  50. core_pdf/impl/engine/extraction/tables/__init__.py +2 -0
  51. core_pdf/impl/engine/extraction/tables/api.py +325 -0
  52. core_pdf/impl/engine/extraction/tables/core.py +746 -0
  53. core_pdf/impl/engine/extraction/tables/exports.py +310 -0
  54. core_pdf/impl/engine/extraction/tables/extract.py +856 -0
  55. core_pdf/impl/engine/extraction/tables/grid.py +443 -0
  56. core_pdf/impl/engine/extraction/tables/options.py +296 -0
  57. core_pdf/impl/engine/extraction/tables/protocols.py +63 -0
  58. core_pdf/impl/engine/extraction/tables/quality.py +71 -0
  59. core_pdf/impl/engine/extraction/tables/stream.py +591 -0
  60. core_pdf/impl/engine/extraction/tables/text_geometry.py +36 -0
  61. core_pdf/impl/engine/extraction/tables/types.py +60 -0
  62. core_pdf/impl/engine/layout/__init__.py +54 -0
  63. core_pdf/impl/engine/layout/data/wordlists/LICENSE_BartMassey_wordlists.txt +27 -0
  64. core_pdf/impl/engine/layout/data/wordlists/LICENSE_wordninja.txt +21 -0
  65. core_pdf/impl/engine/layout/data/wordlists/README.md +23 -0
  66. core_pdf/impl/engine/layout/data/wordlists/README_BartMassey_count_1w.md +16 -0
  67. core_pdf/impl/engine/layout/data/wordlists/norvig_count_1w.txt.gz +0 -0
  68. core_pdf/impl/engine/layout/data/wordlists/wordninja_words.txt.gz +0 -0
  69. core_pdf/impl/engine/layout/geometry.py +238 -0
  70. core_pdf/impl/engine/layout/geometry_quality.py +578 -0
  71. core_pdf/impl/engine/layout/glyphs.py +173 -0
  72. core_pdf/impl/engine/layout/models.py +806 -0
  73. core_pdf/impl/engine/layout/text_lines.py +1498 -0
  74. core_pdf/impl/engine/layout/word_frequencies.py +117 -0
  75. core_pdf/impl/engine/rendering/__init__.py +13 -0
  76. core_pdf/impl/engine/rendering/models.py +2871 -0
  77. core_pdf/impl/engine/rendering/page.py +289 -0
  78. core_pdf/impl/engine/spec/__init__.py +4 -0
  79. core_pdf/impl/engine/spec/s_07_content/__init__.py +24 -0
  80. core_pdf/impl/engine/spec/s_07_content/capture.py +2274 -0
  81. core_pdf/impl/engine/spec/s_07_content/inline_images.py +230 -0
  82. core_pdf/impl/engine/spec/s_07_content/marked_content.py +134 -0
  83. core_pdf/impl/engine/spec/s_07_content/operations.py +1056 -0
  84. core_pdf/impl/engine/spec/s_07_content/operators.py +1417 -0
  85. core_pdf/impl/engine/spec/s_07_content/state.py +1141 -0
  86. core_pdf/impl/engine/spec/s_07_content/text_helpers.py +257 -0
  87. core_pdf/impl/engine/spec/s_07_content/xobjects.py +167 -0
  88. core_pdf/impl/engine/spec/s_07_document/__init__.py +32 -0
  89. core_pdf/impl/engine/spec/s_07_document/document.py +169 -0
  90. core_pdf/impl/engine/spec/s_07_document/document_catalog.py +96 -0
  91. core_pdf/impl/engine/spec/s_07_document/document_embedded.py +92 -0
  92. core_pdf/impl/engine/spec/s_07_document/document_labels.py +109 -0
  93. core_pdf/impl/engine/spec/s_07_document/document_page_labels.py +79 -0
  94. core_pdf/impl/engine/spec/s_07_document/document_page_list.py +95 -0
  95. core_pdf/impl/engine/spec/s_07_document/document_page_recovery.py +220 -0
  96. core_pdf/impl/engine/spec/s_07_document/document_pages.py +220 -0
  97. core_pdf/impl/engine/spec/s_07_document/document_security.py +82 -0
  98. core_pdf/impl/engine/spec/s_07_document/document_selection.py +79 -0
  99. core_pdf/impl/engine/spec/s_07_document/document_source.py +78 -0
  100. core_pdf/impl/engine/spec/s_07_document/document_xref.py +415 -0
  101. core_pdf/impl/engine/spec/s_07_document/forms.py +260 -0
  102. core_pdf/impl/engine/spec/s_07_document/layers.py +120 -0
  103. core_pdf/impl/engine/spec/s_07_document/metadata.py +132 -0
  104. core_pdf/impl/engine/spec/s_07_document/metadata_types.py +49 -0
  105. core_pdf/impl/engine/spec/s_07_document/name_trees.py +130 -0
  106. core_pdf/impl/engine/spec/s_07_document/navigation.py +265 -0
  107. core_pdf/impl/engine/spec/s_07_document/page.py +332 -0
  108. core_pdf/impl/engine/spec/s_07_document/page_boxes.py +158 -0
  109. core_pdf/impl/engine/spec/s_07_document/page_interactions.py +250 -0
  110. core_pdf/impl/engine/spec/s_07_document/page_links.py +98 -0
  111. core_pdf/impl/engine/spec/s_07_document/page_state.py +157 -0
  112. core_pdf/impl/engine/spec/s_07_document/protocols.py +119 -0
  113. core_pdf/impl/engine/spec/s_07_filters/__init__.py +4 -0
  114. core_pdf/impl/engine/spec/s_07_filters/codecs.py +277 -0
  115. core_pdf/impl/engine/spec/s_07_filters/decode_spec.py +309 -0
  116. core_pdf/impl/engine/spec/s_07_filters/decoders.py +167 -0
  117. core_pdf/impl/engine/spec/s_07_filters/flate.py +144 -0
  118. core_pdf/impl/engine/spec/s_07_filters/pipeline.py +224 -0
  119. core_pdf/impl/engine/spec/s_07_filters/predictors.py +55 -0
  120. core_pdf/impl/engine/spec/s_07_objects/__init__.py +2 -0
  121. core_pdf/impl/engine/spec/s_07_objects/coercion.py +199 -0
  122. core_pdf/impl/engine/spec/s_07_objects/indirect_headers.py +46 -0
  123. core_pdf/impl/engine/spec/s_07_objects/object_cache.py +57 -0
  124. core_pdf/impl/engine/spec/s_07_objects/pdfdict.py +120 -0
  125. core_pdf/impl/engine/spec/s_07_objects/resolver.py +253 -0
  126. core_pdf/impl/engine/spec/s_07_objects/resolver_values.py +190 -0
  127. core_pdf/impl/engine/spec/s_07_security/__init__.py +4 -0
  128. core_pdf/impl/engine/spec/s_07_security/aes.py +215 -0
  129. core_pdf/impl/engine/spec/s_07_security/crypto_constants.py +550 -0
  130. core_pdf/impl/engine/spec/s_07_security/crypto_handlers.py +19 -0
  131. core_pdf/impl/engine/spec/s_07_security/errors.py +10 -0
  132. core_pdf/impl/engine/spec/s_07_security/rc4.py +33 -0
  133. core_pdf/impl/engine/spec/s_07_security/saslprep.py +47 -0
  134. core_pdf/impl/engine/spec/s_07_security/standard.py +174 -0
  135. core_pdf/impl/engine/spec/s_07_security/standard_v4.py +95 -0
  136. core_pdf/impl/engine/spec/s_07_security/standard_v5.py +113 -0
  137. core_pdf/impl/engine/spec/s_07_security/values.py +27 -0
  138. core_pdf/impl/engine/spec/s_07_syntax/__init__.py +2 -0
  139. core_pdf/impl/engine/spec/s_07_syntax/lexer.py +1110 -0
  140. core_pdf/impl/engine/spec/s_07_syntax/lexer_helpers.py +170 -0
  141. core_pdf/impl/engine/spec/s_07_syntax/objects.py +153 -0
  142. core_pdf/impl/engine/spec/s_07_syntax/tokens.py +30 -0
  143. core_pdf/impl/engine/spec/s_07_syntax/xref.py +715 -0
  144. core_pdf/impl/engine/spec/s_08_graphics/__init__.py +2 -0
  145. core_pdf/impl/engine/spec/s_08_graphics/color.py +623 -0
  146. core_pdf/impl/engine/spec/s_08_graphics/color_math.py +36 -0
  147. core_pdf/impl/engine/spec/s_08_graphics/color_spec.py +255 -0
  148. core_pdf/impl/engine/spec/s_08_graphics/icc_profiles.py +617 -0
  149. core_pdf/impl/engine/spec/s_08_graphics/matrix.py +45 -0
  150. core_pdf/impl/engine/spec/s_09_fonts/__init__.py +2 -0
  151. core_pdf/impl/engine/spec/s_09_fonts/cff.py +90 -0
  152. core_pdf/impl/engine/spec/s_09_fonts/data/__init__.py +4 -0
  153. core_pdf/impl/engine/spec/s_09_fonts/data/core14.py +13214 -0
  154. core_pdf/impl/engine/spec/s_09_fonts/decoder.py +745 -0
  155. core_pdf/impl/engine/spec/s_09_fonts/encoding.py +47 -0
  156. core_pdf/impl/engine/spec/s_09_fonts/font_names.py +27 -0
  157. core_pdf/impl/engine/spec/s_09_fonts/glyph_decode.py +137 -0
  158. core_pdf/impl/engine/spec/s_09_fonts/glyphs.py +141 -0
  159. core_pdf/impl/engine/spec/s_09_fonts/helpers.py +93 -0
  160. core_pdf/impl/engine/spec/s_09_fonts/metrics.py +68 -0
  161. core_pdf/impl/engine/spec/s_09_fonts/truetype.py +37 -0
  162. core_pdf/impl/engine/spec/s_09_fonts/widths.py +138 -0
  163. core_pdf/impl/engine/spec/s_14_structure/__init__.py +4 -0
  164. core_pdf/impl/engine/spec/s_14_structure/content.py +48 -0
  165. core_pdf/impl/engine/spec/s_14_structure/tree.py +564 -0
  166. core_pdf/impl/exceptions.py +18 -0
  167. core_pdf/impl/integrations/__init__.py +4 -0
  168. core_pdf/impl/models.py +301 -0
  169. core_pdf/impl/objects.py +90 -0
  170. core_pdf/impl/primitives.py +156 -0
  171. core_pdf/impl/protocols.py +20 -0
  172. core_pdf/impl/third_party/__init__.py +3 -0
  173. core_pdf/impl/third_party/_vendor/README.rst +16 -0
  174. core_pdf/impl/third_party/_vendor/__init__.py +6 -0
  175. core_pdf/impl/third_party/_vendor/fontTools/LICENSE +21 -0
  176. core_pdf/impl/third_party/_vendor/fontTools/LICENSE.external +388 -0
  177. core_pdf/impl/third_party/_vendor/fontTools/__init__.py +8 -0
  178. core_pdf/impl/third_party/_vendor/fontTools/__main__.py +35 -0
  179. core_pdf/impl/third_party/_vendor/fontTools/afmLib.py +439 -0
  180. core_pdf/impl/third_party/_vendor/fontTools/agl.py +5233 -0
  181. core_pdf/impl/third_party/_vendor/fontTools/annotations.py +30 -0
  182. core_pdf/impl/third_party/_vendor/fontTools/cffLib/CFF2ToCFF.py +258 -0
  183. core_pdf/impl/third_party/_vendor/fontTools/cffLib/CFFToCFF2.py +305 -0
  184. core_pdf/impl/third_party/_vendor/fontTools/cffLib/__init__.py +3694 -0
  185. core_pdf/impl/third_party/_vendor/fontTools/cffLib/specializer.py +927 -0
  186. core_pdf/impl/third_party/_vendor/fontTools/cffLib/transforms.py +495 -0
  187. core_pdf/impl/third_party/_vendor/fontTools/cffLib/width.py +210 -0
  188. core_pdf/impl/third_party/_vendor/fontTools/colorLib/__init__.py +0 -0
  189. core_pdf/impl/third_party/_vendor/fontTools/colorLib/builder.py +684 -0
  190. core_pdf/impl/third_party/_vendor/fontTools/colorLib/errors.py +2 -0
  191. core_pdf/impl/third_party/_vendor/fontTools/colorLib/geometry.py +143 -0
  192. core_pdf/impl/third_party/_vendor/fontTools/colorLib/table_builder.py +223 -0
  193. core_pdf/impl/third_party/_vendor/fontTools/colorLib/unbuilder.py +81 -0
  194. core_pdf/impl/third_party/_vendor/fontTools/config/__init__.py +90 -0
  195. core_pdf/impl/third_party/_vendor/fontTools/cu2qu/__init__.py +15 -0
  196. core_pdf/impl/third_party/_vendor/fontTools/cu2qu/__main__.py +6 -0
  197. core_pdf/impl/third_party/_vendor/fontTools/cu2qu/benchmark.py +54 -0
  198. core_pdf/impl/third_party/_vendor/fontTools/cu2qu/cli.py +198 -0
  199. core_pdf/impl/third_party/_vendor/fontTools/cu2qu/cu2qu.py +569 -0
  200. core_pdf/impl/third_party/_vendor/fontTools/cu2qu/errors.py +77 -0
  201. core_pdf/impl/third_party/_vendor/fontTools/cu2qu/ufo.py +383 -0
  202. core_pdf/impl/third_party/_vendor/fontTools/designspaceLib/__init__.py +3358 -0
  203. core_pdf/impl/third_party/_vendor/fontTools/designspaceLib/__main__.py +6 -0
  204. core_pdf/impl/third_party/_vendor/fontTools/designspaceLib/split.py +475 -0
  205. core_pdf/impl/third_party/_vendor/fontTools/designspaceLib/statNames.py +260 -0
  206. core_pdf/impl/third_party/_vendor/fontTools/designspaceLib/types.py +147 -0
  207. core_pdf/impl/third_party/_vendor/fontTools/diff/__init__.py +441 -0
  208. core_pdf/impl/third_party/_vendor/fontTools/diff/__main__.py +6 -0
  209. core_pdf/impl/third_party/_vendor/fontTools/diff/color.py +44 -0
  210. core_pdf/impl/third_party/_vendor/fontTools/diff/diff.py +294 -0
  211. core_pdf/impl/third_party/_vendor/fontTools/diff/utils.py +28 -0
  212. core_pdf/impl/third_party/_vendor/fontTools/encodings/MacRoman.py +258 -0
  213. core_pdf/impl/third_party/_vendor/fontTools/encodings/StandardEncoding.py +258 -0
  214. core_pdf/impl/third_party/_vendor/fontTools/encodings/__init__.py +1 -0
  215. core_pdf/impl/third_party/_vendor/fontTools/encodings/codecs.py +135 -0
  216. core_pdf/impl/third_party/_vendor/fontTools/feaLib/__init__.py +4 -0
  217. core_pdf/impl/third_party/_vendor/fontTools/feaLib/__main__.py +78 -0
  218. core_pdf/impl/third_party/_vendor/fontTools/feaLib/ast.py +2143 -0
  219. core_pdf/impl/third_party/_vendor/fontTools/feaLib/builder.py +1838 -0
  220. core_pdf/impl/third_party/_vendor/fontTools/feaLib/error.py +22 -0
  221. core_pdf/impl/third_party/_vendor/fontTools/feaLib/lexer.py +287 -0
  222. core_pdf/impl/third_party/_vendor/fontTools/feaLib/location.py +12 -0
  223. core_pdf/impl/third_party/_vendor/fontTools/feaLib/lookupDebugInfo.py +12 -0
  224. core_pdf/impl/third_party/_vendor/fontTools/feaLib/parser.py +2395 -0
  225. core_pdf/impl/third_party/_vendor/fontTools/feaLib/variableScalar.py +265 -0
  226. core_pdf/impl/third_party/_vendor/fontTools/fontBuilder.py +1014 -0
  227. core_pdf/impl/third_party/_vendor/fontTools/help.py +36 -0
  228. core_pdf/impl/third_party/_vendor/fontTools/merge/__init__.py +248 -0
  229. core_pdf/impl/third_party/_vendor/fontTools/merge/__main__.py +6 -0
  230. core_pdf/impl/third_party/_vendor/fontTools/merge/base.py +81 -0
  231. core_pdf/impl/third_party/_vendor/fontTools/merge/cmap.py +173 -0
  232. core_pdf/impl/third_party/_vendor/fontTools/merge/layout.py +526 -0
  233. core_pdf/impl/third_party/_vendor/fontTools/merge/options.py +85 -0
  234. core_pdf/impl/third_party/_vendor/fontTools/merge/tables.py +352 -0
  235. core_pdf/impl/third_party/_vendor/fontTools/merge/unicode.py +78 -0
  236. core_pdf/impl/third_party/_vendor/fontTools/merge/util.py +143 -0
  237. core_pdf/impl/third_party/_vendor/fontTools/misc/__init__.py +1 -0
  238. core_pdf/impl/third_party/_vendor/fontTools/misc/arrayTools.py +424 -0
  239. core_pdf/impl/third_party/_vendor/fontTools/misc/bezierTools.py +1500 -0
  240. core_pdf/impl/third_party/_vendor/fontTools/misc/classifyTools.py +170 -0
  241. core_pdf/impl/third_party/_vendor/fontTools/misc/cliTools.py +53 -0
  242. core_pdf/impl/third_party/_vendor/fontTools/misc/configTools.py +351 -0
  243. core_pdf/impl/third_party/_vendor/fontTools/misc/cython.py +27 -0
  244. core_pdf/impl/third_party/_vendor/fontTools/misc/dictTools.py +83 -0
  245. core_pdf/impl/third_party/_vendor/fontTools/misc/eexec.py +119 -0
  246. core_pdf/impl/third_party/_vendor/fontTools/misc/encodingTools.py +72 -0
  247. core_pdf/impl/third_party/_vendor/fontTools/misc/enumTools.py +23 -0
  248. core_pdf/impl/third_party/_vendor/fontTools/misc/etree.py +456 -0
  249. core_pdf/impl/third_party/_vendor/fontTools/misc/filenames.py +245 -0
  250. core_pdf/impl/third_party/_vendor/fontTools/misc/filesystem/__init__.py +68 -0
  251. core_pdf/impl/third_party/_vendor/fontTools/misc/filesystem/_base.py +134 -0
  252. core_pdf/impl/third_party/_vendor/fontTools/misc/filesystem/_copy.py +45 -0
  253. core_pdf/impl/third_party/_vendor/fontTools/misc/filesystem/_errors.py +54 -0
  254. core_pdf/impl/third_party/_vendor/fontTools/misc/filesystem/_info.py +75 -0
  255. core_pdf/impl/third_party/_vendor/fontTools/misc/filesystem/_osfs.py +164 -0
  256. core_pdf/impl/third_party/_vendor/fontTools/misc/filesystem/_path.py +67 -0
  257. core_pdf/impl/third_party/_vendor/fontTools/misc/filesystem/_subfs.py +92 -0
  258. core_pdf/impl/third_party/_vendor/fontTools/misc/filesystem/_tempfs.py +34 -0
  259. core_pdf/impl/third_party/_vendor/fontTools/misc/filesystem/_tools.py +34 -0
  260. core_pdf/impl/third_party/_vendor/fontTools/misc/filesystem/_walk.py +55 -0
  261. core_pdf/impl/third_party/_vendor/fontTools/misc/filesystem/_zipfs.py +204 -0
  262. core_pdf/impl/third_party/_vendor/fontTools/misc/fixedTools.py +253 -0
  263. core_pdf/impl/third_party/_vendor/fontTools/misc/iftSparseBitSet.py +311 -0
  264. core_pdf/impl/third_party/_vendor/fontTools/misc/intTools.py +25 -0
  265. core_pdf/impl/third_party/_vendor/fontTools/misc/iterTools.py +12 -0
  266. core_pdf/impl/third_party/_vendor/fontTools/misc/lazyTools.py +42 -0
  267. core_pdf/impl/third_party/_vendor/fontTools/misc/loggingTools.py +543 -0
  268. core_pdf/impl/third_party/_vendor/fontTools/misc/macCreatorType.py +56 -0
  269. core_pdf/impl/third_party/_vendor/fontTools/misc/macRes.py +261 -0
  270. core_pdf/impl/third_party/_vendor/fontTools/misc/plistlib/__init__.py +681 -0
  271. core_pdf/impl/third_party/_vendor/fontTools/misc/plistlib/py.typed +0 -0
  272. core_pdf/impl/third_party/_vendor/fontTools/misc/psCharStrings.py +1511 -0
  273. core_pdf/impl/third_party/_vendor/fontTools/misc/psLib.py +398 -0
  274. core_pdf/impl/third_party/_vendor/fontTools/misc/psOperators.py +572 -0
  275. core_pdf/impl/third_party/_vendor/fontTools/misc/py23.py +96 -0
  276. core_pdf/impl/third_party/_vendor/fontTools/misc/roundTools.py +110 -0
  277. core_pdf/impl/third_party/_vendor/fontTools/misc/sstruct.py +227 -0
  278. core_pdf/impl/third_party/_vendor/fontTools/misc/symfont.py +242 -0
  279. core_pdf/impl/third_party/_vendor/fontTools/misc/testTools.py +233 -0
  280. core_pdf/impl/third_party/_vendor/fontTools/misc/textTools.py +156 -0
  281. core_pdf/impl/third_party/_vendor/fontTools/misc/timeTools.py +88 -0
  282. core_pdf/impl/third_party/_vendor/fontTools/misc/transform.py +516 -0
  283. core_pdf/impl/third_party/_vendor/fontTools/misc/treeTools.py +45 -0
  284. core_pdf/impl/third_party/_vendor/fontTools/misc/vector.py +147 -0
  285. core_pdf/impl/third_party/_vendor/fontTools/misc/visitor.py +158 -0
  286. core_pdf/impl/third_party/_vendor/fontTools/misc/xmlReader.py +188 -0
  287. core_pdf/impl/third_party/_vendor/fontTools/misc/xmlWriter.py +240 -0
  288. core_pdf/impl/third_party/_vendor/fontTools/mtiLib/__init__.py +1400 -0
  289. core_pdf/impl/third_party/_vendor/fontTools/mtiLib/__main__.py +5 -0
  290. core_pdf/impl/third_party/_vendor/fontTools/otlLib/__init__.py +1 -0
  291. core_pdf/impl/third_party/_vendor/fontTools/otlLib/builder.py +3481 -0
  292. core_pdf/impl/third_party/_vendor/fontTools/otlLib/error.py +11 -0
  293. core_pdf/impl/third_party/_vendor/fontTools/otlLib/maxContextCalc.py +96 -0
  294. core_pdf/impl/third_party/_vendor/fontTools/otlLib/optimize/__init__.py +53 -0
  295. core_pdf/impl/third_party/_vendor/fontTools/otlLib/optimize/__main__.py +6 -0
  296. core_pdf/impl/third_party/_vendor/fontTools/otlLib/optimize/gpos.py +439 -0
  297. core_pdf/impl/third_party/_vendor/fontTools/pens/__init__.py +1 -0
  298. core_pdf/impl/third_party/_vendor/fontTools/pens/areaPen.py +52 -0
  299. core_pdf/impl/third_party/_vendor/fontTools/pens/basePen.py +475 -0
  300. core_pdf/impl/third_party/_vendor/fontTools/pens/boundsPen.py +98 -0
  301. core_pdf/impl/third_party/_vendor/fontTools/pens/cairoPen.py +26 -0
  302. core_pdf/impl/third_party/_vendor/fontTools/pens/cocoaPen.py +26 -0
  303. core_pdf/impl/third_party/_vendor/fontTools/pens/cu2quPen.py +325 -0
  304. core_pdf/impl/third_party/_vendor/fontTools/pens/explicitClosingLinePen.py +101 -0
  305. core_pdf/impl/third_party/_vendor/fontTools/pens/filterPen.py +433 -0
  306. core_pdf/impl/third_party/_vendor/fontTools/pens/freetypePen.py +462 -0
  307. core_pdf/impl/third_party/_vendor/fontTools/pens/hashPointPen.py +89 -0
  308. core_pdf/impl/third_party/_vendor/fontTools/pens/momentsPen.py +879 -0
  309. core_pdf/impl/third_party/_vendor/fontTools/pens/perimeterPen.py +69 -0
  310. core_pdf/impl/third_party/_vendor/fontTools/pens/pointInsidePen.py +192 -0
  311. core_pdf/impl/third_party/_vendor/fontTools/pens/pointPen.py +653 -0
  312. core_pdf/impl/third_party/_vendor/fontTools/pens/qtPen.py +29 -0
  313. core_pdf/impl/third_party/_vendor/fontTools/pens/qu2cuPen.py +105 -0
  314. core_pdf/impl/third_party/_vendor/fontTools/pens/quartzPen.py +43 -0
  315. core_pdf/impl/third_party/_vendor/fontTools/pens/recordingPen.py +335 -0
  316. core_pdf/impl/third_party/_vendor/fontTools/pens/reportLabPen.py +79 -0
  317. core_pdf/impl/third_party/_vendor/fontTools/pens/reverseContourPen.py +96 -0
  318. core_pdf/impl/third_party/_vendor/fontTools/pens/roundingPen.py +130 -0
  319. core_pdf/impl/third_party/_vendor/fontTools/pens/statisticsPen.py +312 -0
  320. core_pdf/impl/third_party/_vendor/fontTools/pens/svgPathPen.py +310 -0
  321. core_pdf/impl/third_party/_vendor/fontTools/pens/t2CharStringPen.py +88 -0
  322. core_pdf/impl/third_party/_vendor/fontTools/pens/teePen.py +55 -0
  323. core_pdf/impl/third_party/_vendor/fontTools/pens/transformPen.py +115 -0
  324. core_pdf/impl/third_party/_vendor/fontTools/pens/ttGlyphPen.py +335 -0
  325. core_pdf/impl/third_party/_vendor/fontTools/pens/wxPen.py +29 -0
  326. core_pdf/impl/third_party/_vendor/fontTools/qu2cu/__init__.py +15 -0
  327. core_pdf/impl/third_party/_vendor/fontTools/qu2cu/__main__.py +7 -0
  328. core_pdf/impl/third_party/_vendor/fontTools/qu2cu/benchmark.py +56 -0
  329. core_pdf/impl/third_party/_vendor/fontTools/qu2cu/cli.py +129 -0
  330. core_pdf/impl/third_party/_vendor/fontTools/qu2cu/qu2cu.py +433 -0
  331. core_pdf/impl/third_party/_vendor/fontTools/subset/__init__.py +4096 -0
  332. core_pdf/impl/third_party/_vendor/fontTools/subset/__main__.py +6 -0
  333. core_pdf/impl/third_party/_vendor/fontTools/subset/cff.py +184 -0
  334. core_pdf/impl/third_party/_vendor/fontTools/subset/svg.py +252 -0
  335. core_pdf/impl/third_party/_vendor/fontTools/subset/util.py +25 -0
  336. core_pdf/impl/third_party/_vendor/fontTools/svgLib/__init__.py +3 -0
  337. core_pdf/impl/third_party/_vendor/fontTools/svgLib/path/__init__.py +65 -0
  338. core_pdf/impl/third_party/_vendor/fontTools/svgLib/path/arc.py +154 -0
  339. core_pdf/impl/third_party/_vendor/fontTools/svgLib/path/parser.py +322 -0
  340. core_pdf/impl/third_party/_vendor/fontTools/svgLib/path/shapes.py +185 -0
  341. core_pdf/impl/third_party/_vendor/fontTools/t1Lib/__init__.py +648 -0
  342. core_pdf/impl/third_party/_vendor/fontTools/tfmLib.py +460 -0
  343. core_pdf/impl/third_party/_vendor/fontTools/ttLib/__init__.py +30 -0
  344. core_pdf/impl/third_party/_vendor/fontTools/ttLib/__main__.py +148 -0
  345. core_pdf/impl/third_party/_vendor/fontTools/ttLib/macUtils.py +54 -0
  346. core_pdf/impl/third_party/_vendor/fontTools/ttLib/removeOverlaps.py +395 -0
  347. core_pdf/impl/third_party/_vendor/fontTools/ttLib/reorderGlyphs.py +285 -0
  348. core_pdf/impl/third_party/_vendor/fontTools/ttLib/scaleUpem.py +436 -0
  349. core_pdf/impl/third_party/_vendor/fontTools/ttLib/sfnt.py +664 -0
  350. core_pdf/impl/third_party/_vendor/fontTools/ttLib/standardGlyphOrder.py +271 -0
  351. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/B_A_S_E_.py +14 -0
  352. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/BitmapGlyphMetrics.py +64 -0
  353. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/C_B_D_T_.py +113 -0
  354. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/C_B_L_C_.py +19 -0
  355. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/C_F_F_.py +61 -0
  356. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/C_F_F__2.py +26 -0
  357. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/C_O_L_R_.py +165 -0
  358. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/C_P_A_L_.py +305 -0
  359. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/D_S_I_G_.py +170 -0
  360. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/D__e_b_g.py +35 -0
  361. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/DefaultTable.py +63 -0
  362. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/E_B_D_T_.py +835 -0
  363. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/E_B_L_C_.py +718 -0
  364. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/F_F_T_M_.py +52 -0
  365. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/F__e_a_t.py +159 -0
  366. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/G_D_E_F_.py +13 -0
  367. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/G_P_O_S_.py +14 -0
  368. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/G_S_U_B_.py +13 -0
  369. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/G_V_A_R_.py +5 -0
  370. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/G__l_a_t.py +235 -0
  371. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/G__l_o_c.py +85 -0
  372. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/H_V_A_R_.py +13 -0
  373. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/I_F_T_.py +12 -0
  374. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/I_F_T_X_.py +12 -0
  375. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/J_S_T_F_.py +13 -0
  376. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/L_T_S_H_.py +58 -0
  377. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/M_A_T_H_.py +13 -0
  378. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/M_V_A_R_.py +13 -0
  379. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/O_S_2f_2.py +752 -0
  380. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/S_T_A_T_.py +15 -0
  381. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/S_V_G_.py +223 -0
  382. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/S__i_l_f.py +1040 -0
  383. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/S__i_l_l.py +92 -0
  384. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/T_S_I_B_.py +13 -0
  385. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/T_S_I_C_.py +14 -0
  386. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/T_S_I_D_.py +13 -0
  387. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/T_S_I_J_.py +13 -0
  388. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/T_S_I_P_.py +13 -0
  389. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/T_S_I_S_.py +13 -0
  390. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/T_S_I_V_.py +26 -0
  391. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/T_S_I__0.py +70 -0
  392. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/T_S_I__1.py +163 -0
  393. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/T_S_I__2.py +17 -0
  394. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/T_S_I__3.py +22 -0
  395. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/T_S_I__5.py +60 -0
  396. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/T_T_F_A_.py +14 -0
  397. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/TupleVariation.py +886 -0
  398. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/V_A_R_C_.py +12 -0
  399. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/V_D_M_X_.py +249 -0
  400. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/V_O_R_G_.py +165 -0
  401. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/V_V_A_R_.py +13 -0
  402. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/__init__.py +97 -0
  403. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_a_n_k_r.py +15 -0
  404. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_a_v_a_r.py +200 -0
  405. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_b_g_c_l.py +136 -0
  406. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_b_s_l_n.py +15 -0
  407. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_c_i_d_g.py +24 -0
  408. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_c_m_a_p.py +1597 -0
  409. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_c_v_a_r.py +94 -0
  410. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_c_v_t.py +56 -0
  411. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_f_e_a_t.py +15 -0
  412. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_f_p_g_m.py +62 -0
  413. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_f_v_a_r.py +259 -0
  414. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_g_a_s_p.py +63 -0
  415. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_g_c_i_d.py +13 -0
  416. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_g_l_y_f.py +2302 -0
  417. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_g_v_a_r.py +340 -0
  418. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_h_d_m_x.py +127 -0
  419. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_h_e_a_d.py +130 -0
  420. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_h_h_e_a.py +147 -0
  421. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_h_m_t_x.py +164 -0
  422. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_k_e_r_n.py +289 -0
  423. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_l_c_a_r.py +13 -0
  424. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_l_o_c_a.py +70 -0
  425. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_l_t_a_g.py +72 -0
  426. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_m_a_x_p.py +147 -0
  427. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_m_e_t_a.py +112 -0
  428. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_m_o_r_t.py +14 -0
  429. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_m_o_r_x.py +15 -0
  430. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_n_a_m_e.py +1242 -0
  431. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_o_p_b_d.py +14 -0
  432. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_p_o_s_t.py +319 -0
  433. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_p_r_e_p.py +16 -0
  434. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_p_r_o_p.py +12 -0
  435. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_s_b_i_x.py +129 -0
  436. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_t_r_a_k.py +330 -0
  437. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_v_h_e_a.py +139 -0
  438. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/_v_m_t_x.py +19 -0
  439. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/asciiTable.py +20 -0
  440. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/grUtils.py +92 -0
  441. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/otBase.py +1467 -0
  442. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/otConverters.py +2334 -0
  443. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/otData.py +5983 -0
  444. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/otDataSchema.py +37 -0
  445. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/otTables.py +2733 -0
  446. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/otTraverse.py +163 -0
  447. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/sbixGlyph.py +149 -0
  448. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/sbixStrike.py +177 -0
  449. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/table_API_readme.txt +91 -0
  450. core_pdf/impl/third_party/_vendor/fontTools/ttLib/tables/ttProgram.py +596 -0
  451. core_pdf/impl/third_party/_vendor/fontTools/ttLib/ttCollection.py +125 -0
  452. core_pdf/impl/third_party/_vendor/fontTools/ttLib/ttFont.py +1696 -0
  453. core_pdf/impl/third_party/_vendor/fontTools/ttLib/ttGlyphSet.py +490 -0
  454. core_pdf/impl/third_party/_vendor/fontTools/ttLib/ttVisitor.py +32 -0
  455. core_pdf/impl/third_party/_vendor/fontTools/ttLib/woff2.py +1680 -0
  456. core_pdf/impl/third_party/_vendor/fontTools/ttx.py +479 -0
  457. core_pdf/impl/third_party/_vendor/fontTools/ufoLib/__init__.py +2575 -0
  458. core_pdf/impl/third_party/_vendor/fontTools/ufoLib/converters.py +407 -0
  459. core_pdf/impl/third_party/_vendor/fontTools/ufoLib/errors.py +30 -0
  460. core_pdf/impl/third_party/_vendor/fontTools/ufoLib/etree.py +6 -0
  461. core_pdf/impl/third_party/_vendor/fontTools/ufoLib/filenames.py +356 -0
  462. core_pdf/impl/third_party/_vendor/fontTools/ufoLib/glifLib.py +2123 -0
  463. core_pdf/impl/third_party/_vendor/fontTools/ufoLib/kerning.py +141 -0
  464. core_pdf/impl/third_party/_vendor/fontTools/ufoLib/plistlib.py +47 -0
  465. core_pdf/impl/third_party/_vendor/fontTools/ufoLib/pointPen.py +6 -0
  466. core_pdf/impl/third_party/_vendor/fontTools/ufoLib/utils.py +107 -0
  467. core_pdf/impl/third_party/_vendor/fontTools/ufoLib/validators.py +1197 -0
  468. core_pdf/impl/third_party/_vendor/fontTools/unicode.py +50 -0
  469. core_pdf/impl/third_party/_vendor/fontTools/unicodedata/Blocks.py +817 -0
  470. core_pdf/impl/third_party/_vendor/fontTools/unicodedata/Mirrored.py +446 -0
  471. core_pdf/impl/third_party/_vendor/fontTools/unicodedata/OTTags.py +50 -0
  472. core_pdf/impl/third_party/_vendor/fontTools/unicodedata/ScriptExtensions.py +832 -0
  473. core_pdf/impl/third_party/_vendor/fontTools/unicodedata/Scripts.py +3639 -0
  474. core_pdf/impl/third_party/_vendor/fontTools/unicodedata/__init__.py +306 -0
  475. core_pdf/impl/third_party/_vendor/fontTools/varLib/__init__.py +1582 -0
  476. core_pdf/impl/third_party/_vendor/fontTools/varLib/__main__.py +6 -0
  477. core_pdf/impl/third_party/_vendor/fontTools/varLib/avar/__init__.py +0 -0
  478. core_pdf/impl/third_party/_vendor/fontTools/varLib/avar/__main__.py +72 -0
  479. core_pdf/impl/third_party/_vendor/fontTools/varLib/avar/build.py +79 -0
  480. core_pdf/impl/third_party/_vendor/fontTools/varLib/avar/map.py +124 -0
  481. core_pdf/impl/third_party/_vendor/fontTools/varLib/avar/plan.py +1004 -0
  482. core_pdf/impl/third_party/_vendor/fontTools/varLib/avar/unbuild.py +274 -0
  483. core_pdf/impl/third_party/_vendor/fontTools/varLib/avarPlanner.py +8 -0
  484. core_pdf/impl/third_party/_vendor/fontTools/varLib/builder.py +215 -0
  485. core_pdf/impl/third_party/_vendor/fontTools/varLib/cff.py +631 -0
  486. core_pdf/impl/third_party/_vendor/fontTools/varLib/errors.py +219 -0
  487. core_pdf/impl/third_party/_vendor/fontTools/varLib/featureVars.py +703 -0
  488. core_pdf/impl/third_party/_vendor/fontTools/varLib/hvar.py +113 -0
  489. core_pdf/impl/third_party/_vendor/fontTools/varLib/instancer/__init__.py +2049 -0
  490. core_pdf/impl/third_party/_vendor/fontTools/varLib/instancer/__main__.py +5 -0
  491. core_pdf/impl/third_party/_vendor/fontTools/varLib/instancer/featureVars.py +190 -0
  492. core_pdf/impl/third_party/_vendor/fontTools/varLib/instancer/names.py +388 -0
  493. core_pdf/impl/third_party/_vendor/fontTools/varLib/instancer/solver.py +309 -0
  494. core_pdf/impl/third_party/_vendor/fontTools/varLib/interpolatable.py +1209 -0
  495. core_pdf/impl/third_party/_vendor/fontTools/varLib/interpolatableHelpers.py +360 -0
  496. core_pdf/impl/third_party/_vendor/fontTools/varLib/interpolatablePlot.py +1264 -0
  497. core_pdf/impl/third_party/_vendor/fontTools/varLib/interpolatableTestContourOrder.py +81 -0
  498. core_pdf/impl/third_party/_vendor/fontTools/varLib/interpolatableTestStartingPoint.py +109 -0
  499. core_pdf/impl/third_party/_vendor/fontTools/varLib/interpolate_layout.py +124 -0
  500. core_pdf/impl/third_party/_vendor/fontTools/varLib/iup.py +490 -0
  501. core_pdf/impl/third_party/_vendor/fontTools/varLib/merger.py +1717 -0
  502. core_pdf/impl/third_party/_vendor/fontTools/varLib/models.py +663 -0
  503. core_pdf/impl/third_party/_vendor/fontTools/varLib/multiVarStore.py +253 -0
  504. core_pdf/impl/third_party/_vendor/fontTools/varLib/mutator.py +529 -0
  505. core_pdf/impl/third_party/_vendor/fontTools/varLib/mvar.py +40 -0
  506. core_pdf/impl/third_party/_vendor/fontTools/varLib/plot.py +238 -0
  507. core_pdf/impl/third_party/_vendor/fontTools/varLib/stat.py +149 -0
  508. core_pdf/impl/third_party/_vendor/fontTools/varLib/varStore.py +739 -0
  509. core_pdf/impl/third_party/_vendor/fontTools/voltLib/__init__.py +5 -0
  510. core_pdf/impl/third_party/_vendor/fontTools/voltLib/__main__.py +206 -0
  511. core_pdf/impl/third_party/_vendor/fontTools/voltLib/ast.py +452 -0
  512. core_pdf/impl/third_party/_vendor/fontTools/voltLib/error.py +12 -0
  513. core_pdf/impl/third_party/_vendor/fontTools/voltLib/lexer.py +99 -0
  514. core_pdf/impl/third_party/_vendor/fontTools/voltLib/parser.py +664 -0
  515. core_pdf/impl/third_party/_vendor/fontTools/voltLib/voltToFea.py +911 -0
  516. core_pdf/impl/third_party/_vendor/fontTools.pyi +1 -0
  517. core_pdf/impl/third_party/_vendor/vendor.txt +1 -0
  518. core_pdf/impl/third_party/ccitt.py +789 -0
  519. core_pdf/impl/third_party/cff.py +830 -0
  520. core_pdf/impl/third_party/cid/5014.CIDFont_Spec.pdf +0 -0
  521. core_pdf/impl/third_party/cid/__init__.py +26 -0
  522. core_pdf/impl/third_party/cid/cmap.py +909 -0
  523. core_pdf/impl/third_party/cid/encoding.py +24 -0
  524. core_pdf/impl/third_party/cid/pdf_string.py +67 -0
  525. core_pdf/impl/third_party/cid/resource_loader.py +81 -0
  526. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/Adobe-CNS1-0 +134 -0
  527. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/Adobe-CNS1-1 +145 -0
  528. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/Adobe-CNS1-2 +146 -0
  529. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/Adobe-CNS1-3 +151 -0
  530. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/Adobe-CNS1-4 +152 -0
  531. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/Adobe-CNS1-5 +152 -0
  532. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/Adobe-CNS1-6 +152 -0
  533. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/Adobe-CNS1-7 +150 -0
  534. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/B5-H +331 -0
  535. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/B5-V +88 -0
  536. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/B5pc-H +335 -0
  537. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/B5pc-V +88 -0
  538. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/CNS-EUC-H +488 -0
  539. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/CNS-EUC-V +536 -0
  540. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/CNS1-H +235 -0
  541. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/CNS1-V +88 -0
  542. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/CNS2-H +158 -0
  543. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/CNS2-V +74 -0
  544. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/ETHK-B5-H +1326 -0
  545. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/ETHK-B5-V +88 -0
  546. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/ETen-B5-H +341 -0
  547. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/ETen-B5-V +89 -0
  548. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/ETenms-B5-H +77 -0
  549. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/ETenms-B5-V +97 -0
  550. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/HKdla-B5-H +1132 -0
  551. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/HKdla-B5-V +87 -0
  552. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/HKdlb-B5-H +1014 -0
  553. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/HKdlb-B5-V +87 -0
  554. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/HKgccs-B5-H +647 -0
  555. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/HKgccs-B5-V +87 -0
  556. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/HKm314-B5-H +637 -0
  557. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/HKm314-B5-V +87 -0
  558. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/HKm471-B5-H +787 -0
  559. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/HKm471-B5-V +87 -0
  560. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/HKscs-B5-H +1329 -0
  561. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/HKscs-B5-V +88 -0
  562. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/UniCNS-UCS2-H +16990 -0
  563. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/UniCNS-UCS2-V +88 -0
  564. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/UniCNS-UTF16-H +19146 -0
  565. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/UniCNS-UTF16-V +92 -0
  566. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/UniCNS-UTF32-H +19144 -0
  567. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/UniCNS-UTF32-V +92 -0
  568. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/UniCNS-UTF8-H +19209 -0
  569. core_pdf/impl/third_party/cid/resources/Adobe-CNS1-7/CMap/UniCNS-UTF8-V +92 -0
  570. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/Adobe-GB1-0 +109 -0
  571. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/Adobe-GB1-1 +117 -0
  572. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/Adobe-GB1-2 +165 -0
  573. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/Adobe-GB1-3 +165 -0
  574. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/Adobe-GB1-4 +195 -0
  575. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/Adobe-GB1-5 +200 -0
  576. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/Adobe-GB1-6 +199 -0
  577. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GB-EUC-H +171 -0
  578. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GB-EUC-V +96 -0
  579. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GB-H +164 -0
  580. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GB-V +96 -0
  581. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GBK-EUC-H +4271 -0
  582. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GBK-EUC-V +95 -0
  583. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GBK2K-H +5517 -0
  584. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GBK2K-V +116 -0
  585. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GBKp-EUC-H +4270 -0
  586. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GBKp-EUC-V +95 -0
  587. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GBT-EUC-H +2430 -0
  588. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GBT-EUC-V +96 -0
  589. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GBT-H +2423 -0
  590. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GBT-V +96 -0
  591. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GBTpc-EUC-H +2432 -0
  592. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GBTpc-EUC-V +96 -0
  593. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GBpc-EUC-H +173 -0
  594. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/GBpc-EUC-V +96 -0
  595. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/UniGB-UCS2-H +14319 -0
  596. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/UniGB-UCS2-V +99 -0
  597. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/UniGB-UTF16-H +14567 -0
  598. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/UniGB-UTF16-V +102 -0
  599. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/UniGB-UTF32-H +14565 -0
  600. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/UniGB-UTF32-V +102 -0
  601. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/UniGB-UTF8-H +14772 -0
  602. core_pdf/impl/third_party/cid/resources/Adobe-GB1-6/CMap/UniGB-UTF8-V +102 -0
  603. core_pdf/impl/third_party/cid/resources/Adobe-Identity-0/CMap/Identity-H +337 -0
  604. core_pdf/impl/third_party/cid/resources/Adobe-Identity-0/CMap/Identity-V +71 -0
  605. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/78-EUC-H +724 -0
  606. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/78-EUC-V +102 -0
  607. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/78-H +716 -0
  608. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/78-RKSJ-H +726 -0
  609. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/78-RKSJ-V +102 -0
  610. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/78-V +102 -0
  611. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/78ms-RKSJ-H +816 -0
  612. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/78ms-RKSJ-V +153 -0
  613. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/83pv-RKSJ-H +312 -0
  614. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/90ms-RKSJ-H +257 -0
  615. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/90ms-RKSJ-V +154 -0
  616. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/90msp-RKSJ-H +255 -0
  617. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/90msp-RKSJ-V +153 -0
  618. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/90pv-RKSJ-H +353 -0
  619. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/90pv-RKSJ-V +127 -0
  620. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Add-H +725 -0
  621. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Add-RKSJ-H +736 -0
  622. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Add-RKSJ-V +133 -0
  623. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Add-V +133 -0
  624. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Adobe-Japan1-0 +111 -0
  625. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Adobe-Japan1-1 +111 -0
  626. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Adobe-Japan1-2 +113 -0
  627. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Adobe-Japan1-3 +114 -0
  628. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Adobe-Japan1-4 +138 -0
  629. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Adobe-Japan1-5 +157 -0
  630. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Adobe-Japan1-6 +168 -0
  631. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Adobe-Japan1-7 +166 -0
  632. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/EUC-H +205 -0
  633. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/EUC-V +103 -0
  634. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Ext-H +755 -0
  635. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Ext-RKSJ-H +766 -0
  636. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Ext-RKSJ-V +115 -0
  637. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Ext-V +115 -0
  638. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/H +198 -0
  639. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Hankaku +86 -0
  640. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Hiragana +84 -0
  641. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Katakana +78 -0
  642. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/NWP-H +855 -0
  643. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/NWP-V +123 -0
  644. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/RKSJ-H +208 -0
  645. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/RKSJ-V +103 -0
  646. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/Roman +77 -0
  647. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJIS-UCS2-H +8868 -0
  648. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJIS-UCS2-HW-H +79 -0
  649. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJIS-UCS2-HW-V +277 -0
  650. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJIS-UCS2-V +273 -0
  651. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJIS-UTF16-H +14483 -0
  652. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJIS-UTF16-V +305 -0
  653. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJIS-UTF32-H +14481 -0
  654. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJIS-UTF32-V +305 -0
  655. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJIS-UTF8-H +14511 -0
  656. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJIS-UTF8-V +306 -0
  657. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJIS2004-UTF16-H +14486 -0
  658. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJIS2004-UTF16-V +305 -0
  659. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJIS2004-UTF32-H +14484 -0
  660. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJIS2004-UTF32-V +305 -0
  661. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJIS2004-UTF8-H +14514 -0
  662. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJIS2004-UTF8-V +306 -0
  663. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJISPro-UCS2-HW-V +285 -0
  664. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJISPro-UCS2-V +278 -0
  665. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJISPro-UTF8-V +282 -0
  666. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJISX0213-UTF32-H +14475 -0
  667. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJISX0213-UTF32-V +301 -0
  668. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJISX02132004-UTF32-H +14478 -0
  669. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/UniJISX02132004-UTF32-V +301 -0
  670. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/V +103 -0
  671. core_pdf/impl/third_party/cid/resources/Adobe-Japan1-7/CMap/WP-Symbol +103 -0
  672. core_pdf/impl/third_party/cid/resources/Adobe-KR-9/CMap/Adobe-KR-0 +87 -0
  673. core_pdf/impl/third_party/cid/resources/Adobe-KR-9/CMap/Adobe-KR-1 +94 -0
  674. core_pdf/impl/third_party/cid/resources/Adobe-KR-9/CMap/Adobe-KR-2 +120 -0
  675. core_pdf/impl/third_party/cid/resources/Adobe-KR-9/CMap/Adobe-KR-3 +121 -0
  676. core_pdf/impl/third_party/cid/resources/Adobe-KR-9/CMap/Adobe-KR-4 +122 -0
  677. core_pdf/impl/third_party/cid/resources/Adobe-KR-9/CMap/Adobe-KR-5 +123 -0
  678. core_pdf/impl/third_party/cid/resources/Adobe-KR-9/CMap/Adobe-KR-6 +131 -0
  679. core_pdf/impl/third_party/cid/resources/Adobe-KR-9/CMap/Adobe-KR-7 +149 -0
  680. core_pdf/impl/third_party/cid/resources/Adobe-KR-9/CMap/Adobe-KR-8 +163 -0
  681. core_pdf/impl/third_party/cid/resources/Adobe-KR-9/CMap/Adobe-KR-9 +165 -0
  682. core_pdf/impl/third_party/cid/resources/Adobe-KR-9/CMap/UniAKR-UTF16-H +12595 -0
  683. core_pdf/impl/third_party/cid/resources/Adobe-KR-9/CMap/UniAKR-UTF32-H +12589 -0
  684. core_pdf/impl/third_party/cid/resources/Adobe-KR-9/CMap/UniAKR-UTF8-H +12687 -0
  685. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/Adobe-Korea1-0 +114 -0
  686. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/Adobe-Korea1-1 +149 -0
  687. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/Adobe-Korea1-2 +149 -0
  688. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/KSC-EUC-H +560 -0
  689. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/KSC-EUC-V +92 -0
  690. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/KSC-H +554 -0
  691. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/KSC-Johab-H +4343 -0
  692. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/KSC-Johab-V +92 -0
  693. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/KSC-V +92 -0
  694. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/KSCms-UHC-H +774 -0
  695. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/KSCms-UHC-HW-H +773 -0
  696. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/KSCms-UHC-HW-V +91 -0
  697. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/KSCms-UHC-V +92 -0
  698. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/KSCpc-EUC-H +606 -0
  699. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/KSCpc-EUC-V +92 -0
  700. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/UniKS-UCS2-H +8723 -0
  701. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/UniKS-UCS2-V +93 -0
  702. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/UniKS-UTF16-H +8893 -0
  703. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/UniKS-UTF16-V +97 -0
  704. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/UniKS-UTF32-H +8891 -0
  705. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/UniKS-UTF32-V +97 -0
  706. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/UniKS-UTF8-H +8989 -0
  707. core_pdf/impl/third_party/cid/resources/Adobe-Korea1-2/CMap/UniKS-UTF8-V +97 -0
  708. core_pdf/impl/third_party/cid/resources/Adobe-Manga1-0/CMap/Adobe-Manga1-0 +147 -0
  709. core_pdf/impl/third_party/cid/resources/Adobe-Manga1-0/CMap/UniManga-UTF16-H +5831 -0
  710. core_pdf/impl/third_party/cid/resources/Adobe-Manga1-0/CMap/UniManga-UTF16-V +82 -0
  711. core_pdf/impl/third_party/cid/resources/Adobe-Manga1-0/CMap/UniManga-UTF32-H +5829 -0
  712. core_pdf/impl/third_party/cid/resources/Adobe-Manga1-0/CMap/UniManga-UTF32-V +82 -0
  713. core_pdf/impl/third_party/cid/resources/Adobe-Manga1-0/CMap/UniManga-UTF8-H +5955 -0
  714. core_pdf/impl/third_party/cid/resources/Adobe-Manga1-0/CMap/UniManga-UTF8-V +83 -0
  715. core_pdf/impl/third_party/cid/resources/LICENSE.md +28 -0
  716. core_pdf/impl/third_party/cid/resources/README.md +378 -0
  717. core_pdf/impl/third_party/cid/resources/VERSIONS.txt +218 -0
  718. core_pdf/impl/third_party/cid/resources/deprecated/Adobe-Japan2-0/CMap/Adobe-Japan2-0 +102 -0
  719. core_pdf/impl/third_party/cid/resources/deprecated/Adobe-Japan2-0/CMap/Hojo-EUC-H +160 -0
  720. core_pdf/impl/third_party/cid/resources/deprecated/Adobe-Japan2-0/CMap/Hojo-EUC-V +74 -0
  721. core_pdf/impl/third_party/cid/resources/deprecated/Adobe-Japan2-0/CMap/Hojo-H +160 -0
  722. core_pdf/impl/third_party/cid/resources/deprecated/Adobe-Japan2-0/CMap/Hojo-V +74 -0
  723. core_pdf/impl/third_party/cid/resources/deprecated/Adobe-Japan2-0/CMap/UniHojo-UCS2-H +4434 -0
  724. core_pdf/impl/third_party/cid/resources/deprecated/Adobe-Japan2-0/CMap/UniHojo-UCS2-V +73 -0
  725. core_pdf/impl/third_party/cid/resources/deprecated/Adobe-Japan2-0/CMap/UniHojo-UTF16-H +4466 -0
  726. core_pdf/impl/third_party/cid/resources/deprecated/Adobe-Japan2-0/CMap/UniHojo-UTF16-V +73 -0
  727. core_pdf/impl/third_party/cid/resources/deprecated/Adobe-Japan2-0/CMap/UniHojo-UTF32-H +4460 -0
  728. core_pdf/impl/third_party/cid/resources/deprecated/Adobe-Japan2-0/CMap/UniHojo-UTF32-V +73 -0
  729. core_pdf/impl/third_party/cid/resources/deprecated/Adobe-Japan2-0/CMap/UniHojo-UTF8-H +4489 -0
  730. core_pdf/impl/third_party/cid/resources/deprecated/Adobe-Japan2-0/CMap/UniHojo-UTF8-V +73 -0
  731. core_pdf/impl/third_party/cid/widths.py +198 -0
  732. core_pdf/impl/third_party/filters/__init__.py +0 -0
  733. core_pdf/impl/third_party/filters/predictors.py +193 -0
  734. core_pdf/impl/third_party/jbig2.py +992 -0
  735. core_pdf/impl/third_party/truetype.py +407 -0
  736. core_pdf/impl/types.py +62 -0
  737. core_pdf/py.typed +1 -0
  738. core_pdf-0.0.2.dist-info/METADATA +32 -0
  739. core_pdf-0.0.2.dist-info/RECORD +741 -0
  740. core_pdf-0.0.2.dist-info/WHEEL +4 -0
  741. core_pdf-0.0.2.dist-info/licenses/LICENSE.txt +661 -0
core_pdf/__init__.py ADDED
@@ -0,0 +1,22 @@
1
+ # SPDX-License-Identifier: AGPL-3.0-only
2
+ from __future__ import annotations
3
+
4
+ from core_pdf.impl.engine.extraction.document import PdfDocument
5
+ from core_pdf.impl.engine.extraction.page import PdfPage
6
+ from core_pdf.impl.exceptions import (
7
+ PdfError,
8
+ PdfParseError,
9
+ PdfSourceError,
10
+ PdfUnsupportedError,
11
+ )
12
+ from core_pdf.impl.types import PageSelection
13
+
14
+ __all__ = (
15
+ "PageSelection",
16
+ "PdfDocument",
17
+ "PdfError",
18
+ "PdfPage",
19
+ "PdfParseError",
20
+ "PdfSourceError",
21
+ "PdfUnsupportedError",
22
+ )
core_pdf/__main__.py ADDED
@@ -0,0 +1,7 @@
1
+ # SPDX-License-Identifier: AGPL-3.0-only
2
+ from __future__ import annotations
3
+
4
+ from core_pdf.cli import main
5
+
6
+ if __name__ == "__main__":
7
+ raise SystemExit(main())
core_pdf/cli.py ADDED
@@ -0,0 +1,65 @@
1
+ # SPDX-License-Identifier: AGPL-3.0-only
2
+ from __future__ import annotations
3
+
4
+ import argparse
5
+ import sys
6
+ from collections.abc import Sequence
7
+ from pathlib import Path
8
+
9
+ from core_pdf import PdfDocument
10
+
11
+
12
+ def build_parser() -> argparse.ArgumentParser:
13
+ parser = argparse.ArgumentParser(
14
+ prog="core-pdf",
15
+ description="Extract PDF content with core-pdf.",
16
+ )
17
+ parser.add_argument("pdf", type=Path, help="Path to the PDF file")
18
+ parser.add_argument(
19
+ "--mode",
20
+ choices=("text", "markdown"),
21
+ default="text",
22
+ help="Plain output format",
23
+ )
24
+ parser.add_argument(
25
+ "--plain",
26
+ action="store_true",
27
+ help=argparse.SUPPRESS,
28
+ )
29
+ return parser
30
+
31
+
32
+ def extract_output(document: PdfDocument, output_format: str) -> str:
33
+ if output_format == "markdown":
34
+ return document.to_markdown()
35
+ return document.extract_text()
36
+
37
+
38
+ def print_plain_output(output: str) -> None:
39
+ sys.stdout.write(output)
40
+ if output and not output.endswith("\n"):
41
+ sys.stdout.write("\n")
42
+
43
+
44
+ def main(argv: Sequence[str] | None = None) -> int:
45
+ parser = build_parser()
46
+ args = parser.parse_args(argv)
47
+
48
+ try:
49
+ document = PdfDocument(args.pdf)
50
+ except Exception as exc:
51
+ print(f"core-pdf: {exc}", file=sys.stderr)
52
+ return 1
53
+
54
+ try:
55
+ print_plain_output(extract_output(document, args.mode))
56
+ return 0
57
+ except Exception as exc:
58
+ print(f"core-pdf: {exc}", file=sys.stderr)
59
+ return 1
60
+ finally:
61
+ document.__exit__(None, None, None)
62
+
63
+
64
+ if __name__ == "__main__":
65
+ raise SystemExit(main())
@@ -0,0 +1,2 @@
1
+ # SPDX-License-Identifier: AGPL-3.0-only
2
+ from __future__ import annotations
@@ -0,0 +1,16 @@
1
+ # SPDX-License-Identifier: AGPL-3.0-only
2
+ """Internal PDF engine packages.
3
+
4
+ Spec-aligned packages live under ``engine.spec`` and are prefixed by their
5
+ PDF 32000 section:
6
+
7
+ - ``s_07_*``: syntax, objects, filters, security, document structure, content streams
8
+ - ``s_08_graphics``: graphics state, matrices, colour, images
9
+ - ``s_09_fonts``: text/font data structures and text decoding
10
+ - ``s_14_structure``: marked content, logical structure, tagged PDF
11
+
12
+ Root-level packages are shared or derived processing layers:
13
+ ``layout``, ``extraction``, ``rendering``, and ``compat``.
14
+ """
15
+
16
+ __all__: tuple[str, ...] = ()
@@ -0,0 +1,4 @@
1
+ # SPDX-License-Identifier: AGPL-3.0-only
2
+ """Derived text, table, redaction, and layout extraction."""
3
+
4
+ __all__: tuple[str, ...] = ()
@@ -0,0 +1,16 @@
1
+ # SPDX-License-Identifier: AGPL-3.0-only
2
+ from __future__ import annotations
3
+
4
+ from collections.abc import Hashable, MutableMapping
5
+ from typing import TypeAlias, TypeVar
6
+
7
+ ExtractionCacheKey: TypeAlias = str | tuple[Hashable, ...]
8
+ ExtractionCacheMapping: TypeAlias = MutableMapping[ExtractionCacheKey, object]
9
+
10
+ _T = TypeVar("_T")
11
+
12
+
13
+ class ExtractionCache(dict[ExtractionCacheKey, object]):
14
+ def get_as(self, key: ExtractionCacheKey, expected_type: type[_T]) -> _T | None:
15
+ value = self.get(key)
16
+ return value if isinstance(value, expected_type) else None
@@ -0,0 +1,2 @@
1
+ # SPDX-License-Identifier: AGPL-3.0-only
2
+ """Shared extraction utilities."""
@@ -0,0 +1,211 @@
1
+ # SPDX-License-Identifier: AGPL-3.0-only
2
+ from __future__ import annotations
3
+
4
+ from collections.abc import Iterable
5
+ from dataclasses import dataclass, replace
6
+
7
+ from core_pdf.impl.engine.extraction.common import page_geometry
8
+ from core_pdf.impl.engine.extraction.ocr.text_analysis import normalized_text_tokens
9
+
10
+
11
+ @dataclass(frozen=True)
12
+ class ObservationResolution:
13
+ action: str
14
+ reason: str
15
+ candidate: page_geometry.PageObservation
16
+ matched: page_geometry.PageObservation | None = None
17
+ geometry_score: float = 0.0
18
+ coverage_ratio: float = 0.0
19
+ text_overlap: float = 0.0
20
+ useful_new_tokens: int = 0
21
+
22
+
23
+ @dataclass(frozen=True)
24
+ class ResolvedTextLine:
25
+ text: str
26
+ observation: page_geometry.PageObservation
27
+ break_before: int = 1
28
+ contributing_observations: tuple[page_geometry.PageObservation, ...] = ()
29
+ resolution: ObservationResolution | None = None
30
+
31
+
32
+ def resolve_observation_append(
33
+ candidate: page_geometry.PageObservation,
34
+ accepted: Iterable[page_geometry.PageObservation],
35
+ *,
36
+ existing_text: str = "",
37
+ ) -> ObservationResolution:
38
+ accepted_observations = tuple(
39
+ observation for observation in accepted if observation.bbox is not None
40
+ )
41
+ if candidate.bbox is None:
42
+ if observation_has_useful_new_text(candidate, existing_text):
43
+ return ObservationResolution("append", "no_geometry", candidate)
44
+ return ObservationResolution("skip", "duplicate_text", candidate)
45
+ if not candidate.text.strip():
46
+ return ObservationResolution("skip", "empty_text", candidate)
47
+
48
+ matched, geometry_score = best_observation_geometry_match(
49
+ candidate,
50
+ accepted_observations,
51
+ )
52
+ text_overlap = observation_text_overlap(candidate, matched) if matched is not None else 0.0
53
+ coverage_ratio = observation_coverage_ratio(candidate, accepted_observations)
54
+ useful_new_tokens = observation_useful_new_token_count(candidate, existing_text)
55
+
56
+ if coverage_ratio >= 0.72 and text_overlap >= 0.65:
57
+ return ObservationResolution(
58
+ "skip",
59
+ "covered_geometry",
60
+ candidate,
61
+ matched,
62
+ geometry_score,
63
+ coverage_ratio,
64
+ text_overlap,
65
+ useful_new_tokens,
66
+ )
67
+ if geometry_score >= 0.86 and text_overlap >= 0.65:
68
+ return ObservationResolution(
69
+ "skip",
70
+ "same_geometry",
71
+ candidate,
72
+ matched,
73
+ geometry_score,
74
+ coverage_ratio,
75
+ text_overlap,
76
+ useful_new_tokens,
77
+ )
78
+ if geometry_score >= 0.70 and text_overlap >= 0.45:
79
+ return ObservationResolution(
80
+ "skip",
81
+ "same_text_region",
82
+ candidate,
83
+ matched,
84
+ geometry_score,
85
+ coverage_ratio,
86
+ text_overlap,
87
+ useful_new_tokens,
88
+ )
89
+ return ObservationResolution(
90
+ "append",
91
+ "uncovered",
92
+ candidate,
93
+ matched,
94
+ geometry_score,
95
+ coverage_ratio,
96
+ text_overlap,
97
+ useful_new_tokens,
98
+ )
99
+
100
+
101
+ def resolve_text_lines(
102
+ lines: Iterable[ResolvedTextLine],
103
+ *,
104
+ existing_text: str = "",
105
+ ) -> tuple[ResolvedTextLine, ...]:
106
+ accepted_lines: list[ResolvedTextLine] = []
107
+ accepted_observations: list[page_geometry.PageObservation] = []
108
+ text_parts: list[str] = [existing_text] if existing_text else []
109
+ for line in lines:
110
+ observation = line.observation
111
+ if observation.text != line.text:
112
+ observation = replace(observation, text=line.text)
113
+ line = replace(line, observation=observation)
114
+ resolution = resolve_observation_append(
115
+ observation,
116
+ accepted_observations,
117
+ existing_text="\n".join(text_parts),
118
+ )
119
+ if resolution.action != "append":
120
+ continue
121
+ accepted_line = replace(line, resolution=resolution)
122
+ accepted_lines.append(accepted_line)
123
+ accepted_observations.append(observation)
124
+ text_parts.append(line.text)
125
+ return tuple(accepted_lines)
126
+
127
+
128
+ def text_from_resolved_lines(lines: Iterable[ResolvedTextLine]) -> str:
129
+ parts: list[str] = []
130
+ for line in lines:
131
+ text = line.text.strip()
132
+ if not text:
133
+ continue
134
+ if parts:
135
+ parts.append("\n" * max(1, line.break_before))
136
+ parts.append(text)
137
+ return "".join(parts)
138
+
139
+
140
+ def best_observation_geometry_match(
141
+ candidate: page_geometry.PageObservation,
142
+ accepted: Iterable[page_geometry.PageObservation],
143
+ ) -> tuple[page_geometry.PageObservation | None, float]:
144
+ best: page_geometry.PageObservation | None = None
145
+ best_score = 0.0
146
+ for observation in accepted:
147
+ score = page_geometry.observation_geometry_match_score(
148
+ candidate,
149
+ observation,
150
+ )
151
+ if score > best_score:
152
+ best = observation
153
+ best_score = score
154
+ return best, best_score
155
+
156
+
157
+ def observation_coverage_ratio(
158
+ candidate: page_geometry.PageObservation,
159
+ accepted: Iterable[page_geometry.PageObservation],
160
+ ) -> float:
161
+ area = page_geometry.observation_area(candidate)
162
+ if area <= 0.0:
163
+ return 1.0
164
+ covered_area = 0.0
165
+ for observation in accepted:
166
+ covered_area += page_geometry.observation_intersection_area(
167
+ candidate,
168
+ observation,
169
+ )
170
+ return min(1.0, covered_area / area)
171
+
172
+
173
+ def observation_text_overlap(
174
+ left: page_geometry.PageObservation,
175
+ right: page_geometry.PageObservation | None,
176
+ ) -> float:
177
+ if right is None:
178
+ return 0.0
179
+ left_tokens = set(normalized_text_tokens(left.text))
180
+ right_tokens = set(normalized_text_tokens(right.text))
181
+ if not left_tokens or not right_tokens:
182
+ return 0.0
183
+ return len(left_tokens & right_tokens) / max(1, min(len(left_tokens), len(right_tokens)))
184
+
185
+
186
+ def observation_has_useful_new_text(
187
+ candidate: page_geometry.PageObservation,
188
+ existing_text: str,
189
+ ) -> bool:
190
+ return observation_useful_new_token_count(candidate, existing_text) > 0
191
+
192
+
193
+ def observation_useful_new_token_count(
194
+ candidate: page_geometry.PageObservation,
195
+ existing_text: str,
196
+ ) -> int:
197
+ seen = set(normalized_text_tokens(existing_text))
198
+ count = 0
199
+ for token in normalized_text_tokens(candidate.text):
200
+ if token in seen:
201
+ continue
202
+ if token_has_content_signal(token):
203
+ count += 1
204
+ return count
205
+
206
+
207
+ def token_has_content_signal(token: str) -> bool:
208
+ alnum = "".join(ch for ch in token if ch.isalnum())
209
+ if any(ch.isdigit() for ch in alnum):
210
+ return True
211
+ return len(alnum) >= 3