Font size when crossing platforms

Devin Asay devin_asay at byu.edu
Mon Feb 6 14:39:29 EST 2006


David,

On Feb 4, 2006, at 2:28 PM, David Mendriski wrote:
> I have just written an application using Dreamcard 6.5.1 which  
> drills Italian verbs in all forms.  I was very pleased with its  
> appearance on my Imac G5.  I gave it to a classmate in my Italian  
> class with a copy of DreamCard Player for PCs.  When it opened on  
> her computer, the size of the card exceeded the size of her screen,  
> losing its edges, altho it is simply centered on mine.

It sounds like your screen is set to a higher resolution that your  
classmate's. You might just ask her if she tried setting her screen  
to a higher resolution that would show the whole stack on the screen.  
If you want to check the resolution for your users' screens, the  
screenRect property will give this information. Sometimes I include a  
routine like this in my startup (for a standalone) or openStack handler:

   if item 3 of the screenRect < 800 then
     answer "Screen resolution must be at least 800 X 600 to run this  
program. " \
  & "Please change the screen resolution to at least 800 X 600, then  
launch this program again."
     quit
   end if

> The textfields were the original size, but the font in those fields  
> shrank down to barely visible.  They were 14 point fonts on my  
> computer.

Fonts are the biggest cross-platform bugaboo. In general the same  
font size will appear much smaller on Windows than Mac, partly  
because of the difference in screen density (Windows typically uses  
95 dpi screen density, whereas Mac uses 72 or 75 dpi). There is also  
a difference in the way the two platforms handle font metrics, so  
things like the text baseline are different on the two platforms. One  
way to handle font differences is to check the platform property when  
you open a stack and set the textSize differently:

   if the platform is "MacOS" then
     set the textSize of this stack to 14
   else
     set the textSize of this stack to 18
   end if

Of course it gets stickier if you have set font sizes for individual  
fields. But you can do a similar this on openCard and loop through  
all of your fields and change them on the fly.

> I also tried to create a menubar from the menubar creator.  If Mac  
> format is NOT checked  the menuitems appear in the upperleft corner  
> of the card in a small font and can be selected and opened. If Mac  
> format is selected, the items appear in REV's Menubar instead of  
> Rev's menubar  and the items (eg FILE or HELP) highlite  if  
> selected but their existing contents do not open or get exposed.   
> Can anyone PLEASE suggest what I am doing wrong?

This is how Rev handles menus. They are actually groups of buttons  
with their style set to menu and their menuMode set to pulldown. If  
you check the "Set as Menu Bar in Mac OS" box in the Menu builder it  
substitutes the menu with this group and they function just like a  
normal window. However, even though  the menu builder will construct  
the menu group and even create script "shells" for you, you must  
program the menu behavior yourself. It's worth your while to go to  
the Rev documentation, select topics, and read through the "Menus and  
the menu bar" topic.

HTH

Devin


Devin Asay
Humanities Technology and Research Support Center
Brigham Young University




More information about the use-livecode mailing list