Flash Player 9 – The neverending battle for Croatian letters (problem sa hrvatskim dijakriticima u flash playeru 9)
How nice, I even included Croatian translation of this posts title, so Google could index me better. Two years ago (2005) Patrick Mineault wrote an article about how wmode=transparent is screwing FireFox. Two years later, 1 flash version higher – the history repeats itself.
Last week, friend from Zviz called me up because he was working on a flash 8 site which used wmode=transparent, and he experienced something similar, but for us Croatians – a much worse scenario. The loss of Croatian characters. He used TextField drawn on stage with embedded Latin Extended A charset, something very usual. To be more exact – Internet Explorer didn’t display Croatian characters in input text fields and Firefox was displaying only lowercase letters. During my extensive testing, I’ve found out that Safari on OSX isn’t displaying Croatian letters AT ALL. How can all that be? I guess nobody from Croatia reported it to Adobe during Flash 9 player beta phase. Bah! I’ve tested this in Firefox and IE, both FP8 and Flash Player 9 r45, and I got the same results by using TextArea, TextFields and TextInputs.
As you can test for your self in transparent movie below (just click on the rectangle and try typing), Flash receives correct charCodes (š – 154, đ – 260, č – 232, ć – 230, ž – 158), but what goes wrong and when?
[flash http://www.nivas.hr/blog/wp-content/uploads/2007/06/keyboardlistenertest.swf w=251 h=110 p={menu;false|quality;high|wmode;transparent}]
This is non transparent version (wmode=window):
[flash http://www.nivas.hr/blog/wp-content/uploads/2007/06/keyboardlistenertest.swf w=251 h=110 p={menu;false|quality;high]
Below are the snapshots of copy pasted test text (šđč枊ĐČĆŽ) into browsers. Characters appear as they should. However, that doesn’t put any light to this problem at all.
(Internet Explorer 6, Flash Player 9, wmode=transparent – copy/pasted text)
(Firefox 2, Flash Player 9, wmode=transparent – copy/pasted text)
Ok, so here are different Flash Player versions, on different browsers. I didn’t include Opera screenshots, because the results I was getting were the same as in Firefox.
Internet Explorer 6, Flash Player 8, wmode=window (usual behavior)
Internet Explorer 6, Flash Player 8, wmode=transparent
The fun starts here. Instead of Croatian letters, you get total gibberish. IE can’t handle wmode=transparent at all. I got the same result in Internet Explorer 7.
Internet Explorer 6, Flash Player 9, wmode=window
Internet Explorer 6, Flash Player 9, wmode=transparent
This is totally wrong. This is the same problem as in Flash Player 8 and wmode=transparent.
Firefox 2, Flash Player 8, wmode=window
This is OK.
Firefox 2, Flash Player 8, wmode=transparent
Firefox managed to show Croatian letters, but only lowercase letters. Holding SHIFT key and pressing ŠĐČĆŽ got me small caps šđčćž.
Firefox 2, Flash Player 9, wmode=window
Everything is peachy.
Firefox 2, Flash Player 9, wmode=transparent
Ho ho, I sure didn’t expect this. Flash 9 TextArea and TextInput components are completely transparent. The input font is not Arial, but Courier (_serif), and again, Firefox managed to show only smallcaps letters (the same as with Flash Player 8 and wmode=transparent).
The conclusion? Unfortunately, there isn’t any.
The original test files can be viewed here:
4 thoughts on “Flash Player 9 – The neverending battle for Croatian letters (problem sa hrvatskim dijakriticima u flash playeru 9)”
July 12, 2007 at 19:50
I’m trying to find a solution to this problem. Please if you find something about this let me know! I have this problem in a flash web site. The flash is transparent and we can’t use the “contact form” as we want to have greek fonts in the input text!
July 17, 2007 at 09:07
AFAIK, this is still not resolved in latest beta of Flash Player 9.0.60.120. Firefox works, Internet Explorer doesn’t. :(
November 9, 2007 at 02:57
Do you have the Flex Source Code for the 4 examples above. It is hard to really see what is going on in all places without the source.
Thanks
-j