textratypist

Augmented text display system for libGDX, based on typing-label

APACHE-2.0 License

Stars
90

Bot releases are hidden (Show)

textratypist - 0.6.0 "Glass Case Of Emotion"

Published by tommyettinger over 2 years ago

This release brings support for rendering TextureRegions from a TextureAtlas by name -- in practice, this means there's emoji support now! KnownFonts.addEmoji() has docs on how to do this, and the docs for markup() have been updated with the new [+🎷] syntax. There's also some major improvements to how events are timed (they're still not perfect when variables are involved, though), and also how some letters are positioned at the start of a line (like 'j' was sticking out to the left). I think this is a fairly solid release, but there are likely to be some corner-case bugs, so please report any problems you find on the Issues here, or on the libGDX Discord.

Woo, emoji! 🥳

textratypist - 0.5.5 "Like A Record"

Published by tommyettinger over 2 years ago

This release drastically improves the quality of rotations for TextraLabels and TypingLabels, especially those with backgrounds. It also lets rotations use an origin point, which I think should be useful for complex UIs. Backgrounds in Textra and TypingLabel now also set the minimum size in the same way that they do in scene2d.ui's Label, so more UIs should be compatible. This last feature also is important because it makes alignment to the top or bottom actually move the text around on the background, as opposed to before where the background was shrunk to hug the text. Just in general, a bunch of new features, and some of these were very much a challenge to implement.

Thanks as always to raeleus for keeping me going on this (I'm looking forward to another classic video!), and big thanks here to fraudo for writing LabelRotationTest and walking me through what backgrounds and rotations needed to get working.

textratypist - 0.5.4 "Royal Draconic Jubilee"

Published by tommyettinger over 2 years ago

This is a minor release that tries to fix some stubborn positioning bugs, and I believe it has succeeded in most places. Notably, many fonts in families would use very-wrong vertical position for their first line only, and now they should use the right height and position. There were several other location-related bugs that were squashed in this release, If you downloaded the known fonts for the last release (0.5.3), no font files have changed since then; if you last downloaded them before that, you should probably re-download any you use.

Rotation is partly implemented here for Labels, but isn't correct if they have a background (the BG is off-position for a TextraLabel and not rotated at all for a TypingLabel). You can use the rotation parameter of Font.drawGlyphs() to rotate a Layout relatively well, however.

Happy birthday, DragunQween, and thanks for using TextraTypist for your first game, a while ago! I hope I see more people using TextraTypist soon!

textratypist - 0.5.3 "Solid and Scaly"

Published by tommyettinger over 2 years ago

This is another bugfix release that cleans up and polishes some positioning and word-wrapping quirks, and improves some of the corner cases encountered by SquidSquad (mostly relating to grid positions). It also improves or fixes many of the KnownFonts, so you should download any Font files you use again. If you use older Font files here, there may be all sorts of display issues. It also adds the new ScaleEffect, which permanently scales text centered in-place, without changing layout.

textratypist - 0.5.2 "Awkward Positioning"

Published by tommyettinger over 2 years ago

This is numbered as a bugfix release, because it shouldn't contain any major API breaks (unless they fixed bugs), but it nonetheless was a rather significant effort. This release fixes the positioning on Font, TextraLabel, and TypingLabel, which were all often subtly incorrect in 0.5.1 (and sometimes not at all subtly wrong). It also improves most of the KnownFonts, so you should download any Font files you use again. If you use older Font files here, there may be all sorts of display issues. Underlines and strikethrough lines are thinner in this version, and though sometimes they can get close to too thin, they are always visible. Integer positioning is handled better for fonts that need it. There's just, all in all, a whole lot of fixes here.

textratypist - 0.5.1 "Super Effective"

Published by tommyettinger over 2 years ago

This release adds a lot of TypingLabel effects, and improves the support for what custom effects can do. The new effects are now visible and documented on the Tokens wiki page. They take advantage of the new ability to smoothly scale individual glyphs, and also to specify rotation per-glyph in an effect. Other than the effects, this is a minor release, and only some small bug fixes have been added (relating to size-changed or rotated text).

textratypist - 0.5.0 "Spirals Have No Corners"

Published by tommyettinger over 2 years ago

This release updates the dependency on libGDX to 1.11.0, and otherwise has a wide variety of mostly-small fixes to corner-case bugs. It does add SpiralEffect though, so there's your eye candy for the release. Another nice visual improvement (and maybe a performance boost as well) comes from how this lays out large TypingLabel items. Now the whole label has its size evaluated before any glyphs are typed, so taller glyphs that show up mid-line don't suddenly increase that line's height. This also means the widget can be laid out using its final size, rather than a changing intermediate size. Other fixed bugs include 8-digit hex colors being parsed incorrectly, very long single words breaking word wrap, incomplete effects with parameters breaking the parsing, alignment having some issues, and the color in a LabelStyle not being used by a TypingLabel. Whew. I hope this is useful!

textratypist - 0.4.0 "Widget Fidgeting"

Published by tommyettinger over 2 years ago

This release fixes several problematic bugs in 0.3.0, and also adds quite a few altered copies of scene2d.ui widgets that use Font and TextraLabel instead of BitmapFont and Label. One of the fixed bugs has to do with an incorrect minimum size for block drawing elements; when a world unit took up, say, 32 pixels, the minimum size for most details was 32 pixels, and now this has been corrected. At least one bug relating to word wrapping was fixed, mostly affecting TypingLabel. There's a new font; Bitter is a light-weight serif that looks similar to Gentium but with more stylistic flourishes on some glyphs. Various different fixes are in place that were found because of @raeleus ' hard work on a rich text entry field; the field is almost ready, but it wouldn't work at all if certain bugs hadn't been fixed. Two of these bugs affected opening brackets or braces that weren't closed; these had all sorts of problems and could sometimes freeze an app. ColorUtils has new support for HSB/HSV as well as the existing HSL support; this helps the color picker widget in raeleus' code. KnownFonts has agetStandardFamily() method that gets a copy of Gentium with all non-distance-field fonts registered in its family. Fonts can be given names that they will store, and FontFamily allows accessing fonts by those names.

In general, this is a pretty big release, but I wanted it out and stable so I can make more big updates for the next release. I am going to try to get TypingLabel to handle varying line-heights better, as well as make it use a fixed amount of space (instead of expanding as it types). I eventually want to get some form of selectable text display or even input to work, since libGDX TextArea and TextField can't function if markup is enabled in them. There is a workaround; currently you can disable markup with a BitmapFont and pass that BitmapFont to a TextraTypist Font, and then both markup will work in TextraLabels, and TextField will work with the BitmapFont.

To upgrade, I recommend getting any KnownFonts you want to use from the repo again. Some changed in various ways. There aren't any breaking API changes that I can think of.

I hope you enjoy!

textratypist - 0.3.0 "Happy Birthday Mister Zebra"

Published by tommyettinger over 2 years ago

It's time to celebrate! Text rotation is here! Some weird niche features are also here, but they improve the appearance of underline and strikethrough! But mostly text rotation is finally available to libGDX! Hooray! You will probably want to update your KnownFonts images and .fnt files, since they changed here. Future additions to the fonts should also be customized to add a block of solid white pixels into the font image, unless the underline and dash are sufficient already for underline and strikethrough. There's a BlockStamper test in the repo that can be used to add that block.

Woohoo!

textratypist - 0.2.1 "Yippee Skippy"

Published by tommyettinger over 2 years ago

The work in this release mostly consisted of cleaning up the fonts in KnownFonts (which had some naming inconsistencies and rendering artifacts in 0.2.0), but also fixed a major bug in TypingLabel.skipToTheEnd(). The bug fixed involved lines being suddenly added when skipping, but the new lines all being squashed into the same position. Because of the KnownFonts improvements (and especially because the links in the documentation all point to the current version), using 0.2.1 is strongly recommended over 0.2.0 if you use KnownFonts or TypingLabel.

textratypist - 0.2.0 "Family Matters"

Published by tommyettinger over 2 years ago

This is another big release! New here is the concept of a "font family", which provides a group of options for other typefaces that a given Font can render in one drawing call. Typically, you would create the family first, then use the first font in it as the main Font, with the family then assigned to that main Font. Most of the demos/tests include font families now, so you can take a look at FontSwitchTest or other examples to get started. There's some clean-up in the known fonts, including more support for non-distance-field fonts. Avoiding distance fields can be useful with font families, since having one Font using SDF, another using MSDF, and another using no distance field would be... tricky. Also new in this release are some fixes for unusual behavior of TypingLabel effects in some cases relating to word wrap, and more-correct behavior of Font's markup and drawing methods when curly-braced content is encountered (it should go into the Layout because TypingLabel can need it, but not be rendered).

I hope you enjoy the new features and fixes!

textratypist - 0.1.6 "Floofermelon"

Published by tommyettinger over 2 years ago

This is a much bigger release than the last one, both figuratively and literally! You can now scale text reasonably well to sizes between 0% (or more reasonably, 25%) and 375%, in-line with other text with other sizes. There's lots of other improvements, like methods in Font to extract colors, styles, scale, and chars from glyphs without bitwise magic. This can also load fonts from SadConsole's format in addition to the existing BMFont format, and has some small improvements for the block-drawing mode.

A possible breaking change is that now, instead of a ColorLookup returning a null Integer if no color was found, now it always returns a non-null int, using 256 (or 0x00000100) as a sentinel value that indicates no color was found. In RGBA8888, 0x00000100 is fully transparent and very slightly blue but almost black. There should be very few, if any, cases where 256 is needed as a valid color.

textratypist - 0.1.5 "One Cool Cat"

Published by tommyettinger almost 3 years ago

This release fixes a small, but potentially bad, bug with wrapping in a TypingLabel if the Font used kerning. It also adds nice convenience methods, one static, to Font to allow producing styled long glyphs more easily. Not much else to say!

textratypist - 0.1.4 "The Cat Came Back"

Published by tommyettinger almost 3 years ago

This release fixes several bugs across mostly TypingLabel, but also Font. Alpha wasn't rendered correctly before; only the batch alpha was used before and the glyph alpha was ignored (now they are multiplied). That fixes FadeEffect when used with alpha. A nasty bug with text wrapping while certain effects were active would have caused text to be almost-randomly duplicated in long spans on the second line and later lines in a wrapped TypingLabel (this has been fixed). Alignment is handled well in TypingLabel now; before, using center alignment would move the text to the right, and using right alignment would move it to the left, but neither would change the per-line alignment. Now alignment is respected and TypingLabel can expand from right to left for a right-aligned label, or outwards in both directions for a center-aligned one.

textratypist - 0.1.3 "Keyboard Cat's Revenge"

Published by tommyettinger almost 3 years ago

This release only exists as a quick fix before the current libGDX game jam, and only addresses an incorrect-line-break issue with TypingLabel. Some words would go onto a new line too soon, and then the Layout would be out-of-sorts with the shown text, resulting in one-word lines and extra line breaks. This seems fixed now; it may have a performance impact, but I haven't noticed one yet.

textratypist - 0.1.2 "Keyboard Cat Types Furiously"

Published by tommyettinger almost 3 years ago

This release is almost entirely a set of bugfixes needed to get TypingLabel, and to a lesser extent TextraLabel, working correctly as Scene2D widgets. This was an absolutely maddening series of fixes upon fixes, and I hope it all works, but it seems to for now. The layout system needed a lot of work, but now text will take up more vertical space as it adds lines, and will lay itself out again if the width changes. There's a vital fix for a case where very small widths for a TypingLabel could exhaust all JVM memory (because it would keep trying to find a way to break a line that couldn't be broken). Tokens are now parsed upon layout changes (but still may need to be parsed in the current places), which lets the scene2d.ui part work correctly. Lots of stuff. Big thanks to @raeleus and D.Q. for getting me going on this again.

Also, there's a ton of known fonts still, so I hope those can be useful.

textratypist - 0.1.1 "Jolt of Awareness"

Published by tommyettinger almost 3 years ago

It's another release! There are JARs here! They support styles on top of typing-label's effects! There's a JOLT effect! There's configuration for already-known fonts, and links to the fonts in this repo! You should use Gradle to get these dependencies instead!

textratypist - 0.1.0 "One Small Step"

Published by tommyettinger almost 3 years ago

It's an initial release! There are JARs here! They support styles on top of typing-label's effects! You should use Gradle to get these dependencies instead!

Package Rankings
Top 6.69% on Proxy.golang.org
Top 32.9% on Repo1.maven.org