Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

python313-fpdf2-2.9.0-1.1 RPM for noarch

From OpenSuSE Tumbleweed for noarch

Name: python313-fpdf2 Distribution: openSUSE Tumbleweed
Version: 2.9.0 Vendor: openSUSE
Release: 1.1 Build date: Fri Oct 30 20:26:22 2026
Group: Unspecified Build host: reproducible
Size: 4845862 Source RPM: python-fpdf2-2.9.0-1.1.src.rpm
Packager: https://bugs.opensuse.org
Url: https://py-pdf.github.io/fpdf2/
Summary: Simple & fast PDF generation for Python
Simple & fast PDF generation for Python.

Provides

Requires

License

LGPL-3.0-or-later

Changelog

* Fri Oct 30 2026 Martin Hauke <mardnh@gmx.de>
  - Update to version 2.9.0
    Added
    * support for transform, style, opacity, and
      preserveAspectRatio="none" on SVG <image> tags.
    * support for colored and uncolored tiling patterns with
      FPDF.create_pattern() and FPDF.use_pattern(), including SVG
      <pattern> elements and pattern fills and strokes on referenced
      <use> shapes.
    * support for unordered lists in multi_cell(markdown=True), using
    * , - or + as bullet markers.
    * documentation on generating rMQR Codes.
    * Python 3.15 is now officially supported.
    * Unicode font detection and enhanced error handling: when text
      cannot be encoded with the current font, the
      FPDFUnicodeEncodingException message now identifies the Unicode
      script (Cyrillic, Arabic, Chinese, etc.) and suggests a suitable
      font available on the system, via the new internal
      UnicodeFontManager.
    Fixed
    * None values in PDF dictionaries are serialized as null instead
      of an invalid Python literal.
    * Homogeneous arrays of PDF string and name objects use their PDF
      serialization, including encryption when applicable.
    * PDF dates pad years below 1000 to four digits.
    * FPDF.set_display_mode() rejects infinite numeric zoom values
      instead of writing invalid PDF numbers.
    * Page-count aliases honor center and right alignment with core
      fonts when text shaping is enabled.
    * 16-bit grayscale images, like 16-bit grayscale PNG files, are
      scaled down to 8 bits instead of being converted to RGBA, which
      made every value above 255 white, and keep the transparency of
      their tRNS color key.
    * Tables inside FPDF.unbreakable() are replayed with their rows
      and cells intact when the block is moved to a new page.
    * FPDF.table() raises a clear ValueError naming the column when
      text_align is a tuple with fewer values than the table has
      columns, like it does for col_widths, instead of an IndexError.
    * FPDF.table(): a cell with a colspan below 1 spans one column,
      like a rowspan below 1 already spans one row, instead of raising
      ZeroDivisionError or FPDFException or breaking the column layout
    * Synchronize font_style and emphasis setters with font selection
      and state tracking - cf. issue #1223.
    * FPDF.table() raises ValueError: ... is not a valid
      TableBordersLayout for an unknown borders_layout name, like it
      does for cell_fill_mode and v_align, instead of a bare
      AttributeError.
    * FPDF.set_font() and FPDF.add_font() treat a repeated style
      letter as the same style: style="BB" is bold, instead of raising
      FPDFException: Undefined font: helveticaBB.
    * Document outlines count all visible descendants and link
      siblings by parent, retaining bookmarks when the hierarchy
      starts below the top level.
    * Annotation colors and border widths are serialized as PDF
      numbers without exponent notation.
    * Checksums for compressed embedded files are calculated from the
      original file bytes, as required by the PDF specification.
    * Repeated annotation flags no longer change unrelated flag bits;
      annotation flags are combined with bitwise OR.
    * FPDF.ink_annotation() raises a clear ValueError for an empty
      coords sequence, instead of ValueError: min() iterable argument
      is empty.
    * SVG images with a zero width or height disable rendering instead
      of using viewport dimensions.
    * FPDF.write_html() uses the first available font of a <font face>
      list, like browsers, as in face="Arial, Helvetica, sans-serif",
      with the generic serif, sans-serif and monospace families
      rendered by the core fonts, instead of raising FPDFException:
      Undefined font.
    * SVG gradient stop-opacity accepts percentages, clamps
      out-of-range values to 0-1, and combines with the color's alpha
      channel instead of replacing it.
    * SVG basic-shape coordinates and corner radii now accept absolute
      length units.
    * SVG transforms accept numbers written in scientific notation,
      such as scale(1e-3), instead of silently ignoring the transform.
    * SVG gradient stops honor inline style declarations of
      stop-opacity over the corresponding presentation attribute.
    * SVG length and angle attributes accept scientific notation, such
      as width="1e2pt", instead of raising ValueError.
    * Floating-point numbers in PDF arrays, dictionaries and
      destinations are written without exponent notation, preserving
      their values and allowing very small numeric zoom factors to be
      read correctly.
    * SVG byte strings and BytesIO inputs accept a UTF-8 BOM and XML
      whitespace after <svg or <?xml, instead of being sent to the
      raster image loader.
    * SVG import: a <polygon> or <polyline> whose points has an error
      (an invalid coordinate or an odd number of them) is drawn up to
      the last complete point before it, and one with empty points
      draws nothing, as the SVG specification says, instead of
      raising IndexError.
    * FPDF.write_html() ignores an unsupported align value on <td>,
      <th> and <tr>, such as middle, like it already does for <p>,
      instead of raising ValueError.
    * FPDF.regular_polygon() raises ValueError: 'numSides' parameter
      must be equal or greater than 1 for numSides below 1, instead of
      silently writing a path with no points (a bare h S, which closes
      a path that was never started).
    * Bulleted text-column paragraphs now honor their top margins,
      indented paragraphs retain the column's right boundary, and HTML
      list items honor their TextStyle.t_margin - based on PR #1218.
    * FPDF.text_columns() raises a clear ValueError for ncols below
      1, like insert_toc_placeholder() does for pages, instead of a
      ZeroDivisionError or an unrelated Not enough horizontal space
      error when rendering.
    * FPDF() and FPDF.add_page() raise FPDFPageFormatException: Width
      and height must be positive numbers for a page format whose
      width or height is zero or negative, such as (0, 0), instead of
      writing a page with an empty or inverted /MediaBox.
    * FPDF.write_html() now supports CSS length units (px, pt) and
      surrounding whitespace in dimension attributes for <table>,
      <td>, <th>, <hr>, and <img> elements without raising ValueError.
    * FPDF.write_html() reads a CSS font-size on <font> with its unit,
      like browsers, as in style="font-size: 14pt" or "12px", instead
      of silently ignoring it; a number without a unit is still in
      points.
    * FPDF.write_html() supports <ul type="square">, the third
      standard HTML bullet type, instead of raising
      NotImplementedError: Unicode fonts use ▪ and core fonts fall
      back to the bullet.
    * FPDF.write_html() accepts the <ul type> keywords in any case,
      like browsers: <ul type="CIRCLE"> and <ul type="Square"> no
      longer raise NotImplementedError.
    * FPDF.write_html() supports <ul type="none">, rendering the list
      items without a marker like browsers do, instead of raising
      NotImplementedError.
    * FPDF.write_html() keeps the default bullet for an empty or
      unknown <ul type>, such as type="" or a misspelled type="disk",
      like browsers and like <ol> already does, instead of raising
      NotImplementedError.
    * SVG import: color keywords are case-insensitive (fill="RED"),
      and fill / stroke accept transparent, painting nothing like
      none, instead of raising ValueError
    * FPDF.write_html() accepts css rgb(R, G, B) colors, and colors
      with surrounding spaces, in color and bgcolor attributes
      instead of raising ValueError.
    * FPDF.write_html() accepts a legacy HTML color of six hex
      digits without the leading #, like browsers do, as in
      bgcolor="eeeeee" or <font color="ff0000">, instead of raising
      ValueError.
    * FPDF.write_html() ignores color="transparent" and
      bgcolor="transparent" like browsers, keeping the inherited text
      or background color, instead of raising ValueError.
    * FPDF.write_html() ignores an invalid CSS color on a heading,
      like browsers, as in <h1 style="color: nope">, keeping the color
      attribute or the heading's default color, instead of raising
      ValueError.
    * FPDF.write_html() no longer raises IndexError on an
      <ol type="a"> or <ol type="A"> list with more than 26 items:
      like browsers, letters continue with aa, ab... and a start
      below 1 shows as a number.
    * FPDF.write_html() numbers an <ol> with an unknown type, such as
      type="disc", as 1, 2, 3, like browsers, instead of raising
      NotImplementedError.
    * FPDF.write_html() supports <li value="N"> in ordered lists:
      like browsers, the item is numbered N and the following ones
      continue from it.
    * FPDF.write_html() no longer raises KeyError: 'href' on an <a>
      element without an href attribute, such as a named anchor (<a
      name="intro">); its text is rendered as plain text.
    * FPDF.set_display_mode() raises FPDFException: Incorrect zoom
      display mode for a negative or non-numeric zoom, such as -50
      or None, like it does for an unknown zoom name, instead of
      writing an invalid /OpenAction zoom or failing later in
      output().
    * FPDF.write_html() no longer warns about a missing end tag for
      the HTML void elements <meta>, <link>, <col>, <wbr>, <input>,
      <base>, <area>, <embed>, <source> and <track>, which never
      have one, as in the <head> of an HTML email.
    * FPDF.write_html() treats an invalid colspan or rowspan on <td>
      / <th>, or one below 1, as 1 like browsers do, instead of
      raising ValueError or ZeroDivisionError.
    * FPDF.write_html() stops a rowspan that goes past the last row
      of a <table> at the last row, like browsers, instead of
      raising FPDFException: Rowspan extends beyond end of table.
    * FPDF.write_html() renders a <table> whose width is wider than
      the page, such as width="150%", at the page width with a
      warning, and ignores a negative width like browsers, instead
      of raising ValueError.
    * FPDF.write_html() no longer raises ValueError: Invalid
      .col_widths specified on a table whose first row gives a width
      to only some of its cells, such as
      <td width="50%">a</td><td>b</td>: like browsers, the other
      cells share the remaining space, after the gaps of cellspacing;
      a cell with a colspan gives each column it spans an equal part
      of its width.
    * warning detection during FPDFRecorder.replay() now correctly
      identifies context managers (contextlib.AbstractContextManager,
      @contextmanager, custom context managers) within unbreakable()
      sections.
    * SVG import: opacity, fill-opacity and stroke-opacity accept
      percentages (50%), and an out-of-range opacity is clamped to
      0-1 like the other two instead of raising ValueError.
    * css rgb() colors accept percentages, as in rgb(100%, 0%, 50%)
      (clamped to 0%-100%), in SVG import and FPDF.write_html()
      instead of raising ValueError.
    * hex color strings, such as in set_fill_color("#..."), must
      contain only hexadecimal digits: "#1 2345" and "#+12345" were
      silently read as #012345, and "#xyz" raised an unclear invalid
      literal for int() error; all now raise ValueError: ... could
      not be interpreted as a RGB(A) hex string.
    * FPDF.ink_annotation() computes the horizontal position of the
      annotation rectangle (/Rect) from the x coordinates of the path
      instead of the y coordinates, so the rectangle encloses the
      drawn path; it could previously lie outside the page.
    * FPDF.set_auto_page_break() and FPDF.set_margin() raise
      ValueError: Bottom margin must be zero or a positive number for
      a negative margin, instead of placing the page break below the
      bottom edge of the page, so that the last lines before each
      break were written off the page and lost.
    * FPDF.embed_file() accepts empty byte content and rejects
      simultaneous path and byte sources even when the bytes are
      empty.
    * FPDF.set_line_width() raises ValueError: Line width must be
      zero or a positive number for a negative width, like
      set_dash_pattern() does for a negative dash length, instead of
      writing a negative line width that the PDF specification does
      not allow.
    * FPDF.star() raises ValueError: 'corners' parameter must be
      equal or greater than 1 for corners below 1, instead of a bare
      ZeroDivisionError for corners=0 and silently drawing nothing
      for a negative value.
    * set_text_color(), set_fill_color() and set_draw_color() report
      a component outside 0-255 as given: set_text_color(300) now
      raises ValueError: color component 300 not in range [0, 255]
      instead of 1.1764705882352942 not in range [0.0, 1.0].
    * An internal link with an index that FPDF.add_link() did not
      return now raises a clear ValueError, like a link without a
      page number, instead of a bare AssertionError (or a KeyError
      with python -O).
    * FPDF.write_html() no longer writes the content of <style> and
      <script> elements into the document as text, like browsers, so
      an HTML page or email with a <style> block no longer shows its
      CSS.
    * FPDF.add_page() and FPDF.set_page_label() raise ValueError:
      'label_start' parameter must be equal or greater than 1 for a
      label_start below 1, instead of writing an invalid /St value
      that the PDF specification requires to be 1 or greater.
    * FPDF.set_stretching() raises ValueError: Stretching must be a
      positive number for a stretching of zero or below, instead of
      laying out text with no width: justified text was all put on a
      single line, and other text raised an unrelated Not enough
      horizontal space to render a single character error.
    * FPDF.write_html() raises NotImplementedError: Unsupported
      nested HTML tags inside <td> element: <table> for a <table>
      nested in a table cell, like for the other unsupported nested
      tags, instead of a bare AssertionError with no message.
    Changed
    * Updated the Portuguese tutorial, including tutorials 4 and 5
      and the new PDF/A tutorial 7 - cf. PR #2038.
    * Modernized type annotations for Python 3.11+, using union
      syntax, standard collection types, and typing.Self
    * Removed redundant trailing zeros from numbers in PDF
      dictionaries and arrays outside content streams, preserving
      existing numeric precision.
    Removed
    * Removed the defusedxml dependency: SVG parsing now relies on
      the standard-library ElementTree parser and Expat amplification
      limits; bounded internal entities are accepted, cf. issue #1793
    * support for Python 3.10, that reached end-of-life.
* Mon Oct 12 2026 Martin Hauke <mardnh@gmx.de>
  - Update to version 2.8.9
    Added
    * align parameter for FPDF.alias_nb_pages() to control horizontal
      alignment (Align.L, Align.C, Align.R) of substitution text
      inside reserved alias space.
    * support for page number alias substitution with bidirectional
      / RTL text shaping.
    * appearance parameter for FPDF.file_attachment_annotation(),
      accepting FileAttachmentAppearance.HIDDEN to give the
      annotation an empty appearance stream so its default icon is
      not displayed while the file stays embedded and reachable.
    * Turkish translation of the Tuto 7 - Creating PDF/A Documents
      tutorial section, along with fixes for duplicated clauses and
      mistranslations in the Tuto 2, 4 & 6 descriptions.
    Fixed
    * escaped Markdown markers adjacent to emphasis markers in link
      labels no longer lose literal characters or apply unintended
      styling.
    * PDF serialization of boolean and null values: booleans in
      arrays and dictionaries now use lowercase true and false,
      including in mixed numeric/boolean arrays; None in arrays is
      serialized as null; and filtering empty dictionary fields
      preserves False and numeric zero values.
    * SVG percentage width and height values with surrounding
      whitespace (e.g. width="100% ") no longer raise ValueError.
    * PDF/A-1 documents using TrueType or CFF-based CID fonts now
      include a /CIDSet stream in each font descriptor, as required
      by ISO 19005-1 (veraPDF rule 6.3.5-3).
    * split font /ToUnicode and /Encoding CMap mappings into blocks
      of at most 100 entries, as required by the PDF specification.
    * visual gap in rendering subsequent text after {nb} page alias
      when text shaping is enabled.
    * FPDF.write_html() no longer raises IndexError: pop from empty
      list when a <ul> or <ol> element carries a line-height that
      is not a bare number (e.g. line-height: normal or line-height:
      1.5em); such values are now ignored, and the default line
      height is used, consistently with <p line-height="x">.
    * FPDF.write_html() now renders list bullets with correct font
      styling instead of inheriting preceding heading (e.g. <h1>)
      styles.
    * table cells landing in the wrong column when a row was covered
      by several rowspans that did not start in column order.
    * Padding.new() now accepts 1-element sequences per CSS shorthand
      rules and preserves existing Padding instances without
      redundant allocations.
  - Update to version 2.8.8
    Added
    * Punjabi (pa) tutorial translation.
    * FPDF.svg_limits and SVGLimits to configure SVG complexity
      limits while rendering SVG images.
    * resource_access_policy and Security considerations documentation
    * FPDF.optional_content() context manager to mark content as
      visible on screen only or in print only, using PDF Optional
      Content Groups.
    * basic support for SVG <symbol> elements in the SVG parser.
    * basic support for SVG <switch> elements in the SVG parser.
    * support for keeping aspect ratio for images in templates.
    Fixed
    * Addresses CVE-2026-114609 (bsc#1287182), CVE-2026-114610 (bsc#1287183)
    * custom height passed to Paragraph.ln() in a text region is now
      applied to the line it terminates instead of the first line of
      the following paragraph.
    * the optional numpy import in image_parsing.py no longer crashes
      on CPUs unsupported by numpy's manylinux wheel baseline;
      RuntimeError is now treated the same as ImportError, so numpy
      degrades to unavailable instead of taking down import fpdf.
    * font state (family, style, size, current font, and the
      page-level "font is set" flag) no longer leaks back onto the
      FPDF instance after a text_columns() / text_region() context
      exits, so a subsequent pdf.cell() / pdf.write() renders at the
      caller's font instead of the last paragraph's.
    * text rendering when the first text on a page starts with a
      fallback glyph.
    * preserve boundary-neutral formatting during bidirectional text
      preprocessing.
    * transform application on user space gradients.
    * dependency extras for camelot-py and endesive on pyproject.toml
    * preserve link annotations during dry-run of FPDF.multi_cell.
    * preserve two consecutive markdown links (without space
      inbetween).
    * support markdown style around markdown links.
    * Reset gstate for ToC-rendering.
    * preserve markdown format in FPDF.multi_cell in dry-run.
    * fix page order after dry-run of FPDF.multi_cell in ToC.
    * rendering SVG arcs with very small sweeps that previously
      rounded to zero.
    * spurious "Not enough horizontal space to render a single
      character" error when text without break opportunities is
      split into many small fragments, e.g. by a fallback font
      alternating with the main fon
    * number of surviving escape characters.
    * leading spaces on new lines inside <pre> and <pre><code> blocks
      are no longer dropped.
    * FPDF.set_font() can restore current_font when the selected font
      state diverged.
    * embed CID-keyed CFF fonts as raw CFF programs so browser PDF
      viewers render them correctly.
    * fixed broken links on documentation not directly leading to the
      API reference.
    * reject SVG <use> cycles and excessive nested expansion to
      prevent resource exhaustion in FPDF.image().
    * count SVG <switch> elements in SVG complexity limits.
    * declare the default base state and display order for Optional
      Content Groups so PDF viewers can list layers correctly.
* Sat Apr 11 2026 Dirk Müller <dmueller@suse.com>
  - update to 2.8.7:
    * types on `FPDF.title`, `FPDF.add_font()` and `FPDF.output()`
    * added missing files to navigation tree in mkdocs.yml - thanks
      to @paulsuh
    * reverted changes to `ImageInfo` that impacted user-facing API
    * prefer outline glyphs over bitmap if the font has both
  - update to 2.8.6:
    * support for `FPDF.transform()` context manager to apply
      geometric transformations (translation, rotation, scaling,
      skewing) to the current graphics state
    * support for SVG `` and `` elements - _cf._ issue #1580 -
    * mypy and pyright checks in the CI pipeline to enforce strict
      typing
    * support WOFF and WOFF2 fonts
    * TTC/OTC face selection via `collection_font_number` in
      `add_font()`
    * CID-keyed CFF font embedding support
    * Microsoft Symbol font remapping for non-Unicode cmaps
    * support for EBDT/EBLC bitmap fonts
    * the `A5` value that could be specified as page `format` to
      the `FPDF` constructor was slightly incorrect, and the
      corresponding page dimensions have been fixed. This could
      lead to a minor change in your documents dimensions if you
      used this `A5` page format. - _cf._ issue #1699
    * a bug when rendering empty tables with `INTERNAL` layout,
      that caused an extra border to be rendered due to an
      erroneous use of `list.index()` - _cf._ issue #1669
    * edge cases where tiny floating-point drift could trigger
      incorrect behaviour like issue #1393
    * parentheses are now escaped in more places. This fixes
      embedding a file with a single parenthesis in the filename,
      but might also have impacts on e.g. section names.
    * parsing markdown sequences with escape character - _cf._
      issue #1236 - thanks @amidou-naba
    * improved performance when rendering paths, SVGs, and opaque
      raster images with an alpha channel - _cf._ PR #1675
    * typing annotations added across the codebase as part of the
      strict typing rollout
    * graphics state snapshots now use a `GraphicsState` dataclass
      dataclass for clearer usage and stronger typing
    * `rotation()`, `skew()`, and `mirror()` now delegate to
      `transform()` for standardized transform application
    * ImageInfo now uses typed dictionaries for clearer usage and
      stronger typing
* Mon Jan 19 2026 Markéta Machová <mmachova@suse.com>
  - Update to 2.8.5
    * added tutorial "tuto7" (in English and German) with documentation to create PDF/A files with fpdf2
    * support for many different text/paragraph formatings added
    * improved SVG image parsing speed by 50% to 70%
    * Python 3.14 is now officially supported
    * changed libtiff detection logic to maintain compatibility with pillow v12
    * many more bug fixes and improvements, see upstream CHANGELOG.md
* Tue Feb 04 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 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 06 2024 Aline Werner <aline.werner@suse.com>
  - Add missing requirements.
* Wed Aug 21 2024 Aline Werner <aline.werner@suse.com>
  - Initial package for v2.7.9.

Files

/usr/lib/python3.13/site-packages/fpdf
/usr/lib/python3.13/site-packages/fpdf/__init__.py
/usr/lib/python3.13/site-packages/fpdf/__pycache__
/usr/lib/python3.13/site-packages/fpdf/__pycache__/__init__.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/__init__.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/actions.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/actions.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/annotations.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/annotations.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/bidi.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/bidi.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/deprecation.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/deprecation.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/drawing.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/drawing.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/drawing_primitives.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/drawing_primitives.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/encryption.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/encryption.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/enums.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/enums.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/errors.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/errors.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/font_type_3.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/font_type_3.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/fonts.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/fonts.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/fpdf.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/fpdf.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/graphics_state.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/graphics_state.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/html.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/html.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/image_datastructures.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/image_datastructures.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/image_parsing.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/image_parsing.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/line_break.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/line_break.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/linearization.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/linearization.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/outline.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/outline.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/output.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/output.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/pattern.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/pattern.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/prefs.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/prefs.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/recorder.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/recorder.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/sign.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/sign.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/structure_tree.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/structure_tree.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/svg.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/svg.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/syntax.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/syntax.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/table.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/table.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/template.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/template.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/text_region.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/text_region.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/transitions.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/transitions.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/unicode_font_utils.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/unicode_font_utils.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/unicode_script.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/unicode_script.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/util.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/__pycache__/util.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/actions.py
/usr/lib/python3.13/site-packages/fpdf/annotations.py
/usr/lib/python3.13/site-packages/fpdf/bidi.py
/usr/lib/python3.13/site-packages/fpdf/data
/usr/lib/python3.13/site-packages/fpdf/data/__init__.py
/usr/lib/python3.13/site-packages/fpdf/data/__pycache__
/usr/lib/python3.13/site-packages/fpdf/data/__pycache__/__init__.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/data/__pycache__/__init__.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/data/color_profiles
/usr/lib/python3.13/site-packages/fpdf/data/color_profiles/__init__.py
/usr/lib/python3.13/site-packages/fpdf/data/color_profiles/__pycache__
/usr/lib/python3.13/site-packages/fpdf/data/color_profiles/__pycache__/__init__.cpython-313.opt-1.pyc
/usr/lib/python3.13/site-packages/fpdf/data/color_profiles/__pycache__/__init__.cpython-313.pyc
/usr/lib/python3.13/site-packages/fpdf/data/color_profiles/sRGB2014.icc
/usr/lib/python3.13/site-packages/fpdf/data/color_profiles/sRGB2014.icc.LICENSE
/usr/lib/python3.13/site-packages/fpdf/deprecation.py
/usr/lib/python3.13/site-packages/fpdf/drawing.py
/usr/lib/python3.13/site-packages/fpdf/drawing_primitives.py
/usr/lib/python3.13/site-packages/fpdf/encryption.py
/usr/lib/python3.13/site-packages/fpdf/enums.py
/usr/lib/python3.13/site-packages/fpdf/errors.py
/usr/lib/python3.13/site-packages/fpdf/font_type_3.py
/usr/lib/python3.13/site-packages/fpdf/fonts.py
/usr/lib/python3.13/site-packages/fpdf/fpdf.py
/usr/lib/python3.13/site-packages/fpdf/graphics_state.py
/usr/lib/python3.13/site-packages/fpdf/html.py
/usr/lib/python3.13/site-packages/fpdf/image_datastructures.py
/usr/lib/python3.13/site-packages/fpdf/image_parsing.py
/usr/lib/python3.13/site-packages/fpdf/line_break.py
/usr/lib/python3.13/site-packages/fpdf/linearization.py
/usr/lib/python3.13/site-packages/fpdf/outline.py
/usr/lib/python3.13/site-packages/fpdf/output.py
/usr/lib/python3.13/site-packages/fpdf/pattern.py
/usr/lib/python3.13/site-packages/fpdf/prefs.py
/usr/lib/python3.13/site-packages/fpdf/py.typed
/usr/lib/python3.13/site-packages/fpdf/recorder.py
/usr/lib/python3.13/site-packages/fpdf/sign.py
/usr/lib/python3.13/site-packages/fpdf/structure_tree.py
/usr/lib/python3.13/site-packages/fpdf/svg.py
/usr/lib/python3.13/site-packages/fpdf/syntax.py
/usr/lib/python3.13/site-packages/fpdf/table.py
/usr/lib/python3.13/site-packages/fpdf/template.py
/usr/lib/python3.13/site-packages/fpdf/text_region.py
/usr/lib/python3.13/site-packages/fpdf/transitions.py
/usr/lib/python3.13/site-packages/fpdf/unicode_font_utils.py
/usr/lib/python3.13/site-packages/fpdf/unicode_script.py
/usr/lib/python3.13/site-packages/fpdf/util.py
/usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info
/usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/INSTALLER
/usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/METADATA
/usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/RECORD
/usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/REQUESTED
/usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/WHEEL
/usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/entry_points.txt
/usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/licenses
/usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/licenses/LICENSE
/usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/top_level.txt
/usr/share/doc/packages/python313-fpdf2
/usr/share/doc/packages/python313-fpdf2/CHANGELOG.md
/usr/share/doc/packages/python313-fpdf2/README.md
/usr/share/licenses/python313-fpdf2
/usr/share/licenses/python313-fpdf2/LICENSE


Generated by rpm2html 1.8.1

Fabrice Bellet, Tue Nov 3 22:47:30 2026