Microsoft OpenType Fonts Are Not Supported!

12 posts, 0 answers
  1. Sopheap Ly
    Sopheap Ly avatar
    12 posts
    Member since:
    Oct 2006

    Posted 19 Mar 2008 Link to this post

    I've just found out that many telerik WinForms controls (Ribbon, Menu, etc) do not support OpenType fonts which are essential for the text of many Unicode languages to render properly. Indian, Arabic and many other Asian languages depend entirely on OpenType to render. In fact, most fonts found in Windows today are in OpenType format.

    Note that OpenType is natively supported in Win 2000, XP and Vista, in all .NET controls, many third-party controls, and WPF as well. I find it odd that telerik WinForms doesn't support it.

    Resources to read if you don't know OpenType:
    http://msdn2.microsoft.com/en-us/library/ms745109.aspx
    http://www.microsoft.com/typography/otspec/TTOCHAP1.htm
    http://en.wikipedia.org/wiki/OpenType

  2. Angel
    Admin
    Angel avatar
    127 posts
    Member since:
    Sep 2012

    Posted 19 Mar 2008 Link to this post

    Hi Sopheap Ly,

    Thank you for writing us.

    We use GDI+ and the class Font, which is the default way to draw text in WinForms. The Microsoft Button also uses Font and GDI+ for drawing, so the errors that are shown for our controls are shown for Microsoft's as well - see the attached video for example.

    However, we will consider adding extended support for different types of Fonts.

    Your Telerik points have been updated for the suggestion.

    All the best,
    Angel
    the Telerik team


    Instantly find answers to your questions at the new Telerik Support Center

  3. Sopheap Ly
    Sopheap Ly avatar
    12 posts
    Member since:
    Oct 2006

    Posted 19 Mar 2008 Link to this post

    That's not true at all that Microsoft button doesn't support OpenType. I created a sample project that compare RadButton with .NET Button and RadCheckBox with .NET CheckBox. RadButton and RadCheckBox clearly don't render OpenType font while .NET controls do.

    Download and unzip CompareOpenType.zip. Install the KhmerOS.ttf into Windows Fonts folder. Then you can open the project file to investigate. You should see the same as shown in the screenshot (included compare-opentype.png). Note that You'll need a Windows Vista to see this properly, as XP has a bugged version of Uniscribe API. In any case, I've included screenshot in the zip.

    I think you might get confused with the newest Adobe OpenType specification. It's different from the currently-supported Microsoft OpenType 1.4.

    Regards,


  4. Sopheap Ly
    Sopheap Ly avatar
    12 posts
    Member since:
    Oct 2006

    Posted 19 Mar 2008 Link to this post

    I've found the culprit. Telerik controls use GDI+ while .NET controls by default use GDI to draw text. More specifically, Telerik WinForms uses the old Graphics.DrawString() as opposed to the new TextRenderer.DrawText(). That is the reason why.

    Do you find any particular reason to use DrawString() over DrawText()? I believe the proper way to display a text since .NET 2.0 is to use the new DrawText(). DrawText() is said to be 10x faster than DrawString(). All .NET controls have switched to DrawText() since .NET 2.0, so why has telerik not?

    To quote a MSDN article:

    "With the DrawText method in the TextRenderer class, you can access GDI functionality for drawing text on a form or control. GDI text rendering typically offers better performance and more accurate text measuring than GDI+."

    Regards,

  5. Angel
    Admin
    Angel avatar
    127 posts
    Member since:
    Sep 2012

    Posted 21 Mar 2008 Link to this post

    Hi Sopheap Ly,

    I must agree that we never made tests with Asian languages under Vista.
    Under Windows XP the buttons seem equal (see Buttons_XP.png) so when we made the tests we decided that the visualization is correct.

    We have our reasons to use DrawString() instead of DrawText() - there are problems with the painted text when DrawText() is used. As this issue comes to our attention now, we will consider modifications in the painting code.

    Thank you for helping us to improve the painting of non-english languages. Please, excuse us for the inconvenience caused. We have updated your Telerik points for the suggestions. Don't hesitate to contact us if you have other questions.

    Regards,
    Angel
    the Telerik team


    Instantly find answers to your questions at the new Telerik Support Center

  6. David Ching
    David Ching avatar
    11 posts
    Member since:
    Sep 2007

    Posted 24 Dec 2008 Link to this post

    Has any progress been made on this?  I am using the latest 8.1 controls, and am bothered that the GDI+ rendered text in a RadListBox is blurry.

    See attached file.  There are two red boxes.  First is the blurry text in RadListBox.  Second is the word "Jobs" in the Outlook bar.  The word "Jobs" is much more clearly rendered, and I would like the to request the option to render the text in the RadListBox (and other Telerik controls that use the inferior GDI+)

    Thanks,
    David

    Edit:  I could not figure out how to attach a file, so please see http://dcsoft.com/private/gdi_plus_listbox.png

  7. Nick
    Admin
    Nick avatar
    769 posts
    Member since:
    Sep 2012

    Posted 29 Dec 2008 Link to this post

    Hi David Ching,

    Thank you for your inquiry. We will consider moving to DrawText but this depends on coping with the painting issues Angel mentioned. I cannot give you an exact timeframe since fixing this this issue is related to a great technical difficulties and concerns changes at TPF level which will have impact at almost all controls. Nevertheless we will do our best to introduce it sooner.
    Thank you for your feedback.

    Sincerely yours,
    Nick
    the Telerik team


    Check out Telerik Trainer, the state of the art learning tool for Telerik products.

  8. David Ching
    David Ching avatar
    11 posts
    Member since:
    Sep 2007

    Posted 29 Dec 2008 Link to this post

    Thank you for the reply, Nick.  I would recommend fixing this ASAP because the fact that the text looks different in the 2 places, as well as looking blurry in the RadListBox makes our products using Telerik WinForms look unprofessional.  Together with the bug report # 173673 which I reported earlier, I hope Telerik fixes these painting issues in the next release.

    Best,
    David

  9. Nick
    Admin
    Nick avatar
    769 posts
    Member since:
    Sep 2012

    Posted 30 Dec 2008 Link to this post

    Hello David Ching,

    Thank you again for the feedback. We will try improving this functionality for Q2 2009.

    Please note that you may change the TextRenderingHints of the TextPrimitive to different modes representing compromises between performance and text quality. Use the Visual Style Builder to create a custom theme for your controls. You might want to check first how a modified TextPrimitive looks like by starting our Demo application and launching the control spy, then clicking on some control, locating some of the TextPrimitives in the tree and editing it TextRenderingHints property.

    Do not hesitate to write me back if you have more questions or comments.
     
    Kind regards,
    Nick
    the Telerik team


    Check out Telerik Trainer, the state of the art learning tool for Telerik products.

  10. David Ching
    David Ching avatar
    11 posts
    Member since:
    Sep 2007

    Posted 30 Dec 2008 Link to this post

    Sure Nick, thank you.  I did fiddle with the TextRenderingHints, and in the screen shot, it's already jacked up as high quality as it will go:  ClearTypeFitGrid (or something like that).  The point is:  for small text, even the best GDI+ looks blurry compared to GDI.   I can't for the life of me imagine why anyone would want their business applications (which use small text in forms) rendered in GDI+.

    MS has this exact same problem with WPF, and they are silent about their plans to fix it, although they acknowledge that it is a problem.

    Thanks again,
    David

  11. David A.
    David A. avatar
    124 posts
    Member since:
    Aug 2008

    Posted 14 Jun 2009 Link to this post

    Hi,

    I was curious as to if this issue has been resolved or will be resolved.  I am using the Calibri font and it does not render smoothly for several controls including radiobutton and radgrid.  It does render just fine for RadTextBox however.+

    Thank you,
    David

  12. Peter
    Admin
    Peter avatar
    1144 posts
    Member since:
    Sep 2012

    Posted 16 Jun 2009 Link to this post

    Hi David,

    We haven't switched to TextRender yet, and RadButtons are rendered by default with GDI+ API.  We plan to do major re-factoring in text rendering and introduce easier way to switch between GDI+ and GDI text renderers on TPF level. We are working on this feature as we speak. Stay tuned!

    All the best,
    Peter
    the Telerik team


    Instantly find answers to your questions on the new Telerik Support Portal.
    Check out the tips for optimizing your support resource searches.

Back to Top