Inkscape: A Vector Drawing Tool

Support for SVG fonts (rendering, embedding,...)

Reported by Bug Importer on 2005-10-13
100
This bug affects 12 people
Affects Status Importance Assigned to Milestone
Inkscape
Wishlist
Unassigned

Bug Description

Currently, if you want to add text to an SVG drawing
with Inkscape, and be sure that it is rendered exactly
same in every platform, you need to convert it to a
path. This works, but of course you lose the actual
textual content, which for example search engines might
be able to read and index in some distant future.

Luckily, SVG specification gives the ability to specify
the font glyphs in the SVG file itself as SVG graphics.
I request that Inkscape be given an ability to generate
and embed these SVG fonts - that is, I could just
select text and select "embed SVG fonts for selected
text" or "embed SVG fonts for all text in document".

This shouldn't be too hard to implement, since it is
essentially the same that Inkscape already does when
converting text to path (I think - I haven't actually
read the code, it is beyond my abilities :( ).

Molumen (molumen) wrote :

Wonderful idea! it would be a big plus for the web use of svg.

pbhj (pbhj) wrote :

See <em>[ 1461865 ] Embedded Fonts</em>

Originator: NO

I just looked on the roadmap to see if this is planned for the foreseeable
future, but I haven't found it. I would second this request since it would
solve problems in at least two areas:

* Displaying of SVG images that contain text, especially on the web. One
could keep text as text (i.e., not convert it into paths), but still
display it correctly. Since drawings often make use of special fonts, this
much more a topic than with HTML pages that often use widely available
standard fonts.
For this, an option like "embedd subset of font" could keep the file size
low but ensure correct display. The file size would often be smaller than
with text converted to paths, since every glyph has to be embedded only
once.

* Collaborative editing, exchanging files. Inkscape now supports embedding
bitmap images, so the exchange of files has become much easier. But with
fonts, it's still difficult. Embedding whole fonts as SVG fonts would allow
one to exchange only the SVG file, while still being able to edit or add
text, without depending on the font beeing available on the current
system.

Could anyone give a hint how difficult this would be to realize or if it's
already planned? My guess would also be that the existing mechanisms in
Inkscape should make this not too hard, but I may be totally wrong.

nightrow (jb-benoit) on 2007-12-18
Changed in inkscape:
importance: Undecided → Wishlist
status: New → Confirmed
Tom Davidson (tjd-mit) wrote :

marked 17224 as a dupe of this one. At that bug, Juca pasted in a relevant transcript from the IRC channel:

Juca: svg fonts are definitelly an apealing feature to me. They seem to be very very useful for drawing semantics
[JonCruz] yes. they could be very handy
Juca: do you understand how pango works?
[JonCruz] I've done text stuff, but pre-pangofication
Juca: i was reading the svg fonts spec and then tryied to figure out how could it be implemented.
Juca: I see that the <font> tag declares a new family that is later referenced by text
Juca: so, I imagine that there must be a way of injecting arbitrary svg into pango's glyph slots and then instantiate a font and register it, so that it gewts recognized by a family name
Juca: but I have never dealt with pango
Juca: so I have no idea how do do it
[JonCruz] well... I'm thinking that we might need to inject curves, etc. and not SVG directly.
Juca: yeah, but it seems that the spec says the glyphs should be made of arbitrary svg
Juca: and I think pango may not be capable of dealing with everything that can be generated by an svg renderer
Juca: for example, can a glyph use an svg filter?
Juca: I think that it can. But how would pango deal with it?
[JonCruz] good question
Juca: maybe these aspects would make it necessary to build a parallel infrastucture for <font> tag

Tom Davidson (tjd-mit) wrote :

I'm merging in bug 166606 (which requests SVG font rendering support) here, so that the discussion of creation and rendering is not split across 2 lcoations.

At that bug Kidproto provides a sample document ( I have re-attached it here), and points to the relevant section of the SVG spec: http://www.w3.org/TR/SVG/fonts.html

There are two ways of specifying SVG font glyphs:

 1. use the d= attribute on <glyph> to specify the glyph outline

 2. use arbitrary SVG inside the <glyph> tag

The first is comparatively easy to do with a custom pango backend. In the second case we would probably have to create dummy glyphs with pango, and then substitute them for SVG fragments during rendering.

-mental

Tom Davidson (tjd-mit) wrote :

The open source program fontforge can be called from python: http://fontforge.sourceforge.net/python.html, and can convert between several font formats, including SVG fonts.

Once SVG font rendering is implemented in Inkscape, then embedding could perhaps be implemented as an Inkscape extension that calls Fontforge...

sas (sas-sas) wrote :

I marked a couple more bug reports as duplicates of this one, as this one appears to be the main one now.

This old comment of Bulia's is still relevant: https://bugs.launchpad.net/inkscape/+bug/170079/comments/1

Raphaël Pinson (raphink) wrote :

Any news on this bug? I don't anything about embed fonts in the roadmap on http://wiki.inkscape.org/wiki/index.php/Roadmap

~suv (suv-lp) wrote :

From the Release notes 0.47:
«Initial SVG Fonts support

As a SoC 2008 project, JucaBlues implemented initial parsing and rendering of SVG Fonts. You can design fonts within Inkscape, but using them to render text on the canvas is not yet supported. We are waiting for libpango to implement proper support of the user-fonts feature. »
<http://wiki.inkscape.org/wiki/index.php/Release_notes/0.47#Initial_SVG_Fonts_support>

Recent inkscape mailing list articles:
Subject: designing fonts within Inkscape
<http://article.gmane.org/gmane.comp.graphics.inkscape.devel/28511>
Subject: SVG Font Editor
<http://www.nabble.com/SVG-Font-Editor-to23574059.html>

tags: added: svg

I'm currently developing a website in SVG, just for the heck of it, but I have to convert the fonts into paths before they'll work in the browser, making it uneditable. This would make it the ultimate tool for me.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers