HighTechTalks DotNet Forums  

fonts

Dotnet Internationalization microsoft.public.dotnet.internationalization


Discuss fonts in the Dotnet Internationalization forum.



Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old   
AndrewEames
 
Posts: n/a

Default fonts - 09-23-2005 , 11:54 AM






I'm writing an app that will be localized into various cultures and I'm a
little confused as to the best way to specify what fonts I should use.

The application is trying to follow the XP look and feel style guidelines
which specify some particular fonts - Tahoma / Franklin Gothic etc. but the
guidelines make no reference to whether these are for English only or for all
cultures.

It sees like the default "System" font is different for different OS'es - in
particular for Japanese,Korean,Simplified Chinese,Traditional
Chinese,Arabic,Hebrew it is
MS UI Gothic,Gulim,Simsun,PMinglu, Microsoft Sans Serif respectively.

When I localize my app, should my fonts match these system fonts and how do
the XP style guidelines mutate according to culture?

Andrew

Reply With Quote
  #2  
Old   
Mihai N.
 
Posts: n/a

Default Re: fonts - 09-25-2005 , 12:12 AM






Quote:
It sees like the default "System" font is different for different OS'es -
in
particular for Japanese,Korean,Simplified Chinese,Traditional
Chinese,Arabic,Hebrew it is
MS UI Gothic,Gulim,Simsun,PMinglu, Microsoft Sans Serif respectively.
In dialogs use the generic "MS Shell Dlg" (if OS < XP) or "MS Shell Dlg 2"
(XP or newer). For non-dialogs, use GetStockObject(DEFAULT_GUI_FONT)
In general, search MSDN for "MS Shell Dlg", "MS Shell Dlg 2" &
DEFAULT_GUI_FONT, and you will find a lot of good articles, with explanation
on how, when and why :-)

Quote:
When I localize my app, should my fonts match these system fonts and how do
the XP style guidelines mutate according to culture?
Match system font. You shold use the generic fonts/API above.


--
Mihai Nita [Microsoft MVP, Windows - SDK]
------------------------------------------
Replace _year_ with _ to get the real email


Reply With Quote
  #3  
Old   
AndrewEames
 
Posts: n/a

Default Re: fonts - 09-26-2005 , 09:37 AM



I'm pretty sure that this is not what I want - why should I want different
fonts in my dialgs and non-dialogs?

On my English XP machine, DEFAULT_GUI_FONT is Microsoft Sans Serif and MS
Shell Dlg 2 is Tahoma. To follow the XP style Guildelines my non-dialogs
should use Tahoma font too I believe

Under Korean XP, DEFAULT_GUI_FONT is Gulim and MS Shell Dlg 2 is Tahoma. In
each case I believe I should be using Gulim (although the XP style guidelines
are silent on this matter)

I haven't found a really good article on font selection - most of them are
somewhat incomplete and some even contradict each other.
Andrew

"Mihai N." wrote:

Quote:
It sees like the default "System" font is different for different OS'es -
in
particular for Japanese,Korean,Simplified Chinese,Traditional
Chinese,Arabic,Hebrew it is
MS UI Gothic,Gulim,Simsun,PMinglu, Microsoft Sans Serif respectively.
In dialogs use the generic "MS Shell Dlg" (if OS < XP) or "MS Shell Dlg 2"
(XP or newer). For non-dialogs, use GetStockObject(DEFAULT_GUI_FONT)
In general, search MSDN for "MS Shell Dlg", "MS Shell Dlg 2" &
DEFAULT_GUI_FONT, and you will find a lot of good articles, with explanation
on how, when and why :-)

When I localize my app, should my fonts match these system fonts and how do
the XP style guidelines mutate according to culture?
Match system font. You shold use the generic fonts/API above.


--
Mihai Nita [Microsoft MVP, Windows - SDK]
------------------------------------------
Replace _year_ with _ to get the real email


