Advanced Text formatting

A common request these days seems to be having a sentence with similar formatting like the below:

The current time is 10:30PM

It becomes quite clunky to do this currently, as you have to have each part in a separate Text TOP, then do some calculations to composite them back together correctly.

I’m not sure the best way to handle this in the ideal world, whether it’s using a beefed up version of the specification table options on the Text TOP that allows you to set font files as well as the x, y, and text, or some way of settings flags in the text itself through Python.

  • one to advanced Text TOP

when building UI and navigational environments this is really important.

For example, when using databases to fill a text TOP via field DAT, sometimes the text box needs to expand based on line quantity, or characters.

Hyphenation and language support would also be nice :slight_smile:

Ya, data displays driven by APIs are so common now and designers are wanting to show more and more variable data in ways they’re used to doing with mixed typefaces and such. Would really save a ton of time to have a bit more flexibility with Text TOP.

I agree, but there’s so much potential complexity in text formatting that we might be better off using the HTML renderer that’s been shared on the forum.

Oh, which one is that? I must have missed it.

I think David’s referring to the headless phantomjs script, saving an image out to a .png and loading that in.


Of course, your awesomium project would work as well to render text,

Also, I’ve seen a C++ project to take HTML text markup and create a texture out of it - perhaps that could be converted into a C++TOP.

For interoperability with web-standards- such as being able to use CKEditor to create the text, save it to a database, and have touch render it, it’d be great to have a text-rendering engine based off of html.

It seems like a CEF(chromium embedded framework) TOP would fix a number of issues -

  1. displaying dynamic web content, and
  2. displaying formatted html-standard text, if desired.

And while the awesomium project works well for dynamic content, it is a performance hog, and it looks to be a discontinued project at this point - it’s using an old chromium engine.

While a CEF node would be very, very useful ( my personal #1 request) I could see an additional lighter-weight text rendering node be viable. Some options could be .RTF, SVG text in the SVG node, or perhaps just extending the current text node with more markup options.

Bumping this thread as i’m curious if there have been any new techniques or developments folks have been using for this sort of thing?

In terms of a possible new feature, +1 for a beefed up specification DAT that integrates some sort of markup or other ability to tweak the settings at a per-letter level… would make managing these types of formatting layouts much more organized and fun :slight_smile:

I´m just working on a project where I need advanced text formatting including emojis.
For me the way to go now is with the web render Top.

I need to render quite a lot of text every few seconds and this is where it can get complicated. The web render top is asynchrone and you need to wait a couple of frames until the texture is ready.

Also what i just noticed, if you have multiple graphics cards installed, it looks like the rendering of the web TOP always happens on the graphics card used for the “main screen”. This introduced quite some delays, when the main rendering happend on my other graphics card.


def a +1!

+1 for more configurable options in Specification DAT for Text TOP.
It would be super cool if user could do “parameter overrides” inside of Specification DAT. It would then be possible to override color, bold, italics, etc. per letter / word… Each column could represent name of parameter (just like x and y works right now). No override would happen if value would be empty. :slight_smile:

I would like to add to this: Ability to set a text rotation angle, or even just a “Flop”-esque option, like what’s in the Flip TOP, so that we can more easily make vertical text.