BabelDOC 0.5.10__tar.gz → 0.5.11__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 (313) hide show
  1. {babeldoc-0.5.10 → babeldoc-0.5.11}/.gitignore +2 -1
  2. {babeldoc-0.5.10 → babeldoc-0.5.11}/PKG-INFO +2 -1
  3. {babeldoc-0.5.10 → babeldoc-0.5.11}/README.md +1 -0
  4. babeldoc-0.5.11/babeldoc/__init__.py +1 -0
  5. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/babeldoc_exception/BabelDOCException.py +5 -0
  6. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/const.py +1 -1
  7. babeldoc-0.5.11/babeldoc/format/pdf/babelpdf/cidfont.py +60 -0
  8. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/babelpdf/win_core.py +872 -0
  9. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/frontend/il_creater.py +3 -0
  10. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/automatic_term_extractor.py +20 -0
  11. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/high_level.py +119 -10
  12. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/translation_config.py +29 -0
  13. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/main.py +61 -1
  14. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/translator/translator.py +8 -0
  15. {babeldoc-0.5.10 → babeldoc-0.5.11}/pyproject.toml +2 -2
  16. babeldoc-0.5.10/babeldoc/__init__.py +0 -1
  17. {babeldoc-0.5.10 → babeldoc-0.5.11}/.cursorignore +0 -0
  18. {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  19. {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  20. {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/PULL_REQUEST_TEMPLATE/pr_form.yml +0 -0
  21. {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  22. {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/dependabot.yml +0 -0
  23. {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/labels.yml +0 -0
  24. {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/release-drafter.yml +0 -0
  25. {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/workflows/codeql.yml +0 -0
  26. {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/workflows/docs.yml +0 -0
  27. {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/workflows/labeler.yml +0 -0
  28. {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/workflows/lint.yml +0 -0
  29. {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/workflows/pr-lint.yml +0 -0
  30. {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/workflows/publish-to-pypi.yml +0 -0
  31. {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/workflows/test.yml +0 -0
  32. {babeldoc-0.5.10 → babeldoc-0.5.11}/.pre-commit-config.yaml +0 -0
  33. {babeldoc-0.5.10 → babeldoc-0.5.11}/LICENSE +0 -0
  34. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/assets/assets.py +0 -0
  35. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/assets/embedding_assets_metadata.py +0 -0
  36. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/asynchronize/__init__.py +0 -0
  37. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/babeldoc_exception/__init__.py +0 -0
  38. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/README.md +0 -0
  39. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/__init__.py +0 -0
  40. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/base_doclayout.py +0 -0
  41. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/doclayout.py +0 -0
  42. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/rpc_doclayout.py +0 -0
  43. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/rpc_doclayout2.py +0 -0
  44. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/rpc_doclayout3.py +0 -0
  45. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/rpc_doclayout4.py +0 -0
  46. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/rpc_doclayout5.py +0 -0
  47. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/rpc_doclayout6.py +0 -0
  48. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/rpc_doclayout7.py +0 -0
  49. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
  50. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/__init__.py +0 -0
  51. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/__init__.py +0 -0
  52. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/babelpdf/base14.py +0 -0
  53. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/babelpdf/encoding.py +0 -0
  54. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/babelpdf/utils.py +0 -0
  55. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/converter.py +0 -0
  56. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/__init__.py +0 -0
  57. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/backend/__init__.py +0 -0
  58. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/backend/pdf_creater.py +0 -0
  59. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/frontend/__init__.py +0 -0
  60. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/il_version_1.py +0 -0
  61. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/il_version_1.rnc +0 -0
  62. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/il_version_1.rng +0 -0
  63. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/il_version_1.xsd +0 -0
  64. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/__init__.py +0 -0
  65. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/add_debug_information.py +0 -0
  66. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/detect_scanned_file.py +0 -0
  67. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/il_translator.py +0 -0
  68. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/il_translator_llm_only.py +0 -0
  69. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/layout_parser.py +0 -0
  70. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/paragraph_finder.py +0 -0
  71. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/remove_descent.py +0 -0
  72. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/styles_and_formulas.py +0 -0
  73. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/table_parser.py +0 -0
  74. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/typesetting.py +0 -0
  75. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/__init__.py +0 -0
  76. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/extract_char.py +0 -0
  77. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/fontmap.py +0 -0
  78. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/formular_helper.py +0 -0
  79. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/layout_helper.py +0 -0
  80. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/matrix_helper.py +0 -0
  81. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/mupdf_helper.py +0 -0
  82. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/paragraph_helper.py +0 -0
  83. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/spatial_analyzer.py +0 -0
  84. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/style_helper.py +0 -0
  85. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/zstd_helper.py +0 -0
  86. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/xml_converter.py +0 -0
  87. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/pdfinterp.py +0 -0
  88. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/result_merger.py +0 -0
  89. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/split_manager.py +0 -0
  90. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/glossary.py +0 -0
  91. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/LICENSE +0 -0
  92. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/__init__.py +0 -0
  93. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/_saslprep.py +0 -0
  94. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/arcfour.py +0 -0
  95. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/ascii85.py +0 -0
  96. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/casting.py +0 -0
  97. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/ccitt.py +0 -0
  98. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/78-EUC-H.pickle.gz +0 -0
  99. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/78-EUC-V.pickle.gz +0 -0
  100. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/78-H.pickle.gz +0 -0
  101. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/78-RKSJ-H.pickle.gz +0 -0
  102. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/78-RKSJ-V.pickle.gz +0 -0
  103. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/78-V.pickle.gz +0 -0
  104. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/78ms-RKSJ-H.pickle.gz +0 -0
  105. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/78ms-RKSJ-V.pickle.gz +0 -0
  106. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/83pv-RKSJ-H.pickle.gz +0 -0
  107. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/83pv-RKSJ-V.pickle.gz +0 -0
  108. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/90ms-RKSJ-H.pickle.gz +0 -0
  109. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/90ms-RKSJ-V.pickle.gz +0 -0
  110. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/90msp-RKSJ-H.pickle.gz +0 -0
  111. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/90msp-RKSJ-V.pickle.gz +0 -0
  112. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/90pv-RKSJ-H.pickle.gz +0 -0
  113. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/90pv-RKSJ-V.pickle.gz +0 -0
  114. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Add-H.pickle.gz +0 -0
  115. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Add-RKSJ-H.pickle.gz +0 -0
  116. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Add-RKSJ-V.pickle.gz +0 -0
  117. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Add-V.pickle.gz +0 -0
  118. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/B5-H.pickle.gz +0 -0
  119. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/B5-V.pickle.gz +0 -0
  120. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/B5pc-H.pickle.gz +0 -0
  121. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/B5pc-V.pickle.gz +0 -0
  122. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/CNS-EUC-H.pickle.gz +0 -0
  123. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/CNS-EUC-V.pickle.gz +0 -0
  124. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/CNS1-H.pickle.gz +0 -0
  125. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/CNS1-V.pickle.gz +0 -0
  126. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/CNS2-H.pickle.gz +0 -0
  127. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/CNS2-V.pickle.gz +0 -0
  128. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/ETHK-B5-H.pickle.gz +0 -0
  129. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/ETHK-B5-V.pickle.gz +0 -0
  130. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/ETen-B5-H.pickle.gz +0 -0
  131. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/ETen-B5-V.pickle.gz +0 -0
  132. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/ETenms-B5-H.pickle.gz +0 -0
  133. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/ETenms-B5-V.pickle.gz +0 -0
  134. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/EUC-H.pickle.gz +0 -0
  135. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/EUC-V.pickle.gz +0 -0
  136. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Ext-H.pickle.gz +0 -0
  137. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Ext-RKSJ-H.pickle.gz +0 -0
  138. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Ext-RKSJ-V.pickle.gz +0 -0
  139. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Ext-V.pickle.gz +0 -0
  140. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GB-EUC-H.pickle.gz +0 -0
  141. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GB-EUC-V.pickle.gz +0 -0
  142. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GB-H.pickle.gz +0 -0
  143. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GB-V.pickle.gz +0 -0
  144. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBK-EUC-H.pickle.gz +0 -0
  145. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBK-EUC-V.pickle.gz +0 -0
  146. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBK2K-H.pickle.gz +0 -0
  147. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBK2K-V.pickle.gz +0 -0
  148. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBKp-EUC-H.pickle.gz +0 -0
  149. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBKp-EUC-V.pickle.gz +0 -0
  150. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBT-EUC-H.pickle.gz +0 -0
  151. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBT-EUC-V.pickle.gz +0 -0
  152. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBT-H.pickle.gz +0 -0
  153. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBT-V.pickle.gz +0 -0
  154. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBTpc-EUC-H.pickle.gz +0 -0
  155. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBTpc-EUC-V.pickle.gz +0 -0
  156. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBpc-EUC-H.pickle.gz +0 -0
  157. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBpc-EUC-V.pickle.gz +0 -0
  158. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/H.pickle.gz +0 -0
  159. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKdla-B5-H.pickle.gz +0 -0
  160. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKdla-B5-V.pickle.gz +0 -0
  161. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKdlb-B5-H.pickle.gz +0 -0
  162. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKdlb-B5-V.pickle.gz +0 -0
  163. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKgccs-B5-H.pickle.gz +0 -0
  164. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKgccs-B5-V.pickle.gz +0 -0
  165. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKm314-B5-H.pickle.gz +0 -0
  166. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKm314-B5-V.pickle.gz +0 -0
  167. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKm471-B5-H.pickle.gz +0 -0
  168. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKm471-B5-V.pickle.gz +0 -0
  169. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKscs-B5-H.pickle.gz +0 -0
  170. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKscs-B5-V.pickle.gz +0 -0
  171. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Hankaku-H.pickle.gz +0 -0
  172. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Hankaku-V.pickle.gz +0 -0
  173. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Hiragana-H.pickle.gz +0 -0
  174. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Hiragana-V.pickle.gz +0 -0
  175. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSC-EUC-H.pickle.gz +0 -0
  176. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSC-EUC-V.pickle.gz +0 -0
  177. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSC-H.pickle.gz +0 -0
  178. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSC-Johab-H.pickle.gz +0 -0
  179. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSC-Johab-V.pickle.gz +0 -0
  180. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSC-V.pickle.gz +0 -0
  181. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSCms-UHC-H.pickle.gz +0 -0
  182. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSCms-UHC-HW-H.pickle.gz +0 -0
  183. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSCms-UHC-HW-V.pickle.gz +0 -0
  184. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSCms-UHC-V.pickle.gz +0 -0
  185. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSCpc-EUC-H.pickle.gz +0 -0
  186. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSCpc-EUC-V.pickle.gz +0 -0
  187. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Katakana-H.pickle.gz +0 -0
  188. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Katakana-V.pickle.gz +0 -0
  189. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/NWP-H.pickle.gz +0 -0
  190. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/NWP-V.pickle.gz +0 -0
  191. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/README.txt +0 -0
  192. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/RKSJ-H.pickle.gz +0 -0
  193. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/RKSJ-V.pickle.gz +0 -0
  194. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Roman-H.pickle.gz +0 -0
  195. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Roman-V.pickle.gz +0 -0
  196. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniCNS-UCS2-H.pickle.gz +0 -0
  197. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniCNS-UCS2-V.pickle.gz +0 -0
  198. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniCNS-UTF16-H.pickle.gz +0 -0
  199. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniCNS-UTF16-V.pickle.gz +0 -0
  200. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniCNS-UTF32-H.pickle.gz +0 -0
  201. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniCNS-UTF32-V.pickle.gz +0 -0
  202. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniCNS-UTF8-H.pickle.gz +0 -0
  203. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniCNS-UTF8-V.pickle.gz +0 -0
  204. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniGB-UCS2-H.pickle.gz +0 -0
  205. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniGB-UCS2-V.pickle.gz +0 -0
  206. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniGB-UTF16-H.pickle.gz +0 -0
  207. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniGB-UTF16-V.pickle.gz +0 -0
  208. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniGB-UTF32-H.pickle.gz +0 -0
  209. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniGB-UTF32-V.pickle.gz +0 -0
  210. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniGB-UTF8-H.pickle.gz +0 -0
  211. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniGB-UTF8-V.pickle.gz +0 -0
  212. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UCS2-H.pickle.gz +0 -0
  213. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UCS2-HW-H.pickle.gz +0 -0
  214. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UCS2-HW-V.pickle.gz +0 -0
  215. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UCS2-V.pickle.gz +0 -0
  216. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UTF16-H.pickle.gz +0 -0
  217. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UTF16-V.pickle.gz +0 -0
  218. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UTF32-H.pickle.gz +0 -0
  219. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UTF32-V.pickle.gz +0 -0
  220. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UTF8-H.pickle.gz +0 -0
  221. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UTF8-V.pickle.gz +0 -0
  222. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS2004-UTF16-H.pickle.gz +0 -0
  223. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS2004-UTF16-V.pickle.gz +0 -0
  224. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS2004-UTF32-H.pickle.gz +0 -0
  225. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS2004-UTF32-V.pickle.gz +0 -0
  226. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS2004-UTF8-H.pickle.gz +0 -0
  227. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS2004-UTF8-V.pickle.gz +0 -0
  228. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJISX0213-UTF32-H.pickle.gz +0 -0
  229. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJISX0213-UTF32-V.pickle.gz +0 -0
  230. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJISX02132004-UTF32-H.pickle.gz +0 -0
  231. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJISX02132004-UTF32-V.pickle.gz +0 -0
  232. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniKS-UCS2-H.pickle.gz +0 -0
  233. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniKS-UCS2-V.pickle.gz +0 -0
  234. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniKS-UTF16-H.pickle.gz +0 -0
  235. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniKS-UTF16-V.pickle.gz +0 -0
  236. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniKS-UTF32-H.pickle.gz +0 -0
  237. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniKS-UTF32-V.pickle.gz +0 -0
  238. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniKS-UTF8-H.pickle.gz +0 -0
  239. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniKS-UTF8-V.pickle.gz +0 -0
  240. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/V.pickle.gz +0 -0
  241. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/WP-Symbol-H.pickle.gz +0 -0
  242. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/WP-Symbol-V.pickle.gz +0 -0
  243. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/to-unicode-Adobe-CNS1.pickle.gz +0 -0
  244. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/to-unicode-Adobe-GB1.pickle.gz +0 -0
  245. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/to-unicode-Adobe-Japan1.pickle.gz +0 -0
  246. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/to-unicode-Adobe-Korea1.pickle.gz +0 -0
  247. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmapdb.py +0 -0
  248. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/converter.py +0 -0
  249. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/data_structures.py +0 -0
  250. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/encodingdb.py +0 -0
  251. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/fontmetrics.py +0 -0
  252. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/glyphlist.py +0 -0
  253. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/high_level.py +0 -0
  254. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/image.py +0 -0
  255. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/jbig2.py +0 -0
  256. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/latin_enc.py +0 -0
  257. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/layout.py +0 -0
  258. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/lzw.py +0 -0
  259. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdfcolor.py +0 -0
  260. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdfdevice.py +0 -0
  261. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdfdocument.py +0 -0
  262. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdfexceptions.py +0 -0
  263. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdffont.py +0 -0
  264. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdfinterp.py +0 -0
  265. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdfpage.py +0 -0
  266. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdfparser.py +0 -0
  267. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdftypes.py +0 -0
  268. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/psexceptions.py +0 -0
  269. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/psparser.py +0 -0
  270. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/py.typed +0 -0
  271. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/runlength.py +0 -0
  272. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/settings.py +0 -0
  273. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/utils.py +0 -0
  274. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/progress_monitor.py +0 -0
  275. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/tools/generate_font_metadata.py +0 -0
  276. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/tools/italic_assistance.py +0 -0
  277. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/tools/italic_recognize_tool.py +0 -0
  278. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/translator/__init__.py +0 -0
  279. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/translator/cache.py +0 -0
  280. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/utils/__init__.py +0 -0
  281. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/utils/atomic_integer.py +0 -0
  282. {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/utils/priority_thread_pool_executor.py +0 -0
  283. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/CODE_OF_CONDUCT.md +0 -0
  284. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/CONTRIBUTING.md +0 -0
  285. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/CONTRIBUTOR_REWARD.md +0 -0
  286. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
  287. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
  288. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
  289. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
  290. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
  291. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/ImplementationDetails/README.md +0 -0
  292. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
  293. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
  294. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/README.md +0 -0
  295. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/deploy.sh +0 -0
  296. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/example/demo_glossary.csv +0 -0
  297. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-banner.png +0 -0
  298. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
  299. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
  300. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
  301. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
  302. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-big-logo.png +0 -0
  303. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-contributor_reward_example.png +0 -0
  304. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-preview.gif +0 -0
  305. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
  306. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
  307. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-small-logo.png +0 -0
  308. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/index.md +0 -0
  309. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/intro-to-pdf-object.md +0 -0
  310. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/requirements.txt +0 -0
  311. {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/supported_languages.md +0 -0
  312. {babeldoc-0.5.10 → babeldoc-0.5.11}/mkdocs.yml +0 -0
  313. {babeldoc-0.5.10 → babeldoc-0.5.11}/tests/test_translation_cache_cleanup.py +0 -0
@@ -45,4 +45,5 @@ uv.lock
45
45
  CLAUDE.md
46
46
  /.claude
47
47
  babeldoc/format/playground
48
- temp.jpg
48
+ temp.jpg
49
+ AGENTS.md
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: BabelDOC
3
- Version: 0.5.10
3
+ Version: 0.5.11
4
4
  Summary: Yet Another Document Translator
5
5
  Project-URL: Homepage, https://github.com/funstory-ai/BabelDOC
6
6
  Project-URL: Issues, https://github.com/funstory-ai/BabelDOC/issues
@@ -81,6 +81,7 @@ Description-Content-Type: text/markdown
81
81
  <img src="https://img.shields.io/github/license/funstory-ai/BabelDOC"></a>
82
82
  <a href="https://t.me/+Z9_SgnxmsmA5NzBl">
83
83
  <img src="https://img.shields.io/badge/Telegram-2CA5E0?style=flat-squeare&logo=telegram&logoColor=white"></a>
84
+ <a href="https://deepwiki.com/funstory-ai/BabelDOC"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
84
85
  </p>
85
86
 
86
87
  <a href="https://trendshift.io/repositories/13358" target="_blank"><img src="https://trendshift.io/api/badge/repositories/13358" alt="funstory-ai%2FBabelDOC | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
@@ -25,6 +25,7 @@
25
25
  <img src="https://img.shields.io/github/license/funstory-ai/BabelDOC"></a>
26
26
  <a href="https://t.me/+Z9_SgnxmsmA5NzBl">
27
27
  <img src="https://img.shields.io/badge/Telegram-2CA5E0?style=flat-squeare&logo=telegram&logoColor=white"></a>
28
+ <a href="https://deepwiki.com/funstory-ai/BabelDOC"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
28
29
  </p>
29
30
 
30
31
  <a href="https://trendshift.io/repositories/13358" target="_blank"><img src="https://trendshift.io/api/badge/repositories/13358" alt="funstory-ai%2FBabelDOC | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
@@ -0,0 +1 @@
1
+ __version__ = "0.5.11"
@@ -6,3 +6,8 @@ class ScannedPDFError(Exception):
6
6
  class ExtractTextError(Exception):
7
7
  def __init__(self, message):
8
8
  super().__init__(message)
9
+
10
+
11
+ class InputFileGeneratedByBabelDOCError(Exception):
12
+ def __init__(self, message):
13
+ super().__init__(message)
@@ -3,7 +3,7 @@ import shutil
3
3
  import subprocess
4
4
  from pathlib import Path
5
5
 
6
- __version__ = "0.5.10"
6
+ __version__ = "0.5.11"
7
7
 
8
8
  CACHE_FOLDER = Path.home() / ".cache" / "babeldoc"
9
9
 
@@ -0,0 +1,60 @@
1
+ import re
2
+ from io import BytesIO
3
+
4
+ import freetype
5
+
6
+
7
+ def indirect(obj):
8
+ if isinstance(obj, tuple) and obj[0] == "xref":
9
+ return int(obj[1].split(" ")[0])
10
+
11
+
12
+ def get_xref(doc, xref, key):
13
+ obj = doc.xref_get_key(xref, key)
14
+ if obj[0] == "xref":
15
+ return indirect(obj)
16
+
17
+
18
+ def get_font_file(doc, xref):
19
+ if idx := get_xref(doc, xref, "FontFile"):
20
+ return doc.xref_stream(idx)
21
+ if idx := get_xref(doc, xref, "FontFile2"):
22
+ return doc.xref_stream(idx)
23
+ if idx := get_xref(doc, xref, "FontFile3"):
24
+ return doc.xref_stream(idx)
25
+
26
+
27
+ def get_font_descriptor(doc, xref):
28
+ if idx := get_xref(doc, xref, "FontDescriptor"):
29
+ return get_font_file(doc, idx)
30
+
31
+
32
+ def get_descendant_fonts(doc, xref):
33
+ obj = doc.xref_get_key(xref, "DescendantFonts")
34
+ array_text = ""
35
+ if obj[0] == "xref":
36
+ array_text = doc.xref_object(indirect(obj))
37
+ elif obj[0] == "array":
38
+ array_text = obj[1]
39
+ if m := re.search(r"\d+", array_text):
40
+ return get_font_descriptor(doc, int(m.group(0)))
41
+
42
+
43
+ def get_glyph_bbox(face, g):
44
+ face.load_glyph(g, freetype.FT_LOAD_NO_SCALE)
45
+ cbox = face.glyph.outline.get_bbox()
46
+ return cbox.xMin, cbox.yMin, cbox.xMax, cbox.yMax
47
+
48
+
49
+ def get_face_bbox(blob):
50
+ face = freetype.Face(BytesIO(blob))
51
+ scale = 1000 / face.units_per_EM
52
+ bbox_list = [get_glyph_bbox(face, code) for code in range(face.num_glyphs)]
53
+ bbox_list = [[v * scale for v in bbox] for bbox in bbox_list]
54
+ return bbox_list
55
+
56
+
57
+ def get_cidfont_bbox(doc, xref):
58
+ if doc.xref_get_key(xref, "Subtype")[1] == "/Type0":
59
+ if blob := get_descendant_fonts(doc, xref):
60
+ return get_face_bbox(blob)