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