On Jul 26, 2005, at 4:11 PM, Phil Davis wrote:
Even if you use Courier New and you find the Win and Mac equivalent
textSizes, you'll still encounter the issue of different text
origin points in the field on the respective platforms. (By 'origin
point' I mean the x:y coordinate within the field where you would
find the bottomLeft pixel of the first character in the field.)
OK, thanks. But how _do_ I find the real text size? The textSize
property just gives it in points, and those are pretty clearly not
equivalent cross-platform. Is there a text-size-in-pixels function
I'm missing somewhere? (Especially text _length_ -- that's where I'm
getting into trouble.)
If I had that, I could -- per platform -- figure the size of a bit of
(Courier) text and adjust all the "hiding" fields accordingly, though
it would sure be a chore.
You can manage the text origin issue a couple of ways:
- you can apply one set of field margins for Mac and another for
Windows.
- you can position the field at different locs on the different
platforms.
- you can display a screenshot of the field and not the field
itself. This is my current favorite, because it's air-tight as long
as (1) you're only dealing with screen displays, not printing, and
(2) the displayed text will never need to be selected or edited by
the end user. This option also lets you use whatever font you like,
without regard to cross-platform anything.
If I understand what you're suggesting there at the end, it has the
same problem as the other solution I thought of: having alternative
versions of the text field in question, and replacing the initial
version (hey, presto) with a new one each time a button is pressed.
But it runs into a problem combinatorial explosion. If one card has
(say) four "hiding" fields to be hidden (revealing the underlying
marks), I have no way to predict the order in which the user will
click the buttons to do each of them. So I would need, just for that
card, sixteen versions of the field. Same with screenshots, as far as
I can see. Since there are several dozen cards in this section of the
stack, that's beginning to look like drudgery on a scale I can't afford.
I hope my description of the situation makes sense.
The solution I was trying to instantiate is one that worked quite
simply in HyperCard (a thousand years ago). Of course that wasn't
cross-platform.
Charles
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution