From 8babba159cdb91e84c00b4f9bd4716bf4d7a3599 Mon Sep 17 00:00:00 2001 From: Max R Date: Fri, 28 Aug 2026 07:37:46 -0400 Subject: [PATCH 1/5] Fix missing `get_rl_tempfile` in `__all__` export I think this was a copy paste error but let me know --- stubs/reportlab/reportlab/lib/rltempfile.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stubs/reportlab/reportlab/lib/rltempfile.pyi b/stubs/reportlab/reportlab/lib/rltempfile.pyi index 24b270ff237c..2cb9bb42992c 100644 --- a/stubs/reportlab/reportlab/lib/rltempfile.pyi +++ b/stubs/reportlab/reportlab/lib/rltempfile.pyi @@ -1,4 +1,4 @@ def get_rl_tempdir(*subdirs: str) -> str: ... def get_rl_tempfile(fn: str | None = None) -> str: ... -__all__ = ("get_rl_tempdir", "get_rl_tempdir") +__all__ = ("get_rl_tempdir", "get_rl_tempfile") From 3f41b6700c89ed9ab5033fba667760ac358001d7 Mon Sep 17 00:00:00 2001 From: Max R Date: Mon, 31 Aug 2026 23:32:00 -0400 Subject: [PATCH 2/5] [reportlab] Update to 5.0.1 --- stubs/reportlab/METADATA.toml | 2 +- stubs/reportlab/reportlab/lib/rl_safe_eval.pyi | 3 +++ stubs/reportlab/reportlab/lib/utils.pyi | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/stubs/reportlab/METADATA.toml b/stubs/reportlab/METADATA.toml index 76eaaf6e7ca3..69cf5ac72cf5 100644 --- a/stubs/reportlab/METADATA.toml +++ b/stubs/reportlab/METADATA.toml @@ -1,4 +1,4 @@ -version = "5.0.0" +version = "5.0.1" # GitHub mirror of https://hg.reportlab.com/hg-public/reportlab/file upstream-repository = "https://github.com/MrBitBucket/reportlab-mirror" diff --git a/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi b/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi index e70536e3ee0f..86e693b72ea6 100644 --- a/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi +++ b/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi @@ -164,6 +164,7 @@ def safer_globals(g=None): ... math_log10 = math.log10 __rl_undef__: Incomplete +GenericAlias: Incomplete class __RL_SAFE_ENV__: __time_time__ = time.time @@ -201,6 +202,8 @@ class __RL_SAFE_ENV__: def __rl_is_allowed_name__(self, name, crash: bool = True) -> bool: ... def __rl_getattr__(self, obj, a, *args): ... def __rl_getitem__(self, obj, a): ... + def __inner_rl_getitem__(self, obj, a): ... + def __rl_setattr__(self, obj, a, v, *args): ... __rl_tmax__: int __rl_max_len__: int __rl_max_pow_digits__: int diff --git a/stubs/reportlab/reportlab/lib/utils.pyi b/stubs/reportlab/reportlab/lib/utils.pyi index 6ea6a6d1ea32..3bf77cd48950 100644 --- a/stubs/reportlab/reportlab/lib/utils.pyi +++ b/stubs/reportlab/reportlab/lib/utils.pyi @@ -89,7 +89,7 @@ class ArgvDictValue: def getArgvDict(**kw): ... def getHyphenater(hDict=None): ... def open_for_read_by_name(name, mode: str = "b"): ... -def rlUrlRead(name: str, headers: MutableMapping[str, str] | None = None) -> _UrlopenRet: ... +def rlUrlRead(url: str, headers: MutableMapping[str, str] | None = None) -> _UrlopenRet: ... def open_for_read(name, mode: str = "b"): ... def open_and_read(name, mode: str = "b"): ... def open_and_readlines(name, mode: str = "t"): ... From ce3c63156b73ef7845126a3b8add7968f42f3408 Mon Sep 17 00:00:00 2001 From: Max R Date: Sun, 11 Oct 2026 11:12:26 -0400 Subject: [PATCH 3/5] [reportlab] Update to 5.0.2 --- stubs/reportlab/METADATA.toml | 2 +- stubs/reportlab/reportlab/lib/extformat.pyi | 9 ---- .../reportlab/reportlab/lib/rl_safe_eval.pyi | 48 +++++++++++++++++-- .../reportlab/platypus/flowables.pyi | 3 +- 4 files changed, 48 insertions(+), 14 deletions(-) delete mode 100644 stubs/reportlab/reportlab/lib/extformat.pyi diff --git a/stubs/reportlab/METADATA.toml b/stubs/reportlab/METADATA.toml index 69cf5ac72cf5..5d30a5fbe93e 100644 --- a/stubs/reportlab/METADATA.toml +++ b/stubs/reportlab/METADATA.toml @@ -1,4 +1,4 @@ -version = "5.0.1" +version = "5.0.2" # GitHub mirror of https://hg.reportlab.com/hg-public/reportlab/file upstream-repository = "https://github.com/MrBitBucket/reportlab-mirror" diff --git a/stubs/reportlab/reportlab/lib/extformat.pyi b/stubs/reportlab/reportlab/lib/extformat.pyi deleted file mode 100644 index 4d9f857e35f8..000000000000 --- a/stubs/reportlab/reportlab/lib/extformat.pyi +++ /dev/null @@ -1,9 +0,0 @@ -from collections.abc import Mapping -from typing import Any, Final - -__version__: Final[str] - -def dictformat( - _format: str, L: Mapping[str, object] | None = {}, G: dict[str, Any] | None = {} # `L` and `G` are passed to `eval` function -) -> str: ... -def magicformat(format: str) -> str: ... diff --git a/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi b/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi index 86e693b72ea6..12853b5f60ef 100644 --- a/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi +++ b/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi @@ -2,8 +2,10 @@ import ast import math import re import time +import types from _typeshed import Incomplete -from collections.abc import Generator +from collections.abc import Generator, Iterable +from typing import Any, type_check_only from typing_extensions import Never, Self eval_debug: int @@ -11,6 +13,13 @@ strTypes: tuple[type[bytes], type[str]] isPy39: bool isPy313: bool +class FilteredModule: + def __init__( + self, m: types.ModuleType, mnames: str | tuple[str, ...] = (), mpattern: re.Pattern[str] | None = None + ) -> None: ... + def __getattr__(self, a: str) -> Any: ... + def __eq__(self, other: object) -> bool: ... + class BadCode(ValueError): ... augOps: dict[ast.operator, str] @@ -177,6 +186,7 @@ class __RL_SAFE_ENV__: real_bi: Incomplete bi_replace: Incomplete __rl_builtins__: Incomplete + __rl_mpattern__: re.Pattern[str] | None def __init__(self, timeout=None, allowed_magic_methods=None, allowed_magic_names=None) -> None: ... def __rl_type__(self, *args): ... def __rl_check__(self) -> None: ... @@ -199,6 +209,7 @@ class __RL_SAFE_ENV__: def __rl_frozenset__(self, it=()): ... def __rl_iter_unpack_sequence__(self, it, spec, _getiter_) -> Generator[Incomplete]: ... def __rl_unpack_sequence__(self, it, spec, _getiter_): ... + def __rl_allowed_obj__(self, obj) -> None: ... def __rl_is_allowed_name__(self, name, crash: bool = True) -> bool: ... def __rl_getattr__(self, obj, a, *args): ... def __rl_getitem__(self, obj, a): ... @@ -219,14 +230,34 @@ class __RL_SAFE_ENV__: ): ... __rl_limit__: Incomplete def __rl_safe_eval__( - self, expr, g, l, mode, timeout=None, allowed_magic_methods=None, __frame_depth__: int = 3, allowed_magic_names=None + self, + expr, + g, + l, + mode, + timeout=None, + allowed_magic_methods=None, + __frame_depth__: int = 3, + allowed_magic_names=None, + mnames: str | tuple[str, ...] = (), + excluded_names: Iterable[str] | None = None, ): ... class __rl_safe_eval__: mode: str env: Incomplete def __init__(self) -> None: ... - def __call__(self, expr, g=None, l=None, timeout=None, allowed_magic_methods=None, allowed_magic_names=None): ... + def __call__( + self, + expr, + g=None, + l=None, + timeout=None, + allowed_magic_methods=None, + allowed_magic_names=None, + mnames: str | tuple[str, ...] = (), + excluded_names: Iterable[str] | None = None, + ): ... class __rl_safe_exec__(__rl_safe_eval__): mode: str @@ -238,3 +269,14 @@ rl_safe_eval: __rl_safe_eval__ def __fix_set__(value, default=...): ... def rl_less_safe_eval(expr, NS): ... + +@type_check_only +class _DefaultNamespace: + class ModuleChangeDetector(types.ModuleType): + def __setattr__(self, a: str, v: object) -> None: ... + def __delattr__(self, a: str) -> None: ... + + def __call__(self, warn: bool = False) -> dict[str, Any]: ... + def check(self, strict: bool = False) -> None: ... + +DefaultNamespace: _DefaultNamespace diff --git a/stubs/reportlab/reportlab/platypus/flowables.pyi b/stubs/reportlab/reportlab/platypus/flowables.pyi index d3d0da2ed876..c6b57661b996 100644 --- a/stubs/reportlab/reportlab/platypus/flowables.pyi +++ b/stubs/reportlab/reportlab/platypus/flowables.pyi @@ -199,7 +199,8 @@ class KeepTogetherSplitAtTop(KeepTogether): class Macro(Flowable): command: str - def __init__(self, command: str) -> None: ... + g: dict[str, Any] | None + def __init__(self, command: str, g: dict[str, Any] | None = None) -> None: ... def draw(self) -> None: ... class CallerMacro(Flowable): From fe013a01442ba64ff7d8286298f5f61e18798a14 Mon Sep 17 00:00:00 2001 From: Max R Date: Sun, 11 Oct 2026 11:15:38 -0400 Subject: [PATCH 4/5] [reportlab] Drop names added after 5.0.2 --- .../reportlab/reportlab/lib/rl_safe_eval.pyi | 21 +++---------------- 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi b/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi index 12853b5f60ef..3fb56db9ec4a 100644 --- a/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi +++ b/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi @@ -4,8 +4,8 @@ import re import time import types from _typeshed import Incomplete -from collections.abc import Generator, Iterable -from typing import Any, type_check_only +from collections.abc import Generator +from typing import Any from typing_extensions import Never, Self eval_debug: int @@ -18,7 +18,6 @@ class FilteredModule: self, m: types.ModuleType, mnames: str | tuple[str, ...] = (), mpattern: re.Pattern[str] | None = None ) -> None: ... def __getattr__(self, a: str) -> Any: ... - def __eq__(self, other: object) -> bool: ... class BadCode(ValueError): ... @@ -186,7 +185,7 @@ class __RL_SAFE_ENV__: real_bi: Incomplete bi_replace: Incomplete __rl_builtins__: Incomplete - __rl_mpattern__: re.Pattern[str] | None + __recur__: bool def __init__(self, timeout=None, allowed_magic_methods=None, allowed_magic_names=None) -> None: ... def __rl_type__(self, *args): ... def __rl_check__(self) -> None: ... @@ -209,7 +208,6 @@ class __RL_SAFE_ENV__: def __rl_frozenset__(self, it=()): ... def __rl_iter_unpack_sequence__(self, it, spec, _getiter_) -> Generator[Incomplete]: ... def __rl_unpack_sequence__(self, it, spec, _getiter_): ... - def __rl_allowed_obj__(self, obj) -> None: ... def __rl_is_allowed_name__(self, name, crash: bool = True) -> bool: ... def __rl_getattr__(self, obj, a, *args): ... def __rl_getitem__(self, obj, a): ... @@ -240,7 +238,6 @@ class __RL_SAFE_ENV__: __frame_depth__: int = 3, allowed_magic_names=None, mnames: str | tuple[str, ...] = (), - excluded_names: Iterable[str] | None = None, ): ... class __rl_safe_eval__: @@ -256,7 +253,6 @@ class __rl_safe_eval__: allowed_magic_methods=None, allowed_magic_names=None, mnames: str | tuple[str, ...] = (), - excluded_names: Iterable[str] | None = None, ): ... class __rl_safe_exec__(__rl_safe_eval__): @@ -269,14 +265,3 @@ rl_safe_eval: __rl_safe_eval__ def __fix_set__(value, default=...): ... def rl_less_safe_eval(expr, NS): ... - -@type_check_only -class _DefaultNamespace: - class ModuleChangeDetector(types.ModuleType): - def __setattr__(self, a: str, v: object) -> None: ... - def __delattr__(self, a: str) -> None: ... - - def __call__(self, warn: bool = False) -> dict[str, Any]: ... - def check(self, strict: bool = False) -> None: ... - -DefaultNamespace: _DefaultNamespace From 2186d1066eb2f46dcb69a051f6bc11066a936f1c Mon Sep 17 00:00:00 2001 From: Max R Date: Fri, 30 Oct 2026 23:21:33 -0400 Subject: [PATCH 5/5] [reportlab] Update to 5.1.0 --- stubs/reportlab/@tests/stubtest_allowlist.txt | 1 - stubs/reportlab/METADATA.toml | 2 +- .../reportlab/graphics/charts/legends.pyi | 2 +- stubs/reportlab/reportlab/graphics/shapes.pyi | 7 ++++++- stubs/reportlab/reportlab/graphics/utils.pyi | 2 +- .../reportlab/reportlab/lib/rl_safe_eval.pyi | 21 ++++++++++++++++--- .../reportlab/pdfbase/pdfmetrics.pyi | 21 ++++++++++++++++--- stubs/reportlab/reportlab/rl_config.pyi | 1 + stubs/reportlab/reportlab/rl_settings.pyi | 2 ++ 9 files changed, 48 insertions(+), 11 deletions(-) diff --git a/stubs/reportlab/@tests/stubtest_allowlist.txt b/stubs/reportlab/@tests/stubtest_allowlist.txt index 2b0026f6730c..e4c70d6c03ad 100644 --- a/stubs/reportlab/@tests/stubtest_allowlist.txt +++ b/stubs/reportlab/@tests/stubtest_allowlist.txt @@ -76,7 +76,6 @@ reportlab\.graphics\.render(base|PDF|PM|PS|SVG)\.EVEN_ODD reportlab\.graphics\.render(base|PDF|PM|PS|SVG)\.FILL_EVEN_ODD reportlab\.graphics\.render(base|PDF|PM|PS|SVG)\.FILL_NON_ZERO reportlab\.graphics\.render(base|PDF|PM|PS|SVG)\.NON_ZERO_WINDING -reportlab\.graphics\.render(base|PDF|PM|PS|SVG)\.STATE_DEFAULTS reportlab\.graphics\.render(base|PDF|PM|PS|SVG)\.decimalSymbol reportlab\.graphics\.render(base|PDF|PM|PS|SVG)\.pi reportlab\.graphics\.render(base|PDF|PM|PS|SVG)\.shapeChecking diff --git a/stubs/reportlab/METADATA.toml b/stubs/reportlab/METADATA.toml index 5d30a5fbe93e..f504f44d135f 100644 --- a/stubs/reportlab/METADATA.toml +++ b/stubs/reportlab/METADATA.toml @@ -1,4 +1,4 @@ -version = "5.0.2" +version = "5.1.0" # GitHub mirror of https://hg.reportlab.com/hg-public/reportlab/file upstream-repository = "https://github.com/MrBitBucket/reportlab-mirror" diff --git a/stubs/reportlab/reportlab/graphics/charts/legends.pyi b/stubs/reportlab/reportlab/graphics/charts/legends.pyi index ec3b453fba10..f9eddc0b8bd9 100644 --- a/stubs/reportlab/reportlab/graphics/charts/legends.pyi +++ b/stubs/reportlab/reportlab/graphics/charts/legends.pyi @@ -71,7 +71,7 @@ class TotalAnnotator(LegendColEndCallout): self, lText: str = "Total", rText: str = "0.0", - fontName="Times-Roman", + fontName: str | None = None, fontSize: int = 10, fillColor=..., strokeWidth: float = 0.5, diff --git a/stubs/reportlab/reportlab/graphics/shapes.pyi b/stubs/reportlab/reportlab/graphics/shapes.pyi index 123a551ddc2e..3083db90f7e0 100644 --- a/stubs/reportlab/reportlab/graphics/shapes.pyi +++ b/stubs/reportlab/reportlab/graphics/shapes.pyi @@ -105,7 +105,12 @@ __version__: Final[str] isOpacity: NoneOr NON_ZERO_WINDING: Final[str] EVEN_ODD: Final[str] -STATE_DEFAULTS: Final[Incomplete] + +class RL_STATE_DEFAULTS(dict[str, Any]): + def get(self, x: str, default: Any = None) -> Any: ... # type: ignore[override] + def copy(self) -> dict[str, Any]: ... + +STATE_DEFAULTS: Final[RL_STATE_DEFAULTS] class _DrawTimeResizeable: ... diff --git a/stubs/reportlab/reportlab/graphics/utils.pyi b/stubs/reportlab/reportlab/graphics/utils.pyi index af61914c0058..b47e8de999e6 100644 --- a/stubs/reportlab/reportlab/graphics/utils.pyi +++ b/stubs/reportlab/reportlab/graphics/utils.pyi @@ -6,7 +6,7 @@ def text2Path( text, x: int = 0, y: int = 0, - fontName="Times-Roman", + fontName: str | None = None, fontSize: int = 1000, anchor: str = "start", truncate: int = 1, diff --git a/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi b/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi index 3fb56db9ec4a..12853b5f60ef 100644 --- a/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi +++ b/stubs/reportlab/reportlab/lib/rl_safe_eval.pyi @@ -4,8 +4,8 @@ import re import time import types from _typeshed import Incomplete -from collections.abc import Generator -from typing import Any +from collections.abc import Generator, Iterable +from typing import Any, type_check_only from typing_extensions import Never, Self eval_debug: int @@ -18,6 +18,7 @@ class FilteredModule: self, m: types.ModuleType, mnames: str | tuple[str, ...] = (), mpattern: re.Pattern[str] | None = None ) -> None: ... def __getattr__(self, a: str) -> Any: ... + def __eq__(self, other: object) -> bool: ... class BadCode(ValueError): ... @@ -185,7 +186,7 @@ class __RL_SAFE_ENV__: real_bi: Incomplete bi_replace: Incomplete __rl_builtins__: Incomplete - __recur__: bool + __rl_mpattern__: re.Pattern[str] | None def __init__(self, timeout=None, allowed_magic_methods=None, allowed_magic_names=None) -> None: ... def __rl_type__(self, *args): ... def __rl_check__(self) -> None: ... @@ -208,6 +209,7 @@ class __RL_SAFE_ENV__: def __rl_frozenset__(self, it=()): ... def __rl_iter_unpack_sequence__(self, it, spec, _getiter_) -> Generator[Incomplete]: ... def __rl_unpack_sequence__(self, it, spec, _getiter_): ... + def __rl_allowed_obj__(self, obj) -> None: ... def __rl_is_allowed_name__(self, name, crash: bool = True) -> bool: ... def __rl_getattr__(self, obj, a, *args): ... def __rl_getitem__(self, obj, a): ... @@ -238,6 +240,7 @@ class __RL_SAFE_ENV__: __frame_depth__: int = 3, allowed_magic_names=None, mnames: str | tuple[str, ...] = (), + excluded_names: Iterable[str] | None = None, ): ... class __rl_safe_eval__: @@ -253,6 +256,7 @@ class __rl_safe_eval__: allowed_magic_methods=None, allowed_magic_names=None, mnames: str | tuple[str, ...] = (), + excluded_names: Iterable[str] | None = None, ): ... class __rl_safe_exec__(__rl_safe_eval__): @@ -265,3 +269,14 @@ rl_safe_eval: __rl_safe_eval__ def __fix_set__(value, default=...): ... def rl_less_safe_eval(expr, NS): ... + +@type_check_only +class _DefaultNamespace: + class ModuleChangeDetector(types.ModuleType): + def __setattr__(self, a: str, v: object) -> None: ... + def __delattr__(self, a: str) -> None: ... + + def __call__(self, warn: bool = False) -> dict[str, Any]: ... + def check(self, strict: bool = False) -> None: ... + +DefaultNamespace: _DefaultNamespace diff --git a/stubs/reportlab/reportlab/pdfbase/pdfmetrics.pyi b/stubs/reportlab/reportlab/pdfbase/pdfmetrics.pyi index f2960d313f17..a6eb59a2079d 100644 --- a/stubs/reportlab/reportlab/pdfbase/pdfmetrics.pyi +++ b/stubs/reportlab/reportlab/pdfbase/pdfmetrics.pyi @@ -1,5 +1,5 @@ from _typeshed import Incomplete, StrOrBytesPath -from typing import Final, Literal +from typing import ClassVar, Final, Literal from reportlab.lib.rl_accel import unicode2T1 as unicode2T1 from reportlab.pdfbase.pdfdoc import PDFDictionary @@ -7,6 +7,10 @@ from reportlab.pdfbase.pdfdoc import PDFDictionary __version__: Final[str] standardFonts: Incomplete standardEncodings: Incomplete +reportlab_fonts_dir: str +font2fnrMap: dict[str, str] + +def __standardFontsChange__() -> None: ... class FontError(Exception): ... class FontNotFoundError(Exception): ... @@ -67,14 +71,16 @@ class EmbeddedType1Face(TypeFace): afmFileName: Incomplete pfbFileName: Incomplete requiredEncoding: Incomplete - def __init__(self, afmFileName, pfbFileName) -> None: ... + def __init__(self, afmFileName, pfbFileName, faceName: str | None = None) -> None: ... def getFontFiles(self) -> list[Incomplete]: ... def addObjects(self, doc): ... def registerTypeFace(face) -> None: ... def registerEncoding(enc) -> None: ... -def registerFontFamily(family, normal=None, bold=None, italic=None, boldItalic=None) -> None: ... +def registerFontFamily(family, normal=None, bold=None, italic=None, boldItalic=None, baseFontFor: str = "") -> None: ... def registerFont(font) -> None: ... +def faceFromAFM(afm: str, faceName: str | None = None) -> EmbeddedType1Face: ... +def faceFromRLFD(fnr: str, faceName: str) -> EmbeddedType1Face: ... def getTypeFace(faceName) -> TypeFace: ... def getEncoding(encName) -> Encoding: ... def findFontAndRegister(fontName: str) -> Font: ... @@ -86,5 +92,14 @@ def getRegisteredFontNames() -> list[Incomplete]: ... def stringWidth(text: str | bytes, fontName: str, fontSize: float, encoding: str = "utf8") -> float: ... def dumpFontData() -> None: ... def test3widths(texts) -> None: ... + +class BaseFontName: + __k2t__: ClassVar[tuple[tuple[tuple[str, ...], tuple[int, int]], ...]] + def __init__(self, bfna: str) -> None: ... + def __call__(self, kind: str = "normal", default: str | None = None) -> str: ... + +baseGFont: BaseFontName +baseCFont: BaseFontName + def testStringWidthAlgorithms() -> None: ... def test() -> None: ... diff --git a/stubs/reportlab/reportlab/rl_config.pyi b/stubs/reportlab/reportlab/rl_config.pyi index 5267a7f269a5..4a172c552afc 100644 --- a/stubs/reportlab/reportlab/rl_config.pyi +++ b/stubs/reportlab/reportlab/rl_config.pyi @@ -72,6 +72,7 @@ textPaths: str toColorCanUse: str defCWRF: float unShapedFontGlob: list[str] | None +std14Embed: bool T1SearchPath: list[str] TTFSearchPath: list[str] CMapSearchPath: list[str] diff --git a/stubs/reportlab/reportlab/rl_settings.pyi b/stubs/reportlab/reportlab/rl_settings.pyi index 8e36a529bb22..82ed418ff2b6 100644 --- a/stubs/reportlab/reportlab/rl_settings.pyi +++ b/stubs/reportlab/reportlab/rl_settings.pyi @@ -67,6 +67,7 @@ textPaths: Final[str] toColorCanUse: Final[str] defCWRF: Final[float] unShapedFontGlob: list[str] | None +std14Embed: Final[bool] T1SearchPath: Final[tuple[str, ...]] TTFSearchPath: Final[tuple[str, ...]] CMapSearchPath: Final[tuple[str, ...]] @@ -137,4 +138,5 @@ __all__ = ( "toColorCanUse", "defCWRF", "unShapedFontGlob", + "std14Embed", )