Reply With Quote
  #4  
Old   
AT
 
Posts: n/a

Default Re: fonts - 09-26-2005 , 09:01 PM



Globalized font selection is a tough problem space, especially if you need
to support down-level platforms (i.e., Win9x). If you can, I recommend
finding a copy of 'Developing International Software, 2nd Edition'
(Microsoft Press). It includes a thorough discussion of international fonts
in Windows and runtime font selection.

Related online articles and resources:

Windows XP/2000 default system font
http://www.microsoft.com/globaldev/D...ault.mspx#EHAA

MLang and Font Linking
http://www.microsoft.com/globaldev/D...ault.mspx#EEAA

World-Ready Software example
http://www.microsoft.com/globaldev/tools/wrapp.mspx

Garrett McGowan [MSFT Developer International]

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
--------------------

Quote:
From: <AndrewEames (AT) discussions (DOT) microsoft.com

Subject: Re: fonts
Date: Mon, 26 Sep 2005 06:37:11 -0700
Newsgroups: microsoft.public.dotnet.internationalization

I'm pretty sure that this is not what I want - why should I want different
fonts in my dialgs and non-dialogs?

On my English XP machine, DEFAULT_GUI_FONT is Microsoft Sans Serif and MS
Shell Dlg 2 is Tahoma. To follow the XP style Guildelines my non-dialogs
should use Tahoma font too I believe

Under Korean XP, DEFAULT_GUI_FONT is Gulim and MS Shell Dlg 2 is Tahoma.
In
each case I believe I should be using Gulim (although the XP style
guidelines
are silent on this matter)

I haven't found a really good article on font selection - most of them are
somewhat incomplete and some even contradict each other.
Andrew

"Mihai N." wrote:

It sees like the default "System" font is different for different
OS'es -
in
particular for Japanese,Korean,Simplified Chinese,Traditional
Chinese,Arabic,Hebrew it is
MS UI Gothic,Gulim,Simsun,PMinglu, Microsoft Sans Serif respectively.
In dialogs use the generic "MS Shell Dlg" (if OS < XP) or "MS Shell Dlg
2"
(XP or newer). For non-dialogs, use GetStockObject(DEFAULT_GUI_FONT)
In general, search MSDN for "MS Shell Dlg", "MS Shell Dlg 2" &
DEFAULT_GUI_FONT, and you will find a lot of good articles, with
explanation
on how, when and why :-)

When I localize my app, should my fonts match these system fonts and
how do
the XP style guidelines mutate according to culture?
Match system font. You shold use the generic fonts/API above.


--
Mihai Nita [Microsoft MVP, Windows - SDK]
------------------------------------------
Replace _year_ with _ to get the real email




Reply With Quote
  #5  
Old   
Mihai N.
 
Posts: n/a

Default Re: fonts - 09-27-2005 , 04:17 AM



"=?Utf-8?B?QW5kcmV3RWFtZXM=?=" <AndrewEames (AT) discussions (DOT) microsoft.com> wrote
in news:4A3DEB5E-A67B-4029-8DD3-FB9615C59EE8 (AT) microsoft (DOT) com:

Quote:
I'm pretty sure that this is not what I want - why should I want different
fonts in my dialgs and non-dialogs?
See Garrett's post.

Quote:
On my English XP machine, DEFAULT_GUI_FONT is Microsoft Sans Serif and MS
Shell Dlg 2 is Tahoma. To follow the XP style Guildelines my non-dialogs
should use Tahoma font too I believe
You are right. It seems I am a bit behind :-)

So, correction: see SYSTEM_FONT.
From the doc for GetStockObject:

DEFAULT_GUI_FONT = Default font for user interface objects such as menus and
dialog boxes. This is MS Sans Serif. Compare this with SYSTEM_FONT.

SYSTEM_FONT = System font. By default, the system uses the system font to
draw menus, dialog box controls, and text.
Windows 95/98 and Windows NT: The system font is MS Sans Serif.
Windows 2000/XP: The system font is Tahoma

