Я написал модуль ввода и вывода для вышивания EmbroidePy / pyembroidery , а HUS и VIP - это два связанных, старых и популярных формата вышивания, которые используют определенный формат сжатия несуществующей функции, в частности ArchiveLib, AL_GREENLEAF_LEVEL_4
.Многие наборы программного обеспечения для вышивания используют старый файл .dll al21mfc.dll
, чтобы использовать правильное сжатие.Включение файла .dll не является началом, но, похоже, не существует разумных методов для плавной эмуляции несуществующего формата сжатия.
Существует приемлемо лицензированная библиотека для чтения и записи вышивок C ++ от Embroidermodder Team, котораяфактически достигнуто это, emb-compress , и я хочу сделать то же самое.
Я бы хотел иметь возможность сжимать и распаковывать эти элементы в Python и, возможно, в Java,Я бы предпочел читаемый код, но это не является обязательным требованием.
Но есть проблемы.
Код C ++ в libembroidery
, по-видимому, декомпилирован и выглядит как бреди делает простым перенос исходного кода на неразрешимый.
Исходный код ArchiveLib был выпущен вместе с самим продуктом, но не может быть найден.Наличие этого может открыть некоторые средства для понимания конкретных требований, реализовать их изначально в python.
Решение не должно быть красивым.Решение не должно быть быстрым.Я рассмотрел такие вещи, как компиляция кода C ++ в некоторый байт-код, реализующий виртуальный процессор на python.Или портирование кода, похожего на тарабарщину, с другой программой, которая добавит уровни тарабарщины, или выполнение этого вручную (но это всегда удивительно быстро меня теряет).Я искал исходный код в самых темных уголках сети.И я потерпел неудачу.
Кажется, что должно быть достаточно, чтобы что-то заработало, но каждая идея кажется более сложной и менее практичной, чем следующая.Есть что-то, что я пропускаю или какая-то идея, которая может быстро заставить работать одно из этих решений?Или другое решение, которое могло бы работать?