by Michael S. Kaplan, published on 2009/01/07 03:01 -05:00, original URI: http://blogs.msdn.com/b/michkap/archive/2009/01/07/9286918.aspx
It was like that scene out of Monty Python and the Holy Grail, the one about the Holy Hand Grenade of Antioch:
Particularly important is the counting to three after the pulling of the triggering pin (the surmounted cross), complicated by King Arthur's mental block on counting. The instructions for its use are in the fictitious Book of Armaments (Chapter 2, verses 9-21), parodying the King James Bible and the "Athanasian Creed".
“ ...And Saint Attila raised the hand grenade up on high, saying, "O Lord, bless this Thy hand grenade that with it Thou mayest blow Thine enemies to tiny bits, in Thy mercy." And the Lord did grin and the people did feast upon the lambs and sloths and carp and anchovies and orangutans and breakfast cereals, and fruit bats and large chu... [At this point, the friar is urged by Brother Maynard to "skip a bit, brother"]... And the Lord spake, saying, "First shalt thou take out the Holy Pin, then shalt thou count to three, no more, no less. Three shall be the number thou shalt count, and the number of the counting shall be three. Four shalt thou not count, neither count thou two, excepting that thou then proceed to three. Five is right out. Once the number three, being the third number, be reached, then lobbest thou thy Holy Hand Grenade of Antioch towards thy foe, who being naughty in my sight, shall snuff it." Amen.”
Arthur then holds up the Holy Hand Grenade Of Antioch and cries out "ONE! TWO! FIVE!" Sir Galahad corrects him, shouting "Three, Sir!" Arthur then yells "THREE!" and hurls the grenade at the killer rabbit. The Grenade soars through the air, accompanied by a short bit of choral music, then bounces once and explodes. The killer rabbit dies in the explosion, and the Knights subsequently enter the cave that it has been guarding.
You can also see the scene here on YouTube.
So, why did I think of this?
Well, I was over in the good old Windows Character Map, looking at SimSun, that great font used for Simplified Chinese.
The one from Vista.
In particular, at the small Roman Numerals, you know the ones from U+2170 and so on:
Okay, let's count along with King Arthur.
Be sure to watch the text at the bottom of the dialog and the text of the actual character being highlighted!
Ready?
Here we go.
One:
Two:
Three:
Four:
Did you see it?
That must be a fluke.
I'll click on that U+2172 a few times.
Crap.
This font has a bizarre form of that same disease King Arthur has!
I wonder why the grid shows one thing but the detail view shows another . Something to with this being a TTC and there being some shared data across several included fonts.
I'm honestly not sure.
But my inner Dr. House needs more information.
We had better get a second opinion.
Page the Word 2007 Insert Symbol dialog on Vista!
Crap.
Good thing that wasn't the Holy Hand Grenade of Antioch.
If it was, the blog might be on fire after the explosion.
Like last time, if you recall.
Crap.
Is there a typographer in the house? :-)
This blog brought to you by ⅲ (aka U+2172, aka SMALL ROMAN NUMERAL FOUR.... "Three, Sir!" THREE)
# Andrew West on 7 Jan 2009 8:02 AM:
On my XP system (which I use during the daytime) I don't see this behaviour for SimSun, but I do see exactly the same behaviour for SimSun-18030. Looking at the two fonts with a font viewer application SimSun appears to have the correct glyphs for i through x, but SimSun-18030 has i, ii, iv, iv, v, vi, vii, viii, ix and x. So looks like SimSun is sometimes being used for SimSun-18030 in charmap under XP, whereas conversely SimSun-18030 is sometimes being used for SimSun in charmap under Vista.
# Michael S. Kaplan on 7 Jan 2009 11:40 AM:
I don't know, it seems like it has to be a bit more complicated than that, right? How does one "get the wrong font" in such a context....
# Andrew West on 7 Jan 2009 12:57 PM:
I think that you're right that it is something to do with TTC files. I remember having a similar problem in my own code a couple of years back, when I was getting Cambria instead of Cambria Math (or something like that). I can't recall the exact details of the problem, but it was related to the fact that Cambria and Cambria Math are packaged as a TTC file, but Cambria Bold/Italic/BoldItalic are separate font files, and as TTC fonts are enumerated before or after individual ttf fonts, Cambria Regular is not enumerated together with its Bold/Italic siblings.
# Josh on 7 Jan 2009 1:25 PM:
Wow...positively bizarre. If I get a chance I'll take a look; maybe some mismatch between the character-to-glyph mapping of the format 14 versus the format 4 cmap subtables? I think SimSun now uses both (?). The format 4 (BMP only) is supposed to be a pure subset of the format 14 (which maps >BMP) but they could easily get out of sync.
# Josh on 7 Jan 2009 1:48 PM:
OK, found the problem.
A little background/info:
0) There's no format 14/4 issue
1) SimSun uses embedded bitmaps for 6 sizes
2) The U+2172 code maps to glyph 959
3) The *bitmap shapes* stored for glyph 959 have the "iii" shape
4) The *outline* for glyph 959 is a "iv".
When you see the "iii" in Character Mapper grid, it's because it's using one of the sizes where it has an embedded bitmap...so it appears to be correct there. But when the glyph is displayed at a size without an embedded bitmap, you'll see the outline shape, which is wrong.
This is pretty clearly a font bug.
# Si on 7 Jan 2009 2:08 PM:
Win 7 #425025 - but you knew that right? It came through various aliases including Multilingual Issues Discussion on Dec 9th.
# Jan Kučera on 7 Jan 2009 2:41 PM:
PS. Funny how when you type this into Word 2007 and drag the zoom slider, it keeps switching between ⅲ and ⅳ :-)
# Michael S. Kaplan on 7 Jan 2009 3:59 PM:
Hey Si -- I didn't see the thread (I'm a bit behind on those mails!). Someone asked me about it and I just ran with it. :-)
Hey Josh -- thanks fir the investigation -- very cool little bug, that! Or actually, it is not a "little" bug since it looks right at little sizes!
# Jan Kučera on 7 Jan 2009 4:41 PM:
Hmmm why did the pretty useless PS managed to get in, but my preceding question did not? Any forbidden word or characters? :)
And it indeed is very tiny bug too! ...seems the PS was not _that_ useless :-) ...if you zoom out enought, it switches back to ⅳ. I would say just not usually sized bug. ;-)
But I keep asking myself how on earth was this bug discovered...
# Josh on 7 Jan 2009 6:11 PM:
Michael, you're welcome...I didn't realize this was already documented/known/being addressed, either. Fortunately it was obvious upon opening & viewing the font; didn't spend much time on it.
# Michael S. Kaplan on 7 Jan 2009 9:25 PM:
No worries, Josh -- I looked and found the thread Si was referring to -- no one mentioned the actual problem or mentioned it found its way into a bug. So I might have written the very same blog only from a different source had I seen all that, in any case -- only slightly sooner! :-)
# Youtube on 29 Jan 2009 6:09 PM:
"This video has been removed due to terms of use violation." Use http://www.youtube.com/watch?v=apDGPl2SfpA instead