Cort, I see where you're going here... but I think making text formatting stuff available for alternate runtimes is going to need to be a big discussion and a big architectural change. Flash's TextFormat is very flash-specific and quirky. Right now, LzTextFormat is a dumb wrapper around Flash's TextFormat. When we want to upgrade or alternate-runtime-ify our rich text api, we should take a step back and create a new class based on a better, more standard character/paragraph description; probably CSS's text properties.

The LzTextFormat object is not a complete shield from Flash oddness. Flash exports invalid html for rich text. The html it exports has weird units, invalid HTML, and a TextFormat tag that doesn't mean anything in standard html. David Nault has written a Java transcoder that fixes Flash's html. Right now, doing richinputtext.getHTML() gives you bad flash HTML.

The flash TextFormat object describes both character and paragraph formatting, and it's _horrible_. Paragraph formatting for an entire paragraph is drawn from the first character in the paragraph. This causes major problems when inserting a newline in the middle of a paragraph. The current RTE has split up the handling of character formatting and paragraph formatting, and it needs to be split up even more. Basically, paragraph formatting using TextFormat is very broken, and it's the source of many user-visible RTE bugs.

css does exist in an internal version, and I've been using it a ton on Laszlo Mail. Anybody know when the plan is to integrate css over to dev?

-ben

On Dec 2, 2005, at 7:26 AM, Cortlandt Winters wrote:

There is a textformat object. I don't know of a textformat tag in flash7 or 8, but after reading your note I checed the Flex2 alpha docs and they do have one. Apparently they use it just for blockindent, leading, leftmargin, rightmargin and tabstops, so they are using the textformat tag just for the paragraph level properties of what used to be the textformat object (which like the lztextformat is appled via script only). I can see the logic in this as it's that paragraph level stuff that one most wants to be able to access programmatically via the cursor position, so this way they can just search the hierarchy for the enclosing textformat object when someone wants to realign a paragraph with nothing selected. I cant say that I'm wild about that name though. If it's just going to be paragarph formatting it should be <paragraphformat>

In terms of how this relates to laszlo syntax, a good thing about having a textformat tag (or a combination of <fontformat> and <paragraphformat> which would make sense too) is that rather than use the html tags for text that might cause confusing incompatabilities between dhtml and flash rendered html text, the difference in capabilities are pointed out by their different names and the need to translate true html text to a flash renderable version is given a name and a place in the system. That way if somebody creates a dhtml laszlo app and then decides they need to add sound and try to retarget the flash player, they will more easily be able to get in there and see what is changing the output and where. It might be annoying to make the switch, but at least it won't be confusing. An example would be, say, the font size, where the flash font size implies pixel size and html font size = a relative big picture value. I hope I'm being clear, I'm trying to type this out quickly in order to get back to work.

Hope this helps and isn't confusing,

-Cort

On 12/2/05, Henry Minsky <[EMAIL PROTECTED]> wrote: Note that Flash 7 (or is it Flash 8?) has a <textformat> tag which is supposed to be one of the legal tags supported in HTML text content, by the TextField object. I haven't
actually tried it, but it is documented in the Macromedia docs.






On 12/2/05, Cortlandt Winters <[EMAIL PROTECTED] > wrote: Hi Guys,

I might be missing something here, but I'm thinking that even if it's not the case today, the tag might be usefull in a couple of ways down the road that fits well with the laszlo way of doing things such as to have a declarative way of styling of initial text.

<LzTextFormat name="joe" bold="true" italics="false" ... etc />

<richinputtext name="rich" width="300" height="100" multiline="true" textFormat="joe"> "Use setTextFormat to set several formatting attributes at once declaratively."
</richinputtext>

Or as a way of declarativly styling sections of text. (There could be some mistakes in this example when it comes to what the syntax of this should look like, I'm just thinking out loud)

<textstyle name="regular" bold="true" underlined="false" color="..etc />
<textstyle name="underlined" bold="true" underlined="false"...etc />

<richinputtext name="rich" width="300" height="100" multiline="true">
<LzTextFormat textstyle="regular">Use setTextFormat to set</ LzTextFormat>
  <LzTextFormat textstyle="underlined">several</LzTextFormat>
<LzTextFormat textstyle="regular">formatting attributes at once."></LzTextFormat>
</richinputtext>

Somthing like this will probably be the goal especially when css is implemented, won't it? I'm also thinking that having that tag has the potential to make it easier to protect users from Flash's underlying textformat quirks and gives the programmer more control over individual nodes in order to handle crazy things like the align handling than embedding font tag text into a string.

Just thinking out loud.

Thanks for everything you are doing, I hope to check out the current version more closely soon.

-Cort


On 12/2/05, John Sundman <[EMAIL PROTECTED] > wrote: D'oh!

Actually, although that's an obvious point, it never occured to me.

I'll make sure it's made more clear in the documentation. Actually the
Developer's Guide doesn't even have a full chapter on scripting (it
merely has a short tutorial).  I guess it's about time I wrote one.

jrs

PS: I like your idea about alllowing the .js suffix.

On Dec 1, 2005, at 4:51 PM, P T Withington wrote:

>>
>
> If it is meant to only be used in script, then it should be defined in
> script.  Then you won't get the magic parallel tag interface.
>
> <script>
>   function LzTextFormat () {
>     ...
>   }
> </script>
>
> Perhaps we should also allow files consisting solely of script to have > a .js suffix, but I don't think that is required to solve this issue.

_______________________________________________
Laszlo-dev mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-dev


_______________________________________________
Laszlo-dev mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-dev





--
Henry Minsky
Software Architect
[EMAIL PROTECTED]


_______________________________________________
Laszlo-dev mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-dev

_______________________________________________
Laszlo-dev mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-dev

Reply via email to