This is a migrated thread and some comments may be shown as answers.

About the hard coded fonts and font sizes in the Metro/Windows8 theme

6 Answers 437 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
hwsoderlund
Top achievements
Rank 1
hwsoderlund asked on 23 Oct 2012, 12:31 PM
We have several clients who are still running Windows XP. They do not have the Segoe fonts on their machines. This means that they get the default Silverlight font where  the font sizes become much larger. We would like to have more control over this, both regarding the font sizes and the fonts themselves. You already have a mechanism in place where the colors in the Metro theme are set in a central location and can be dynamically changed at runtime, using the MetroColors/Windows8Colors class. Would it be possible for you to introduce a similar mechanism for the font families and the font sizes used in the theme? I have to say it feels a little silly that the only way to change a basic thing like fonts and font sizes is to recompile all the theme templates. None of your other themes have hard coded values like this, why the Metro/Windows 8 theme? Or is there a simple solution to this problem that I am missing?

/Henrik

6 Answers, 1 is accepted

Sort by
0
Kalin Milanov
Telerik team
answered on 25 Oct 2012, 08:10 AM
Hi,

Our current Modern theme (formerly Metro) is using some of the principles laid out by Microsoft. Those employ a lot of fonts sizes and are strictly tied to the Segoe UI (and its variations) font which we chose to embed in the theme.

That said there is a way to change those fonts even at runtime to something of your liking. 
You can see this in action here:
http://demos.telerik.com/silverlight/salesmanagerdashboard/
Click on the options button (gearbox at the top right) then the button which says customize, then the one which says text. You will see a list of fonts which you can choose from and change at runtime. I have also attached screenshot.

If you are wandering how we did this you can download the source code of this application. It can be found under your account. 

Let me know if you find any difficulties with that.

Greetings,
Kalin Milanov
the Telerik team

Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

0
hwsoderlund
Top achievements
Rank 1
answered on 25 Oct 2012, 10:11 AM
Thanks for the tip about the sales manager demo. I checked it out, and it uses the same technique that we have been using for quite some time now to swith the font in our entire application at runtime. The problem is that it does not work for the more complex controls. In the demo app it works fine, but if you use that technique with a control like RadScheduleView there is hardly any effect at all. This is because the font settings are nested so deep in the control templates that the only way to change them is to recompile all the controls templates, switching out the fonts. While that is possible, it will quickly become a nightmare when you guys decide to update the control with a new template. For each upgrade of RadControls we would have to completely rewrite our custom templates as well. I suspect the situation is the same with the other more elaborate controls like RadDiagram, RadGanttView, possibly RadGridView and RadTreeListView etc.

While I understand the reason you have for handling the fonts differently in the Metro/Windows8 theme, it came as a real surprise to us that they did not work the same as in the other themes. Also, as I understand it the use of Segoe as the primary font is a recommendation by Microsoft, but not an absolute requirement. I found this article by Arturo Toledo which seems to confirm just that. Even though he is not currently employed by Microsoft, he used to be, and should know what he is talking about. The interesting bit is at the middle of the page.
http://ux.artu.tv/?p=247

Just as an example, I doubt that the Windows App Store people would reject an app targeted for children just for using Comic Sans, or some other "fun" font. Of course that does not apply to Silverlight applications, but the example is still relevant regarding the use of fonts in the Metro design guidelines.

I seriously think you should consider rewriting the Windows8 theme and make it possible to dynamically swap the fonts used. I realise that you use two, three, maybe four of the different Segoe variations, but surely it cannot be that tricky to bind the FontFamily properties to a static class, similar to MetroColors? If I then wanted to use Comic Sans for all of the variations I could just go ahead and set them all to the same font. A similar mechanism could be written to handle the font sizes.

My main concern with this is that we have a large array of customers, and they all have different needs. The application that we develop is an e-learning suite used by all sorts of organizations and schools. So far we have no customer requirements to adapt it for younger children, but if that need comes up and they want Comic Sans we would like to be able to accommodate that need, no matter how ugly a font Comic Sans is. A more probable example would be if a client wants to use a custom font to comply with their own internal design guidelines. We have actually had that request from a client but it was not a priority one requirement so we never pursued it then.

A couple of more questions:
1. In your last reply you refer to the former Metro theme as the "Modern" theme. But in the code it is called the Windows8 theme. Are these the same thing? I just want to make sure we are not missing anything.

2. You are saying that the Segoe fonts are embedded in the theme? It does not look like that to me. When I use JustDecompile to extract the templates it is FontFamily="Segoe UI" all over the place. Surely, if the fonts were embedded it would be something like FontFamily="Fonts/segoeuil.ttf#Segoe UI Light"?
0
Accepted
Kalin Milanov
Telerik team
answered on 02 Nov 2012, 08:18 AM
Hello,

I apologize for the late reply. I took the extra time of discussing your issue with the development teams. Ultimately it was decided not to include any additional functionality regarding the font management and sizes at this time. 

I am sorry for any inconvenience this is causing you.

As per your questions:
1. The theme indeed is called Windows8.
2. You are absolutely right. The Segoe UI fonts are used as is as we have no distribution rights for them. Unfortunately those are not available for Windows XP and prior.

Greetings,
Kalin Milanov
the Telerik team

Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

0
hwsoderlund
Top achievements
Rank 1
answered on 05 Nov 2012, 11:09 AM
Ok, thank you for taking the time to discuss this with the dev team. The answer is of course disappointing to us as we feel that the current "Metro" theme is flawed by its lack of flexibility regarding fonts and font sizes. I guess we will have to modify the templates after all.

/Henrik
0
Mike
Top achievements
Rank 1
answered on 13 Nov 2012, 08:03 PM
Henrik / Kalin,

Just to add my wholehearted support to Henrik's request for easier customisation of Metro/Windows8 style fonts (I have already created a support ticket with a similar response). This is causing me a considerable amount of grief from my main customer and also a considerable amount of additional work because of the reasons outlined above.

I am very surprised that the development team at Telerik does not consider this a feature worth implementing? Or at least centralise the hardcoded values in one location where it can be easily changed for all controls in one go. I don't imagine this task taking very long at all?

Mike

0
hwsoderlund
Top achievements
Rank 1
answered on 15 Nov 2012, 08:37 AM
I am quite surprised by this too. Especially since it is such a radical departure from the other themes, where it has always been possible to customize the fonts. And I have to say I agree with Mike, from what I can see in the Windows8 theme templates it really shouldn't be that hard to implement this. @Telerik: Please reconsider this request, it would make things so much easier for us.

/Henrik
Tags
General Discussions
Asked by
hwsoderlund
Top achievements
Rank 1
Answers by
Kalin Milanov
Telerik team
hwsoderlund
Top achievements
Rank 1
Mike
Top achievements
Rank 1
Share this question
or