Highlighted

Is device font _serif *only* used to display Latin1 and Cyrillic characters sets in FTE?

Enthusiast ,
Apr 09, 2010

Copy link to clipboard

Copied

Hi all,

My understanding is, that in Flash Player 9 and below TextField object was able to display any character from East Asian Languages  via device fonts "_serif", "_sans" or "_typewriter".

In new FTE that came with Flash Player 10  TextElement object seems to use device font "_serif" only for Latin1 or Cyrillic character sets.

For example, FTE is using "Simsun" device (fallback) font to display Chinese language characters and for Thai language characters, FTE is using "Angsana New" device (fallback) font.

My question is:

Why TextElement from FTE does not use "_serif" device font to display characters for Thai or Chinese language like it did it older brother TextField from Flash Player 9 and below?

The problem with "SimSun" or "Angsana New" fonts that they are not present at Windows XP OS (English) at default install configuration setup.     


    I would put it simply - how older TextField component from Flash Player 9 is able to display Thai characters when there is no other device font present on Windows XP with Thai glyphs besides Tahoma and Microsoft Sans Serif fonts?


TextField relies on the GDI to do the layout. GDI supports mixed fonts: fonts that use OpenType layout for some scripts and non-OpenType layout for other scripts. Tahoma and Microsoft Sans Serif are mixed font.

FTE does not support such mixed fonts, or more precisely: if there is OpenType layout for any script, then we use OpenType layout for all the scripts. Our choice means that Tahoma and Microsoft Sans Serif cannot be used by FTE for Thai. We felt that the advantages of not dealing with mixed fonts outweighted the disadvantages. In particular, if the user of a system can read Thai, it is very likely that he will have installed the other Thai fonts.

Topics

Text layout framework

Views

4.7K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

Is device font _serif *only* used to display Latin1 and Cyrillic characters sets in FTE?

Enthusiast ,
Apr 09, 2010

Copy link to clipboard

Copied

Hi all,

My understanding is, that in Flash Player 9 and below TextField object was able to display any character from East Asian Languages  via device fonts "_serif", "_sans" or "_typewriter".

In new FTE that came with Flash Player 10  TextElement object seems to use device font "_serif" only for Latin1 or Cyrillic character sets.

For example, FTE is using "Simsun" device (fallback) font to display Chinese language characters and for Thai language characters, FTE is using "Angsana New" device (fallback) font.

My question is:

Why TextElement from FTE does not use "_serif" device font to display characters for Thai or Chinese language like it did it older brother TextField from Flash Player 9 and below?

The problem with "SimSun" or "Angsana New" fonts that they are not present at Windows XP OS (English) at default install configuration setup.     


    I would put it simply - how older TextField component from Flash Player 9 is able to display Thai characters when there is no other device font present on Windows XP with Thai glyphs besides Tahoma and Microsoft Sans Serif fonts?


TextField relies on the GDI to do the layout. GDI supports mixed fonts: fonts that use OpenType layout for some scripts and non-OpenType layout for other scripts. Tahoma and Microsoft Sans Serif are mixed font.

FTE does not support such mixed fonts, or more precisely: if there is OpenType layout for any script, then we use OpenType layout for all the scripts. Our choice means that Tahoma and Microsoft Sans Serif cannot be used by FTE for Thai. We felt that the advantages of not dealing with mixed fonts outweighted the disadvantages. In particular, if the user of a system can read Thai, it is very likely that he will have installed the other Thai fonts.

Topics

Text layout framework

Views

4.7K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Apr 15, 2010

Copy link to clipboard

Copied

_serif is a bit of a red herring in the discussion: it's just a shorthand for a list of font names. So your question can be rephrased: why are there fonts which are included in the _serif list but are not used for fallback in TLF.

We cannot afford to look inside every single font available on the  system every time FP starts, so we have to use only fonts for which we have a priori knowledge. We also decided to restrict ourselves to fonts that we know are installed (at least in some cases) with the OS, to maximize the likelyhood of having the same behavior accross installations of the same OS.Of course, that's limited by the fact that different installations of the same OS are slightly different and by the differences between versions of the OS.

A minimal XP installation has simply no font that contains CJK ideographs.There is obviously nothing we can do about that. (If you get CJK ideographs displayed via TextField/_serif on a minimal XP install, please let us know).

Tahoma is unfortunately problematic to use for Thai. It looks like an OpenType font (has a GSUB table) but does not use OpenType for Thai (it implements the old-style interface through the PUA). We do support the old-style interface, but because of the presence of the GSUB table, we do not use that interface. That's why we did not include it in our list of fallback fonts for Thai.

If a user wants to display Thai or CJK ideographs, it seems reasonable to expect that they have installed the related XP components. At that point, our fallback should work satisfactorily.

Likes

1 Like

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Enthusiast ,
Apr 19, 2010

Copy link to clipboard

Copied

Tahoma is unfortunately problematic to use for Thai.

What about Miscosoft Sans Serif font? Font details: www.microsoft.com/typography/fonts/font.aspx?FMID=1599

Probably it can be used for Thai font fallback feature in FTE on Windows?

On Windows XP Service Pack 2 I have pre-installed 1.42 version of this font.

_serif is a bit of a red herring in the discussion: it's just a shorthand for a list of font names

    It would be useful to receive this list of font names for Windows XP for "_serif" shorthand, it is not documented AFAIK. And yes, plain old TextField within Flash Player 9 is capable to display CJK ideographs on minimal Windows XP English install.

   My issue is possible situation when FTE font fallback is not able to display CJK ideographs or/and Thai language.

    I thought about embeddding a "uber" Unicode font  blogs.adobe.com/typblography/2008/08/unicode_font.html that has glyphs for both Thai language and  CJK ideographs as well, but in the real world I found only 4 fonts (Arial Unicode MS, Ascender Uni, SunExtA and Code2000)  that satisfy my requirements.

    Most known and most wanted choice among those fonts is Arial Unicode MS, but the licensee owner request hefty $$$$ yearly fee to allow to embed this font into document (SWF file) distributed on the web.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Apr 22, 2010

Copy link to clipboard

Copied

What about Miscosoft Sans Serif font?

Same problem.

And yes, plain old TextField within Flash Player 9 is capable to display CJK ideographs on minimal Windows XP English install.

According to our measurements, a minimal XP SP3 install has those fonts (size in first column):

        367112   arial.ttf
        352224   arialbd.ttf
        226748   arialbi.ttf
        207808   ariali.ttf
        118832   ariblk.ttf
        127596   comic.ttf
        111476   comicbd.ttf
        303296   cour.ttf
        312920   courbd.ttf
        236148   courbi.ttf
        245032   couri.ttf
         79744   estre.ttf
        135984   framd.ttf
        152844   framdit.ttf
        214936   gautami.ttf
        155068   georgia.ttf
        141032   georgiab.ttf
        157388   georgiai.ttf
        159736   georgiaz.ttf
        137448   impact.ttf
        121452   kartika.ttf
        323980   l_10646.ttf
         73292   latha.ttf
         58740   lsans.ttf
         54320   lsansd.ttf
         60664   lsansdi.ttf
         59636   lsansi.ttf
        115068   lucon.ttf
        143864   mangal.ttf
         24124   marlett.ttf
        461672   micross.ttf
         40500   mvboli.ttf
        489884   pala.ttf
        434004   palab.ttf
        344288   palabi.ttf
        430800   palai.ttf
         57348   raavi.ttf
        234280   shruti.ttf
        221676   sylfaen.ttf
         69464   symbol.ttf
        383804   tahoma.ttf
        355680   tahomabd.ttf
        409280   times.ttf
        398372   timesbd.ttf
        239692   timesbi.ttf
        248368   timesi.ttf
        134108   trebuc.ttf
        123096   trebucbd.ttf
        131188   trebucbi.ttf
        139288   trebucit.ttf
        148624   tunga.ttf
        171792   verdana.ttf
        137616   verdanab.ttf
        155076   verdanai.ttf
        154800   verdanaz.ttf
        252820   vrinda.ttf
        118752   webdings.ttf
         81000   wingding.ttf

None of them is large enough to contain a useful set of ideographs. (I did not list the bitmap fonts, which FTE does not use, but they are also too small). Do you have something else on your machine?

Eric.

Likes

1 Like

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Apr 22, 2010

Copy link to clipboard

Copied

    It would be useful to receive this list of font names for Windows XP for "_serif" shorthand,

I am told the list is simply "Times New Roman"; and:

sans: Arial

monospaced: Courier New

Eric.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Enthusiast ,
Apr 23, 2010

Copy link to clipboard

Copied

I agree on this font list, that is all fonts that are available on minimal Windows XP English install.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Enthusiast ,
Apr 23, 2010

Copy link to clipboard

Copied

    I would put it simply - how older TextField component from Flash Player 9 is able to display Thai characters when there is no other device font present on Windows XP with Thai glyphs besides Tahoma and Microsoft Sans Serif fonts?

    Here is screenshot (click on picture to scale) that illustrates that: older mx:Label component is always capable to display Thai characters regardless what fontFamily value is set to, while newer s:Label component renders Thai characters only if Tahoma or Microsoft Sans Serif font is explicitly set to fontFamily property.

http://lh3.ggpht.com/_GZ4fe45doHc/S9G7uahIdrI/AAAAAAAAB5E/G1ZovvikuRk/s800/Thai_language_rendering_mx_spark.jpg

Tested with FTE 1.0.595 build, Flex 4.0.0.14159 SDK:

Full code listing: gist.github.com/376687

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Apr 27, 2010

Copy link to clipboard

Copied


    I would put it simply - how older TextField component from Flash Player 9 is able to display Thai characters when there is no other device font present on Windows XP with Thai glyphs besides Tahoma and Microsoft Sans Serif fonts?


TextField relies on the GDI to do the layout. GDI supports mixed fonts: fonts that use OpenType layout for some scripts and non-OpenType layout for other scripts. Tahoma and Microsoft Sans Serif are mixed font.

FTE does not support such mixed fonts, or more precisely: if there is OpenType layout for any script, then we use OpenType layout for all the scripts. Our choice means that Tahoma and Microsoft Sans Serif cannot be used by FTE for Thai. We felt that the advantages of not dealing with mixed fonts outweighted the disadvantages. In particular, if the user of a system can read Thai, it is very likely that he will have installed the other Thai fonts.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Enthusiast ,
Apr 28, 2010

Copy link to clipboard

Copied

Right, I see.

Is that correct to state that FTE does not support "mixed" fonts such as Tahoma and Microsoft Sans Serif only for font fallback device feature?

Because, if I set any of those two fonts explicitly to the fontFamily property of Spark Label, Thai characters in the text become all visible in Spark Label.

E.g.

<s:Label id="sparkLabel" fontFamily="Tahoma"                      fontSize="16"                      text="การประมาณวันที่ออกเดินทาง">        </s:Label>   

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...