scripting challenge: Large/Smaller text size
Mark Smith
mark at maseurope.net
Sat Jul 2 20:43:39 EDT 2005
Good points. I knew a check for limits would be necessary, but I hadn't
considered the implications of the sizeList being unsorted.
Mark
On 3 Jul 2005, at 00:50, Buster wrote:
> 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
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
>
More information about the use-livecode
mailing list