Thanks Björnke, Eric  and Marielle,

You all helped me.

In the mean time I got the matchChunkpart also worked out, and am putting it all together now.

I will try to make a complete textMenu example, with all the features you ever wanted,
plus a few more I hope (well, we will see about that one)

Regex can be really fun and it's not quite that difficult after all and tremendously usefull. It took me a while but I learned quite a lot, and all though I don't know every thing I am
certainly not afraid of regex anymore.

I am putting the last bits and pieces together and smooth the whole thing a bit. It's still quite experimental at the moment, but as soon as it's "descent" I will post it

In the mean time all the best.

Claudi



On Thursday, June 23, 2005, at 02:18 AM, Björnke von Gierke wrote:


On Jun 23 2005, at 00:29, Claudi Cornaz wrote:

Hi all,

I am trying to implement a text menu and need to find all the fontNames and text attributes in the selectedChunk first to update my menu and afterwards
to handle the choice.
As long as all the text has all the same attributes (bold / italic etc) it's no problem
but I need also to find all the attributes when it's mixed.

I have been trying to get the instances of <font face=" xxxx xxx - xxx" [Size="yy"] [color="#ZZZZZZ"]> to extract all the parts like, the fontname, the size and the color if applicable with matchChunk.


you could get the foregroundColor (or more aptly named the textColor) of the char. The textStyle property reports the current styles delimited by comma, if you query only one style at once. The textSize again returns mixed for a whole selection, but you can get it char per char, and it will give you exact data that way.

so for example:
  --preparation
  put empty into theColor
  put empty into theSize
  put empty into theStyle
  put word two of the selectedchunk into theStart
  put word four of the selectedchunk into theEnd
  put word -1 of the selectedchunk into theField
  --getting the actual data from the chars
  repeat with x = theStart to theEnd
put (the effective textColor of char x of field theField) & comma after theColor put (the effective textSize of char x of field theField) & comma after theSize put (the effective textStyle of char x of field theField) & comma after theStyle
  end repeat
  --now we can do whatever we want with the assembled list
  --for example to know what the dominant textSize is:
  put empty into theSizes
  --adding them up by using an array
  repeat for each item theItem in theSize
    add 1 to theSizes[theItem]
  end repeat
  --finall cleanup of the data we got
  combine theSizes using return and comma
  sort theSizes numeric by item 2 of each
  put theSizes
  --and finally you got your most used size!
  put line -1 of theSizes

hope it does what you want?
Björnke who wrote this mail
Wouter and Mark who gave some vital hints (arrays, counting, sorting)
--

http://contest.wecode.org
Now running: the first ChatRev coding contest!
sponsors:
Altuit
Andre Garzia
Fourth World
Karl Becker
Runtime Revolution
TidBITS in cooperation with eHUG

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


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

Reply via email to