Fixed Width Fonts #2

Mark Swindell mdswindell at cruzio.com
Mon Jan 28 11:08:35 EST 2008


On Jan 27, 2008, at 3:54 PM, Scott Rossi wrote:

> Recently, Mark Swindell wrote:
>
>> Is there for Rev to determine which system fonts are of fixed width?
>> If not directly, then indirectly?  Comparing widths of "i" and "w" on
>> a font by font basis?  How might this work?
>
> Tried your idea using the following:  Created two 18pt text fields,  
> put "W"
> into fld 1, "I" into field 2, ran the following function:
>
>   return (formattedWidth of fld 1 = formattedWidth of fld 2)
>
> Results were false with Rev's default font, true with Monaco and  
> Apple Mono
> (OS X).
>
> Seems like a valid direction.
>
> Regards,
>
> Scott Rossi
> Creative Director
> Tactile Media, Multimedia & Design
>

Scott,

Thanks for your help.  Curious thing, though.  I created a script  
( below) which works fine when I run it line by line in the debugger,  
and _sometimes_ when I run it from a button, and then the next time 
(s), from the same button, it just chugs along and and returns  
nothing.  Any ideas?

on mouseUp
     global gFixedWidthFonts

     put empty into field "fixedWidth" of cd 1 of stack "FixedWidth"
     put "iiiii" into field "skinnyLetter" of cd 1 of stack "FixedWidth"
     put "wwwww" into field "fatLetter" of cd 1 stack "FixedWidth"

     put the fontnames into vAvailableFonts
     sort lines of vAvailableFonts

     repeat with x = 1 to the number of lines of vAvailableFonts	
         set the textfont of field "skinnyLetter" to line x of  
vAvailableFonts
         set the textfont of field "fatLetter" to line x of  
vAvailableFonts

         wait .05 seconds -- needs time to evaluate, maybe? dunno
         put the formattedwidth of fld "skinnyLetter" into vSkinny
         put the formattedwidth of fld "fatLetter" into vFat

         if  vSkinny = vFat then
             put line x of vAvailableFonts &return after field  
"FixedWidth" of cd 1 of stack "FixedWidth"
         end if

     end repeat

    put field "FixedWidth" into gFixedWidthFonts
end mouseUp


More information about the use-livecode mailing list