Skip to Content

Possible font metrics issue with Arial under Windows 8.1, Windows 10

I develop reports in Crystal for a large Windows desktop application. (Our application ships with about 1300 standard reports developed in Crystal.) The application uses the Viewer provided by the Crystal runtime engine in order to display the reports.

I'm experiencing a text clipping problem in my reports as displayed in the Viewer.

The problem occurs when I run our application under Windows 8.1 or Windows 10, but not under Windows 7. Below is a pair of screen shots. The first shows the problem under Windows 10. The second shows the same report under Windows 7, where the symptom does not occur.

Windows 10:

Windows 7:

Interestingly, the problem seems to occur only when the text is right-aligned in the text box, and only when the text includes three or more '1' (numeral one) characters in sequence. You can see in the examples above that dummy SSN values that contain substring '111' exhibit the symptom; others do not. These dummy SSN values are field objects in the report. Likewise, you can see in the examples above that static text values (eg: '1112') that contain substring '111' exhibit the symptom; other static text objects do not (eg: '112'). I've tested with various string values, but have been able to cause the symptom reliably only when my string contains '111'.

The problem does not occur in the Crystal designer (on my Windows 7 development machine), only when the report is displayed in the runtime's Viewer (on a Windows 8 or Windows 10 machine). I'm sorry that I cannot say whether the problem would manifest in the Crystal designer under Windows 8.1 or 10; I can't test for that.

We distribute and use the following runtime engine with our application:

SAP Crystal Reports runtime engine for .NET Framework (32-bit), Version 13.0.10.1385

That version of the runtime engine was used for the screen shots above.

I've also tested with the latest runtime engine (13.0.17.2096) and the same symptom occurs, although it seems slightly less pronounced.

The font is Arial. I've also tested with Times New Roman, and the same symptom occurs although it is considerably less pronounced.

Both Arial and Times New Roman fonts were revised for the Windows 8 release. For instance, the version of Arial released with Windows 7 was v5.06; the version of Arial released with Windows 8 was v6.80. Arial is a default font for Windows, and thus has "locked font metrics" (see Fonts and text metrics (Windows)). Accordingly to the Microsoft page I've just cited, "because the reported values associated with these fonts are locked, there may be discrepancies between reported and actual font values." I read this as an indication that Arial (among other "locked" fonts) may report metrics about itself that are inaccurate given a history of revisions, redrawings, etc.

This report, like all standard reports in our application, is saved with the printer set to 'Microsoft XPS Document Writer', because that printer is generic and present on all Windows computers. (That generic setting precludes a lengthy timeout that would otherwise occur on a user's computer as it searches in vain for a printer that exists on my network (here at work) but not on the network in the user's workplace.) I've also tested by saving a different printer in the report (HP Officejet Pro 8600), and found that the symptom persisted.

I'm hoping that someone might have some insight into the cause of the problem and might be able to offer suggestions for a remedy.

To summarize my testing so far:

1. Problem occurs under Windows 8.1 or Window 10, but not Windows 7.

2. Problem manifests when a certain text string is used ('111').

3. Problem occurs whether the source object in the Crystal designer is variable (data field object) or static (text object).

4. Problem occurs in multiple versions of the runtime engine, including the latest.

5. Problem is particularly pronounced with Arial font.

6. Problem occurs for various printer designations in the Crystal file.

Thank you for your attention and assistance.

Win10.JPG (76.7 kB)
Win7.JPG (75.8 kB)
Add a comment
10|10000 characters needed characters exceeded

Related questions

1 Answer

  • Best Answer
    Posted on Jul 27, 2016 at 09:24 PM

    Hello,

    Not surprising as you discovered the differences in the fonts themselves.

    Likely due to usp10.dll that we use to format the fonts.

    For the printer issue it should not be a problem in SP 17 and make sure you check on Dissociate, that way it will not look for that specific printer and only uses the setting from that family of printers.

    Can you attach one of the reports that shows this? I'll test it also and see if I can find a work around.

    To attach save the report with dummy data and then rename it to *.txt and use Advanced Editor to attach the report.

    Curious if you have tried New Courier since it's space specific, each character uses the exact same amount of space.

    Don

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.