HTML font size in percentages

Paul Dupuis paul at
Wed May 25 07:36:43 EDT 2022

On 5/20/2022 4:30 PM, J. Landman Gay via use-livecode wrote:
> Thanks for verifying it Paul, that's what I was thinking too. I'm 
> looking at replacing the sizes via the style runs, I have a handler 
> Mark Waddingham gave me/us on the list last year that I think I can 
> modify.
> But I'd be grateful to see yours too. No big hurry, I just need to get 
> an idea of how to estimate my time at this point. Thank you very much.

Sorry for the delay. By some weird email glitch I only saw this list 
post today.

Anyway, here is the routine, While it works, if I was rewriting it, I 
would probably just do a loop with a match to the html font size 
attribute. This code does ensure that the size can't go below a minimum 
where LC's legacy font size values actually make the text bigger.

on ChangeTextSize pBiggerOrSmaller, pObj
   -- usage: ChangeTextSize "bigger"|"smaller",the long ID of field X of 
stack Y
   lock screen
   if len(the text of pObj) > 5000 then
     set cursor to watch
   end if

   -- Get current scaling. The textSize will be set to the effectove 
textSize + tCurScale (+1|-1)
   -- uTextScaling is defauted to 0 in the object (field) custom properties
   put the uTextScaling of pObj into tScale
   if tScale is empty then put 0 into tScale
   if pBiggerOrSmaller is "bigger" then
     add 1 to tScale
     put 1 into tCurScale
     subtract 1 from tScale
     put -1 into tCurScale
   end if
   set the uTextScaling of pObj to tScale
   put the htmlText of pObj into tHtml
   set the textHeight of pObj to empty
   set the textSize   of pObj to max(8,the effective textSize of 
   replace "size="&quote with "size="&numToChar(1500) in tHtml
   set the itemdel to numToChar(1500)
   if the number of items of tHtml <> 1 then
     put 0 into testItem
     repeat for each item theItem in tHtml
       add 1 to testItem
       if testItem<>1 then
         put offset(quote,theitem) into counter
         put char 1 to counter-1 of theItem into theSize
         put max(8,theSize+tCurScale) into theSize
         put theSize into char 1 to counter-1 of theItem
         put quote&theItem after newHTML
         put theItem into newHTML
         next repeat
       end if
     end repeat
     set the htmlText of pObj to newHTML
   end if
   unlock screen
end ChangeTextSize

More information about the use-livecode mailing list