("some even contradict each other" you where saying :-)

Quote:
Under Korean XP, DEFAULT_GUI_FONT is Gulim and MS Shell Dlg 2 is Tahoma. In
each case I believe I should be using Gulim (although the XP style
guidelines
are silent on this matter)
For Korean, Tahoma becomes in fact Gulim because of font linking:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\FontLink\SystemLink


Quote:
I haven't found a really good article on font selection - most of them are
somewhat incomplete and some even contradict each other.
As Garrett sais, is a tough problem. All his links will take you to
interesting places.
And not only is it tough, is is also a moving one.
When you think you got it, something new comes out :-)

--
Mihai Nita [Microsoft MVP, Windows - SDK]
------------------------------------------
Replace _year_ with _ to get the real email


Reply With Quote
  #6  
Old   
AndrewEames
 
Posts: n/a

Default Re: fonts - 09-27-2005 , 10:29 PM



I've read these articles and they have some interesting information but
neither these articles nor others I have read seem to answer what seems like
a very basic question - namely what fonts should I use in my .NET application
which is localized and trying to follow the XP style guidelines. (Fortunately
I dont care about Win9x)

My best *guess* so far is that I should build a base class form that is
localized with the fonts below (which I extracted from the Dr. International
article) and derive all my forms from this base class form - does this seem
reasonable? That would seem to address the "default font" issue but I have no
idea how (if at all) the other elements of the XP style guidelines get
localized.

Another related issue is theming - some localized OSes use the classic theme
by default - should my app switch to the classic theme when run in those
languages under English XP?

My local bookstore didnt have the book you recommended but I guess I'll try
and find a copy.

Andrew


"Garrett McGowan[MSFT]" wrote:

Quote:
Globalized font selection is a tough problem space, especially if you need
to support down-level platforms (i.e., Win9x). If you can, I recommend
finding a copy of 'Developing International Software, 2nd Edition'
(Microsoft Press). It includes a thorough discussion of international fonts
in Windows and runtime font selection.

Related online articles and resources:

Windows XP/2000 default system font
http://www.microsoft.com/globaldev/D...ault.mspx#EHAA

MLang and Font Linking
http://www.microsoft.com/globaldev/D...ault.mspx#EEAA

World-Ready Software example
http://www.microsoft.com/globaldev/tools/wrapp.mspx

Garrett McGowan [MSFT Developer International]

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
--------------------

From: <AndrewEames (AT) discussions (DOT) microsoft.com

Subject: Re: fonts
Date: Mon, 26 Sep 2005 06:37:11 -0700
Newsgroups: microsoft.public.dotnet.internationalization

I'm pretty sure that this is not what I want - why should I want different
fonts in my dialgs and non-dialogs?

On my English XP machine, DEFAULT_GUI_FONT is Microsoft Sans Serif and MS
Shell Dlg 2 is Tahoma. To follow the XP style Guildelines my non-dialogs
should use Tahoma font too I believe

Under Korean XP, DEFAULT_GUI_FONT is Gulim and MS Shell Dlg 2 is Tahoma.
In
each case I believe I should be using Gulim (although the XP style
guidelines
are silent on this matter)

I haven't found a really good article on font selection - most of them are
somewhat incomplete and some even contradict each other.
Andrew

"Mihai N." wrote:

It sees like the default "System" font is different for different
OS'es -
in
particular for Japanese,Korean,Simplified Chinese,Traditional
Chinese,Arabic,Hebrew it is
MS UI Gothic,Gulim,Simsun,PMinglu, Microsoft Sans Serif respectively.
In dialogs use the generic "MS Shell Dlg" (if OS < XP) or "MS Shell Dlg
2"
(XP or newer). For non-dialogs, use GetStockObject(DEFAULT_GUI_FONT)
In general, search MSDN for "MS Shell Dlg", "MS Shell Dlg 2" &
DEFAULT_GUI_FONT, and you will find a lot of good articles, with
explanation
on how, when and why :-)

When I localize my app, should my fonts match these system fonts and
how do
the XP style guidelines mutate according to culture?
Match system font. You shold use the generic fonts/API above.


--
Mihai Nita [Microsoft MVP, Windows - SDK]
------------------------------------------
Replace _year_ with _ to get the real email





Reply With Quote
  #7  
Old   
AndrewEames
 
Posts: n/a

Default Re: fonts - 09-28-2005 , 09:40 AM



SYSTEM_FONT is not right either - You can't use SYSTEM_FONT from a .NET
application - it claims not to be a truetype font
Andrew

"Mihai N." wrote:

Quote:
"=?Utf-8?B?QW5kcmV3RWFtZXM=?=" <AndrewEames (AT) discussions (DOT) microsoft.com> wrote
in news:4A3DEB5E-A67B-4029-8DD3-FB9615C59EE8 (AT) microsoft (DOT) com:

I'm pretty sure that this is not what I want - why should I want different
fonts in my dialgs and non-dialogs?
See Garrett's post.

On my English XP machine, DEFAULT_GUI_FONT is Microsoft Sans Serif and MS
Shell Dlg 2 is Tahoma. To follow the XP style Guildelines my non-dialogs
should use Tahoma font too I believe
You are right. It seems I am a bit behind :-)

So, correction: see SYSTEM_FONT.
From the doc for GetStockObject:

DEFAULT_GUI_FONT = Default font for user interface objects such as menus and
dialog boxes. This is MS Sans Serif. Compare this with SYSTEM_FONT.

SYSTEM_FONT = System font. By default, the system uses the system font to
draw menus, dialog box controls, and text.
Windows 95/98 and Windows NT: The system font is MS Sans Serif.
Windows 2000/XP: The system font is Tahoma

("some even contradict each other" you where saying :-)

Under Korean XP, DEFAULT_GUI_FONT is Gulim and MS Shell Dlg 2 is Tahoma. In
each case I believe I should be using Gulim (although the XP style
guidelines
are silent on this matter)
For Korean, Tahoma becomes in fact Gulim because of font linking:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\FontLink\SystemLink


I haven't found a really good article on font selection - most of them are
somewhat incomplete and some even contradict each other.
As Garrett sais, is a tough problem. All his links will take you to
interesting places.
And not only is it tough, is is also a moving one.
When you think you got it, something new comes out :-)

--
Mihai Nita [Microsoft MVP, Windows - SDK]
------------------------------------------
Replace _year_ with _ to get the real email


Reply With Quote
  #8  
Old   
AT
 
Posts: n/a

Default Re: fonts - 09-28-2005 , 01:07 PM



If this is a Windows Form application, then the default font setting should
cover all .NET-supported languages. Windows Forms use 'Microsoft Sans
Sarif' by default, which is a logical font that maps to the appropriate
system font at runtime.

Is there a particular reason you are trying to set this programmatically?

Garrett McGowan [MSFT Developer International]

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
--------------------

Quote:
From: AndrewEames (AT) discussions (DOT) microsoft.com
Subject: Re: fonts
Date: Wed, 28 Sep 2005 06:40:04 -0700
Newsgroups: microsoft.public.dotnet.internationalization

SYSTEM_FONT is not right either - You can't use SYSTEM_FONT from a .NET
application - it claims not to be a truetype font
Andrew

"Mihai N." wrote:

AndrewEames (AT) discussions (DOT) microsoft.com wrote
in news:4A3DEB5E-A67B-4029-8DD3-FB9615C59EE8 (AT) microsoft (DOT) com:

I'm pretty sure that this is not what I want - why should I want
different
fonts in my dialgs and non-dialogs?
See Garrett's post.

