Re: [svgwg] tspan and text shaping (#634)

Well, at least here it seems to depend on how one interprets a "DOM text node / separated by markup", if it includes tspan elements then firefox seems to break the definition of text chunk & ligatures at least, otherwise, if only text elements are text nodes, then chrome is breaking the spec: https://www.w3.org/TR/SVG2/text.html#TermTextChunk

> **text chunk**
> An independent block of text in which all characters are positioned together. Each new absolute positioning adjustment (due to an ‘x’ or ‘y’ attribute, or forced line break) creates a new text chunk. Ligature substitution and bidi-reordering only occur within a text chunk. Text chunks are only relevant to pre-formatted text.

And later:
https://www.w3.org/TR/SVG2/text.html#FontsGlyphs
> Ligatures are an important feature of advance text layout. Some ligatures are discretionary while others (e.g. in Arabic) are required. The following explicit rules apply to ligature formation:
> 
> Ligature formation should not be enabled when characters are in different DOM text nodes; thus, characters separated by markup should not use ligatures.
> 
> Ligature formation should not be enabled when characters are in different text chunks.
> 
> Discretionary ligatures should not be used when the spacing between two characters is not the same as the default space (e.g. when letter-spacing has a non-default value, or text-align has a value of justify and text-justify has a value of distribute). (See CSS Text Module Level 3, ([css-text-3]).

And in the end of:
https://www.w3.org/TR/SVG2/text.html#GlyphsMetrics
> While kerning or ligature processing might be font-specific, the preferred model is that kerning and ligature processing occurs between combinations of characters or glyphs after the characters have been re-ordered.

Seems the svg spec doesn't specify much about when kerning gets enabled / disabled by other attributes. But, as long as the font-face is the same, (and perhaps the font-size as well?) then it should be possible to use the values from the kern tables. Or perhaps some other spec clarifies this?

-- 
GitHub Notification of comment by msand
Please view or discuss this issue at https://github.com/w3c/svgwg/issues/634#issuecomment-458238749 using your GitHub account

Received on Monday, 28 January 2019 18:07:20 UTC