W3C home > Mailing lists > Public > www-html@w3.org > January 2006

Re: Will spacing issue after italics EVER be addressed?

From: Jukka K. Korpela <jkorpela@cs.tut.fi>
Date: Thu, 12 Jan 2006 19:57:07 +0200 (EET)
To: www-html@w3.org
Message-ID: <Pine.GSO.4.63.0601121943520.23842@korppi.cs.tut.fi>

On Thu, 12 Jan 2006, Mikko Rantalainen wrote:

> I just wanted to add to the whole discussion that it's possible already to 
> add space after every italicized portion of text if the UA (a.k.a. browser) 
> supports CSS version 2.

In a sense yes, but not quite the way you describe.

> em:after,i:after { cont_ent: "\200B\00A0"; }

What is "cont_ent"? Surely you meant "content". But this method is far too 
"advanced". Generated content does not work on IE, but you can achieve the 
same, and better, by using padding-right - this lets you specify the 
spacing in different units, not just coarsely with fixed-width spaces.

> 	U+200B is zero width space

So it's not very useful here, is it?

> 	U+00A0 is no-breaking space

It prevents line break, which isn't really what you want.

> 	or you might also use
> 	U+2002 en space
> 	U+2003 em space
> 	U+2009 thin space
> 	U+200A hair space

Maybe, except that these
a) do not appear in most fonts
b) have unspecified rendering if used directly in HTML (e.g.
    as &#x2002;), so I don't think their effect is well-defined in
    CSS either
c) are compatibility characters and generally frowned upon (though
    not officially deprecated) in the Unicode standard.

ObHTML: Similar considerations apply to the use of fixed-width spaces in 
HTML. In particular, the principle that their effect, in rendering and 
otherwise, is explicitly declared undefined does not quite match the idea 
in the joint Unicode/W3C document "Unicode in XML and other Markup 
Languages", http://www.unicode.org/unicode/reports/tr20/ , which says
that fixed-width spaces be "retained" when adding markup to existing
character data. What's the point if the effect is undefined, which means 
that it is less defined than in plain text?

Besides, elements other than <em> and <i> may appear in italics, too, even 
by default. To make "sure" (to the extent you can) that all italicized 
text has space after it, you would need to say
* { font-style: normal; }
and then set font-style: italic for the elements that you want to be 
italicized.

-- 
Jukka "Yucca" Korpela, http://www.cs.tut.fi/~jkorpela/
Received on Thursday, 12 January 2006 17:57:16 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 27 March 2012 18:16:05 GMT