Microsoft Visual TrueType Version 6.32 release [October, 2019]

Paul Linnerud
Paul Linnerud Posts: 39
edited October 2019 in Font Technology

Download is available here

 What’s new?

Version 6.32 [October, 2019 release]

The following are the changes since the 6.31 [October, 2018 release] release of VTT: 

  • Enhanced vertical accent placement. Update autohinter and hinting template files for enhanced vertical accent placement. Positions marks in composites with greater precision using logic similar to Res*() functions.
  • VTTShell command line tool updates. Enhance VTTShell with more complete error reporting and ability to strip TSI tables from a font that has already been compiled.
  • Prevent composite glyph definition from changing. VTT will no longer overwrite composite glyph definitions (i.e. OFFSET[] and USEMYMETRICS[] pseudo-instructions) that are inconsistent with VTT source. Instead, VTT will leave the composite definition as is in the glyf table, and report an error.
  • User interface enhancements and bug fixes.
  •     Fix point drawing problems in main view for coincident adjacent points. 
  •     Variation main view will now update after changing the CVT program and compiling.
  •     Change variation UI to allow scrolling the CVTs listed in the non-editable default instance of a variation font. 
  •     Fix bug when opening a font in VTT after closing another font when sometimes the default instance CVT data was editable when it should not have been.
  • Various bug fixes
  •     Fix reported autohinter crashing bug.
  •     Create cvar from source when compile for all programs in both VTT and VTTShell.

    «1

    Comments

    • Viktor Rubenko
      Viktor Rubenko Posts: 119
      edited October 2019
      Bug: Variation CVT Table is not editable  :#

      Does -a command recalc maxp values or only compile VTT code?
      Can I check "Disable Outline Modification" by deafult?

      Why not add autohinting to shell?
    • Paul Linnerud
      Paul Linnerud Posts: 39
      edited October 2019
      Thank you for your report.

      I have a fix to the bug that I'll propogate shortly.

      The -a command for VTTShell will recalc relevant maxp values. 

      The "Disable Outline Modification" is set by default for variable fonts. It is not set for non variable fonts. 
    • I have updated Visual TrueType to fix the variation CVT table not editable. 
      http://aka.ms/vtt

      Thanks,
      Paul 
    • I have updated Visual TrueType to fix the variation CVT table not editable. 
      http://aka.ms/vtt

      Thanks,
      Paul 
      Great, thanks.

    • Viktor Rubenko
      Viktor Rubenko Posts: 119
      edited November 2019
      Paul Linnerud said:
      Prevent composite glyph definition from changing

      So, how should I change OFFSET[r] to OFFSET[R] now? Go to source and change composite flags manually? For what purpose it was made?
    • The check is only made in a variation font. In a variation font we did not want to allow the composite signature to change because that could invalidate the variation data. We will discuss whether or not the difference between OFFSET[r] and OFFSET[R] should be included in that validation. 
    • Hello Paul. One of the things that keeps on preventing me from using any of the latest VTT versions (since 6.2 onwards) has been that Undo and Redo do not work on the Main View. I haven't seen other people complain about this so I am not sure if this is something that only happens only for me or if it's a known issue. It would be great to have Undo and Redo back though, they are essential when determining the best hinting strategy for a given design and weight. Any insights would be highly appreciated.
    • @jmsole, it looks like a bug. I'll look into it. 
      Thanks
    • Paul Linnerud
      Paul Linnerud Posts: 39
      edited November 2019
      @jmsole, I have a fix for this bug. If you provide your email, I can provide a private build for you.
    • Can you also send me one? I have three hinting projects to do that it'd be useful for :)
    • I have a suggestion:
      Add comment text to the cvt selector window

      Example:

    • I found an important problem. In a dark theme (if background color is darker than foreground color) the gamma correction is performed correctly, however in a light theme it always has that layer of distortion (as seen in most DirectWrite renderers) and the only way to fix it is to disable anti-aliasing. However, the classic GDI renderer (what Microsoft renders if ClearType is disabled) does not do any distortion. So the distorted previews of VTT are extremely misleading and hinder the ability to preview the rendered hinting result properly.
    • Here is a demonstration of the issue:


    • All relative values (~) ​​work incorrectly for both heights and widths without CTAA

    • Viktor Rubenko said:
      All relative values (~) ​​work incorrectly for both heights and widths 
      I have experienced this issue. It's also different between bilevel rendering and grayscale rendering, which is unacceptable because both are supposed to have the same outlines in full hinting. It seems like I have no choice but to use absolute cvt values and delta them.
    • Another idea: Auto cross platform deltas

      What it does is that if
      1. the outline is near a pixel
      2. the pixel is within a missing extrema

      It will move points out of the way to disambiguate the pixel, so that off-brand rendering engines that handle near-pixel outlines a bit off and/or cannot render missing extrema will render the same way, making the hinting cross platform.
    • jmsole said:
      Hello Paul. One of the things that keeps on preventing me from using any of the latest VTT versions (since 6.2 onwards) has been that Undo and Redo do not work on the Main View. I haven't seen other people complain about this so I am not sure if this is something that only happens only for me or if it's a known issue. It would be great to have Undo and Redo back though, they are essential when determining the best hinting strategy for a given design and weight. Any insights would be highly appreciated.

      I always thought this is how VTT is intended to work, to show the hinter that instructions are added and removed, but not undone.
    • Undo and Redo has been fixed but not made it to public release yet. If you would like a private build with the fix, let me know. 

    • Undo and Redo has been fixed but not made it to public release yet. If you would like a private build with the fix, let me know. 

      Can you share it, please?
    • @Viktor Rubenko, I sent you a link in a private message. 
    • Undo and Redo has been fixed but not made it to public release yet. If you would like a private build with the fix, let me know. 


      I do not want it because I prefer Visual TrueType the way it is now, where modifying instructions is not undone or redone. Perhaps there could be an option in the settings to disable Undo and disable Redo.
    • Undo and Redo are optional are you afraid of accidently invoking Undo or Redo?
    • Undo and Redo are optional are you afraid of accidently invoking Undo or Redo?
      I do not want to get addicted to useless habits. The non functional Undo and Redo should still remain.
    • I have a feature request called hinting find and replace. It's not like a simple find and replace on exported XML, because it will have features related with hinting.

      Example functionality:
      Find all vertical links of a specific cvt and disable rounding (useful for making a variation of hinting with fractional horizontal stems)
      Find all post-IUP deltas and replace them with bilevel deltas (useful for specifically fixing bilevel pixel patterns)
      Find all point deltas of a specific ppem size and remove them (useful for turning a pixel size into another thickness in pixels)
      Find all horizontal instructions and remove them (useful for making a variation of hinting)

      Etc.
    • Also I request there be the ability to add instructions to composite glyphs
    • Viktor Rubenko
      Viktor Rubenko Posts: 119
      edited August 2020
      Also I request there be the ability to add instructions to composite glyphs
      Do you mean decomposing function?
      Paul Linnerud said:
      @Viktor Rubenko, I sent you a link in a private message. 
      Thanks
    • Also I request there be the ability to add instructions to composite glyphs
      Do you mean decomposing function?
      No, that would miss the point of hinting references. I mean, there be possibility to delta the references or something
    • Viktor Rubenko
      Viktor Rubenko Posts: 119
      edited August 2020
      Also I request there be the ability to add instructions to composite glyphs
      Do you mean decomposing function?
      No, that would miss the point of hinting references. I mean, there be possibility to delta the references or something
      Isn't GlyphProgram window for this? Or you mean an ability to move components in certain sizes?
    • Also I request there be the ability to add instructions to composite glyphs
      Do you mean decomposing function?
      No, that would miss the point of hinting references. I mean, there be possibility to delta the references or something
      Isn't GlyphProgram window for this? Or you mean an ability to move components in certain sizes?
      I mean, the link and interpolate and delta options are all grayed out in glyphs with references:



      Isn't hinting referenced glyphs supposed to be a sort of an extension to hinting outline glyphs? Like, being possible to add additional deltas for referenced glyphs, such as an inline delta specific to an instance of a referenced glyph.
    • Viktor Rubenko
      Viktor Rubenko Posts: 119
      edited August 2020
      Also I request there be the ability to add instructions to composite glyphs
      Do you mean decomposing function?
      No, that would miss the point of hinting references. I mean, there be possibility to delta the references or something
      Isn't GlyphProgram window for this? Or you mean an ability to move components in certain sizes?
      I mean, the link and interpolate and delta options are all grayed out in glyphs with references:



      Isn't hinting referenced glyphs supposed to be a sort of an extension to hinting outline glyphs? Like, being possible to add additional deltas for referenced glyphs, such as an inline delta specific to an instance of a referenced glyph.
      Ability to edit base component glyphs from composite? I think this is redundant and violates the concept of composites (baseGlyph => Component, not vice versa).