Accessing the size of individual 3d text characters via Python?

Am I correct that there’s currently no way of accessing/changing the size of individual 3d text characters via Python? There’s the object.data.body_format[0].kerning for example, where you can access individual character’s kerning values, but nothing for the size of the character.

It would be hugely useful to be able to do that, and preferably to be able to set drivers for that property. It would enable a non-destructive, non-AnimationNodes way of making the very basic ramping scale text effects, which would be a game-changer for me at least…

When we some day get to Everything nodes it would of course be even more handy, but even without EN I’d be so happy to be able to write a script that sets up the drivers!

Scale them… works a treat, object.scale, or object.delta_scale = Vector((2, 2, 2)) for example.

Or put drivers on the scale transforms…

EDIT:

Or you can change the object’s dimensions obj.dimensions.x = 4 for example, this just changes the X dimension.

Oh, I meant scaling individual characters, not the whole text object. But thanks!

One solution is to break up the text object into multiple ones, so that each character is one object, but it’s unnecessarily complicated to set up, and would mean that it requires a re-run every time you want to update the text :neutral_face:

You could store the text as a string then re-create a text set automatically from the characters in the string…

That’s true, but it just feels like a very complicated and performance-heavy way to do a thing that could be a lot simpler if there was just one or two more properties exposed in the Python API… Does anyone know who of the developers has worked with text objects? :slight_smile:

Sorry for digging this thread up, but I’d really like to know more about this thing. Here’s the question again:

Am I correct that there’s currently no way of accessing/changing the size of individual 3d text characters via Python? There’s the object.data.body_format[0].kerning for example, where you can access individual character’s kerning values, but nothing for the size of the character. Am I potentially missing something?