On my English XP machine, DEFAULT_GUI_FONT is Microsoft Sans Serif and
MS
Shell Dlg 2 is Tahoma. To follow the XP style Guildelines my
non-dialogs
should use Tahoma font too I believe
You are right. It seems I am a bit behind :-)

So, correction: see SYSTEM_FONT.
From the doc for GetStockObject:

DEFAULT_GUI_FONT = Default font for user interface objects such as menus
and
dialog boxes. This is MS Sans Serif. Compare this with SYSTEM_FONT.

SYSTEM_FONT = System font. By default, the system uses the system font
to
draw menus, dialog box controls, and text.
Windows 95/98 and Windows NT: The system font is MS Sans Serif.
Windows 2000/XP: The system font is Tahoma

("some even contradict each other" you where saying :-)

Under Korean XP, DEFAULT_GUI_FONT is Gulim and MS Shell Dlg 2 is
Tahoma. In
each case I believe I should be using Gulim (although the XP style
guidelines
are silent on this matter)
For Korean, Tahoma becomes in fact Gulim because of font linking:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\FontLink\SystemLink


I haven't found a really good article on font selection - most of them
are
somewhat incomplete and some even contradict each other.
As Garrett sais, is a tough problem. All his links will take you to
interesting places.
And not only is it tough, is is also a moving one.
When you think you got it, something new comes out :-)

--
Mihai Nita [Microsoft MVP, Windows - SDK]
------------------------------------------
Replace _year_ with _ to get the real email




Reply With Quote
  #9  
Old   
AndrewEames
 
Posts: n/a

Default Re: fonts - 09-28-2005 , 01:27 PM



Microsoft Sans Serif != Tahoma and the XP style guidelines call for the use
of Tahoma under Windows XP
Andrew

"Garrett McGowan[MSFT]" wrote:

Quote:
If this is a Windows Form application, then the default font setting should
cover all .NET-supported languages. Windows Forms use 'Microsoft Sans
Sarif' by default, which is a logical font that maps to the appropriate
system font at runtime.

Is there a particular reason you are trying to set this programmatically?

Garrett McGowan [MSFT Developer International]

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
--------------------

From: AndrewEames (AT) discussions (DOT) microsoft.com
Subject: Re: fonts
Date: Wed, 28 Sep 2005 06:40:04 -0700
Newsgroups: microsoft.public.dotnet.internationalization

SYSTEM_FONT is not right either - You can't use SYSTEM_FONT from a .NET
application - it claims not to be a truetype font
Andrew

"Mihai N." wrote:

AndrewEames (AT) discussions (DOT) microsoft.com wrote
in news:4A3DEB5E-A67B-4029-8DD3-FB9615C59EE8 (AT) microsoft (DOT) com:

I'm pretty sure that this is not what I want - why should I want
different
fonts in my dialgs and non-dialogs?
See Garrett's post.

On my English XP machine, DEFAULT_GUI_FONT is Microsoft Sans Serif and
MS
Shell Dlg 2 is Tahoma. To follow the XP style Guildelines my
non-dialogs
should use Tahoma font too I believe
You are right. It seems I am a bit behind :-)

So, correction: see SYSTEM_FONT.
From the doc for GetStockObject:

DEFAULT_GUI_FONT = Default font for user interface objects such as menus
and
dialog boxes. This is MS Sans Serif. Compare this with SYSTEM_FONT.

SYSTEM_FONT = System font. By default, the system uses the system font
to
draw menus, dialog box controls, and text.
Windows 95/98 and Windows NT: The system font is MS Sans Serif.
Windows 2000/XP: The system font is Tahoma

("some even contradict each other" you where saying :-)

Under Korean XP, DEFAULT_GUI_FONT is Gulim and MS Shell Dlg 2 is
Tahoma. In
each case I believe I should be using Gulim (although the XP style
guidelines
are silent on this matter)
For Korean, Tahoma becomes in fact Gulim because of font linking:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\FontLink\SystemLink


