How do you align three dynamic text objects end-to-end accurately?

Firstly, I’m not sure in which forum to stick this in so I hope that it’ll be OK here.

OK, this is going to be a really tricky one.

Imagine I have a single word of text but I want the first and last letters to be with different fonts and/or formats.

EG Highlighter = ‘H’ uses Arial, ‘ighlighte’ uses Times New Roman, and ‘r’ uses Courier

I doubt that this can be done natively in Blender.

Now this is easier if there are three text object next to each other and the text stays the same. I could easily just manually align everything. But it isn’t easy if the text was dynamic so that ‘Highlighter’ could be changed to ‘Pencil’ or ‘Stapler’ with both the first and last letter with their respective different fonts.

I still want there to be three text objects side to side but, since they would be dynamic, I need to able to have it acknowledge the individual character ‘bearings’ correctly when the word is changed.

Does anyone know how I could achieve this?

Yes, I know it’s a toughie.

Thanks in advance.

Cheers,
Paul
(mix_mash)

Edit: Changed ‘kern’ for ‘bearings’ in the original post. My mistake when initially writing the post. Oops!

Isn’t kernning in general only automatically done in ONE font ?? So if you mix fonts it always has to be done manually because there is no kernning table between every font and and every other font… (this would be an infinit ongoing work because it has to be redone for every new font)…

Sorry, I meant to say ‘bearing’ instead of kerning. I know that Blender doesn’t do kerning pairs but I forgot the right word to use. Each font character have their own natural side ‘bearings’ that Blender DOES accept.

So, my query still stands.

Sorry for the mix-up.

Paul
(mix_mash)

I thought of this too. Can’t wait to hear the responses on this one…

Anyone… Anyone… Bueller?

You can assign different fonts for Regular bold italic etc. (they do not have to correspond to bold italic etc)
So by assigning different fonts you can change the font of a letter when typing it by selecting bold, italic Regular etc:

Hi DNorman,

Yes, I did consider this but I’m trying something a bit more esoteric that could include more than just four fonts together. Kind of like the ‘Loki’ trailer but with way more letters.

But for my current project with only three fonts, using the method you suggested may not work in the way that I’d want. For example, if I would use a list of text using Animation Nodes to animate changing the text, I’m not sure if if would consider the ‘bold’, ‘italic’ and ‘bold italic’ variations. It would just be easier to use separate objects in this way.

Don’t get me wrong, I really do appreciate your feedback :grinning: but I am trying to achieve something tricky.

I have a feeling that I will not get a solution but I at least need to ask anyway, just in case, someone knows how to be extremely clever…

Thanks for your feedback, though.

Cheers,
Paul
(mix_mash)

1 Like

Maybe these nodes will help you (I do not know how to use them)

https://docs.animation-nodes.com/documentation/nodes/text/text_object_output/

Thanks for that, DNorman. That will help but only for the limit of four fonts.

I still hope that someone could help with the alignment problem, though.

Cheers,
Paul
(mix_mash)