james_lohr's picture

QuickFont - Text Printing and Font Generation Library 1.0.2-removed binaries

First released: 15 August, 2012 - 19:34

=========================== 1.0.2 ===========================

[Bug Fixes]

  • When TransformToViewport is enabled for a font, but QFont.Begin/End are not called, the font will now be rendered at the correct size
  • Measuring text no longer sets the color and binds the texture, nor does it set a blend function
  • Reload() method added for reloading a qfont objects. This is useful when using pixel-perfect fonts which need to be regenerated when changing the screen resolution.
  • QFont now correctly implements IDisposable correctly. Note: QFont objects should be explicitly exposed by the application if it required that the underlying OpenGL textures be freed during runtime.

[API Changes]

  • Removed QFont.RefreshViewport(). In its place, the following have been added which add additional functionality and flexibility:
  • Added QFont.InvalidateViewport() - Invalidates the viewport cached by QFont, causing it to be read again on the next QFont.Begin()
  • Added QFont.ForceViewportRefresh() - Forces QFont to refesh its cached viewport immediately
  • Added QFont.PushSoftwareViewport(Viewport viewport) - Pushes a Viewport defined by the application. This is faster than InvalidateViewport() / ForceViewportRefresh() and allows you to render to an FBO with a viewport different to that of the screen.
  • Added QFont.PopSoftwareViewport()

=========================== 1.0.1 ===========================

[New Features]

  • Compatible with .Net 2.0 +

=========================== 1.0.0 ===========================

[New Features]

  • TransformToCurrentOrthogProjection configuration option. This allows pixel-perfect text to be rendered at a size consistent with the current orthogonal projection, independent of screen resolution.
  • PushOptions(), and PopOptions() methods. Each QFont object now has a render options stack. This makes reusing the same QFont with different render options significantly cleaner.
  • CharacterKerningRules kerning configuration option. Manually configure kerning rules for particular characters
  • TextGenerationRenderHint builder configuration option. This allows the render hint used to generate texture fonts from ttf files to be set.
  • AlphaEmptyPixelTolerance kerning configuration option. When measuring the bounds of glyphs, and performing kerning calculations, this is the minimum alpha level that is necessary for a pixel to be considered non-empty.
  • LockToPixelRatio render option. This allows text to smoothly transition between being locked and unlocked to pixel positions. Useful for smoothly transitioning between moving and static text.
  • RefreshViewport static method call. It is necessary to call this when changing viewport settings. This is necessary for efficieny reasons.

[Bug Fixes]

  • Underscore, quote and double quote characters will now kern properly
  • Fixed limitation on downscaling texture fonts (previously glyphs could overlap, throwing an exception)
  • Fixed bug where fonts with empty glyphs caused QFont to crash
  • Fixed bug in RetargetGlyphRectangleInwards causing an invalid pointer dereference
  • Fixed bug whereby it was not possible to set the opacity of the drop shadow

[API Changes]

  • QFont constructors no longer take a QFontShadowConfiguration. Instead this is now a member of QFontBuilderConfiguration.
  • The QFont.FromQFontFile factory methods now takes a QFontLoaderConfiguration. This contains a QFontShadowConfiguration.
  • Both QFontBuilderConfiguration and QFontLoaderConfiguration now contain a QFontKerningConfiguration as a member.