indestructible-type / Bodoni

Bodoni* by indestructible type*
http://indestructible-type.github.io/Bodoni.html
SIL Open Font License 1.1
152 stars 5 forks source link

Asterisk renders incorrectly on Windows (GDI, DirectWrite) #19

Closed jgimness closed 4 years ago

jgimness commented 4 years ago

This affects the upright styles, TrueType glyphs only. I've tested on GDI, DirectWrite, and my own rendering engine.

asterisk

TTX dump of glyph

<TTGlyph name="asterisk" xMin="286" yMin="1016" xMax="2311" yMax="3244">
      <component glyphName="quotesingle" x="-635" y="1483" scalex="0.5" scale01="-0.866" scale10="0.866" scaley="0.5" flags="0x4"/>
      <component glyphName="quotesingle" x="3232" y="2777" scalex="-0.5" scale01="0.866" scale10="-0.866" scaley="-0.5" flags="0x4"/>
      <component glyphName="quotesingle" x="-229" y="3482" scalex="-0.5" scale01="-0.866" scale10="0.866" scaley="-0.5" flags="0x4"/>
      <component glyphName="quotesingle" x="2826" y="778" scalex="0.5" scale01="0.866" scale10="-0.866" scaley="0.5" flags="0x4"/>
      <component glyphName="quotesingle" x="1704" y="4129" scale="-1.0" flags="0x4"/>
      <component glyphName="quotesingle" x="893" y="131" flags="0x4"/>
      <instructions>
        <assembly>
          PUSHB[ ]  /* 2 values pushed */
          0 1
          PUSHW[ ]  /* 1 value pushed */
          1483
          PUSHB[ ]  /* 1 value pushed */
          53
          CALL[ ]   /* CallFunction */
          PUSHB[ ]  /* 2 values pushed */
          1 1
          PUSHW[ ]  /* 1 value pushed */
          2777
          PUSHB[ ]  /* 1 value pushed */
          53
          CALL[ ]   /* CallFunction */
          PUSHB[ ]  /* 2 values pushed */
          2 1
          PUSHW[ ]  /* 1 value pushed */
          3482
          PUSHB[ ]  /* 1 value pushed */
          53
          CALL[ ]   /* CallFunction */
          PUSHB[ ]  /* 2 values pushed */
          3 1
          PUSHW[ ]  /* 1 value pushed */
          778
          PUSHB[ ]  /* 1 value pushed */
          53
          CALL[ ]   /* CallFunction */
          PUSHB[ ]  /* 2 values pushed */
          4 1
          PUSHW[ ]  /* 1 value pushed */
          4129
          PUSHB[ ]  /* 1 value pushed */
          53
          CALL[ ]   /* CallFunction */
          PUSHB[ ]  /* 2 values pushed */
          5 1
          PUSHB[ ]  /* 1 value pushed */
          131
          PUSHB[ ]  /* 1 value pushed */
          53
          CALL[ ]   /* CallFunction */
        </assembly>
      </instructions>
    </TTGlyph>
EwonRael commented 4 years ago

this is likely because the asterisk is a composite glyph, made from combining six rotated apostrophes. I will make it a stand alone shape and that should fix the issue.

EwonRael commented 4 years ago

Hi!

Can you check to see if Bodoni* 2.2 is still creating these rendering issues?

I tried to fix them

Thanks!