james_lohr's picture

QuickFont - Text Printing and Font Generation Library 1.0.2-final

Download: QuickFont_1.0.2_0.zip
Size: 1.52 MB
md5_file hash: f6f0fab06d9ff481fb6bf1e37b5d6b05
First released: 15 August, 2012 - 19:37
Last updated: 15 August, 2012 - 19:36

=========================== 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()
james_lohr's picture

QuickFont - Text Printing and Font Generation Library 1.0.2

Download: QuickFont_1.0.2.zip
Size: 4.39 MB
md5_file hash: d7bd21105a44e2cb55fe63d3bf6f6e0f
First released: 15 August, 2012 - 19:29
Last updated: 15 August, 2012 - 19:27

=========================== 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.
james_lohr's picture

QuickFont - Text Printing and Font Generation Library 1.0.1

Download: QuickFont_1.0.1.zip
Size: 1.52 MB
md5_file hash: 0b4338f138a17c21a2e11d8da786372c
First released: 1 January, 2012 - 17:54
Last updated: 1 January, 2012 - 17:53

=========================== 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.
james_lohr's picture

QuickFont - Text Printing and Font Generation Library 1.0.0

Download: QuickFont_1.0.0.zip
Size: 1.52 MB
md5_file hash: 6881c74b0fc152d2a44f9db65ed75c6d
First released: 1 January, 2012 - 13:01
Last updated: 1 January, 2012 - 12:32

Happy New Year!

[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.
james_lohr's picture

QuickFont - Text Printing and Font Generation Library 0.9.2

Download: QuickFont_0.9.2.zip
Size: 1.49 MB
md5_file hash: 6d072b7100ddb262074c6a097d9001e0
First released: 21 August, 2011 - 14:11

Added monospacing support. Fonts which are naturally monospaced will automatically be rendered in monospaced mode; however, one can optionally force monospacing on/off for any font using:

myFont.Options.Monospacing = QFontMonospacing.Yes;
myFont.Options.Monospacing = QFontMonospacing.No;
myFont.Options.Monospacing = QFontMonospacing.Natural; //the default : depends on whether the underlying ttf font was monospaced

One note of caution: if both monospacing and justify render options are enabled (which, of course, doesn't make sense) then justify will take priority and monospacing will not be respected. This applies to justification only. Left / right / bounded options should all work as you would expect with monospacing enabled.

james_lohr's picture

QuickFont - Text Printing and Font Generation Library 0.9.1

Download: QuickFont_0.9.1.zip
Size: 1.39 MB
md5_file hash: 707747035b6b04540a38b32a505468a4
First released: 1 August, 2011 - 14:15

Kerning pairs have been added. These are calculated at load time for both ordinary and texture fonts. This makes text look A LOT better. :)

james_lohr's picture

QuickFont - Text Printing and Font Generation Library 0.9.0

Download: QuickFont.zip
Size: 1.38 MB
md5_file hash: 79efc1d1daec9a3095b358a436748e0a
First released: 31 July, 2011 - 22:56

This is the first public release.

The solution includes a demo/tutorial and a handful of fonts.