- From: Alex Danilo <alex@abbra.com>
- Date: Fri, 28 Jan 2011 12:11:28 +1100
- To: Cameron McCormack <cam@mcc.id.au>
- Cc: Patrick Dengler <patd@microsoft.com>, "public-svg-wg@w3.org" <public-svg-wg@w3.org>, Sandy Roberts <sandro@microsoft.com>
Hi Cam, --Original Message--: >Alex Danilo: >> One more useful reference section: >> >> http://www.w3.org/TR/xsl/#area-alignment >> >> describes the aligment of the various baselines in more detail for >> mixed scripts. > >Also http://dev.w3.org/csswg/css3-linebox/#baseline and >http://dev.w3.org/csswg/css3-linebox/#BaselineUsage which I think are >adaptations of the XSL spec text. > >I’d like to know whether anyone agrees with my analysis posted here: > > http://lists.w3.org/Archives/Public/public-svg-wg/2011JanMar/0054.html Most of the analysis is good. Text layout is so simple, isn't it... Anyway, the first bit about using the alphabetic baseline is correct but the first image is not. What is happening in the test is that there is a mixing of different font sizes. So even though the alphabetic baseline is being used for alignment, when the font shrinks, the new set of baselines does not. So the hanging baseline is still at the height of the start of the text being aligned, namely at the large font size. That's why the full test now has a horizontal line drawn where the hanging baseline is for the entire line. The small Devanagari glyph cannot align to the alphabetic baseline, since it's not authored that way, so it hangs under the hanging baseline which is up at the top, and results in the image you have at the end of the post. Regarding the text-script property, SVG has no such property to explicitly set it. However, UAX#24 describes the mapping of Unicode points to script names which can be used to derive the preferred baseline based on the writing system. There used to be a really good picture of the alignment with different sizes in an old FO draft but I can't find it. However, fundamentally the largest font on a line defines the positioning of the baseline set (not always) in the same way that the largest font on a line with a single baseline defines the baseline/ascent/descent. As font size changes, the only movement of the baselines is to move them further apart, they never contract or glyphs won't align along the line. So, we get the result as shown in the last image which you correctly identified as the expected behaviour. In additon, SVG saying 'auto' means use UAX#24 or similar to work out what the initial value for the script should be, and that may mean scanning forward until you have a meaningful character to identify that, i.e. not white-space or neutral, etc. etc. Alex >-- >Cameron McCormack ≝ http://mcc.id.au/ > >
Received on Friday, 28 January 2011 01:12:12 UTC