<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Characteristic Confusion</title>
	<atom:link href="http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/feed/" rel="self" type="application/rss+xml" />
	<link>http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/</link>
	<description>Things that Eric A. Meyer, CSS expert, writes about on his personal Web site; it&#039;s largely Web standards and Web technology, but also various bits of culture, politics, personal observations, and other miscellaneous stuff</description>
	<lastBuildDate>Fri, 19 Mar 2010 00:27:46 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: ^love *encounter ~flow</title>
		<link>http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-439150</link>
		<dc:creator>^love *encounter ~flow</dc:creator>
		<pubDate>Thu, 29 Jan 2009 19:11:21 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=903#comment-439150</guid>
		<description>1) how does ffx know wing/webdings do not display code point `o` as &#039;a donut&#039;?---it does not, can hardly, and should not (imagine wanting to use a black letter font and suddenly some browsers bail out thinking those `o` glyphs are not &#039;round enough&#039;...). but, those *ding fonts were specifically marked up as &#039;symbol&#039; fonts, and my guess is that ffx looks at that point of the font metadata. it is like, you didn&#039;t have unicode back when that was done, and a font could only render a single codepage, and maybe mappings to parts of other code pages (which is a laugh, since it is surely not the task of an outlines collection to do code page arithmetics), and it could also claim to render no specific script at all---mere SYMBOLS! so those are the histerical reasons. 

2) should a text renderer such as a browser favor the specific font face? or should it fall back and try to render from another font that promises to &#039;display a donut-shaped o where `o` was in the text&#039;?

for a vast range of applications, falling back character by character to something &#039;probably correct&#039; is, i think, indeed they way to go. i work a lot with chinese characters from unicode astral planes, and most fonts don&#039;t have those characters. additionaly, the very few fonts that do have those astral characters lack huge parts of the (16bit) bmp characters (for reasons of file size). also, a LOT of chinese fonts only have the most frequent characters as glyphs, for the sheer number of them (almost 21 thousand chinese characters in the bmp alone), so failure on a character-by-character base is as frequent as a leaf blowing in the autumn wind as far as chinese typesetting is concerned. only those applications that are apt at font substitution are future-proof; others will fail when going beyond basic western needs.

