Mac -> Win problems

Charles Hartman charles.hartman at conncoll.edu
Tue Jul 26 17:43:42 EDT 2005


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




More information about the Use-livecode mailing list