summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2025-07-19Claudine/fill composed glyphs layers (#3870)Claudine Peyrat
* combining glyphs are guessed * attribute letter seems ok now * Update option_panel.py should not have been modified * second round * step3 * add sorting whole file by categories * style * Update tags.py remove an unuseful tag * fixing mistakes pointed out by Kaaleen thank you Kaalleen
2025-07-12fix zerodivision error in zigzag to satin (#3858)Kaalleen
2025-07-12satin: fix empty rail issue (#3863)Kaalleen
2025-07-11Fix issue with bad color names (#3816)Kaalleen
* fix issue with bad color names and define element colors at one place and reuse * fix bad tartan color * verify color in gradient block * add thread color tests * use default color behavior for elements linked to non-existing definitions (gradients) * Added mypy change for tests (authored by: CapellanCitizen)
2025-07-11Do not redefine underscore (#3865)Kaalleen
* do not redefine underscore * Disallow any redefinitions going forward --------- Co-authored-by: CapellanCitizen <>
2025-07-07remove comment: inkscape does not save view rotation (it does) (#3849)Kaalleen
2025-07-06Claudine/fix normalization and house cleaning (#3843)Claudine Peyrat
* remove normalization in glyph filter remove glyph normalization gui/lettering/main_panel, as it breaks the glyph filtering remove some spelling mistake in the comments, correct some comment if a glyph from the svg font file is a non chasing mark (like combining accent, or cedilla) the inkscape label of the corresponding glyph group created by lettering_font_sample was empty or unreadable, make it visible . Same in the line label. and although it is not related correct one glyph in malika font * correct warning in lettering_font_sample do the warnings correctly when there is somethng wrong with the glyph list in the font.json gile * Update lettering_font_sample.py fix a typo
2025-07-04feat: add "rotate on export" file setting (#3840)Martin Fischer
2025-06-29Merge pull request #3825 from not-my-profile/support-bundled-inkexKaalleen
Revert "add icc color workaround (#3687)" and use 1.4.x inkex
2025-06-29Merge pull request #3826 from not-my-profile/fix-nixKaalleen
Fix package build with Nix package manager
2025-06-29Fix simulator drawing panel attribute error when no stitch is loaded (#3815)Kaalleen
2025-06-28fix: tests during Nix buildMartin Fischer
Fixes the following error when executing the tests during a Nix build: Traceback (most recent call last): File "/build/inkstitch/lib/elements/element.py", line 714, in handle_unexpected_exceptions yield File "/build/inkstitch/lib/elements/element.py", line 650, in embroider stitch_groups = self._load_cached_stitch_groups(previous_stitch, next_element) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/inkstitch/lib/debug/debug.py", line 172, in decorated result = func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^ File "/build/inkstitch/lib/elements/element.py", line 541, in _load_cached_stitch_groups stitch_groups = get_stitch_plan_cache().get(cache_key) ^^^^^^^^^^^^^^^^^^^^^^^ File "/build/inkstitch/lib/utils/cache.py", line 31, in get_stitch_plan_cache cache_dir = get_user_dir('cache') ^^^^^^^^^^^^^^^^^^^^^ File "/build/inkstitch/lib/utils/paths.py", line 50, in get_user_dir os.makedirs(path) File "<frozen os>", line 215, in makedirs File "<frozen os>", line 215, in makedirs File "<frozen os>", line 225, in makedirs PermissionError: [Errno 13] Permission denied: '/homeless-shelter'
2025-06-28fix: generate-inx-files failing with NixMartin Fischer
Fixes the following error when attempting to build the Nix package: python bin/generate-inx-files; Traceback (most recent call last): File "/build/inkstitch/bin/generate-inx-files", line 59, in <module> from lib.inx.generate import generate_inx_files File "/build/inkstitch/lib/inx/generate.py", line 6, in <module> from .extensions import generate_extension_inx_files File "/build/inkstitch/lib/inx/extensions.py", line 10, in <module> from ..commands import (COMMANDS, GLOBAL_COMMANDS, LAYER_COMMANDS, File "/build/inkstitch/lib/commands.py", line 16, in <module> from .i18n import N_, _ File "/build/inkstitch/lib/i18n.py", line 10, in <module> from .utils import cache, get_resource_dir File "/build/inkstitch/lib/utils/__init__.py", line 6, in <module> from . import cache as cache_module # Slight hack to allow cache to be imported for monkeypatching ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/build/inkstitch/lib/utils/cache.py", line 13, in <module> from lib.utils.settings import global_settings File "/build/inkstitch/lib/utils/settings.py", line 84, in <module> global_settings = GlobalSettings() ^^^^^^^^^^^^^^^^ File "/build/inkstitch/lib/utils/settings.py", line 48, in __init__ self.__settings_file = os.path.join(get_user_dir(), "settings.json") ^^^^^^^^^^^^^^ File "/build/inkstitch/lib/utils/paths.py", line 50, in get_user_dir os.makedirs(path) File "<frozen os>", line 215, in makedirs File "<frozen os>", line 215, in makedirs File "<frozen os>", line 225, in makedirs PermissionError: [Errno 13] Permission denied: '/homeless-shelter'
2025-06-28fix: revert "add icc color workaround (#3687)" and use 1.4.x inkexMartin Fischer
This commit reverts 4cfb02c370e2f09d59658f652c4b15bd41d46d6e which did not fix anything as far as I can tell. The inkex.Color constructor has been doing the same split logic since 2018 and the used ColorCMS class isn't available in the inkex that's bundled with Inkscape which breaks packaging for Linux distros such as NixOS. To prevent such breakages from being introduce accidentally in the future the pinned inkex version is changed to the git tagged version EXTENSIONS_AT_INKSCAPE_1.4.1. Fixes #3824.
2025-06-25switch from NFKC to NFC normalization form in the lettering tool (#3828)Claudine Peyrat
* switch from NFKC to NFC * Additional normalization. --------- Co-authored-by: CapellanCitizen <>
2025-06-23fix: set trims=True for pyembroidery.write (#3821)Martin Fischer
While the trims default was changed in pyembroidery back in 2019 with c4242f0f940c86766c0c27f65b5a09641b0af4bd that change only made it into the used Ink/Stitch fork of pyembroidery in 2022 with 28534cf1a8d692687d9f40c3be622e0945b5a2ee. So trims have been broken in Ink/Stitch since v2.2.0. Fixes #2813.
2025-06-22Claudine/unable element info copy (#3817)Claudine Peyrat
* firststeps * Update element_info.py * Update element_info.py * Update element_info.py add some help * make style... * rename a variable and fix a mistake * make headline nicer
2025-06-22Claudine/chose glyphs size (#3799)Claudine Peyrat
* first steps * Update lettering_svg_font_to_layers.py * add more user parameters * Update lettering_svg_font_to_layers.py * round the horiz_adv_x * remove scoriers * better handle the case when the reference glyph is not in the font
2025-06-20make pytest happy again (#3802)Kaalleen
2025-06-04Smoothing and clamping (#3772)Kaalleen
* smoothing: ensure start and end of original path * clamp path: never intersecting path could also be entirely in the exterior of the shape
2025-06-04Jump to trim: do not add multiple (#3773)Kaalleen
2025-06-04auto_satin: running stitch explicitly without fill (#3771)Kaalleen
* ensure that also satins have no fill
2025-06-03emboss whole selection (#3770)Kaalleen
2025-06-01Lettering: do not warn about fonts without jsons (#3766)Kaalleen
2025-05-26lettering along path: fix baseline for scaled text (#3751)Kaalleen
2025-05-23knockdown: square is a rect (#3747)Kaalleen
2025-05-21prevent erroring out on #3742 (#3743)Kaalleen
2025-05-21ensure start and end point for ripple lines (#3741)Kaalleen
2025-05-20fix ripple anchor cache (#3737)Kaalleen
2025-05-20Manual stitch: apply clipping (#3734)Kaalleen
* manual stitch: apply clipping * add clip to cache
2025-05-20ripple: return empty when there are no helper lines (#3733)Kaalleen
2025-05-20add force horiz_adv_x_default to generate json and fix edit-json (#3735)Kaalleen
2025-05-20fix lettering along path with scaled text (#3736)Kaalleen
2025-05-20knockdown: add embossing options (#3738)Kaalleen
2025-05-16letters to font: fix svg import (for simple files) (#3729)Kaalleen
2025-05-16import exit method (#3730)Kaalleen
2025-05-11add quilting formats to zip export arguments (#3718)Kaalleen
2025-05-11wrap param descriptions (#3719)Kaalleen
2025-05-09Lettering along path: fix multipart glyphs and rtl (#3709)Kaalleen
* lettering along path: fix multipart glyphs and rtl * improve handling of multiline text
2025-05-09handle GeometryCollections in ensure_polygon (#3708)Kaalleen
2025-05-09lettering: options to scolled panel (#3714)Kaalleen
2025-05-03legacy fill: do not ignore end_row_spacing when grouping sections (#3703)Kaalleen
2025-05-03edit json: warn about not writable json files (and rendering errors) (#3704)Kaalleen
2025-05-02meander fill: zigzag_stitch pull compensation is now a two sided attribute ↵Kaalleen
(#3702)
2025-05-01fix AttributeError when rendering fonts (#3699)Kaalleen
2025-04-27fix zerodivision error in zigzag to satin (#3696)Kaalleen
2025-04-27circular fill: use first boundary linestring if outline is multilinestring ↵Kaalleen
(#3694)
2025-04-27auto_satin: do not try to add a trim to a deleted element (#3683)Kaalleen
2025-04-27prevent possbile RecursionError for relative lock stitches (#3695)Kaalleen
2025-04-26Claudine/fix font sample (#3684)Claudine Peyrat
* twist monicha * Update lettering_font_sample.py * better use default value * and leave Monicha alone in this branch * ensure command and marker symbols --------- Co-authored-by: Kaalleen <reni@allenka.de>