3) it would be nice if applications could make configuring character substitutions more configurable, and provide more diagnostics. the only software that i am aware of that allows me to specify which font to use, unicode block for unicode block, is BabelMap (of http://www.babelstone.co.uk/Software/BabelMap.html). 

the font configuration menu of all browsers i know of is a joke---you are expected to configure fonts *by language* and have no way to specify unicode code blocks. now what webpage contains a proper language markup? who in this world actually produces html that marks language switches for each paragraph? this would be important for chinese character variant selection (see http://en.wikipedia.org/wiki/Han_unification#Examples_of_some_non-unified_Han_ideographs), but even then it requires an informed user intervention (to be sure, the unicode consortium did the wrong thing here and embraced the technologically wrong kind of solution---code points are the only reliable way to distinguish character forms. you might differ, but looking at said table you will see that it is only *some* important characters that have their variants *not* reflected in unicode; when you go into detail, its a royal mess.)

4) sometimes you have the need to display elements of writing that are not encoded by unicode (i have hundreds of examples). well, unicode will never have a codepoint for everything that people want to write. but, it does provide a private use area---a vast array of codepoints that are meant to be free of interpretation, so you can put there whatever you like. i currently work a lot with typeface (of http://typeface.neocracy.org) to make sure i get exactly the outlines i intended. if downloadable fonts were a reality, then maybe browsers would actually honor the css font-family *when rendering material from a private use area*, for in those cases it is impossible to assume any other intended rendering. of course, that leaves accessibility in the open (but no screenreader today will help you to translate astral plane characters or major parts of non-western unicode anyway). 

(@Sebastian Redl: the subject &quot;is unicode an encoding? is utf-8?&#039; has been discussed in depth over at http://www.artima.com/forums/flat.jsp?forum=106&amp;thread=230157)</description>
		<content:encoded><![CDATA[<p>1) how does ffx know wing/webdings do not display code point `o` as &#8216;a donut&#8217;?&#8212;it does not, can hardly, and should not (imagine wanting to use a black letter font and suddenly some browsers bail out thinking those `o` glyphs are not &#8217;round enough&#8217;&#8230;). but, those *ding fonts were specifically marked up as &#8217;symbol&#8217; fonts, and my guess is that ffx looks at that point of the font metadata. it is like, you didn&#8217;t have unicode back when that was done, and a font could only render a single codepage, and maybe mappings to parts of other code pages (which is a laugh, since it is surely not the task of an outlines collection to do code page arithmetics), and it could also claim to render no specific script at all&#8212;mere SYMBOLS! so those are the histerical reasons. </p>
<p>2) should a text renderer such as a browser favor the specific font face? or should it fall back and try to render from another font that promises to &#8216;display a donut-shaped o where `o` was in the text&#8217;?</p>
<p>for a vast range of applications, falling back character by character to something &#8216;probably correct&#8217; is, i think, indeed they way to go. i work a lot with chinese characters from unicode astral planes, and most fonts don&#8217;t have those characters. additionaly, the very few fonts that do have those astral characters lack huge parts of the (16bit) bmp characters (for reasons of file size). also, a LOT of chinese fonts only have the most frequent characters as glyphs, for the sheer number of them (almost 21 thousand chinese characters in the bmp alone), so failure on a character-by-character base is as frequent as a leaf blowing in the autumn wind as far as chinese typesetting is concerned. only those applications that are apt at font substitution are future-proof; others will fail when going beyond basic western needs.</p>
<p>3) it would be nice if applications could make configuring character substitutions more configurable, and provide more diagnostics. the only software that i am aware of that allows me to specify which font to use, unicode block for unicode block, is BabelMap (of <a href="http://www.babelstone.co.uk/Software/BabelMap.html)" rel="nofollow">http://www.babelstone.co.uk/Software/BabelMap.html)</a>. </p>
<p>the font configuration menu of all browsers i know of is a joke&#8212;you are expected to configure fonts *by language* and have no way to specify unicode code blocks. now what webpage contains a proper language markup? who in this world actually produces html that marks language switches for each paragraph? this would be important for chinese character variant selection (see <a href="http://en.wikipedia.org/wiki/Han_unification#Examples_of_some_non-unified_Han_ideographs)" rel="nofollow">http://en.wikipedia.org/wiki/Han_unification#Examples_of_some_non-unified_Han_ideographs)</a>, but even then it requires an informed user intervention (to be sure, the unicode consortium did the wrong thing here and embraced the technologically wrong kind of solution&#8212;code points are the only reliable way to distinguish character forms. you might differ, but looking at said table you will see that it is only *some* important characters that have their variants *not* reflected in unicode; when you go into detail, its a royal mess.)</p>
<p>4) sometimes you have the need to display elements of writing that are not encoded by unicode (i have hundreds of examples). well, unicode will never have a codepoint for everything that people want to write. but, it does provide a private use area&#8212;a vast array of codepoints that are meant to be free of interpretation, so you can put there whatever you like. i currently work a lot with typeface (of <a href="http://typeface.neocracy.org)" rel="nofollow">http://typeface.neocracy.org)</a> to make sure i get exactly the outlines i intended. if downloadable fonts were a reality, then maybe browsers would actually honor the css font-family *when rendering material from a private use area*, for in those cases it is impossible to assume any other intended rendering. of course, that leaves accessibility in the open (but no screenreader today will help you to translate astral plane characters or major parts of non-western unicode anyway). </p>
<p>(@Sebastian Redl: the subject &#8220;is unicode an encoding? is utf-8?&#8217; has been discussed in depth over at <a href="http://www.artima.com/forums/flat.jsp?forum=106&amp;thread=230157)" rel="nofollow">http://www.artima.com/forums/flat.jsp?forum=106&amp;thread=230157)</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Willis</title>
		<link>http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-391409</link>
		<dc:creator>Willis</dc:creator>
		<pubDate>Wed, 09 Jul 2008 17:21:28 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=903#comment-391409</guid>
		<description>Right!  It&#039;s as if FF3 is somehow figuring out which fonts contain &quot;approved&quot; representations of the described characters.  For instance, U+0021 is the Unicode representation of the exclamation point.  This can be represented in encoded html as 

&amp; #x21;

(I&#039;m leaving a space between the &amp; and the #x21 character code on purpose because of the way this comments form is parsing it - pretend it&#039;s not there)

This is a simple, and obviously non-standard example set, but this line:

&lt;font face=&quot;Arial&quot;&gt;&amp; #x21;&lt;/font&gt;

produces an exclamation point in Arial.  This one:

&lt;font face=&quot;Trebuchet MS&quot;&gt;&amp; #x21;&lt;/font&gt;

produces a differently-styled exclamation point in Trebuchet.  This line, however:

&lt;font face=&quot;Webdings&quot;&gt;&amp; #x21;&lt;/font&gt;

which should produce the Webdings font&#039;s version of the exclamation point (which, per the font designer&#039;s choice, just &lt;i&gt;happens&lt;/i&gt; to look a lot like a spider), does not.  Instead it falls back to Times (default font) and renders that font&#039;s version of the exclamation point.  

What gives?</description>
		<content:encoded><![CDATA[<p>Right!  It&#8217;s as if FF3 is somehow figuring out which fonts contain &#8220;approved&#8221; representations of the described characters.  For instance, U+0021 is the Unicode representation of the exclamation point.  This can be represented in encoded html as </p>
<p>&amp; #x21;</p>
<p>(I&#8217;m leaving a space between the &amp; and the #x21 character code on purpose because of the way this comments form is parsing it &#8211; pretend it&#8217;s not there)</p>
<p>This is a simple, and obviously non-standard example set, but this line:</p>
<p>&lt;font face=&quot;Arial&quot;&gt;&amp; #x21;&lt;/font&gt;</p>
<p>produces an exclamation point in Arial.  This one:</p>
<p>&lt;font face=&quot;Trebuchet MS&quot;&gt;&amp; #x21;&lt;/font&gt;</p>
<p>produces a differently-styled exclamation point in Trebuchet.  This line, however:</p>
<p>&lt;font face=&quot;Webdings&quot;&gt;&amp; #x21;&lt;/font&gt;</p>
<p>which should produce the Webdings font&#8217;s version of the exclamation point (which, per the font designer&#8217;s choice, just <i>happens</i> to look a lot like a spider), does not.  Instead it falls back to Times (default font) and renders that font&#8217;s version of the exclamation point.  </p>
<p>What gives?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nicolas</title>
		<link>http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-388475</link>
		<dc:creator>Nicolas</dc:creator>
		<pubDate>Sun, 29 Jun 2008 21:46:36 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=903#comment-388475</guid>
		<description>I don&#039;t know if I&#039;m missing something obvious, but all this seems more complicated than everybody&#039;s assuming here...

First of all: I&#039;m using Firefox 3, final release, on Ubuntu 8.04, and the Webdings font on your test page renders as you expected, in the way &lt;a href=&quot;#comment-378009&quot; rel=&quot;nofollow&quot;&gt;Philippe&lt;/a&gt; described as a bug. That is: I see the ear, Death Star and spider.

Second, the explanation doesn&#039;t make sense to me. Sure, the Unicode behaviour is completely logical: if the font doesn&#039;t have this Chinese glyph, find a font that does. However, Webdings actually &lt;em&gt;has&lt;/em&gt; the glyphs your are asking for: they just don&#039;t look the way they should, but as Randy pointed out, &lt;a href=&quot;#comment-380065&quot; rel=&quot;nofollow&quot;&gt;the browser doesn&#039;t know that&lt;/a&gt;... A font should not represent the letter &quot;o&quot; as an ear, but apparently for &lt;a href=&quot;#comment-378012&quot; rel=&quot;nofollow&quot;&gt;historical reasons&lt;/a&gt;, it does.

Why does it work a certain way on my Ubuntu Linux, and another way on other computers/systems, including my brother&#039;s Windows XP box? Is my Firefox different? (Could be, since it&#039;s from Ubuntu&#039;s official repositories) Or are our Webdings fonts different? Or does it depend on some configuration?

Okay, I&#039;m lost.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t know if I&#8217;m missing something obvious, but all this seems more complicated than everybody&#8217;s assuming here&#8230;</p>
<p>First of all: I&#8217;m using Firefox 3, final release, on Ubuntu 8.04, and the Webdings font on your test page renders as you expected, in the way <a href="#comment-378009" rel="nofollow">Philippe</a> described as a bug. That is: I see the ear, Death Star and spider.</p>
<p>Second, the explanation doesn&#8217;t make sense to me. Sure, the Unicode behaviour is completely logical: if the font doesn&#8217;t have this Chinese glyph, find a font that does. However, Webdings actually <em>has</em> the glyphs your are asking for: they just don&#8217;t look the way they should, but as Randy pointed out, <a href="#comment-380065" rel="nofollow">the browser doesn&#8217;t know that</a>&#8230; A font should not represent the letter &#8220;o&#8221; as an ear, but apparently for <a href="#comment-378012" rel="nofollow">historical reasons</a>, it does.</p>
<p>Why does it work a certain way on my Ubuntu Linux, and another way on other computers/systems, including my brother&#8217;s Windows XP box? Is my Firefox different? (Could be, since it&#8217;s from Ubuntu&#8217;s official repositories) Or are our Webdings fonts different? Or does it depend on some configuration?</p>
<p>Okay, I&#8217;m lost.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Willis</title>
		<link>http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-387569</link>
		<dc:creator>Willis</dc:creator>
		<pubDate>Thu, 26 Jun 2008 12:45:02 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=903#comment-387569</guid>
		<description>So then - is there a proper (or, FF3-accepted) way to request the webdings/spider character in html?  I can&#039;t seem to get it to work, using the code reference.</description>
		<content:encoded><![CDATA[<p>So then &#8211; is there a proper (or, FF3-accepted) way to request the webdings/spider character in html?  I can&#8217;t seem to get it to work, using the code reference.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mor10</title>
		<link>http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-382309</link>
		<dc:creator>mor10</dc:creator>
		<pubDate>Tue, 03 Jun 2008 22:48:56 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=903#comment-382309</guid>
		<description>I agree with Richards: I get the &quot;Oy&quot;s in Firefox 2.0.0.14 as well.</description>
		<content:encoded><![CDATA[<p>I agree with Richards: I get the &#8220;Oy&#8221;s in Firefox 2.0.0.14 as well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Links of Interest (May 9th 2008 through May 29th 2008) &#183; All the Billion Other Moments (Jason Penney)</title>
		<link>http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-380621</link>
		<dc:creator>Links of Interest (May 9th 2008 through May 29th 2008) &#183; All the Billion Other Moments (Jason Penney)</dc:creator>
		<pubDate>Fri, 30 May 2008 00:30:47 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=903#comment-380621</guid>
		<description>[...] Characteristic Confusion While investigating line-height Eric Meyer used font-family: Webdings to display &#8220;Oy!&#8221; (Webdings doesn&#8217;t contain &#8216;O&#8217;, &#8216;y&#8217;, or &#8216;!&#8217;). Firefox 3 unexpectedly displayed &#8220;Oy!&#8221;, which, it seems, is technically correct, leaving him asking &#8220;which is less correcTags: CSS, font-family, line-height, Eric Meyer, unicode, webdesign, [...]</description>
		<content:encoded><![CDATA[<p>[...] Characteristic Confusion While investigating line-height Eric Meyer used font-family: Webdings to display &#8220;Oy!&#8221; (Webdings doesn&#8217;t contain &#8216;O&#8217;, &#8216;y&#8217;, or &#8216;!&#8217;). Firefox 3 unexpectedly displayed &#8220;Oy!&#8221;, which, it seems, is technically correct, leaving him asking &#8220;which is less correcTags: CSS, font-family, line-height, Eric Meyer, unicode, webdesign, [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Randy</title>
		<link>http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-380065</link>
		<dc:creator>Randy</dc:creator>
		<pubDate>Wed, 28 May 2008 15:52:51 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=903#comment-380065</guid>
		<description>How does Firefox know that the Death Star character is not the same glyph as &lt;em&gt;y&lt;/em&gt;? (Surely Firefox is not opening the font and using character recognition to determine that it doesn&#039;t &lt;em&gt;look like&lt;/em&gt; a y.) Does the Webdings font somehow tell the browser something like, &quot;The Death Star is the glyph for Unicode F021 but you should use it for the letter &lt;em&gt;y&lt;/em&gt;?&quot;</description>
		<content:encoded><![CDATA[<p>How does Firefox know that the Death Star character is not the same glyph as <em>y</em>? (Surely Firefox is not opening the font and using character recognition to determine that it doesn&#8217;t <em>look like</em> a y.) Does the Webdings font somehow tell the browser something like, &#8220;The Death Star is the glyph for Unicode F021 but you should use it for the letter <em>y</em>?&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Browsersphere &#187; Blog Archive &#187; How Web Browsers Utilize CSS Font Rules</title>
		<link>http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-379940</link>
		<dc:creator>Browsersphere &#187; Blog Archive &#187; How Web Browsers Utilize CSS Font Rules</dc:creator>
		<pubDate>Wed, 28 May 2008 04:56:52 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=903#comment-379940</guid>
		<description>[...] was pointed to a very interesting blog post by Eric Meyer titled Characteristic Confusion, which reveals how web browsers like Firefox utilize CSS font rules. It&#8217;s been happening ever [...]</description>
		<content:encoded><![CDATA[<p>[...] was pointed to a very interesting blog post by Eric Meyer titled Characteristic Confusion, which reveals how web browsers like Firefox utilize CSS font rules. It&#8217;s been happening ever [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad Bice</title>
		<link>http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-379869</link>
		<dc:creator>Brad Bice</dc:creator>
		<pubDate>Tue, 27 May 2008 22:42:24 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=903#comment-379869</guid>
		<description>Off-topic, but unless I&#039;m missing something, Firefox 3 still doesn&#039;t handle OS X windows appropriately. Closing the last tab doesn&#039;t close the entire window. In fact, you can&#039;t close the last tab at all, unless I&#039;m missing something.</description>
		<content:encoded><![CDATA[<p>Off-topic, but unless I&#8217;m missing something, Firefox 3 still doesn&#8217;t handle OS X windows appropriately. Closing the last tab doesn&#8217;t close the entire window. In fact, you can&#8217;t close the last tab at all, unless I&#8217;m missing something.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alan Gresley</title>
		<link>http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-379210</link>
		<dc:creator>Alan Gresley</dc:creator>
		<pubDate>Mon, 26 May 2008 12:00:55 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=903#comment-379210</guid>
		<description>&lt;blockquote cite=&quot;Anne van Kesteren&quot;&gt;If you start using random characters such as “y” to mean “Death Star” how will non-visual interfaces ever be able to deal with that other than implementing some weird hack to cope with the madness that is Webdings?
&lt;/blockquote&gt;

Very true Anne. Accessibility goes out the window. Another fine example of propriety standards which destroys interoperability and accessibility.

@Eric

May I suggest using an image with alt text for your ear-Death Star-spider combo. Sounds like some name for a hack.</description>
		<content:encoded><![CDATA[<blockquote cite="Anne van Kesteren"><p>If you start using random characters such as “y” to mean “Death Star” how will non-visual interfaces ever be able to deal with that other than implementing some weird hack to cope with the madness that is Webdings?
</p></blockquote>
<p>Very true Anne. Accessibility goes out the window. Another fine example of propriety standards which destroys interoperability and accessibility.</p>
<p>@Eric</p>
<p>May I suggest using an image with alt text for your ear-Death Star-spider combo. Sounds like some name for a hack.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bertilo Wennergren</title>
		<link>http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-378395</link>
		<dc:creator>Bertilo Wennergren</dc:creator>
		<pubDate>Sat, 24 May 2008 03:57:09 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=903#comment-378395</guid>
		<description>The right way to do what Eric tried to do (having an crazy fallback font, so it would be obvious what happened) is to use a font this is crazy but actually has the crazy characters in the places of normal letters. That means, that &quot;a&quot;, &quot;b&quot;, &quot;c&quot; etc. should be those actual letters, but looking obviously freaky. So just get one of those fonts (I&#039;m sure there are lots of them out there), install it in your work machine, and specify it in the CSS. That should work according to all the Unicode rules. (And the Firefox Webdings behaviour is indeed the only correct one. It&#039;s also logical and good.)</description>
		<content:encoded><![CDATA[<p>The right way to do what Eric tried to do (having an crazy fallback font, so it would be obvious what happened) is to use a font this is crazy but actually has the crazy characters in the places of normal letters. That means, that &#8220;a&#8221;, &#8220;b&#8221;, &#8220;c&#8221; etc. should be those actual letters, but looking obviously freaky. So just get one of those fonts (I&#8217;m sure there are lots of them out there), install it in your work machine, and specify it in the CSS. That should work according to all the Unicode rules. (And the Firefox Webdings behaviour is indeed the only correct one. It&#8217;s also logical and good.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Philippe</title>
		<link>http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-378355</link>
		<dc:creator>Philippe</dc:creator>
		<pubDate>Sat, 24 May 2008 00:14:58 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=903#comment-378355</guid>
		<description>&lt;a href=&quot;http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-378150&quot; rel=&quot;nofollow&quot;&gt;Eric&lt;/a&gt;,
The fact that those Webdings characters are displayed in Gecko 1.8.1/Fx 2.0.0.14 is considered a bug (but I forgot the bugnumber...). And Yes ! Opera 9.2x and 9.5b also display those Webdings thingies. But only on OS X, go figure (perhaps the same issue that plagued Gecko 1.8.1 – in the QuickDraw layer).</description>
		<content:encoded><![CDATA[<p><a href="http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-378150" rel="nofollow">Eric</a>,<br />
The fact that those Webdings characters are displayed in Gecko 1.8.1/Fx 2.0.0.14 is considered a bug (but I forgot the bugnumber&#8230;). And Yes ! Opera 9.2x and 9.5b also display those Webdings thingies. But only on OS X, go figure (perhaps the same issue that plagued Gecko 1.8.1 – in the QuickDraw layer).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian</title>
		<link>http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-378279</link>
		<dc:creator>Brian</dc:creator>
		<pubDate>Fri, 23 May 2008 19:46:54 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=903#comment-378279</guid>
		<description>I worked with online scientific journals for a few years a while back, and if we wanted a certain character, we had to include a meta content-type charset=utf-8, and then always use unicode to specify desired characters, otherwise all sorts of problems similar to this would occur.</description>
		<content:encoded><![CDATA[<p>I worked with online scientific journals for a few years a while back, and if we wanted a certain character, we had to include a meta content-type charset=utf-8, and then always use unicode to specify desired characters, otherwise all sorts of problems similar to this would occur.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: J. King</title>
		<link>http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-378210</link>
		<dc:creator>J. King</dc:creator>
		<pubDate>Fri, 23 May 2008 15:30:46 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=903#comment-378210</guid>
		<description>Perhaps your system is somehow misconfigured, then, Eric?  I&#039;m seeing substituted glyphs (Times New Roman, by all appearances) in Opera 9.2 and Firefox 2, as I always have (I&#039;ve been aware of this property of the *ding fonts for several years).</description>
		<content:encoded><![CDATA[<p>Perhaps your system is somehow misconfigured, then, Eric?  I&#8217;m seeing substituted glyphs (Times New Roman, by all appearances) in Opera 9.2 and Firefox 2, as I always have (I&#8217;ve been aware of this property of the *ding fonts for several years).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Milo</title>
		<link>http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comment-378165</link>
		<dc:creator>Milo</dc:creator>
		<pubDate>Fri, 23 May 2008 13:53:31 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=903#comment-378165</guid>
		<description>I get the Webdings characters only in IE7, but not in Firefox 2.0.0.14 nor in Opera 9.27 and 9.50.

Prince 6.0r6, interestingly enough, displays &quot;Oy [spider]&quot;</description>
		<content:encoded><![CDATA[<p>I get the Webdings characters only in IE7, but not in Firefox 2.0.0.14 nor in Opera 9.27 and 9.50.</p>
<p>Prince 6.0r6, interestingly enough, displays &#8220;Oy [spider]&#8220;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head profile="http://gmpg.org/xfn/1">
<title>meyerweb.com</title>
<link rel="openid.server" href="http://www.myopenid.com/server">
<link rel="openid.delegate" href="http://emeyer.myopenid.com/">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link rel="shortcut icon" href="/favicon.ico"><link rel="home" href="http://meyerweb.com/" title="Home" ><link rel="stylesheet" href="http://meyerweb.com/ui/meyerweb.css" type="text/css" media="screen, projection"><link rel="stylesheet" href="http://meyerweb.com/ui/theme.css" type="text/css" media="screen, projection" id="themeLink"><link rel="stylesheet" href="http://meyerweb.com/ui/print.css" type="text/css" media="print"><script src="http://meyerweb.com/ui/addresses.js" type="text/javascript"></script><link rel="stylesheet" href="/ui/wordpress.css" type="text/css" media="screen">
<link rel="stylesheet" href="/ui/tfe.css" type="text/css" media="screen">
<link rel="stylesheet" href="/ui/home.css" type="text/css" media="screen">
<link rel="alternate" type="application/rss+xml" title="Thoughts From Eric" href="/eric/thoughts/rss2/full" />
<link rel="alternate" type="application/rss+xml" title="Thoughts From Eric (only technical posts)" href="/eric/thoughts/category/tech/rss2/full" />
<link rel="alternate" type="application/rss+xml" title="Thoughts From Eric (only personal posts)" href="/eric/thoughts/category/personal/rss2/full" />
<link rel="alternate" type="application/rss+xml" title="Distractions" href="/eric/thoughts/recent-links/rss2" />
<link rel="alternate" type="application/rss+xml" title="Excuse of the Day" href="/feeds/excuse/rss20.xml" />
</head>
<body id="www-meyerweb-com" class="hpg">

<div id="sitemast"><h1><a href="/"><span>meyerweb</span>.com</a></h1></div><div id="search"><h4>Exploration</h4><!-- SiteSearch Google --><form method="get" action="http://www.google.com/custom" target="_top"><div><input type="hidden" name="domains" value="meyerweb.com"></input><label for="sbb" style="display: none">Submit search form</label><input type="submit" name="sa" value="Google Search" id="sbb"></input><label for="sbi" style="display: none">Enter your search terms</label><input type="text" name="q" size="31" maxlength="255" value="" id="sbi"></input><p><input type="radio" name="sitesearch" value="meyerweb.com" checked id="ss1"></input><label for="ss1" title="Search meyerweb.com">meyerweb.com</label><input type="radio" name="sitesearch" value="" id="ss0"></input><label for="ss0" title="Search the Web">Web</label></p><input type="hidden" name="client" value="pub-3772084027748653"></input><input type="hidden" name="forid" value="1"></input><input type="hidden" name="ie" value="ISO-8859-1"></input><input type="hidden" name="oe" value="ISO-8859-1"></input><input type="hidden" name="safe" value="active"></input><input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1"></input><input type="hidden" name="hl" value="en"></input></div></form><!-- SiteSearch Google --><!-- <form method="get" action="http://www.google.com/custom"><div><input type="submit" name="sa" value="Search"><input type="text" name="q" size="20" maxlength="255" value=""><input type="hidden" name="sitesearch" value="meyerweb.com"></div></form><small><a href="http://www.google.com/search">Powered by Google</a></small> --></div><div id="main"><div class="skipper">Skip to: <a href="#extra">site navigation/presentation</a></div><div class="skipper">Skip to: <a href="#thoughts">Thoughts From Eric</a></div>
<div id="thoughts">


<div class="entry">
<h3><a href="http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/" rel="bookmark" title="Permanent Link: Characteristic Confusion">Characteristic Confusion</a></h3>
<ul class="meta">
<li class="date">Thu 22 May 2008</li>
<li class="time">1000</li>
<li class="cat"><a href="http://meyerweb.com/eric/thoughts/category/tech/browsers/" title="View all posts in Browsers" rel="category tag">Browsers</a><br> <a href="http://meyerweb.com/eric/thoughts/category/tech/css/" title="View all posts in CSS" rel="category tag">CSS</a></li>
<li class="cmt"><a href="http://meyerweb.com/eric/thoughts/2008/05/22/characteristic-confusion/#comments">32 responses</a></li>
<li></li><li></li></ul>

<div class="text">
<p>
In the course of building my <a href="http://meyerweb.com/eric/css/tests/line-height/inspect-multi.html"><code>line-height: normal</code> test page</a>, I settled on defaulting to an unusual but still pervasive font family: Webdings.  The idea was that if you picked a font family in the dropdown and you didn&#8217;t have it installed, you&#8217;d fall back to Webdings and it would be really obvious that it had happened.
</p>
<img src="http://meyerweb.com/pix/2008/ear-etcetera.png" alt="(A screenshot of the symbols expected from Webdings: an ear, a circle with a line through the middle, and a spider.)" class="pic border" />
<p>
Except in Firefox 3b5, there were no dings, web or otherwise.  Instead, some serif-family font (probably my default serif, Times) was being used to display the text &#8220;Oy!&#8221;.
</p>
<p>
<i>It&#8217;s a beta</i>, I thought with a mental shrug, and moved on.  When I made mention of it in <a href="http://meyerweb.com/eric/thoughts/2008/05/06/line-height-abnormal/">my post on the subject</a>, I did so mainly so I didn&#8217;t get sixteen people commenting &#8220;No Webdings in Firefox 3 betas!&#8221; when I already knew that.
</p>
<p>
So I didn&#8217;t get any of those comments.  Instead, <a href="http://meyerweb.com/eric/thoughts/2008/05/06/line-height-abnormal/#comment-375051">Smokey Ardisson posted</a> that what Firefox 3 was doing with my text was correct.  Even though the declared fallback font was Webdings, I shouldn&#8217;t expect to see it being used, because Firefox was doing the proper Unicode thing and finding me a font that had the character glyphs I&#8217;d requested.
</p>
<p>
Wow.  Ignoring a <code>font-family</code> declaration is kosher?  Really?
</p>
<p>
Well, yes.  It&#8217;s been happening ever since the CSS font rules were first implemented.  In fact, it&#8217;s the basis of the whole list-of-alternatives syntax for <code>font-family</code>.  You might&#8217;ve thought that CSS says browsers should look to see if a requested family is available and then if not look at the next one on the list, and then goes to render text.  And it does, but it says they should do that on <em>a per-character basis</em>.
</p>
<p>
That is, if you ask for a character and the primary font face doesn&#8217;t have it, the browser goes to the next family in your list looking for a substitute.  It keeps doing that until it finds the character you wanted, either in your list of preferred families or else in the browser&#8217;s default fonts.  And if the browser just can&#8217;t find the needed symbol anywhere at all, you get an empty box or a question mark or some other symbol that means &#8220;FAIL&#8221; in font-rendering terms.
</p>
<p>
A commonly-cited case for this is specifying a <acronym title="Chinese, Japanese, Korean, and Vietnamese">CJKV</acronym> character in a page and then trying to display it on a computer that doesn&#8217;t have non-Romance language fonts installed.  The same would hold true for any page with any characters that the installed fonts can&#8217;t support.  But think about it: if you browse to a page written in, say, Arabic, and your user style sheet says that all elements&#8217; text should be rendered in New Century Schoolbook, what will happen?  If you have fonts that support Arabic text, you&#8217;re going to see Arabic, not New Century Schoolbook.  If you don&#8217;t, then you&#8217;re going to see a whole lot of &#8220;I can&#8217;t render that&#8221; symbols.  (Though I don&#8217;t know what font those symbols will be in.  Maybe New Century Schoolbook?  Man, I miss that font.)
</p>
<p>
So: when I built my test, I typed &#8220;Oy!&#8221; for the example text, and then wrote styles to use Webdings to display that text.  Here&#8217;s how I represented that, mentally: the same as if I&#8217;d opened up a text editor like, oh, MS Word 5.1a; typed &#8220;Oy!&#8221;; selected that text; and then dropped down the &#8220;Font&#8221; menu and picked &#8220;Webdings&#8221;.
</p>
<p>
But here&#8217;s how Firefox 3 dealt with it: I asked for the character glpyhs &#8220;O&#8221;, &#8220;y&#8221;, and &#8220;!&#8221;; I asked for a specific font family to display that text; the requested font family doesn&#8217;t contain those glyphs or anything like them; the CSS font substitution rules kicked in and the browser picked those glyphs out of the best alternative.  (In this case, the browser&#8217;s default fonts.)
</p>
<p>
In other words, Firefox 3 will not show me the ear-Death Star-spider combo unless I put those exact symbols into my document source, or at least Unicode references that call for those symbols.  Because that&#8217;s what happens in a Unicode world: you get the glyphs you requested, even if you thought you were requesting something else.
</p>
<p>
The problem, of course, is that we <em>don&#8217;t</em> live in a Unicode world&#8212;not yet.  If we did, I wouldn&#8217;t keep seeing line noise on every web page where someone wrote their post in Word with smart quotes turned on and then just did a straight copy-and-paste into their CMS.  <img src="http://meyerweb.com/pix/2008/wallace.png" alt="(Here we have a screenshot of text where a bullet symbol has been mangled into an a-rhone and an American cents sign, thus visually turning 'Wall-E' into 'Wallace'.)" title="Ah, Wallace..." class="pic border" />  Ged knows I would love to be in a Unicode world, or indeed any world where such character-incompatibility idiocy was a thing of the past.  The fact that we still have those problems in 2008 almost smacks of willful malignance on the part of <em>somebody</em>.
</p>
<p>
Furthermore, in most (but not all) of the text editors I have available and tested, I can type &#8220;Oy!&#8221; with the font set to Webdings and get the ear, Death Star, and spider symbols.  So mentally, it&#8217;s very hard to separate those glyphs from the keyboard characters I type, which makes it very hard to just accept that what Firefox 3 is doing is correct.  Instinctively, it feels flat-out <em>wrong</em>.  I can trace the process intellectually, sure, but that doesn&#8217;t mean it has to make sense to me.  I expect a lot of people are going to have similar reactions.
</p>
<p>
Having gone through all that, it&#8217;s worth asking: which is less correct?  Text editors for letting me turn &#8220;Oy!&#8221; into the ear-Death Star-spider combo, or Firefox for its rigid glyph substitution?  I&#8217;m guessing that the answer depends entirely on which side of the Unicode fence you happen to stand.  For those of us who didn&#8217;t know there was a fence, there&#8217;s a bit of a feeling of a slip-and-fall right smack onto it, and that&#8217;s going to hurt no matter who you are.
</p>
</div>

</div>

</div>
<p style="font-size: 90%; text-align: right; margin-top: 0.5em; padding-top: 0;">(If you care, there's even an <a href="/eric/thoughts/page/2/">archive of previous thoughts</a>...)</p>

</div><div id="extra"><div class="panel" id="archipelago"><h4>Identity Archipelago</h4><ul><li><a href="http://flickr.com/photos/meyerweb/" rel="me">Flickr</a></li><li><a href="http://twitter.com/meyerweb/" rel="me">Twitter</a></li><li><a href="http://dopplr.com/traveller/meyerweb">Dopplr</a></li><li><a href="http://www.linkedin.com/in/meyerweb" rel="me">LinkedIn</a></li><li><a href="http://technorati.com/profile/emeyer" rel="me">Technorati</a></li></ul></div><div class="panel" id="pointers"><h4>Projects Elsewhere</h4><ul><li><a href="http://aneventapart.com/">An Event Apart</a></li><li><a href="http://complexspiral.com/">Complex Spiral Consulting</a></li><li><a href="http://www.webassist.com/go/css/emeyer/">CSS Sculptor</a></li><li><a href="http://css-discuss.org/">css-discuss</a></li><li><a href="http://microformats.org/">Microformats</a></li><li><a href="http://s5project.org/">S5</a></li></ul></div><div class="panel" id="tour"><ul><li><a href="http://fray.com/issue3/"><img src="http://fray.com/images/i3c.gif" alt="Fray Contributor (Issue 3: Sex &amp; Death)" /></a></li><!-- <li><a href="http://www.webassist.com/go/css/emeyer/"><img src="/pix/CS_ad_180x109.jpg" alt="CSS Sculptor for Dreamweaver" style="max-width: 100%;" /></a></li> --></ul></div><div class="panel">
<h4>Recently Tweeted</h4>
<p class="more"><a href="http://twitter.com/meyerweb">see more</a></p>
<p>I think the fortune in my Chinese fortune cookie was written by Grover Norquist.  I bet he's getting paid for those off the books. <small>&#8211;tweeted 6 hours, 3 minutes ago</small></p>
</div><div id="sideblog" class="panel">
<h4>Distractions</h4>
<p class="more">
<a href="/eric/thoughts/recent-links/">archive</a>
</p>
<ul>
<li><a href="http://tweetagewasteland.com/2010/03/my-head-is-in-the-cloud/" title="March 18 | &#8220;I sense that my addiction to the realtime stream is only making room for the consumption of a faster stream.&#8221;">My Head is in the Cloud</a> <small>[via <a href="http://daringfireball.net/">John</a>]</small></li>
<li><a href="http://8bitnyc.com/" title="March 17 | All of a sudden I want to establish a mission in Central Park and negotiate with the natives for gold and food.">8-Bit NYC</a></li>
<li><a href="http://www.youtube.com/watch?v=nFicqklGuB0&amp;feature=player_embedded" title="March 12 | Wry comment expressing my appreciation of the creative derivativeness of this video and its uncanny accuracy in mocking common tropes.">Academy Award Winning Movie Trailer</a></li>
<li><a href="http://www.youtube.com/watch?v=414TmP12WAU" title="March 9 | &#8220;Apple juice&#8230; for half price!&#8221;  More like twice PRICELESS.  (Note: If you&#8217;re at work, don your headphones.)">Happy in Paraguay</a> <small>[via <a href="http://unstoppablerobotninja.com/">Ethan</a>]</small></li>
<li><a href="http://www.youtube.com/watch?v=9V5ubAOeOBk&amp;feature=player_embedded" title="February 10 | This is approximately the best thing ever.">U900 -Walk Don&#8217;t Run (Isogabamaware)</a></li>
<li><a href="http://www.456bereastreet.com/archive/201002/sifr_default_css_hides_content_from_at_least_one_screen_reader/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A 456bereastreet %28456 Berea Street%29" title="February 8 | -9999px comes through again, but I really wish we were beyond that kind of thing.">sIFR default CSS hides content from at least one screen reader</a></li>
<li><a href="http://www.macosxhints.com/article.php?story=20100117064356428" title="February 8 | Storing this for future use.">Take a picture with the iSight camera when a folder is opened</a></li>
<li><a href="http://mingle2.com/blog/view/web-developer-mind" title="February 4 | Mostly valid.  (SEE WHAT I DID THERE?)">The Mind of a Web Developer: An Illustrated Diagram</a></li>
<li><a href="http://www.theonion.com/content/news/science_channel_refuses_to_dumb" title="January 28 | &#8220;Punkin Chunkin, for Christ&#8217;s sake&#8230; What more do you people want?&#8221;">Science Channel Refuses To Dumb Down Science Any Further</a></li>
<li><a href="http://www.mailchimp.com/blog/project-omnivore-declassified/" title="January 27 | Sounds like quite a feat.  But I wonder how we&#8217;d feel if Microsoft or Google announced the same kind of thing on their e-mail services.">MailChimp&#8217;s Project Omnivore: Declassified</a></li>
<li><a href="http://www.politifact.com/truth-o-meter/statements/2010/jan/25/carolyn-maloney/congresswoman-says-democratic-presidents-create-mo/" title="January 26 | &#8220;Obviously, luck matters a lot, but when there is a consistent pattern over more than 60 years, it starts to look like more than just luck.&#8221;">Congresswoman says Democratic presidents create more private-sector jobs</a></li>
<li><a href="http://www.ted.com/talks/taylor_mali_what_teachers_make.html" title="January 25 | Truth.">Taylor Mali: What teachers make</a></li>
<li><a href="http://notebook.johnmartz.com/how-websites-work?c=1" title="January 22 | At last, the truth is out and I can stop pretending:  beatific monkeys are what makes it all go.">How websites work</a></li>
</ul>
</div>
<div class="panel" id="advisory">
<div class="guarded">
<a href="http://blogadvisorysystem.com/"><img src="/pix/bas/guarded.png" alt="Blog Advisory System Alert Level: Guarded"></a>
</div>
</div>

<div class="panel" id="excuse">
<h4>The <a href="/feeds/excuse/">excuse of the day</a> is</h4>
<p>Chrome</p>
</div>

<div class="panel" id="extras">
<h4>Extras</h4>
<ul>
<li><a href="/feeds/">Feeds</a> &#8226;</li>
<li><a href="/eric/faq.html">FAQ</a> &#8226;</li>
<li><a href="/family.html">Family</a></li>
</ul>
</div>

</div>

<div id="navigate">
<h4>Navigation</h4>
<ul id="navlinks">
<li id="archLink"><a href="/eric/thoughts/">Archives</a></li>
<li id="cssLink"><a href="/eric/css/">CSS</a></li>
<li id="toolsLink"><a href="/eric/tools/">Toolbox</a></li>
<li id="writeLink"><a href="/eric/writing.html">Writing</a></li>
<li id="speakLink"><a href="/eric/talks/">Speaking</a></li>
<li id="otherLink"><a href="/other/">Leftovers</a></li>
<li id="aboutsite"><a href="/ui/about.html">About this site</a></li>
</ul>
</div>

<div id="footer">
<p class="sosumi">All contents of this site, unless otherwise noted, are &copy;1995-2008 <strong>Eric A. and Kathryn S. Meyer</strong>.  All Rights Reserved.</p>
<p>"<a href="/eric/thoughts/">Thoughts From Eric</a>" is powered by the &uuml;bercool <a href="http://wordpress.org/">WordPress</a></p>
</div>
</body>
</html>
