File python-fpdf2.changes of Package python-fpdf2

-------------------------------------------------------------------
Wed Aug  6 13:20:43 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>

- Update to 2.8.3
  * Added
    - support for Output Intents on document level - thanks to @lka
    - support for shading patterns (gradients) - thanks to @andersonhc - PR #1334
    - support for setting a minimal row height in tables
    - support for v_align at the row level in tables
    - new optional reset_page_indices parameter for insert_toc_placeholder()
    - support for strikethrough text
    - support for first_line_indent in text_region.Paragraph
    - new ViewerPreferences.print_scaling
    - documentation on fpdf2 internals
    - documentation on generating Aztec Codes
    - added Slovenian translation of the tutorial:
      Vodič - thanks to @DeepBlackHole
    - support for adding TrueType fonts that are missing the .notdef
      glyph - issue #1161 - thanks to @spacegaori
    - improved SVG image parsing speed by 50% to 70% - thanks to
      @petri-lipponen-movesense - PR #1350
    - added tutorial "tuto7" (in English and German) with documentation
      to create PDF/A files with fpdf2 - thanks to @lka
  * Fixed
    * FPDF.write_html(): Fixed rendering of content following <a> tags; now
      correctly resets emphasis style post </a> tag: hyperlink styling contained
      within the tag authority. - issue #1311
    * FPDF.footer() does not "leak" its text style to the table of contents anymore
    * FPDF.table(): Fixed heading styles containing underline failing to render.
    * FPDF.ln(): the method now allows a value of 0 to be provided for h.
    * font optimization: only include fonts effectively used in the final PDF
      document. Fonts added via set_font() or add_page() but not actually used in
      the document are no longer included in the final output. This reduces file
      size and improves performance, especially for documents with many fallback
      fonts. - issue #1382
    * a KeyError was raised in some specific cases when auto-downscaling
      images - issue #1409
- Update BuildRequires from pyproject.toml

-------------------------------------------------------------------
Tue Feb  4 09:48:58 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>

- Update to 2.8.2
  * Added
    - new optional parameter `border` for table cells: users can define
      specific borders (left, right, top, bottom) for individual cells
    - `FPDF.write_html()`: now parses `<title>` tags to set the document title.
      By default, it is added as PDF metadata, but not rendered in the document
      body. However, this can be enabled by passing `render_title_tag=True` to
      `FPDF.write_html()`.
    - support for LZWDecode compression
    - Python 3.13 is now officially supported
    - support for page labels and created a reference table of contents implementation
    - documentation on how to: render spreadsheets as PDF tables
    - support for passing `Align` values (along with string values like `'C'`,
      `'L'`, `'R'`) in `l_margin` of `TextStyle` to horizontally align text
  * Fixed
    - support for `align=` in `FPDF.table()`. Due to this correction, tables are now
      properly horizontally aligned on the page by default. This was always specified
      in the documentation, but was not in effect until now. You can revert to have
      left-aligned tables by passing `align="LEFT"` to `FPDF.table()`.
    - `FPDF.set_text_shaping(False)` was broken since version 2.7.8 and is now working properly
    - fixed bug where cells with `rowspan`, `colspan` > 1 and null text were not displayed properly
    - `CreationDate` metadata used a wrong timezone offset for UTC
    - `insert_toc_placeholder()`] did not properly set the page orientation, which
      caused a bug when the last page of the document was in a different orientation
  * Changed
    - improved logic for handling text substitution of the total number of pages,
      ensuring compatibility with text shaping
    - all `AnnotationDict` properties can now be passed to `FPDF.text_annotation()`,
      `FPDF.free_text_annotation()`,  `FPDF.add_action()`, `FPDF.add_text_markup_annotation()`
      & `FPDF.ink_annotation()`. This includes `title`, `color`, `border_width`...
  * Removed
    - reminder : since release `2.8.1`, `fpdf2` does not support Python 3.7,
      that reached end-of-life in 2023
