Removal of -inkscape-font-specification ?
Hi,
I would like to propose the removal of the Inkscape specific -inkscape-font-specification property. This property was added in 2007 in an attempt to allow Inkscape to handle more font faces for a given font family than allowed by CSS.[1] It relied on Pango being changed to support this.
In the intervening seven years, Pango has not changed nor does it seem likely it ever will. There doesn't appear to really be a need to expand on what CSS does already (and any SVG files that would use such a feature would not be viewable correctly in browsers). Inkscape (trunk) already supports, for example, all nine font faces of DejaVu Sans. Support for the font-variant features of CSS Fonts Module Level 3[2] would allow access to variants within a single font file which seems to satisfy the need that -inkscape-font-specification was meant to address. Font factories already have moved to put variants inside a single font file (vs. keeping them in separate files). See for example the bug (from 2004) about Adobe Caslon[3] with the long list of variants and the current OTF files from Adobe where the Small Caps, Alternative, and Swash variants are included in the regular files.[4]
At the moment, -inkscape-font-specification duplicates the information already stored in other font related properties. There is a cost in this duplication, not only in increased file size but also in code maintenance. Keeping -inkscape-font-specification matching the other font properties is a source of bugs. It is currently making proper quoting of font-family names in font-fallback lists more difficult to fix.
The actual changes needed to remove -inkscape-font-specification are straightforward and effect a few lines in about seven or eight files. No functionality would be lost as the property is completely redundant with the other font related properties.
Tav
[1] https://bugs.launchpad.net/inkscape/+bug/169973 [2] http://www.w3.org/TR/css3-fonts/#font-variant-prop [3] https://bugs.launchpad.net/inkscape/+bug/165521 [4] http://www.myfonts.com/fonts/adobe/caslon/buy.html
Just to make sure, it sounds like A) it's storing redundant information and B) it shouldn't break older files by removing because of that. If this is correct, I see no reason why it shouldn't be removed since it just adds bloat, complexity, bugs, and redundancy for something that doesn't really benefit from it. I would be in favor of removing it if it won't break older files and likely wouldn't need much convincing even if it does.
Just curious, and I'm not asking you to look into it, only if you know off the top of your head... I'm aware of things like alternate characters and ligatures in CSS3, are they still namespaced for different browsers, or have they been "upgraded" anywhere yet?
Cheers, Josh
On Sat, May 31, 2014 at 12:36 PM, Tavmjong Bah <tavmjong@...8...> wrote:
Hi,
I would like to propose the removal of the Inkscape specific -inkscape-font-specification property. This property was added in 2007 in an attempt to allow Inkscape to handle more font faces for a given font family than allowed by CSS.[1] It relied on Pango being changed to support this.
In the intervening seven years, Pango has not changed nor does it seem likely it ever will. There doesn't appear to really be a need to expand on what CSS does already (and any SVG files that would use such a feature would not be viewable correctly in browsers). Inkscape (trunk) already supports, for example, all nine font faces of DejaVu Sans. Support for the font-variant features of CSS Fonts Module Level 3[2] would allow access to variants within a single font file which seems to satisfy the need that -inkscape-font-specification was meant to address. Font factories already have moved to put variants inside a single font file (vs. keeping them in separate files). See for example the bug (from 2004) about Adobe Caslon[3] with the long list of variants and the current OTF files from Adobe where the Small Caps, Alternative, and Swash variants are included in the regular files.[4]
At the moment, -inkscape-font-specification duplicates the information already stored in other font related properties. There is a cost in this duplication, not only in increased file size but also in code maintenance. Keeping -inkscape-font-specification matching the other font properties is a source of bugs. It is currently making proper quoting of font-family names in font-fallback lists more difficult to fix.
The actual changes needed to remove -inkscape-font-specification are straightforward and effect a few lines in about seven or eight files. No functionality would be lost as the property is completely redundant with the other font related properties.
Tav
[1] https://bugs.launchpad.net/inkscape/+bug/169973 [2] http://www.w3.org/TR/css3-fonts/#font-variant-prop [3] https://bugs.launchpad.net/inkscape/+bug/165521 [4] http://www.myfonts.com/fonts/adobe/caslon/buy.html
Time is money. Stop wasting it! Get your web API in 5 minutes. www.restlet.com/download http://p.sf.net/sfu/restlet _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
On Sat, 2014-05-31 at 14:23 -0700, Josh Andler wrote:
Just curious, and I'm not asking you to look into it, only if you know off the top of your head... I'm aware of things like alternate characters and ligatures in CSS3, are they still namespaced for different browsers, or have they been "upgraded" anywhere yet?
As I have an interest in this too, I did a little bit of investigation. There are two ways of setting font variants: the higher level 'font-variant' set of properties and the lower level 'font-feature-settings'.
For the higher level 'font-variant' property, it appears that none of the browsers implement the CSS3 variant of this property other than Chrome which implements 'font-variant-ligatures' (at least in HTML). Firefox and Chrome seem to implement the 'font-feature-setting' property but I didn't check if they do it without prefixes. There is an HTML test page at:
http://clagnut.com/sandbox/css3/
Tav
participants (2)
-
Josh Andler
-
Tavmjong Bah