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
  else
    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 pObj+tCurScale)
  --
  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
      else
        put theItem into newHTML
        next repeat
      end if
    end repeat
    set the htmlText of pObj to newHTML
    --
  end if
  unlock screen
end ChangeTextSize

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to