Skip to content

1.0.0 "How Big? DAT Big."

Compare
Choose a tag to compare
@tommyettinger tommyettinger released this 14 Jul 21:45

This release is a really significant one! 1.0.0 ! About 10 and a half months since the last release, sorry about that! So, what's new...

The knownFonts/ folder is almost completely different now, and you should download any fonts you took from KnownFonts again. But this time, only a few are .fnt ! Most are .dat files, with a similar .png file associated and of course a license file you should distribute. These .dat files are compressed .json files, with the compression a somewhat-rudimentary LZ-based binary type that's GWT-compatible. The main advantage of these fonts is that they can be produced consistently, without needing significant adaptation per-font, descent fiddling, underline stretching, strikethrough shifting, and so on differently for each font. We also have a standard, msdf, and sdf version for every .dat font! You can still download the old .fnt fonts from https://github.com/tommyettinger/fonts , but you can make fonts for the future (as .json or .dat, which behave the same here pretty much) using https://github.com/tommyettinger/fontwriter . Unfortunately, fontwriter is windows-only for now, unless someone wants to build its main dependency, msdf-atlas-gen , for MacOS and/or Linux. Thankfully, .fnt files still work if that's all you can make, plus there are more .dat fonts here to use without building anything.

FWSkin is new! This is an extended Skin that loads both .fnt files and .dat/.json files produced by fontwriter (hence the FW). You can also load FreeType fonts in a Skin .json using FreeTypist, which is like the FreeTypeSkin from the Stripe library, but extending FWSkin instead of just Skin. FWSkin and its relatives load normal libGDX skin.json files, including loading the normal scene2d.ui styles, but they create Font objects whenever they create BitmapFont objects, and also create styles for TextraTypist widgets (which are nested in the Styles class here) when they create styles for scene2d.ui widgets. If you are using Skin now, you should be able to instantly drop in FWSkin in its place, or FreeTypistSkin if you need FreeType support. FreeTypist is just two files, so you don't really need the .jar files here, and can just copy the two source files if you want...

There are an alternate set of emoji, including one using line art instead of full-color, from OpenMoji. There are a few new fonts, such as the dark medieval-looking Grenze, and more variants on DejaVu Sans and Serif. There's a TextraLabel-based ListBox, which corresponds to scene2d.ui List, and allows putting emoji or other icons into ListBox items. (A SelectBox should be possible soon). When curly-brace markup such as {EFFECT} isn't a valid option (such as in I18N files), you can use [-EFFECT] to mean the same thing. Distance field font crispness should be much better, especially if you resize the distance fields using the current Viewport when resize() gets called. If crispness is a problem, you can always set a distance field font's crispness with Font.setCrispness(float), such as to 0.5f for softer edges or 2.0f for harder ones.

There's probably more I'm forgetting. There were lots of small bug-fixes enacted when I went through every test and updated them, but it's also possible something wasn't sufficiently tested and a bug snuck through. That's for a later release! Enjoy the new features now, though!