Text Formatting Workarounds?
J. Landman Gay
jacque at hyperactivesw.com
Wed Apr 22 15:44:55 EDT 2009
Scott Rossi wrote:
> In the past, I always thought it was a simple matter to set the font specs
> of the card or stack and have fields inherit the settings, but it seems in
> all my 3/3.5 stacks this doesn't work any more. Rev seems to apply
> formatting based on the platform on which the stack was saved, and then
> promptly loses the specs when the stack is opened on another platform (the
> font/size properties read correctly, but the text doesn't display correctly,
> often shrinking down to some weird size/font).
> Setting font specs of a field by script doesn't seem to do anything and in
> some cases compounds the problem since, for example, attempting to change
> the font or size of text will only change the textheight of field,
> positioning the text improperly in the field.
Like Jim, I meant to answer sooner too, but better late than never...
I don't think anything has changed in 3.0/3.5, but there are some
general gotchas to be aware of when relying on font inheritance.
If you set the textfont, textstyle, or textsize of a stack (or card),
fields will inherit those settings provided the field has no other
formatting of its own. However, if you set the font *style* of a field
or any text in it, the engine arbitrarily sets the textfont and textsize
of the whole field to the currently displayed font and size. If you open
the stack on a different platform, these text settings remain. The only
way to ensure inheritance is not to set any textstyles on fields or
individual text runs. (This may also apply to textsize, I can't remember.)
This didn't used to be the case, but was changed years and years ago in
MC. When I want styled text that still uses inheritance, I save the
styled htmlText as a custom property and load that when the field is
displayed. This allows setting a stack-based font and size at startup,
and the htmltext shows styled text strings without disrupting the
It isn't pretty, I wish we still had the old way where fonts were not
dependent on other text settings. One of the other repercussions of this
is that setting a font for any object (stack, card, field) wipes out
both the size and styling entirely. It used to be we could set the font
independently while still retaining current size and styling, but that's
been long-gone for a while.
Jacqueline Landman Gay | jacque at hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
More information about the use-livecode