Font support for different languages

J

JB

Hi, We are developing a C# app for PocketPC devices. The app
will have a different language depending on which country we sell
into. What I would like to know is how do i find out which languages
are supported by a particular Font for any PocketPC device. For example
if we are selling to Japan how do i find out that TimesNew Roman on the
localised device supports the Japanese characters. In fact i don't
know even if TimesNew Roman is available on japanese PocketPC's.
Where can i obtain this info?

Thanks
 
P

Paul G. Tobey [eMVP]

There's really no fixed answer. You can get a font browser program for your
desktop PC and, if the font file is accessible, use Remote File Viewer to
copy it to the PC and open it to see what glyphs are included. There's no
programmatic way to call an API function to see what's in the font. If you
create a font instance for some drawing, not by the name of the font, but by
its characteristics (Shift-JIS, san seriff, etc.), the OS will pick one for
you that has those characteristics. You can, of course, enumerate the list
of fonts actually found on the device, but it's not necessarily true that
all instances of Times New Roman have the same glyphs defined in them.

If you're using .NET CF 2.0, something like this might be what you need:

InstalledFontCollection ifc = new InstalledFontCollection();

foreach ( FontFamily f in ifc.Families )

{

...

}


Paul T.
 
J

JB

Thanks Paul, after programatically finding which fonts are
installed on the device, i suppose i could then safely assume
that font supports the local language ie any fonts on a Japanese
device must surely have Japanese glyphs so this should give
me a solution.


"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam DOT
com> wrote in message news:[email protected]...
 
P

Paul G. Tobey [eMVP]

No. You don't know what fonts are there. A user can copy a font to the
\Windows\Fonts folder and it will be listed. How about just doing nothing
with the font? The system or application font should be used by the system
by default and it should have the necessary glyphs in it...

Paul T.

JB said:
Thanks Paul, after programatically finding which fonts are
installed on the device, i suppose i could then safely assume
that font supports the local language ie any fonts on a Japanese
device must surely have Japanese glyphs so this should give
me a solution.


"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam DOT
com> wrote in message news:[email protected]...
There's really no fixed answer. You can get a font browser program for
your desktop PC and, if the font file is accessible, use Remote File
Viewer to copy it to the PC and open it to see what glyphs are included.
There's no programmatic way to call an API function to see what's in the
font. If you create a font instance for some drawing, not by the name of
the font, but by its characteristics (Shift-JIS, san seriff, etc.), the
OS will pick one for you that has those characteristics. You can, of
course, enumerate the list of fonts actually found on the device, but
it's not necessarily true that all instances of Times New Roman have the
same glyphs defined in them.

If you're using .NET CF 2.0, something like this might be what you need:

InstalledFontCollection ifc = new InstalledFontCollection();

foreach ( FontFamily f in ifc.Families )

{

...

}


Paul T.
 
G

Guest

Each language has a different preferred font that should be used.
I am working in Asia and the Japanese like "MS Gothic", and Chinese
[Simplified] "Sim Sun", and Taiwan [Traditional] "MingLiU".
I have never checked if these PDA's have Time New Roman but forget about
this font.
Also use at least 9pt font.

You can always download the Emulator images for each language and see what
fonts are supported on the PDA.


JB said:
Thanks Paul, after programatically finding which fonts are
installed on the device, i suppose i could then safely assume
that font supports the local language ie any fonts on a Japanese
device must surely have Japanese glyphs so this should give
me a solution.


"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam DOT
com> wrote in message news:[email protected]...
There's really no fixed answer. You can get a font browser program for
your desktop PC and, if the font file is accessible, use Remote File
Viewer to copy it to the PC and open it to see what glyphs are included.
There's no programmatic way to call an API function to see what's in the
font. If you create a font instance for some drawing, not by the name of
the font, but by its characteristics (Shift-JIS, san seriff, etc.), the OS
will pick one for you that has those characteristics. You can, of course,
enumerate the list of fonts actually found on the device, but it's not
necessarily true that all instances of Times New Roman have the same
glyphs defined in them.

If you're using .NET CF 2.0, something like this might be what you need:

InstalledFontCollection ifc = new InstalledFontCollection();

foreach ( FontFamily f in ifc.Families )

{

...

}


Paul T.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top