Text overwriting itself in non wrapping field
Richard Gaskin
ambassador at fourthworld.com
Fri Mar 18 16:57:31 EDT 2022
David V Glasgow wrote:
> Fixed line height didn’t fix the problem but thanks for the
> suggestion.
>
> However, looking more closely there are 3 visible characters where cr
> should be. They are â9u except 9u is constant and the first
> character is almost always there, but varies wildly. Often an
> underscore but also accented a, e or u. Even more weirdly, if
> I search the field for ‘9u', several lines are found, but not any
> in the mutant line.
>
> And yet more weirdly again, when the line is displayed in a field
> with wrap true, the weird three characters appear at the beginning
> of ‘new lines’ except they are not actually new lines because they
> highlight as a single block. An invisible form feed? or something
> else between 9 and u that a wrapping field decides is a wrap point
> but confuses the hell out of a non-wrapping field?
>
> If I thought this was just a weird one off, I would shrug my shoulders
> and move on.
>
> Shall I do that, and we will never speak of this again?
That would deny us a satisfying ending to a good mystery. Let's see if
we can address it.
I think there are two issue here: display rendering, and errant data.
The display rendering may be caused by the length of the line. As you
noted, it's unusually long (thanks to the errant data), and I know
there's a limit to how many characters can reliably be rendered on a
single line. My understanding is that it's much shorter than the 64k
limit for performing operations on lines in variables.
Maybe display limits rendering to the magic 32k limit imposed on other
rendering like groups? If the m-square of the text is > 3px (likely
more like 10), and there's 10k of text in that line, the resulting width
would exceed 32k px to render.
You can test that hypothesis by attempting to display a single line of
the same with using the same font and size but with clean characters to
see how it renders. If it doesn't appear similarly munged, please let us
know.
That would leave us with the second item, the errant characters in that
data, which appear to be the reason that one line is so unusually long.
Where does the data come from, and how it is assembled? Is there any
way to check the data source to see if erroneous data was somehow
introduced there, and merely carried forward to your LC app?
--
Richard Gaskin
Fourth World Systems
Software Design and Development for the Desktop, Mobile, and the Web
____________________________________________________________________
Ambassador at FourthWorld.com http://www.FourthWorld.com
More information about the use-livecode
mailing list