[DejaVu-bugs] [Bug 50848] Seams with disjoint composite
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Thu Jun 7 08:00:08 PDT 2012
https://bugs.freedesktop.org/show_bug.cgi?id=50848
Behdad Esfahbod <freedesktop at behdad.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |freedesktop at behdad.org
--- Comment #1 from Behdad Esfahbod <freedesktop at behdad.org> 2012-06-07 15:00:08 UTC ---
More from Werner:
>> >> It depends on a flag in the glyph's data, ROUND_XY_TO_GRID, if the
>> >> subglyph's offset is given as xy values. However, for the
>> >> particular DejaVu glyph, the subglyphs all have a zero offset, but
>> >> point coordinates are rounded to integers anyways as part of the
>> >> normal rasterization process.
> >
> > Right. So I guess my question is, why are they rounded differently?
I spoke too hastily since I hadn't looked closely enough at the
subglyphs.
It's a bug in the font. The glyph ▟ consists of three elements:
<TTGlyph name="uni259F" xMin="-20" yMin="-512" xMax="1593" yMax="1576">
<component glyphName="uni2596" x="0" y="0" flags="0x1004"/>
<component glyphName="uni2597" x="0" y="0" flags="0x1004"/>
<component glyphName="uni259D" x="0" y="0" flags="0x1004"/>
</TTGlyph>
Note that the 4 in the flags value 0x1004 means ROUND_XY_TO_GRID.
Now the components. The first one is a real glyph:
<TTGlyph name="uni2596" xMin="-20" yMin="-512" xMax="786" yMax="532">
<contour>
<pt x="-20" y="-512" on="1"/>
<pt x="-20" y="532" on="1"/>
<pt x="786" y="532" on="1"/>
<pt x="786" y="-512" on="1"/>
</contour>
</TTGlyph>
The other two, however, are not:
<TTGlyph name="uni2597" xMin="787" yMin="-512" xMax="1593" yMax="532">
<component glyphName="uni2596" x="807" y="0" flags="0x1004"/>
</TTGlyph>
<TTGlyph name="uni259D" xMin="787" yMin="532" xMax="1593" yMax="1576">
<component glyphName="uni2596" x="807" y="1044" flags="0x1004"/>
</TTGlyph>
Both have the flag 0x1004, meaning that the offsets are rounded to the
grid...
The real solution is to redefine uni259F (and all other similar block
characters) having uni2596 three times as subglyphs, with proper
offsets, and with flags values 0x1000. I've justed tested it: no
gaps.
I wonder how such glaring problems can be part of one of the most used
free fonts.
Werner
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the DejaVu-bugs
mailing list