Translate metadata to field content

J. Landman Gay jacque at hyperactivesw.com
Tue Feb 18 14:14:59 EST 2020


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.

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.

I need to do some experimentation and timing tests, but thanks to all for the responses.

On 2/17/20 6:25 PM, Mark Waddingham via use-livecode wrote:
> There’s the formattedStyledText property which is like the formattedText but in the form of a style array. If you sum the number of chars in each run up until you find your tag, then you can should be able to use the formattedheight of char 1 up to the summed index to get the vscroll you need.
> 
> Warmest Regards,
> 
> Mark.
> 
> Sent from my iPhone
> 
>> On 17 Feb 2020, at 22:50, J. Landman Gay via use-livecode <use-livecode at lists.runrev.com> wrote:
>>
>> Thanks, I'll save that for someday. In this case though, the text is wrapped and there are anchors scattered around inside paragraphs. Unless someone else has an idea it looks like I'm going to have to extract lookup tables. That's going to be quite a job.
>>
>>> On 2/17/20 3:59 PM, Richard Gaskin via use-livecode wrote:
>>> J. Landman Gay wrote:
>>>> I'm still working on htmltext in a field. There are anchors that indicate positions elsewhere in the file. A browser will automatically find and scroll to the right place in the text. I need to reproduce that.
>>>>
>>>> Is there a way to translate an anchor like "#12345" to the location in the visible field text it links to?
>>>>
>>>> I've thought of a couple of alternate ways to do it involving lookup files, but it would be better to do a direct translation to avoid the extra overhead.
>>> The closest I have doesn't account for softwraps, but FWIW:
>>> function fwAnchorTagLine pFldObj, pTag
>>>     local tA
>>>     local tLastLine
>>>     local tNumRuns
>>>     put the styledText of pFldObj into tA
>>>     put item 2 of extents(tA) into tLastLine
>>>     repeat with i = 1 to tLastLine
>>>        put item 2 of extents(tA[i]["runs"]) into tNumRuns
>>>        repeat with j = 1 to tNumRuns
>>>           if pTag is in tA[i]["runs"][j]["style"]["linkText"] \
>>>                 AND "link" is not in \
>>>                    tA[i]["runs"][j]["style"]["textStyle"] then
>>>              return i
>>>           end if
>>>        end repeat
>>>     end repeat
>>> end fwAnchorTagLine
>>
>>
>> -- 
>> Jacqueline Landman Gay         |     jacque at hyperactivesw.com
>> HyperActive Software           |     http://www.hyperactivesw.com
>>
>>
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
> 


-- 
Jacqueline Landman Gay         |     jacque at hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com





More information about the use-livecode mailing list