I haven't found a really good article on font selection - most of them
are
somewhat incomplete and some even contradict each other.
As Garrett sais, is a tough problem. All his links will take you to
interesting places.
And not only is it tough, is is also a moving one.
When you think you got it, something new comes out :-)

--
Mihai Nita [Microsoft MVP, Windows - SDK]
------------------------------------------
Replace _year_ with _ to get the real email





Reply With Quote
  #10  
Old   
AT
 
Posts: n/a

Default Re: fonts - 09-28-2005 , 02:52 PM



If you leave the default font property value set to Microsoft Sans Serif,
the Windows Form will automatically map to the correct system font based on
the Windows language version. This means that an English language Windows
Forms application automatically uses Tahoma on Windows XP.

Garrett McGowan [MSFT Developer International]

This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
--------------------

Quote:
From: AndrewEames (AT) discussions (DOT) microsoft.com
Subject: Re: fonts
Date: Wed, 28 Sep 2005 10:27:25 -0700
Newsgroups: microsoft.public.dotnet.internationalization

Microsoft Sans Serif != Tahoma and the XP style guidelines call for the
use
of Tahoma under Windows XP
Andrew

"Garrett McGowan[MSFT]" wrote:

If this is a Windows Form application, then the default font setting
should
cover all .NET-supported languages. Windows Forms use 'Microsoft Sans
Sarif' by default, which is a logical font that maps to the appropriate
system font at runtime.

Is there a particular reason you are trying to set this programmatically?

Garrett McGowan [MSFT Developer International]

This posting is provided "AS IS" with no warranties, and confers no
rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
--------------------

From: AndrewEames (AT) discussions (DOT) microsoft.com
Subject: Re: fonts
Date: Wed, 28 Sep 2005 06:40:04 -0700
Newsgroups: microsoft.public.dotnet.internationalization

SYSTEM_FONT is not right either - You can't use SYSTEM_FONT from a .NET
application - it claims not to be a truetype font
Andrew

"Mihai N." wrote:

AndrewEames (AT) discussions (DOT) microsoft.com wrote
in news:4A3DEB5E-A67B-4029-8DD3-FB9615C59EE8 (AT) microsoft (DOT) com:

I'm pretty sure that this is not what I want - why should I want
different
fonts in my dialgs and non-dialogs?
See Garrett's post.

On my English XP machine, DEFAULT_GUI_FONT is Microsoft Sans Serif
and
MS
Shell Dlg 2 is Tahoma. To follow the XP style Guildelines my
non-dialogs
should use Tahoma font too I believe
You are right. It seems I am a bit behind :-)

So, correction: see SYSTEM_FONT.
From the doc for GetStockObject:

DEFAULT_GUI_FONT = Default font for user interface objects such as
menus
and
dialog boxes. This is MS Sans Serif. Compare this with SYSTEM_FONT.

SYSTEM_FONT = System font. By default, the system uses the system
font
to
draw menus, dialog box controls, and text.
Windows 95/98 and Windows NT: The system font is MS Sans Serif.
Windows 2000/XP: The system font is Tahoma

("some even contradict each other" you where saying :-)

Under Korean XP, DEFAULT_GUI_FONT is Gulim and MS Shell Dlg 2 is
Tahoma. In
each case I believe I should be using Gulim (although the XP style
guidelines
are silent on this matter)
For Korean, Tahoma becomes in fact Gulim because of font linking:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\FontLink\SystemLink


I haven't found a really good article on font selection - most of
them
are
somewhat incomplete and some even contradict each other.
As Garrett sais, is a tough problem. All his links will take you to
interesting places.
And not only is it tough, is is also a moving one.
When you think you got it, something new comes out :-)

--
Mihai Nita [Microsoft MVP, Windows - SDK]
------------------------------------------
Replace _year_ with _ to get the real email







Reply With Quote
Reply




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.