Home End User
New Blog Posts: Merging Reports - Part 1 and Part 2

Czech Support

edited January 2005 in End User
Hello,

I have a client, in Prague, who is using an aplication that's includes
Report Builder to design and produce custom reports. We are not concerned
about the lanaguage of the IDE. That is, the application is for english
speaking users; however, we are concerned about correctly producing Czech
output.

This application contains a couple of tools that produce report output:

One tool (not rb) successfully produces the correct Czech output when the
end-user choose to render the output in a font named "Arial CE". I believe
this stands for "Arial Cetral Eurpeon". I don't know much more about this
font, other than it apears tooproduce the correct output in times that
"Arial" doesn't.

The primary problem with RB is that the end-user does not appear to be able
to choose "Arial CE". That is, when designing custom reports/labels with RB
the pull-down font list does not include "Arial CE" and therefore we can't
test to see if this will produce correct output. When we choose "Arial" we
get the same incorrect output that the other produces when using "Arial".

Can you please explain?

Kindest Regards,

Rick.

Comments

  • edited January 2005

    There is a class called TppFontList located in ppUtils.pas. TppFontList is
    responsible for building a list of available fonts. Internally this class
    calls the Windows API EnumFontFamiliesEx function. This functions returns
    all of the fonts that are valid for the specified device context.

    You can try setting Report.PrinterSetup.PrinterName to a different printer
    and then see whether that make a difference as to which fonts are available.

    And you can trace the code in ppUtils.pas for TppFontList.CreateList and
    EnumFontFamiliesExProc, which is the call back routine.


    --
    Nard Moseley
    Digital Metaphors Corporation
    www.digital-metaphors.com



    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited January 2005
    Hello, I am czech Delphi developer and I hope I can help you.
    To produce correct czech output in Windows you need to draw text using code
    page Windows 1250.
    For 16-bit applications and for few 32-bit ones that use "old" methods to
    display their output you can use "Arial CE" substitution. In fact this tell
    the GDI to use east europe charset of Arial font (see registry
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
    NT\CurrentVersion\FontSubstitutes).
    For 32-bit applications that don't use UNICODE (like Delphi Win32
    applications) you must specify character sets. For our country it is 238
    (Delphi constant EASTEUROPE_CHARSET). You must setup this in design time of
    the report (however you can do it by program in your code).
    Each text output control must have Font.Charset := EASTEUROPE_CHARSET. Than
    it will produce correct czech output.
    For .NET applications you don't need to take care about this, they use
    unicode and don't have any of these problems.

    Regards, Igor Gottwald

    "Rick Hazell" p??e v diskusn?m p??sp?vku
  • edited January 2005

    Thanks for sharing that info. :)

    --
    Nard Moseley
    Digital Metaphors Corporation
    www.digital-metaphors.com



    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
This discussion has been closed.