Glyph Text in LC7 Won't Wrap
Scott Rossi
scott at tactilemedia.com
Sun Mar 15 18:18:08 EDT 2015
Which is exactly what the stack I posted does, but is not the problem in
my case. The text I’m working with is tab delimited.
Regards,
Scott Rossi
Creative Director
Tactile Media, UX/UI Design
On 3/15/15, 3:10 PM, "Richmond" <richmondmathewson at gmail.com> wrote:
>The whole point of my stack was to wrap a long string that contained NO
>spaces.
>
>Richmond.
>
>from my jail-broken, recycled iPad 1
>
>
>On 16 Mar 2015, at 00:03, Scott Rossi <scott at tactilemedia.com> wrote:
>
>>
>> On 3/15/15, 1:10 PM, "Richmond" <richmondmathewson at gmail.com> wrote:
>>
>>> On 15/03/15 21:53, Scott Rossi wrote:
>>>> I have a text field that is filled with tab delimited glyph characters
>>>> from an icon font (FontAwesome). The field wraps as expected in LC
>>>>6.7,
>>>> but displays all characters on a single line in LC 7.0.3 regardless of
>>>> the
>>>> dontWrap setting. The dontWrap property works because if I place
>>>>Roman
>>>> text in the field, it wraps as expected.
>>>>
>>>> This seems due to the new Unicode text handling, but now how now do I
>>>> get
>>>> the field to wrap its glyph character text?
>>>>
>>>> Thanks & Regards,
>>>>
>>>> Scott Rossi
>>>> Creative Director
>>>> Tactile Media, UX/UI Design
>>>>
>>>>
>>>>
>>> http://forums.livecode.com/viewtopic.php?f=6&t=10810&start=30
>>>
>>> Richmond.
>>
>>
>> The bottom line is one shouldn¹t have to do anything like this when text
>> is separated by spaces or tabs. Text should wrap automatically.
>>
>> That said, if using LC 6.5 or later, you can do what you show in your
>> stack much more dynamically by using something like the measureText
>> function within a resizeControl handler. Unlock your source field, and
>> add the following script to the field:
>>
>> on resizeControl
>> local theWrappedText
>> put width of me into myWidth
>> put margins of me into myMargins
>> subtract item 1 of myMargins from myWidth
>> if item 3 of myMargins is not empty then
>> subtract item 3 of myMargins from myWidth
>> else subtract item 1 of myMargins from myWidth
>> put text of me into myText
>> replace return with empty in myText -- RESET TEXT
>> lock screen
>> put 1 into S
>> repeat with N = 1 to number of chars of myText
>> put measureText(char S to N of myText,me) into theLineWidth
>> if theLineWidth > myWidth then
>> put return after theWrappedText
>> put N into S
>> end if
>> put char N of myText after theWrappedText
>> end repeat
>> set text of me to theWrappedText
>> unlock screen
>> end resizeControl
>>
>> You also make the field wrap instantaneous by placing the field in a
>>group
>> and triggering the wrap from resizing the group since groups generate
>>the
>> resizeControl message while they¹re being resized. A sample of this has
>> been uploaded to your post in the forum.
>>
>> Regards,
>>
>> Scott Rossi
>> Creative Director
>> Tactile Media, UX/UI Design
>>
>>
>>
>>
>>
>> _______________________________________________
>> 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
More information about the use-livecode
mailing list