April - AI Extension 2023

To allow the import of Adobe Illustrator files into Inkscape, we develop a Python extension. This post outlines the progress in the 2nd month of the project, April 2023. Work is carried out inside the git repository extension-ai. To read more about the progress in March, read the last blog post.


Initially, we used pyparsing to parse the Adobe Illustrator files. Pyparsing delivers a lot of flexibility at the cost of performance. Adobe Illustrator files however do not need features like backtracking or fine-grained matching to parse them. This is why we opted to create a new parser from scratch for the file format: It is faster and tailored to the specifics of the Adobe Illustrator File Format. A lot of the code that has been written already can be reused though the migration to the new parser: Extraction of the plain text, embedding the extension into Inkscape, tests and examples.

Nicco Kunzmann

Nicco Kunzmann's work is done within a contract with the SFC. This section highlights the work done in the month of April. Since there was the Hackfest in March, a lot of progress was made in March. In April, the development slowed down a bit. Here is a summary of the work done:

To summarize: After month 2, we have a parser architecture tailored to the .ai files for fast parsing. The progress can be tracked. Sections and elements of the AI files can be flexibly and lazily parsed and documented. This is a solid base to extend the code base in May: We can expect to convert some .ai files to SVG soon.