Vectorize embedded fonts while opening PDF

Registered by ivan louette on 2011-07-18

Vectorizing embedded fonts should be added as an option to the PDF import dialog. It should work also for fonts which are not installed on the system.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Discussion
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

I found that Evince can vectorize PDF embedded fonts even if they aren't installed (one must do it through print to file and chose SVG output) Thus the code already exists !

[~suv 2011-07-21] Aren't you confusing the ability to use embedded fonts in PDF/PS/EPS files for rendering text content with converting text to paths (outlines)? Yes, Evince (like other SVG viewers) does support embedded fonts: the text can still be copied as text i.e. in my understanding the text is not vectorized into path outlines. Embedded fonts per definition make a document independent from the installed fonts on the system a document is viewed. Inkscape currently does not support importing and rendering of embedded fonts (in SVG and other vector file formats) - it tries to find an installed font matching the font name stored on the PDF file, else falls back to generic font families.

To me it is unclear what your blueprint is about: vectorized text (converted to path) is no longer editable as text (only as paths), whereas support for embedded fonts does (or should) retain an editability of text as text (i.e. allow to edit the text content, within limits if the embedded fonts are subsetted (i.e. only includes the used glyphs instead of the full character-set).

a) The feature request to convert text to paths on import is known and tracked in
Bug #295564 “import PDF text also as path”

b) The feature request to support embedded fonts of imported PDF/PS/EPS files (converted to SVG fonts) is known, too, e.g.
Bug #293327 “Fonts not displayed correctly”
Bug #221405 “PDF import doesn't handle fonts” etc.
and - AFAIU - would need as prerequisit:
Bug #170963 “Support for SVG fonts (rendering, embedding,...)”

If you have a recent development build installed, try importing a PDF file using the experimental file format 'Adobe PDF via poppler-cairo (*.pdf)': this will import the text as paths (vectorized), but each glyph as clone (the original stored in the <defs> section). In quick tests I did earlier, this format does not use the embedded fonts (still requires them to be installed locally), but does 'vectorize' the text on import (convert into paths aka outlines). AFAIR from the 'inkscape-devel' mailing list, 'Adobe PDF via poppler-cairo (*.pdf)' has existed in Inkscape's code base for a long time, unmaintained and not hooked to the GUI. I do not know what plans there are for this import file format.
See also <http://thread.gmane.org/gmane.comp.graphics.inkscape.devel/35781>

[~suv 2011-07-22] I just happened to read your related message on the evince mailing list [1] - sorry if I misunderstood your feature request/blueprint. It seems that you refer to a new evince feature I'm not aware of (I only have access to evince 2.30.3), or possibly to the 'Print to file' as SVG in the print dialog, provided by the 'file' print backend of the GTK+ print dialog. Could you add more detailed information to your blueprint about what and how this feature can be used in evince to convert embedded fonts to path outlines? It could help developers looking into ways to implement the requested feature to not have to fully investigate the basic information (and belongs to a blueprint IMHO, else it might have been filed as feature request in the bug tracker).

[1] <http://mail.gnome.org/archives/evince-list/2011-July/msg00018.html>

[~suv 2011-07-22] A few quick test later: It appears that I was wrong about another detail, too: importing/opening a PDF file with embedded fonts as 'Adobe PDF via poppler-cairo (*.pdf)' produces the same SVG (vectorizing the embedded font and converting the text to a series of cloned paths) as is created by printing to SVG in Evince 2.30.3. To me it seems that your requested feature is present in current inkscape trunk, but not used as default file type for PDF files nor hooked up to the default PDF import options. I don't whether the original plans for the PDF import 'Text handling' options (see the dropdown list with a single choice 'Text as text' for now) had been to use this poppler-cairo interface.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.