bugFree UCS Outline Fonts - Bugs: bug #49046, Problem with some...

 
 

bug #49046: Problem with some inverted/mirrored characters

Submitter:  David Lasher <dlasher>
Submitted:  Sat 10 Sep 2016 12:14:55 AM UTC
   
 
Category:  font metrics Severity:  3 - Normal
Item Group:  screen rendering Status:  Non-bug
Privacy:  Public Assigned to:  Stevan_White
Open/Closed:  Open Release:  * development
* Mandatory Fields

Add a New Comment Rich Markup
   

Sun 11 Sep 2016 06:48:40 PM UTC, comment #5: 

Well researched, David!

As I guessed, they do know about the issue, they know their software does inconsistent and wrong things in this circumstance, and rather than fix the problem, they issue a statement.  But this was long after the flag was introduced in the TrueType standard.

So OK, now I know.  And now I have a test script.  (This would be a nice thing for FontForge to catch.  Sigh.)

And now we no longer trigger this Microsoft bug.

Steve White <Stevan_White>
Group administrator
Sun 11 Sep 2016 02:11:53 PM UTC, comment #4: 

Following up on a couple of things:

My OS is Windows 7, so this is not just an XP thing.

Re my mention of mirrored glyphs; sorry, I was thinking that the Open O was a mirrored, rather than rotated, C.

About it being a bug; the TrueType (OpenType) spec at https://www.microsoft.com/typography/otspec/glyf.htm says "Note that the behavior of the USE_MY_METRICS operation is undefined for rotated composite components." I suspect that Microsoft would say there can't be a bug when the official specs say that there is no correct behavior, and that fontmakers shouldn't do undefined things.

Thanks for fixing.

David Lasher <dlasher>
Sat 10 Sep 2016 02:40:22 PM UTC, comment #3: 

As the utility (and evidently, the meaning) of the USE_MY_METRICS bit is unclear for rotated glyphs, and inasmuch as Windows XP is a nominal target for this product, I have swept the bug under the rug. 

As to the moral obligation to inform upstream: I cannot believe they don't already know about this.  In fact, I would be surprised if they haven't enshrined it as a feature.

Find in SVN also a new test script.

Thanks again!

Steve White <Stevan_White>
Group administrator
Sat 10 Sep 2016 06:37:04 AM UTC, comment #2: 

My main Windows machine has been down for a while, so I can conveniently see this only in a VM running Windows XP.  I can confirm that MS ClearType, at least, shows this problme.  Which version of Windows are you using?

In fact, the effect in Notepad is not simply to reverse the character width.  It just goes crazy.  Probably some other bad logic is involved.

These are all characters that contain rotated (not mirrored) references to other characters, and in each case the metrics of the references has been given the "use my metrics" flag. 

This flag means the width of the character should be the same as that of the original.  This is to ensure all the glyphs based on a single glyph to have the same width as the original -- e.g. all the glyphs with the letter 'e' would stay the same, even if the original were tweeked.  It's very useful in some places.

This looks like a non-FreeFont bug.  It's a bug in the font rendering software.

I could go through and uncheck all of these cases -- finding all of them would take some work.  I don't think there's much harm in this, in itself, and I may yet do so.  The usefulness of this feature for these few rotated letters is limited.

BUT.  The bug is in the rendering software. This behavior is simply a mistake.  I wonder if many of the products you mention aren't using the same rendering layer.

I'm surprised LibreOffice would behave this way even on Windows.  I thoght it had its own font rendering layer.  And I have yet to find anything running on Linux that behaves this way (including LibreOffice 5).

To make changes only changes in FreeFont, would not "fix" the bug.  It would be to work around a bug in some other software.  It would be to sweep the bug under the rug.  Somebody should inform the right people.

Thanks for pointing this out, David!
Let me know what you think!

Steve White <Stevan_White>
Group administrator
Sat 10 Sep 2016 12:18:29 AM UTC, comment #1: 

Make that the third attachment for Character Map and the second attachment for Fontographer setting.

David Lasher <dlasher>
Sat 10 Sep 2016 12:14:55 AM UTC, original submission:  

In some programs, some rotated or reversed characters (such as the duodecimal digits U+218A U+218B) reverse the direction of text, sort of like they have "negative width".

The first attachment is from LibreOffice in Windows, comparing how Free Serif and George Douros's Symbola font display the same string. Free Serif has reversed direction after the duodecimal digits, causing overlapping characters. The same thing also happens in Notepad, Serif PagePlus, and other programs, but not in WordPad.

The second attachment shows another symptom; the inverted v, w, and y of Free Sans have very bad alignment in Character Map.

I have done some testing in Fontographer to find the cause. Apparently, when you make a character that references another, with "use my metrics" checked, then mirror or rotate that reference (attachment 3), the resulting TTF has this horizontal positioning bug. Unchecking "use my metrics" appears to fix the character. I think the "use my metrics" setting is only for composite characters.

I have found these characters to be affected, there may be more:
Free Sans 028C-028E 02B4 1D09 1D10 1D19 1D44 1D4A 1D4E 1D53 1D5A 1D77 1DA3 1DBA 2094 218A-218B
Free Serif 0186 02B4 1D44 1D4A 1D4E 1D53 218A-218B

David Lasher <dlasher>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by Stevan_White (Posted a comment)
  • -email is unavailable- added by dlasher (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-09-10 Stevan_White StatusNone Non-bug
        Assigned toNone Stevan_White
    2016-09-10 dlasher Attached File- Added Screenshot - 2016-09-09 , 03_13_02.png, #38466
        Attached File- Added Screenshot - 2016-09-09 , 03_25_33_ver001.png, #38467
        Attached File- Added Screenshot - 2016-09-09 , 00_53_17_ver001.png, #38468

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code