[webkit-dev] drawing LF/CR/etc.

Maciej Stachowiak mjs at apple.com
Tue Jun 13 11:40:17 PDT 2006


On Jun 13, 2006, at 11:31 AM, Darin Adler wrote:

> On Jun 13, 2006, at 8:59 AM, Mike Reed wrote:
>
>> ...
>> <input type="checkbox" name="box" checked="checked" />Test
>> <input ...>
>> ...
>>
>> When I draw this page, I see a box at the end of "Test". "Test" is
>> comming into Font::drawText() as a 5 character string, with a CR (or
>> LF, don't remember which) at the end. In my font, that draws as a  
>> box.
>>
>> Is it correct that the parser didn't strip that, or convert it into a
>> space?
>
> Yes. The parser must not convert it to a space; the DOM must  
> contain a space.

Darin meant "the DOM must contain a newline, not a space". To be more  
specific, because whitespace mode can be controlled with CSS and  
indeed can even be changed on the fly, the DOM must always preserve  
teh original characters with no outspace processing.

> Here's the rule, taken from the code in GlyphMap.cpp (now cross- 
> platform on TOT, formerly Macintosh-specific code) that implements  
> the rule for the fast code path:
>
>     Control characters (U+0000 - U+0020, U+007F - U+00A0) must not  
> render at all.
>     \n (U+000A), \t (U+0009), and non-breaking space (U+0020) must  
> render as a space.

That sounds wrong for tabs...

  - Maciej




More information about the webkit-dev mailing list