scripting challenge: Large/Smaller text size

Buster wouter.abraham at scarlet.be
Sat Jul 2 19:50:53 EDT 2005


Also the sizeList returned by the getHSizes function should be sorted  
numeric descending  for enlarging textsize and ascending for reducing  
textsize, lest not to lose some initial size differences of 1

greetings,
Wouter

>
>> on changeTextSize inc
>>   -- make the tags that will set text to the effective textSize in  
>> force
>>   put "<font size=" & quote & the effective textSize of fld 1 &  
>> quote & ">" into openTag
>>   put "</font>" into closeTag
>>   -- get the html
>>   put the htmltext of fld 1 into ttext
>>   --this next block sets size tags for all the unsized text
>>   replace "</font>" with "</font>" & openTag in ttext
>>   replace "<font size=" with closeTag & "<font size=" in ttext
>>   replace closeTag & closeTag with closeTag in ttext
>>    --ugly, i know, but I could'nt see a better way
>>   put openTag after char 3 of ttext
>>   -- puts openTag after the intial <p> tag
>>   --now get all the size values from the size tags
>>   --via the getHSizes function
>>   put getHSizes(ttext) into sizeList

       if inc < 0 then sort sizeList numeric ascending    #####
       else sort sizeList numeric descending    #####

>>   if sizeList is not empty then
         if "8" is among the lines of sizeList and inc > 0 then
              beep
              exit to top
          end if
>>     repeat for each line L in sizeList
>>       put quote & L & quote into pSize
>>       put quote & L+inc & quote into nSize
>>       replace "<font size=" & pSize with "<font size=" & nSize in  
>> ttext
>>     end repeat
>>   end if
>>   set the htmltext of fld 1 to ttext
>> end changeTextSize



>> function getHSizes tt
>>   put empty into sizeList
>>   -- turn each tag into an item
>>   replace "<" with numToChar(28) in tt
>>   replace ">" with numToChar(28) in tt
>>   set the itemDelimiter to numToChar(28)
>>   repeat for each item i in tt
>>     if "font size=" is in i then
>>       --if the item is a font size tag then
>>       --get the value inside the quotes ie font size="14"
>>       put offset(quote,i) +1 into startChar
>>       put offset(quote,i,startchar) into endChar
>>       put char startChar to (startChar + endChar -1) of i into fSize
>>       if fSize is not among the lines of sizeList then put fSize &  
>> cr after sizeList
>>     end if
>>   end repeat
>>   return char 1 to -2 of sizeList
>> end getHSizes
>> Cheers,
>> Mark




More information about the use-livecode mailing list