The preview would be in the font tab - the only other tab besides properties.
My script was untested. I wasn't sure if you could get the current text position or not. The only problem with basing it on the character position & offsetting it from that is that the offset will be incorrect if character scale changes as it will be even higher or lower based on character scale. What you could do is use a bit of math & query the characters current scale value to calculate the required offset to always keep it correct.
local t = {} -- create blank table
t["Tom"] = 380 -- offset for text at 100% scale
t["Barry"] = 270 -- shorter character example (same as above)
function adaptedTextPosition(text)
-- show texts of character Hero 10 pixel below character position
local owner = text:getLink(VTextOwner)
if owner:getId().tableId == eCharacters then
local pos = owner:getPoint(VCharacterPosition)
pos.y = pos.y - math.float((Characters[owner:getName()].CharacterSize / 100) * t[owner:getName()])
text:setValue(VTextPosition, pos)
return true
end
return false
end
registerHookFunction("setTextPosition", "adaptedTextPosition")
...in theory it should select offset from the table based on 100% character scale from owner name & the calculate offset based on current character scale value. Also untested code.