- from version 2.8.1
  * Added
    - support for quadratic and cubic Bézier curves with `FPDF.bezier()`
    - support for escape character for markers in markdown text
    - Wrapping words on spaces now considers all common space symbols in
      addition to regular spaces (' '), addressing issues with word-wrapping
      for languages like Thai, as per (#1190) and (#1191)
    - `Templates` can now be also defined in JSON files.
    - support to optionally set `wrapmode` in templates (default `"WORD"` can
      optionally be set to `"CHAR"` to support wrapping on characters for scripts
      like Chinese or Japanese) - _cf._ (#1159)
    - documentation on how to use `fpdf2` with Rough.js
    - documentation on how to use `fpdf2` with gunicorn
    - new translation of the tutorial in Türkçe
    - feature to identify the Unicode script of the input text and break it into
      fragments when different scripts are used, improving text shaping results
    - `FPDF.image()`: now handles `keep_aspect_ratio` in combination with an
      enum value provided to `x`
    - `FPDF.write_html()`: now supports CSS page breaks properties : documentation
    - `FPDF.write_html()`: new optional `font_family` parameter to set the default font family
    - `FPDF.write_html()`: spacing before lists can now be adjusted via the `tag_styles` attribute
    - file names are mentioned in errors when `fpdf2` fails to parse a SVG image
  * Fixed
    - `FPDF.local_context()` used to leak styling during page breaks, when rendering
      `footer()` & `header()`
    - `fpdf.drawing.DeviceCMYK` objects can now be passed to `FPDF.set_draw_color()`,
      `FPDF.set_fill_color()` and `FPDF.set_text_color()` without raising a `ValueError`
    - `FPDF.write_html()`: fixing rendering of `<hr>` tags, that do not trigger a page
      break anymore
    - `FPDF.write_html()`: fixed automatic page break when an image does not have enough
      vertical space to be rendered on a page
    - individual `/Resources` directories are now properly created for each document page.
      This change ensures better compliance with the PDF specification but results in a
      slight increase in the size of PDF documents. You can still use the old behavior
      by setting `FPDF().single_resources_object = True`
    - line size calculation for fragments when text shaping is used
    - `FPDF.write_html()`: fixed incoherent indentation of long `<ul>` list entries
    - default values for `top_margin` and `bottom_margin` in `HTML2FPDF._new_paragraph()`
      calls are now correctly converted into chosen document units.
    - In text_columns(), paragraph top/bottom margins didn't correctly trigger column breaks
    - `fpdf.drawing.color_from_hex_string` did not test or mention accepting lowercase hex values.
    - handling of bidirectional text on `FPDF.get_string_width()`
    - new translation of the tutorial in Indonesian
    - `RecursionError` in some cases when calling `FPDF.write_html()` inside `FPDF.footer()`
  * Removed
    - support for Python 3.7, that reached end-of-life in 2023
    - an obscure and undocumented feature of `FPDF.write_html()`, which used to magically
      pass instance attributes as arguments.
  * Deprecated
    - `fpdf.TitleStyle` has been renamed into `fpdf.TextStyle`
    - `FPDF.write_html()`: `tag_indents` introduced in the last version - Now the indentation
       can be provided through the `tag_styles` parameter, using the `.l_margin` of `TextStyle`
       instances
  * Changed
    - `FPDF.local_context()` used to treat `font_size` as a value in points. Now this is the
      role of `font_size_pt`, whereas `font_size` allows to set the font size into chosen
      document units (specified with `FPDF(unit=)`)
    - `FPDF.circle()`: the previous `r` parameter, that in fact defined the diameter, has
      been replaced by a new `radius` paremeter. The `x` & `y` parameters now define the
      circle **center**, instead of its top-left corner as it used to be
    - `FPDF.table()` now raises an error when a single row is too high to be rendered on
      a single page
    - `FPDF.write_html()`: indentation of HTML elements can now be non-integer (float),
      and is now independent of font size and bullet strings.
    - improved performance of font glyph selection by using functools cache
    - Clarified usage of the `style` attribute in `FPDF.add_font()`
- from version 2.8.0
  * This version was only uploaded a few minutes on Pypi and then deleted manually by a
    maintainer, erroneously fearing a regression.

-------------------------------------------------------------------
Tue Oct 29 06:47:30 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>

- Using obs_scm service to download from repository
  without some files to do not distribute CC-noncomercial licensed
  ttf. boo#1232452

-------------------------------------------------------------------
Fri Sep  6 14:26:52 UTC 2024 - Aline Werner <aline.werner@suse.com>

- Add missing requirements. 

-------------------------------------------------------------------
Wed Aug 21 14:27:26 UTC 2024 - Aline Werner <aline.werner@suse.com>

- Initial package for v2.7.9. 
openSUSE Build Service is sponsored by