python-docx-oss 0.0.10__tar.gz → 0.0.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.
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/HISTORY.md +4 -0
- {python_docx_oss-0.0.10/python_docx_oss.egg-info → python_docx_oss-0.0.11}/PKG-INFO +11 -3
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/README.md +6 -2
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/__init__.py +1 -1
- python_docx_oss-0.0.11/docx/image/svg.py +118 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11/python_docx_oss.egg-info}/PKG-INFO +11 -3
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/image/test_svg.py +38 -0
- python_docx_oss-0.0.10/docx/image/svg.py +0 -65
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/LICENSE +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/MANIFEST.in +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/Makefile +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/_static/.gitignore +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/_static/img/example-docx-01.png +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/_static/img/hdrftr-01.png +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/_static/img/hdrftr-02.png +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/_static/img/oss.png +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/_templates/layout.html +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/_templates/sidebarlinks.html +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/_themes/armstrong/LICENSE +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/_themes/armstrong/layout.html +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/_themes/armstrong/rtd-themes.conf +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/_themes/armstrong/static/rtd.css_t +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/_themes/armstrong/theme.conf +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/_themes/armstrong/theme.conf.orig +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/dml.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/document.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/MsoColorType.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/MsoThemeColorIndex.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/WdAlignParagraph.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/WdBuiltinStyle.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/WdCellVerticalAlignment.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/WdColorIndex.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/WdLineSpacing.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/WdOrientation.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/WdRowAlignment.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/WdRowHeightRule.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/WdSectionStart.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/WdStyleType.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/WdTabAlignment.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/WdTabLeader.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/WdTableDirection.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/WdUnderline.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/enum/index.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/section.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/settings.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/shape.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/shared.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/style.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/table.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/api/text.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/conf.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/coreprops.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/header.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/numbering.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/sections.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/settings.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/shapes/index.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/shapes/picture.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/shapes/shapes-inline-size.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/shapes/shapes-inline.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/styles/character-style.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/styles/index.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/styles/latent-styles.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/styles/paragraph-style.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/styles/style.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/styles/styles.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/table/cell-merge.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/table/index.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/table/table-cell.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/table/table-props.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/table/table-row.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/text/breaks.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/text/font-color.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/text/font-highlight-color.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/text/font.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/text/index.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/text/paragraph-format.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/text/run-content.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/text/tab-stops.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/text/underline.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/index.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/schema/ct_body.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/schema/ct_document.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/schema/ct_p.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/index.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/requirements.txt +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/user/api-concepts.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/user/custom-properties.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/user/custom-xml.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/user/documents.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/user/hdrftr.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/user/install.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/user/quickstart.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/user/sections.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/user/shapes.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/user/styles-understanding.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/user/styles-using.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/user/text.rst +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/api.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/blkcntnr.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/compat.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/dml/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/dml/color.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/document.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/enum/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/enum/base.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/enum/dml.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/enum/section.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/enum/shape.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/enum/style.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/enum/table.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/enum/text.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/exceptions.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/image/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/image/bmp.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/image/constants.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/image/emf.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/image/exceptions.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/image/gif.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/image/helpers.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/image/image.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/image/jpeg.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/image/png.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/image/tiff.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/compat.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/constants.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/coreprops.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/customprops.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/exceptions.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/oxml.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/package.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/packuri.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/part.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/parts/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/parts/coreprops.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/parts/customprops.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/phys_pkg.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/pkgreader.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/pkgwriter.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/rel.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/shared.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/opc/spec.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/coreprops.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/customprops.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/document.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/exceptions.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/ns.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/numbering.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/section.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/settings.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/shape.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/shared.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/simpletypes.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/styles.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/table.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/text/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/text/font.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/text/paragraph.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/text/parfmt.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/text/run.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/oxml/xmlchemy.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/package.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/parts/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/parts/customxml.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/parts/document.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/parts/hdrftr.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/parts/image.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/parts/numbering.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/parts/settings.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/parts/story.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/parts/styles.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/section.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/settings.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/shape.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/shared.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/styles/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/styles/latent.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/styles/style.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/styles/styles.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/table.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/[Content_Types].xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/_rels/.rels +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/customXml/_rels/item1.xml.rels +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/customXml/item1.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/customXml/itemProps1.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/docProps/app.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/docProps/core.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/docProps/thumbnail.jpeg +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/word/_rels/document.xml.rels +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/word/document.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/word/fontTable.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/word/numbering.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/word/settings.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/word/styles.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/word/stylesWithEffects.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/word/theme/theme1.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-docx-template/word/webSettings.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-footer.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-header.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-numbering.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-settings.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default-styles.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/templates/default.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/text/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/text/font.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/text/paragraph.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/text/parfmt.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/text/run.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docx/text/tabstops.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/_scratch/test_out.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/api-open-document.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/blk-add-paragraph.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/blk-add-table.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/cel-add-table.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/cel-text.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/doc-access-collections.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/doc-access-sections.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/doc-add-heading.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/doc-add-page-break.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/doc-add-paragraph.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/doc-add-picture.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/doc-add-section.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/doc-add-table.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/doc-coreprops.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/doc-customprops.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/doc-settings.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/doc-styles.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/environment.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/hdr-header-footer.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/img-characterize-image.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/num-access-numbering-part.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/par-access-parfmt.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/par-add-run.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/par-alignment-prop.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/par-clear-paragraph.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/par-insert-paragraph.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/par-set-text.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/par-style-prop.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/run-access-content.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/run-access-font.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/run-add-content.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/run-add-picture.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/run-char-style.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/run-clear-run.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/run-enum-props.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/sct-section.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/shp-inline-shape-access.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/shp-inline-shape-size.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/api.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/block.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/cell.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/coreprops.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/customprops.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/document.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/font.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/hdrftr.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/helpers.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/image.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/numbering.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/paragraph.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/parfmt.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/section.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/settings.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/shape.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/shared.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/styles.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/table.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/tabstops.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/blk-containing-table.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/court-exif.jpg +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/doc-access-sections.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/doc-add-section.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/doc-coreprops.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/doc-customprops-legacy.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/doc-customprops.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/doc-default.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/doc-no-coreprops.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/doc-no-customprops.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/doc-odd-even-hdrs.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/doc-word-default-blank.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/fnt-color.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/hdr-header-footer.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/jfif-300-dpi.jpg +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/jpeg420exif.jpg +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/lena.bmp +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/lena.gif +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/lena.tif +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/lena_std.jpg +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/monty-truth.png +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/mountain.bmp +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/num-having-numbering-part.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/par-alignment.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/par-known-paragraphs.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/par-known-styles.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/python-icon.jpeg +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/run-char-style.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/run-enumerated-props.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/sample.tif +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/sct-first-page-hdrftr.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/sct-section-props.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/set-no-settings-part.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/shp-inline-shape-access.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/sty-behav-props.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/sty-having-no-styles-part.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/sty-having-styles-part.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/sty-known-styles.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/tab-stops.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/tbl-2x2-table.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/tbl-cell-access.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/tbl-col-props.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/tbl-having-applied-style.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/tbl-having-tables.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/tbl-on-off-props.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/tbl-props.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/test.png +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/txt-font-highlight-color.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/test_files/txt-font-props.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/steps/text.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/sty-access-font.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/sty-access-latent-styles.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/sty-access-parfmt.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/sty-add-style.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/sty-delete-style.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/sty-latent-add-del.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/sty-latent-props.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/sty-style-props.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/tab-access-tabs.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/tab-tabstop-props.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/tbl-add-row-or-col.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/tbl-cell-access.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/tbl-cell-props.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/tbl-col-props.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/tbl-item-access.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/tbl-merge-cells.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/tbl-props.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/tbl-row-props.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/tbl-style.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/txt-add-break.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/txt-font-color.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/txt-font-props.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/features/txt-parfmt-props.feature +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/python_docx_oss.egg-info/SOURCES.txt +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/python_docx_oss.egg-info/dependency_links.txt +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/python_docx_oss.egg-info/not-zip-safe +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/python_docx_oss.egg-info/requires.txt +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/python_docx_oss.egg-info/top_level.txt +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/setup.cfg +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/setup.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/dml/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/dml/test_color.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/image/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/image/test_bmp.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/image/test_emf.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/image/test_gif.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/image/test_helpers.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/image/test_image.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/image/test_jpeg.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/image/test_png.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/image/test_tiff.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/parts/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/parts/test_coreprops.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/parts/test_customprops.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/test_coreprops.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/test_customprops.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/test_oxml.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/test_package.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/test_packuri.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/test_part.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/test_phys_pkg.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/test_pkgreader.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/test_pkgwriter.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/test_rel.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/unitdata/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/unitdata/rels.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/opc/unitdata/types.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/parts/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/parts/test_document.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/parts/unitdata/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/parts/unitdata/document.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/test__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/test_ns.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/test_styles.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/test_table.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/test_xmlchemy.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/text/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/text/test_run.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/unitdata/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/unitdata/dml.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/unitdata/numbering.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/unitdata/section.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/unitdata/shared.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/unitdata/styles.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/unitdata/table.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/oxml/unitdata/text.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/parts/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/parts/test_customxml.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/parts/test_document.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/parts/test_hdrftr.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/parts/test_image.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/parts/test_numbering.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/parts/test_settings.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/parts/test_story.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/parts/test_styles.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/styles/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/styles/test_latent.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/styles/test_style.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/styles/test_styles.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_api.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_blkcntnr.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_document.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_enum.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/150-dpi.png +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/300-dpi.TIF +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/300-dpi.jpg +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/300-dpi.png +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/72-dpi.tiff +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/CVS_LOGO.WMF +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/exif-420-dpi.jpg +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/[Content_Types].xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/_rels/.rels +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/customXml/_rels/item1.xml.rels +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/customXml/item1.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/customXml/itemProps1.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/docProps/app.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/docProps/core.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/docProps/thumbnail.jpeg +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/word/_rels/document.xml.rels +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/word/document.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/word/fontTable.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/word/numbering.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/word/settings.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/word/styles.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/word/stylesWithEffects.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/word/theme/theme1.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/expanded_docx/word/webSettings.xml +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/having-images.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/jfif-iguana.jpg +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/little-endian.tif +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/monty-truth.png +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/python-icon.jpeg +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/python-icon.png +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/python-powered.png +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/python.bmp +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/snippets/add-row-col.txt +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/snippets/inline.txt +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/snippets/new-tbl.txt +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/snippets/tbl-cells.txt +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/sonic.gif +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_files/test.docx +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_package.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_section.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_settings.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_shape.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_shared.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/test_table.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/text/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/text/test_font.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/text/test_paragraph.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/text/test_parfmt.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/text/test_run.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/text/test_tabstops.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/unitdata.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/unitutil/__init__.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/unitutil/cxml.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/unitutil/file.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tests/unitutil/mock.py +0 -0
- {python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-docx-oss
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.11
|
|
4
4
|
Summary: CRUD Microsoft Word .docx files.
|
|
5
5
|
Home-page: https://github.com/lsaint/python-docx-oss
|
|
6
6
|
Author: Ethan St. Lee
|
|
@@ -69,7 +69,7 @@ _As a Brazilian jiu-jitsu player, OSS means anything and everything. It's a term
|
|
|
69
69
|
<a href="https://github.com/lsaint/python-docx-oss/blob/master/LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg"></a>
|
|
70
70
|
</p>
|
|
71
71
|
|
|
72
|
-
|
|
72
|
+
______________________________________________________________________
|
|
73
73
|
|
|
74
74
|
### FAQ
|
|
75
75
|
|
|
@@ -77,15 +77,23 @@ _As a Brazilian jiu-jitsu player, OSS means anything and everything. It's a term
|
|
|
77
77
|
|
|
78
78
|
**A:** [HISTORY](https://github.com/lsaint/python-docx-oss/blob/master/HISTORY.md)
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
______________________________________________________________________
|
|
81
81
|
|
|
82
82
|
More information is available in the [python-docx-oss documentation](https://python-docx-oss.readthedocs.io/en/latest/)
|
|
83
83
|
|
|
84
84
|
This project is based on the original work by [Steve Canny](https://github.com/scanny) and has been modified by [Ethan St. Lee](https://github.com/lsaint).
|
|
85
85
|
|
|
86
|
+
### Donation
|
|
87
|
+
|
|
88
|
+
[https://lsaint.github.io/donation/](https://lsaint.github.io/donation/)
|
|
89
|
+
|
|
86
90
|
|
|
87
91
|
## Release History
|
|
88
92
|
|
|
93
|
+
0.0.11 (2025-11-17)
|
|
94
|
+
|
|
95
|
+
- round-float viewbox and enhance svg unit parsing #31
|
|
96
|
+
|
|
89
97
|
**0.0.10 (2025-11-13)**
|
|
90
98
|
|
|
91
99
|
- Fix modern bool representations in .docx files. #29
|
|
@@ -13,7 +13,7 @@ _As a Brazilian jiu-jitsu player, OSS means anything and everything. It's a term
|
|
|
13
13
|
<a href="https://github.com/lsaint/python-docx-oss/blob/master/LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg"></a>
|
|
14
14
|
</p>
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
______________________________________________________________________
|
|
17
17
|
|
|
18
18
|
### FAQ
|
|
19
19
|
|
|
@@ -21,8 +21,12 @@ _As a Brazilian jiu-jitsu player, OSS means anything and everything. It's a term
|
|
|
21
21
|
|
|
22
22
|
**A:** [HISTORY](https://github.com/lsaint/python-docx-oss/blob/master/HISTORY.md)
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
______________________________________________________________________
|
|
25
25
|
|
|
26
26
|
More information is available in the [python-docx-oss documentation](https://python-docx-oss.readthedocs.io/en/latest/)
|
|
27
27
|
|
|
28
28
|
This project is based on the original work by [Steve Canny](https://github.com/scanny) and has been modified by [Ethan St. Lee](https://github.com/lsaint).
|
|
29
|
+
|
|
30
|
+
### Donation
|
|
31
|
+
|
|
32
|
+
[https://lsaint.github.io/donation/](https://lsaint.github.io/donation/)
|
|
@@ -12,7 +12,7 @@ from docx.parts.numbering import NumberingPart
|
|
|
12
12
|
from docx.parts.settings import SettingsPart
|
|
13
13
|
from docx.parts.styles import StylesPart # noqa
|
|
14
14
|
|
|
15
|
-
__version__ = "0.0.
|
|
15
|
+
__version__ = "0.0.11"
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
# register custom Part classes with opc package reader
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import re
|
|
2
|
+
import xml.etree.ElementTree as ET
|
|
3
|
+
|
|
4
|
+
from .constants import MIME_TYPE
|
|
5
|
+
from .image import BaseImageHeader
|
|
6
|
+
|
|
7
|
+
BASE_PX = 72
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Svg(BaseImageHeader):
|
|
11
|
+
"""
|
|
12
|
+
Image header parser for SVG images.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
@classmethod
|
|
16
|
+
def from_stream(cls, stream):
|
|
17
|
+
"""
|
|
18
|
+
Return |Svg| instance having header properties parsed from SVG image
|
|
19
|
+
in *stream*.
|
|
20
|
+
"""
|
|
21
|
+
px_width, px_height = cls._dimensions_from_stream(stream)
|
|
22
|
+
return cls(px_width, px_height, BASE_PX, BASE_PX)
|
|
23
|
+
|
|
24
|
+
@property
|
|
25
|
+
def content_type(self):
|
|
26
|
+
"""
|
|
27
|
+
MIME content type for this image, unconditionally `image/svg+xml` for
|
|
28
|
+
SVG images.
|
|
29
|
+
"""
|
|
30
|
+
return MIME_TYPE.SVG
|
|
31
|
+
|
|
32
|
+
@property
|
|
33
|
+
def default_ext(self):
|
|
34
|
+
"""
|
|
35
|
+
Default filename extension, always 'svg' for SVG images.
|
|
36
|
+
"""
|
|
37
|
+
return "svg"
|
|
38
|
+
|
|
39
|
+
@classmethod
|
|
40
|
+
def _parse_svg_unit_value(cls, value_str: str) -> float:
|
|
41
|
+
"""
|
|
42
|
+
Parse an SVG length value and return it in points (which are 1/72 of an inch).
|
|
43
|
+
Handles units like px, pt, cm, mm, in, pc.
|
|
44
|
+
"""
|
|
45
|
+
if not value_str:
|
|
46
|
+
return 0.0
|
|
47
|
+
|
|
48
|
+
value_str = value_str.strip().lower()
|
|
49
|
+
|
|
50
|
+
# Regex to separate the numeric value from the unit, allowing for spaces
|
|
51
|
+
match = re.match(r"^(-?\d*\.?\d+)\s*([a-z%]*)$", value_str)
|
|
52
|
+
if not match:
|
|
53
|
+
# Handle case where there is no unit (treat as px, as per SVG spec)
|
|
54
|
+
try:
|
|
55
|
+
return float(value_str)
|
|
56
|
+
except ValueError:
|
|
57
|
+
return 0.0
|
|
58
|
+
|
|
59
|
+
value, unit = match.groups()
|
|
60
|
+
numeric_value = float(value)
|
|
61
|
+
|
|
62
|
+
# ---conversion factors to points (assuming 72 DPI, where 1pt = 1px)---
|
|
63
|
+
# This matches the existing behavior of the Svg class.
|
|
64
|
+
# 1 inch = BASE_PX points
|
|
65
|
+
# 1 cm = 1/2.54 inch = BASE_PX/2.54 points
|
|
66
|
+
# 1 mm = 1/25.4 inch = BASE_PX/25.4 points
|
|
67
|
+
# 1 pc = 12 points
|
|
68
|
+
# 1 px = 1 point (at BASE_PX DPI)
|
|
69
|
+
|
|
70
|
+
if unit in ("pt", "px", ""):
|
|
71
|
+
return numeric_value
|
|
72
|
+
elif unit == "in":
|
|
73
|
+
return numeric_value * float(BASE_PX)
|
|
74
|
+
elif unit == "pc":
|
|
75
|
+
return numeric_value * 12.0
|
|
76
|
+
elif unit == "cm":
|
|
77
|
+
return numeric_value * float(BASE_PX) / 2.54
|
|
78
|
+
elif unit == "mm":
|
|
79
|
+
return numeric_value * float(BASE_PX) / 25.4
|
|
80
|
+
# ---treat other units as px for now---
|
|
81
|
+
else:
|
|
82
|
+
return numeric_value
|
|
83
|
+
|
|
84
|
+
@classmethod
|
|
85
|
+
def _dimensions_from_stream(cls, stream):
|
|
86
|
+
stream.seek(0)
|
|
87
|
+
data = stream.read()
|
|
88
|
+
root = ET.fromstring(data)
|
|
89
|
+
|
|
90
|
+
width_str = root.attrib.get("width")
|
|
91
|
+
height_str = root.attrib.get("height")
|
|
92
|
+
|
|
93
|
+
if width_str and height_str:
|
|
94
|
+
width = round(cls._parse_svg_unit_value(width_str))
|
|
95
|
+
height = round(cls._parse_svg_unit_value(height_str))
|
|
96
|
+
return width, height
|
|
97
|
+
|
|
98
|
+
if root.attrib.get("viewBox"):
|
|
99
|
+
return cls._calculate_scaled_dimensions(root.attrib["viewBox"])
|
|
100
|
+
|
|
101
|
+
return 0, 0
|
|
102
|
+
|
|
103
|
+
@classmethod
|
|
104
|
+
def _calculate_scaled_dimensions(
|
|
105
|
+
cls, viewbox: str, base_px: int = BASE_PX
|
|
106
|
+
) -> tuple[int, int]:
|
|
107
|
+
_, _, logical_width, logical_height = map(float, viewbox.split())
|
|
108
|
+
|
|
109
|
+
aspect_ratio = logical_width / logical_height
|
|
110
|
+
|
|
111
|
+
if aspect_ratio >= 1:
|
|
112
|
+
final_width = base_px
|
|
113
|
+
final_height = base_px / aspect_ratio
|
|
114
|
+
else:
|
|
115
|
+
final_height = base_px
|
|
116
|
+
final_width = base_px * aspect_ratio
|
|
117
|
+
|
|
118
|
+
return round(final_width), round(final_height)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-docx-oss
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.11
|
|
4
4
|
Summary: CRUD Microsoft Word .docx files.
|
|
5
5
|
Home-page: https://github.com/lsaint/python-docx-oss
|
|
6
6
|
Author: Ethan St. Lee
|
|
@@ -69,7 +69,7 @@ _As a Brazilian jiu-jitsu player, OSS means anything and everything. It's a term
|
|
|
69
69
|
<a href="https://github.com/lsaint/python-docx-oss/blob/master/LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg"></a>
|
|
70
70
|
</p>
|
|
71
71
|
|
|
72
|
-
|
|
72
|
+
______________________________________________________________________
|
|
73
73
|
|
|
74
74
|
### FAQ
|
|
75
75
|
|
|
@@ -77,15 +77,23 @@ _As a Brazilian jiu-jitsu player, OSS means anything and everything. It's a term
|
|
|
77
77
|
|
|
78
78
|
**A:** [HISTORY](https://github.com/lsaint/python-docx-oss/blob/master/HISTORY.md)
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
______________________________________________________________________
|
|
81
81
|
|
|
82
82
|
More information is available in the [python-docx-oss documentation](https://python-docx-oss.readthedocs.io/en/latest/)
|
|
83
83
|
|
|
84
84
|
This project is based on the original work by [Steve Canny](https://github.com/scanny) and has been modified by [Ethan St. Lee](https://github.com/lsaint).
|
|
85
85
|
|
|
86
|
+
### Donation
|
|
87
|
+
|
|
88
|
+
[https://lsaint.github.io/donation/](https://lsaint.github.io/donation/)
|
|
89
|
+
|
|
86
90
|
|
|
87
91
|
## Release History
|
|
88
92
|
|
|
93
|
+
0.0.11 (2025-11-17)
|
|
94
|
+
|
|
95
|
+
- round-float viewbox and enhance svg unit parsing #31
|
|
96
|
+
|
|
89
97
|
**0.0.10 (2025-11-13)**
|
|
90
98
|
|
|
91
99
|
- Fix modern bool representations in .docx files. #29
|
|
@@ -25,6 +25,7 @@ def svg_with_viewbox():
|
|
|
25
25
|
("0 0 400 200", 72, 36, 72), # Landscape
|
|
26
26
|
("0 0 200 400", 100, 200, 200), # Portrait
|
|
27
27
|
("0 0 100 100", 50, 50, 50), # Square
|
|
28
|
+
("0 0 100.5 100.5", 50, 50, 50), # Float
|
|
28
29
|
]
|
|
29
30
|
)
|
|
30
31
|
def viewbox_data(request):
|
|
@@ -35,13 +36,49 @@ def viewbox_data(request):
|
|
|
35
36
|
@pytest.fixture(
|
|
36
37
|
params=[
|
|
37
38
|
(b'<svg width="200" height="100"/>', 200, 100),
|
|
39
|
+
(b'<svg width="200.5" height="100.5"/>', 200, 100), # round-half-to-even
|
|
38
40
|
(b'<svg viewBox="0 0 400 200"/>', BASE_PX, BASE_PX // 2),
|
|
41
|
+
(b'<svg viewBox="0 0 400.5 200.5"/>', BASE_PX, 36),
|
|
42
|
+
(b'<svg width="1in" height="0.5in"/>', 72, 36),
|
|
43
|
+
(b'<svg width="2.54cm" height="1.27cm"/>', 72, 36),
|
|
44
|
+
(b'<svg width="25.4mm" height="12.7mm"/>', 72, 36),
|
|
45
|
+
(b'<svg width="6pc" height="3pc"/>', 72, 36),
|
|
46
|
+
(b'<svg width="72pt" height="36pt"/>', 72, 36),
|
|
47
|
+
(b'<svg width="96px" height="48px"/>', 96, 48),
|
|
48
|
+
(b"<svg/>", 0, 0),
|
|
39
49
|
]
|
|
40
50
|
)
|
|
41
51
|
def svg_stream_data(request):
|
|
42
52
|
return request.param
|
|
43
53
|
|
|
44
54
|
|
|
55
|
+
@pytest.fixture(
|
|
56
|
+
params=[
|
|
57
|
+
("100", 100.0),
|
|
58
|
+
("150.5", 150.5),
|
|
59
|
+
("100pt", 100.0),
|
|
60
|
+
("100px", 100.0),
|
|
61
|
+
("1in", 72.0),
|
|
62
|
+
("1pc", 12.0),
|
|
63
|
+
("2.54cm", 72.0),
|
|
64
|
+
("25.4mm", 72.0),
|
|
65
|
+
(" 150.5 px ", 150.5),
|
|
66
|
+
("-20.5", -20.5),
|
|
67
|
+
("", 0.0),
|
|
68
|
+
("invalid", 0.0),
|
|
69
|
+
("12em", 12.0), # fallback to px
|
|
70
|
+
]
|
|
71
|
+
)
|
|
72
|
+
def unit_value_data(request):
|
|
73
|
+
"""Fixture for different SVG unit value strings."""
|
|
74
|
+
return request.param
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
def test_parse_svg_unit_value(unit_value_data):
|
|
78
|
+
value_str, expected_value = unit_value_data
|
|
79
|
+
assert Svg._parse_svg_unit_value(value_str) == pytest.approx(expected_value)
|
|
80
|
+
|
|
81
|
+
|
|
45
82
|
def test_dimensions_from_stream(svg_stream_data):
|
|
46
83
|
stream_data, expected_width, expected_height = svg_stream_data
|
|
47
84
|
stream = io.BytesIO(stream_data)
|
|
@@ -55,3 +92,4 @@ def test_calculate_scaled_dimensions(viewbox_data):
|
|
|
55
92
|
width, height = Svg._calculate_scaled_dimensions(viewbox, base_px)
|
|
56
93
|
assert width == expected_width
|
|
57
94
|
assert height == expected_height
|
|
95
|
+
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import xml.etree.ElementTree as ET
|
|
2
|
-
|
|
3
|
-
from .constants import MIME_TYPE
|
|
4
|
-
from .image import BaseImageHeader
|
|
5
|
-
|
|
6
|
-
BASE_PX = 72
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class Svg(BaseImageHeader):
|
|
10
|
-
"""
|
|
11
|
-
Image header parser for SVG images.
|
|
12
|
-
"""
|
|
13
|
-
|
|
14
|
-
@classmethod
|
|
15
|
-
def from_stream(cls, stream):
|
|
16
|
-
"""
|
|
17
|
-
Return |Svg| instance having header properties parsed from SVG image
|
|
18
|
-
in *stream*.
|
|
19
|
-
"""
|
|
20
|
-
px_width, px_height = cls._dimensions_from_stream(stream)
|
|
21
|
-
return cls(px_width, px_height, 72, 72)
|
|
22
|
-
|
|
23
|
-
@property
|
|
24
|
-
def content_type(self):
|
|
25
|
-
"""
|
|
26
|
-
MIME content type for this image, unconditionally `image/svg+xml` for
|
|
27
|
-
SVG images.
|
|
28
|
-
"""
|
|
29
|
-
return MIME_TYPE.SVG
|
|
30
|
-
|
|
31
|
-
@property
|
|
32
|
-
def default_ext(self):
|
|
33
|
-
"""
|
|
34
|
-
Default filename extension, always 'svg' for SVG images.
|
|
35
|
-
"""
|
|
36
|
-
return "svg"
|
|
37
|
-
|
|
38
|
-
@classmethod
|
|
39
|
-
def _dimensions_from_stream(cls, stream):
|
|
40
|
-
stream.seek(0)
|
|
41
|
-
data = stream.read()
|
|
42
|
-
root = ET.fromstring(data)
|
|
43
|
-
if root.attrib.get("width") is None:
|
|
44
|
-
return cls._calculate_scaled_dimensions(root.attrib["viewBox"])
|
|
45
|
-
|
|
46
|
-
width = int(float(root.attrib["width"].replace("pt", "")))
|
|
47
|
-
height = int(float(root.attrib["height"].replace("pt", "")))
|
|
48
|
-
return width, height
|
|
49
|
-
|
|
50
|
-
@classmethod
|
|
51
|
-
def _calculate_scaled_dimensions(
|
|
52
|
-
cls, viewbox: str, base_px: int = BASE_PX
|
|
53
|
-
) -> tuple[int, int]:
|
|
54
|
-
_, _, logical_width, logical_height = map(int, viewbox.split())
|
|
55
|
-
|
|
56
|
-
aspect_ratio = logical_width / logical_height
|
|
57
|
-
|
|
58
|
-
if aspect_ratio >= 1:
|
|
59
|
-
final_width = base_px
|
|
60
|
-
final_height = base_px / aspect_ratio
|
|
61
|
-
else:
|
|
62
|
-
final_height = base_px
|
|
63
|
-
final_width = base_px * aspect_ratio
|
|
64
|
-
|
|
65
|
-
return int(final_width), int(final_height)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/shapes/index.rst
RENAMED
|
File without changes
|
{python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/shapes/picture.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/styles/index.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/styles/style.rst
RENAMED
|
File without changes
|
{python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/styles/styles.rst
RENAMED
|
File without changes
|
{python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/table/cell-merge.rst
RENAMED
|
File without changes
|
{python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/table/index.rst
RENAMED
|
File without changes
|
{python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/table/table-cell.rst
RENAMED
|
File without changes
|
{python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/table/table-props.rst
RENAMED
|
File without changes
|
{python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/table/table-row.rst
RENAMED
|
File without changes
|
{python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/text/breaks.rst
RENAMED
|
File without changes
|
{python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/text/font-color.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/text/run-content.rst
RENAMED
|
File without changes
|
{python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/text/tab-stops.rst
RENAMED
|
File without changes
|
{python_docx_oss-0.0.10 → python_docx_oss-0.0.11}/docs/dev/analysis/features/text/underline.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|