[DejaVu-bugs] [Bug 10319] New: Java does not display correctly some glyphs

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Mar 16 10:48:44 PDT 2007


http://bugs.freedesktop.org/show_bug.cgi?id=10319

           Summary: Java does not display correctly some glyphs
           Product: DejaVu
           Version: unspecified
          Platform: Other
        OS/Version: All
            Status: NEW
          Keywords: notourbug
          Severity: normal
          Priority: medium
         Component: Sans
        AssignedTo: dejavu-bugs at lists.freedesktop.org
        ReportedBy: mathieu at thenesis.com


Hello,

I have written a program in Java to build font textures (for a video game).
Java, with J2SE 6, does not return correct informations about each glyph.
My program reported some glyphs as invalid (this means that glyph width, height
or advance are below zero or greater than the maximum specified in the font).
Some glyphs are not reported as invalid but are displayed at the wrong
position. I can send a PNG image of the generated texture if necessary.

DejaVu is the only font that does not work with my program. The bug comes
probably from the font manager in Java or it is just because Java does not
support OpenType. But it would be great if someone could fix this.

Here is the debug output for the font DejaVuSansLGC regular with size 20:

"
Requested characters: 3089
Building: data/fonts/DejaVuLGC_Sans-regular.ttf
Family: DejaVu LGC Sans; Face name: DejaVu LGC Sans; Logical name: DejaVu LGC
Sans; Size: 20
Num glyphs: 3498
Invalid character advance: codePoint=258; advance=-21506
Invalid character advance: codePoint=260; advance=-16387
Invalid character advance: codePoint=261; advance=17386
Invalid character advance: codePoint=265; advance=1024
Invalid character advance: codePoint=274; advance=-22639
Invalid character advance: codePoint=276; advance=4100
Invalid character advance: codePoint=278; advance=-7173
Invalid character advance: codePoint=288; advance=-29694
Invalid character advance: codePoint=290; advance=-29694
Invalid character advance: codePoint=293; advance=12286
Invalid character advance: codePoint=296; advance=-27647
Invalid character advance: codePoint=298; advance=-22528
Invalid character advance: codePoint=299; advance=-22528
Invalid character advance: codePoint=300; advance=-31744
Invalid character advance: codePoint=301; advance=-31744
Invalid character advance: codePoint=308; advance=-27648
Invalid character advance: codePoint=309; advance=482
Invalid character advance: codePoint=310; advance=-1023
Invalid character advance: codePoint=311; advance=-1023
Invalid character advance: codePoint=313; advance=15383
Invalid character advance: codePoint=314; advance=1021
Invalid character advance: codePoint=315; advance=15383
Invalid character advance: codePoint=317; advance=15382
Invalid character advance: codePoint=319; advance=8192
Invalid character advance: codePoint=324; advance=-1015
Invalid character advance: codePoint=325; advance=11255
Invalid character advance: codePoint=326; advance=-1015
Invalid character advance: codePoint=340; advance=-123
Invalid character advance: codePoint=342; advance=-123
Invalid character advance: codePoint=348; advance=11248
Invalid character advance: codePoint=349; advance=11248
Invalid character advance: codePoint=354; advance=22526
Invalid character advance: codePoint=362; advance=-3
Invalid character advance: codePoint=363; advance=-481
Invalid character advance: codePoint=365; advance=-27647
Invalid character advance: codePoint=368; advance=-30716
Invalid character advance: codePoint=369; advance=-7711
Invalid character width: codePoint=372; width=243
Invalid character width: codePoint=373; width=243
Invalid character advance: codePoint=374; advance=-3
Invalid character width: codePoint=375; width=24073
Invalid character advance: codePoint=483; advance=2048
Invalid character advance: codePoint=488; advance=24565
Invalid character advance: codePoint=490; advance=-5592
Invalid character advance: codePoint=491; advance=-5592
Invalid character advance: codePoint=494; advance=-24367
Invalid character advance: codePoint=500; advance=-7718
Invalid character advance: codePoint=504; advance=6174
Invalid character advance: codePoint=513; advance=32222
Invalid character advance: codePoint=515; advance=2048
Invalid character advance: codePoint=517; advance=-12551
Invalid character advance: codePoint=519; advance=1023
Invalid character advance: codePoint=523; advance=4099
Invalid character advance: codePoint=527; advance=29696
Invalid character advance: codePoint=529; advance=-8173
Invalid character advance: codePoint=535; advance=-123
Invalid character advance: codePoint=538; advance=482
Invalid character advance: codePoint=539; advance=-9217
Invalid character advance: codePoint=542; advance=21366
Invalid character advance: codePoint=543; advance=15227
Invalid character advance: codePoint=563; advance=-24102
Invalid character advance: codePoint=912; advance=12292
Invalid character advance: codePoint=939; advance=-28094
Invalid character advance: codePoint=1143; advance=-15357
Invalid character height: codePoint=1161; height=27
Invalid character advance: codePoint=1242; advance=-7747
Invalid character advance: codePoint=1246; advance=14335
Invalid character advance: codePoint=1247; advance=14335
Invalid character advance: codePoint=1262; advance=-3
Invalid character advance: codePoint=1263; advance=8198
Invalid character advance: codePoint=1264; advance=-25053
Invalid character advance: codePoint=1266; advance=-25053
Invalid character advance: codePoint=1269; advance=-25053
Invalid character advance: codePoint=7690; advance=5124
Invalid character advance: codePoint=7691; advance=-8176
Invalid character advance: codePoint=7692; advance=5124
Invalid character advance: codePoint=7698; advance=6114
Invalid character advance: codePoint=7699; advance=-7711
Invalid character advance: codePoint=7701; advance=-7711
Invalid character advance: codePoint=7714; advance=-7173
Invalid character advance: codePoint=7716; advance=-7173
Invalid character advance: codePoint=7719; advance=-7711
Invalid character advance: codePoint=7728; advance=-28661
Invalid character advance: codePoint=7729; advance=-28661
Invalid character advance: codePoint=7736; advance=13537
Invalid character advance: codePoint=7740; advance=6148
Invalid character advance: codePoint=7748; advance=13537
Invalid character advance: codePoint=7749; advance=482
Invalid character advance: codePoint=7780; advance=7864
Invalid character advance: codePoint=7782; advance=-27646
Invalid character advance: codePoint=7786; advance=7712
Invalid character advance: codePoint=7793; advance=15227
Invalid character advance: codePoint=7795; advance=-7711
Invalid character advance: codePoint=7808; advance=-7711
Invalid character advance: codePoint=7809; advance=-7711
Invalid character advance: codePoint=7810; advance=-7711
Invalid character advance: codePoint=7811; advance=-7711
Invalid character advance: codePoint=7812; advance=19464
Invalid character advance: codePoint=7813; advance=19464
Invalid character advance: codePoint=7814; advance=-7711
Invalid character advance: codePoint=7818; advance=-5493
Invalid character advance: codePoint=7840; advance=-17275
Invalid character advance: codePoint=7841; advance=-1983
Invalid character advance: codePoint=7852; advance=-3
Invalid character advance: codePoint=7862; advance=54
Invalid character advance: codePoint=7868; advance=-1983
Invalid character advance: codePoint=7898; advance=4097
Invalid character advance: codePoint=7899; advance=4097
Invalid character advance: codePoint=7900; advance=4097
Invalid character advance: codePoint=7901; advance=4097
Invalid character advance: codePoint=7905; advance=-10182
Invalid character advance: codePoint=7912; advance=-3
Invalid character advance: codePoint=7914; advance=-3
Invalid character advance: codePoint=7918; advance=-3
Invalid character advance: codePoint=7919; advance=-3
Invalid character advance: codePoint=7928; advance=1019
Invalid character advance: codePoint=8129; advance=7160
Invalid character height: codePoint=8272; height=25
Undisplayable: 81; Invalid: 118
Total texture height: 858
"

Thank you for reading this message.


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


More information about the DejaVu-bugs mailing list