As seen on Inkscape’s Wiki:
When flowed text support was added to Inkscape, it was conformant to the then-current unfinished draft of SVG 1.2 specification (and was always described as an experimental feature). Unfortunately, in further SVG 1.2 drafts, the W3C decided to change the way this feature is specified. Currently SVG 1.2 is still not finished, and as a result, very few SVG renderers currently implement either the old or the new syntax of SVG 1.2 flowed text.
Therefore, work must be done to flowed text if it is to be SVG compliant.
As an interim option to legalize flowed text until the new SVG spec is standardized, Inkscape should provide some plain text for renderers that don’t implement flowed text to use in addition to tags for the current flowed text implementation.
My guess is the best way to handle this w Pango would be through OpenType
features & lookups i.e. to include the swash variant glyphs in the base font
and have those accessed through OpenType features and lookups - which could
be either contextual or user selected. Having *separate* alternative "fancy" fonts with swash / small caps / etc. fonts is the old way of doing things - if you think about it that way, is much more limited.
For user selected / discretionary OT features the application (Inkscape)
would need some kind of interface /menu through which the user could
apply the features she wanted to.
WRT CSS - there has been some serious discussion off and on over several years (on the OpenType list, CSS related lists and other places) about specifying - or applying OpenType features through CSS.
Swash variants is something that can be handle through OpenType features. Although we still need the interface and the API to apply them. Even when that's done there are plenty of fonts out there that have Swash variants, or Caption, Heading, Display, Bubble, Outline, and whatever exotic variant that cannot be handle with OT features. Look at Adobe Font Foolio for example. Some of its font families have Caption, Display and Subhead variants. We need a way to handle those. For example Adobe Jenson Pro has 4 variants for Regular. fc-list will give: Adobe Jenson Pro,Adobe Jenson Pro Subh:style=Subhead,Regular Adobe Jenson Pro:style=Regular Adobe Jenson Pro,Adobe Jenson Pro Disp:style=Display,Regular Adobe Jenson Pro,Adobe Jenson Pro Capt:style=Caption,Regular These have different pairs of preferred names and legacy names, yet are rendered as the same. Something can be fixed there. The OT 1.5 specifications added two more nameID to support these non-CSS variants, or non-weight-width-slope (non-WWS) variants, to make it easier by splitting them into different font families. But that will only take place in future fonts. People need to be able to use today's fonts today.