Hi,
When reducing textsize by the way of the htmltext there must be a
little check added on the size itself.
When <font size="8" is reduced to <font size="7" by the handlers,
setting the htmltext will turn it into <font size="25"
(this goes back to rev 1.1.1)
Greetings,
Wouter
On 02 Jul 2005, at 21:59, Richard Gaskin wrote:
Mark Smith wrote:
So I think I've cracked it...
since the htmltext of a field includes tags only for those parts
of the text that do not inherit their attributes from their
parent, it seems to be necessary to generate the appropriate tags
for the rest of the text, as well. Not doing so produced peculiar
results. This took 157 milliseconds on the same 20000 word field.
That's some damn fine work, Mark.
Anyone beat 157ms on a block of 20,000 words with 2,000 of them
styled?
--
Richard Gaskin
Managing Editor, revJournal
_______________________________________________________
Rev tips, tutorials and more: http://www.revJournal.comm
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 sizeList is not empty then
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
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution