Mac -> Win problems

Charles Hartman charles.hartman at conncoll.edu
Tue Jul 26 19:34:08 EDT 2005


On Jul 26, 2005, at 6:43 PM, J. Landman Gay wrote:

>> PROBLEM 1: On WinXP, the cursor disappears whenever I mouse onto  
>> a  stack.

>> ....

> If you could add your comments to the bug report, the team might be  
> able to track it down. I don't think it depends on the stack  
> itself, since those people who report the problem say they have it  
> no matter what stack is opened. But maybe you can work with the RR  
> guys to determine if there is a system setting or something that is  
> responsible.

OK, I added a confirming comment, with a tiny bit more detail.

>> PROBLEM 2: in "answer" commands, the choices I specify are there,  
>> but  they're in reversed order.

> As others have mentioned, the HIG for each OS is different. So I  
> don't think it is really a bug, since it is correct that the last  
> button you list (the default button) should be on the left on a  
> Windows box. If you do decide to write platform-specific code, be  
> ready for one side or the other to notice. Windows users think the  
> Mac order is backwards.

I see the point. OK, the platform-checking code isn't especially  
onerous -- if I had a lot of "answer" dialogs I suppose I could write  
a wrapper command. (Someday would it be nice to have pre-built cross- 
platform wrappers for the basic Transcript commands?)

>> PROBLEM 3: One interactive tutorial works like this: In Courier  
>> (for  the sake of monospaced alignment between lines) there's a  
>> line of  text, with a line of marks over it. The marks, in  
>> various  combinations at various times, are covered up by opaque,  
>> borderless  fields, which are hidden (revealing the mark below) in  
>> response to  mouse-clicks. But on WinXP, though the font is the  
>> same (Courier  New), the size is different! So the mark-hiding  
>> fields don't cover  their marks.
>
> Right, you are up against one of the most common cross platform  
> issues. Fonts of the same name and size are not identical on  
> different operating systems. One way to manage this is to find  
> (usually by trial and error) a size on one machine that matches a  
> different size on another. (Dar has done some experiments with this.)

Do you know if those results are available anywhere? A table of  
comparative text-widths would be very handy,  at least for me.

> Mac fonts are often wider, so for example, if your Mac is using  
> Courier 12, you might find a match on Windows by using Courier 10  
> or 11. You might have to juggle textheights the same way. Once you  
> get the right sizes, you can run a quick preopencard handler that  
> sets each field's textsize and/or textheight to whatever it needs.

I'm already doing a preOpenStack in the main stack to set the two  
fonts (one proportional, one monospace) according to what's available  
on the runtime system. If I knew the right sizes it sounds as though  
I could make the text fit the fields, backwards as that sounds. Time  
for a lot of rolling the chair from one machine to the other, I guess.

> One other thing you could do, if there is enough room, is just make  
> your cover fields large enough for the worst-case font size.

In many cases that would presumably work. Here, though, I have a lot  
of finicky little fields. An example (I hope this comes out in  
Courier after transmission):

   /     x  |x   /  | x   (/)| x    /   | x   /
  Why should I blame her that she filled my days
   x    /|x(/)| /   x | x    /  | x   /
  With misery, or that she would of late . . .

The marks get revealed -- the fields hiding them get hidden -- in  
stages (one stage per card): first the / and x marks over  
polysyllabic words, then the / marks over stressed monosyllables,  
then the rest of the x and / marks, and finally the | marks. Within  
each of these stage, order is determined by user. So I think I have  
to work with shrinking the text instead.

Many thanks for your careful & thoughtful advice.

Charles




More information about the use-livecode mailing list