Translate metadata to field content
Mark Waddingham
mark at livecode.com
Tue Feb 18 14:41:48 EST 2020
On 2020-02-18 19:14, J. Landman Gay via use-livecode wrote:
> Thanks for the reply guys, both Hermann and Mark, and Bernd who sent
> me materials offline. I'll be going over these suggestions to see what
> works best. The file content can be very long especially when
> separated into runs (more than 200,000 runs for an average file) so
> speed will matter since this is headed for a mobile app.
>
> I was surprised to see two things:
>
> 1. FormattedStyledText appears nowhere in the dictionary. I didn't
> know it existed.
Heh - I'd actually forgotten about it until a couple of weeks ago when I
had to write some code to independently process the each soft-wrapped
line of styled text in a field.
I half wrote some code to do what I wanted in a different way while
wishing 'if only I had implemented the formatted variant for styledText
wayback when' - then I happily remembered that I had!
If you have a moment to file an report in the QC, we can get it added.
> 2. FormattedStyledText treats some punctuation as a new run, even if
> it has not changed text style. For example, semi-colons are
> independent runs. Very odd.
Hmmm - there's no code to do that explicitly (a semi-colon is no
different from any other char!). Non-merged style runs can occur through
some script operations on a field though (the engine uses 0 length runs
sometimes as markers - they would probably cause that effect). It could
also be due to the structure of the htmlText being imported
(potentially). If you have a simple example, then I can probably say one
way or the other.
The formattedStyledText, like the styledText, is just a array version of
the data-structure the engine holds inside (although it never emits 0
length runs).
In this case that shouldn't matter though as it will be the text that
you want to count, not the runs.
Warmest Regards,
Mark.
--
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps
More information about the use-livecode
mailing list