[Cuis-dev] Fix for VectorCanvas>>#image:at:
Juan Vuletich
juan at cuis.st
Wed Jun 14 16:17:58 PDT 2023
Oh, yes. Well, the solution was to create a new TextAttribute class,
named ShoutDisable. It seems to work OK and is now at GitHub.
Cheers,
On 6/14/2023 1:04 PM, Luciano Notarfrancesco via Cuis-dev wrote:
> Juan, actually setting normal emphasis on printIt breaks it, because
> the text looses any subscripts and superscripts that it might have :/
> What do you think we should do?
>
> On Tue, 6 Jun 2023 at 21:35 Luciano Notarfrancesco <luchiano at gmail.com
> <mailto:luchiano at gmail.com>> wrote:
>
> Nice, that’s simpler and more general than setting the color, thanks.
>
> On Tue, 6 Jun 2023 at 21:21 Juan Vuletich <juan at cuis.st
> <mailto:juan at cuis.st>> wrote:
>
> Hi Luciano,
>
> I did a few tweaks. Instead of TextColor dominating any Shout
> Attribute, I made TextStyle normal do that. Additionally, the
> final $. is added without any attribute, so whatever follows
> it is back to normal. Just pushed it to github.
>
> Thanks,
>
>
>
> On 6/6/2023 1:47 PM, Luciano Notarfrancesco via Cuis-dev wrote:
>> Hi Juan,
>> Here are the changes. I've been using it like this for a few
>> days. It's very nice that the syntax highlighter doesn't get
>> confused with printIts... I like it, and I think I'll
>> continue using it like this, unless we come up with other
>> better ideas.
>> Still I've been experiencing some problems, sometimes
>> underscores are not converted to arrows, and sometimes the
>> syntax highlighter seems to stop working. I suspect the color
>> attribute I put might be spreading to the text I type into
>> the workspace, but I'm not sure, my workspaces tend to get
>> very messy so there might be other reasons.
>> (It seems the clock is wrong in my computer, I just noticed
>> the wrong date in the change set name, sorry)
>>
>> On Tue, Jun 6, 2023 at 11:04 PM Juan Vuletich <juan at cuis.st
>> <mailto:juan at cuis.st>> wrote:
>>
>> Did this work well? Would you post your code?
>>
>> Thanks,
>>
>> On 6/2/2023 12:28 PM, Luciano Notarfrancesco via Cuis-dev
>> wrote:
>>> Ah, great, I’m trying a mix of both approaches: I
>>> enclose it in double quotes and add a dot at the end,
>>> and also set the color to the default text color so
>>> shout doesn’t color it as a comment. I’ll use it like
>>> this for a while and see how it feels, and see if there
>>> are still any problems with coloring or underscores.
>>>
>>> Thanks!
>>> Luciano
>>>
>>> On Fri, 2 Jun 2023 at 16:31 Juan Vuletich <juan at cuis.st
>>> <mailto:juan at cuis.st>> wrote:
>>>
>>> My previous answer is completely wrong, because I
>>> conflated two issues you raised.
>>>
>>> Your solution works well to avoid styling the result
>>> of a printIt as if it was Smalltalk code. But it
>>> doesn't address the other issue you raised, that is,
>>> after that point, the styling of the rest of the
>>> workspace is messed up.
>>>
>>> My suggestion (modifying #printIt to enclose the
>>> result in double quotes) actually addresses both
>>> issues: comments are not styled, and smalltalk code
>>> after them is styled correctly. Maybe we'd push this
>>> instead? Perhaps we'd also tweak the style so it
>>> doesn't look like comments, but the main point is
>>> that parsing will be correct afterward. We could
>>> also add a dot after the comment, maybe that makes
>>> Shout happier in case you forgot to type it.
>>>
>>> The real fix would be to shout from scratch after 2
>>> empty lines. That was the intended behavior some
>>> time ago, and it works for coloring but not for
>>> assignment arrows. Fixing this is a bit more
>>> complicated. so I'd sugges opening an issue on
>>> GitHub so we don't forget.
>>>
>>> Thanks,
>>>
>>>
>>> On 6/2/2023 11:36 AM, Luciano Notarfrancesco via
>>> Cuis-dev wrote:
>>>> Last week I did the change to enclose printIt
>>>> output in double quotes, and I used it like that
>>>> for a couple of days. I didn’t really like it, but
>>>> perhaps I’m just not used to it. It colored the
>>>> printIt output with the gray color that I use for
>>>> comments, and for some reason it didn’t feel right
>>>> to me.
>>>>
>>>> Another thing that seems to cause problems with
>>>> highlighting is my habit of neglecting to type the
>>>> last dot in the last sentence, because it’s
>>>> optional in Smalltalk and I never type it… but then
>>>> it confuses the syntax highlighter, even if I leave
>>>> several empty lines between fragments of code, it
>>>> seems.
>>>>
>>>> It’s weird that my change doesn’t work for you. I
>>>> just tried it in the latest image and it doesn’t
>>>> seem to work, but it works in my project image and
>>>> I can’t figure out why it fails in the stock image.
>>>> See the attached change set. I guess it would be
>>>> more correct to change TextColor>>dominates: adding
>>>> "or: [other isForShout and: [self isForShout
>>>> not]]", or something like that... but still, why
>>>> doesn't it work? If some part of the text has
>>>> attributes that dominate over shout attributes it
>>>> shouldn't change them, right? Is this a bug?
>>>>
>>>> BTW, I'm not pushing to adopt my change, I don't
>>>> know yet what's the best solution.
>>>>
>>>>
>>>> On Fri, 2 Jun 2023 at 15:23 Juan Vuletich
>>>> <juan at cuis.st <mailto:juan at cuis.st>> wrote:
>>>>
>>>> Please see inline.
>>>>
>>>> On 6/2/2023 10:09 AM, Juan Vuletich via
>>>> Cuis-dev wrote:
>>>>> I couldn't get that idea to work. Would you
>>>>> attach a changeset?
>>>>>
>>>>> In any case, another simple but maybe less
>>>>> comfortable solution is to enclose the result
>>>>> in double quotes, making it comment.
>>>>>
>>>>> Thanks,
>>>>
>>>> Of course the above is completely wrong,
>>>> because I conflated two issues you raised.
>>>>
>>>> Your solution works well to avoid styling the
>>>> result of a printIt as if it was Smalltalk
>>>> code. But it doesn't address the other issue
>>>> you raised, that is, after that point, the
>>>> styling of the rest of the workspace is messed up.
>>>>
>>>> My suggestion (modifying #printIt to enclose
>>>> the result in double quotes) actually addresses
>>>> both issues: comments are not styled, and
>>>> smalltalk code after them is styled correctly.
>>>> Maybe we'd push this instead?
>>>>
>>>>
>>>> Thanks,
>>>>
>>>>>
>>>>> On 6/2/2023 7:23 AM, Luciano Notarfrancesco
>>>>> via Cuis-dev wrote:
>>>>>> Oh, just after sending this email I gave it
>>>>>> another try and found a simple solution. In
>>>>>> SmalltalkEditor>>#printIt I set the color of
>>>>>> the output text to Theme current text, and I
>>>>>> changed TextColor>>dominates: adding “or:
>>>>>> [other isForShout]”. That’s all :)
>>>>>>
>>>>>> On Fri, 2 Jun 2023 at 11:59 Luciano
>>>>>> Notarfrancesco <luchiano at gmail.com
>>>>>> <mailto:luchiano at gmail.com>> wrote:
>>>>>>
>>>>>> I’ve been thinking how to prevent the
>>>>>> printIt output to be syntax highlighted.
>>>>>> I think it’s best to do that because the
>>>>>> output is not Smalltalk code, so the
>>>>>> syntax highlighter gets it almost always
>>>>>> wrong. It could be a preference, or it
>>>>>> could be specified in the printOn:
>>>>>> methods that know that the output is not
>>>>>> Smalltalk code. What do you think? How
>>>>>> would you implement it? A new text
>>>>>> attribute makes sense to you or do you
>>>>>> have any other idea?
>>>>>>
>>>>>> On Thu, 1 Jun 2023 at 20:53 Luciano
>>>>>> Notarfrancesco <luchiano at gmail.com
>>>>>> <mailto:luchiano at gmail.com>> wrote:
>>>>>>
>>>>>> Oh, that’s great, using subpixel
>>>>>> antialiasing just solved the problem!
>>>>>> Thanks!
>>>>>>
>>>>>> I’ll try NeoEuler. It would be nice
>>>>>> to have fallback fonts too… some math
>>>>>> glyphs are missing in DejaVu… but
>>>>>> it’s not a big deal. Another minor
>>>>>> aesthetic problem is that the syntax
>>>>>> highlighter sometimes gets confused
>>>>>> with the output of printIt, perhaps
>>>>>> would be better to not apply syntax
>>>>>> highlighting to the output, or to
>>>>>> have the option to “lock” the output
>>>>>> text in some printOn: methods so that
>>>>>> the syntax highlighter doesn’t change
>>>>>> it (perhaps a new attribute? not sure
>>>>>> if this makes sense). Also sometimes
>>>>>> the underscores are not converted to
>>>>>> arrows in a workspace, perhaps this
>>>>>> is related to the syntax highlighter
>>>>>> getting confused.
>>>>>>
>>>>>> Thanks!
>>>>>> Luciano
>>>>>>
>>>>>> On Thu, 1 Jun 2023 at 17:42 Juan
>>>>>> Vuletich <juan at cuis.st
>>>>>> <mailto:juan at cuis.st>> wrote:
>>>>>>
>>>>>> Hi Luciano,
>>>>>>
>>>>>> On 5/30/2023 9:06 AM, Luciano
>>>>>> Notarfrancesco via Cuis-dev wrote:
>>>>>>> BTW, in case anyone is curious,
>>>>>>> here is how matrices look when
>>>>>>> printing them on a workspace
>>>>>>> with cmd-p. I draw matrices over
>>>>>>> the binary field in a special
>>>>>>> way (first screenshot), and I
>>>>>>> scale them down if they are too big.
>>>>>>> I did this because it was hard
>>>>>>> to make matrices look good when
>>>>>>> printing them as text, so
>>>>>>> instead I draw them on a form
>>>>>>> and embed the form when printing
>>>>>>> them. I only do this with
>>>>>>> matrices, they are especially
>>>>>>> problematic when printing
>>>>>>> because they print with more
>>>>>>> than one line, they are the only
>>>>>>> objects in my system that need
>>>>>>> more than one line for printing.
>>>>>>> When I printed them as text with
>>>>>>> more than one line, printing a
>>>>>>> list of matrices (for example an
>>>>>>> array of matrices, as in the
>>>>>>> example where I print a basis of
>>>>>>> a vector space in the
>>>>>>> screenshots) they would look
>>>>>>> horrible. Now a list of matrices
>>>>>>> is printed in a single line as
>>>>>>> expected, and the point size of
>>>>>>> the enclosing parentheses is
>>>>>>> adjusted automatically (I have
>>>>>>> messages
>>>>>>> Stream>>#withParentheses:,
>>>>>>> #withBrackets:,
>>>>>>> #withAngleBrackets:, etc, that
>>>>>>> do this automatically).
>>>>>>
>>>>>> It looks beautiful!
>>>>>>
>>>>>>> I still have two little problems
>>>>>>> that I might want to tweak:
>>>>>>> 1) the parentheses are too
>>>>>>> thick, setting the point size is
>>>>>>> not the right thing to do, maybe
>>>>>>> we need a new text attribute for
>>>>>>> scaling text without changing
>>>>>>> the point size?;
>>>>>>
>>>>>> The easiest solution is to use a
>>>>>> different font, just for the
>>>>>> parentheses. For example,
>>>>>> NeoEuler parentheses are much
>>>>>> lighter at large point sizes.
>>>>>>
>>>>>>> 2) matrices inside matrices
>>>>>>> loose the transparent
>>>>>>> background, the background
>>>>>>> becomes black, as you see in the
>>>>>>> example in the second screenshot.
>>>>>>
>>>>>> I guess this should be fixable.
>>>>>> If you can prepare an image with
>>>>>> such example for me to play with,
>>>>>> I'll give it a try. For example
>>>>>> (not sure if related)
>>>>>> VectorEngine can do blending over
>>>>>> translucent backgrounds, but only
>>>>>> if subpixel sampling is used. I
>>>>>> know, there is no relation
>>>>>> between these two features... But
>>>>>> I wanted to keep options to a
>>>>>> small number, and usually we only
>>>>>> use cheaper whole pixel AA and
>>>>>> cheaper alpha blending that can't
>>>>>> blend over translucent
>>>>>> backgrounds. So, maybe just using
>>>>>> the SubPixel engine solves this
>>>>>> problem, or I'll be happy to take
>>>>>> a look.
>>>>>>
>>>>>>>
>>>>>>> On Tue, May 30, 2023 at 7:27 PM
>>>>>>> Luciano Notarfrancesco
>>>>>>> <luchiano at gmail.com
>>>>>>> <mailto:luchiano at gmail.com>> wrote:
>>>>>>>
>>>>>>> This change set fixes a
>>>>>>> little bug in VectorCanvas
>>>>>>> that cames up when using the
>>>>>>> canvas to draw text with
>>>>>>> images on a form (outside
>>>>>>> morphic). I do this to draw
>>>>>>> matrices, and when drawing a
>>>>>>> matrix whose coefficients
>>>>>>> are also matrices this came
>>>>>>> up. The fix is simply
>>>>>>> checking that the world is
>>>>>>> not nil.
>>>>>>>
>>>>>>
>>>>>> Integrated and at GitHub. Thanks!
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>> --
>>>>>> Juan Vuletich
>>>>>> cuis.st <http://cuis.st>
>>>>>> github.com/jvuletich <http://github.com/jvuletich>
>>>>>> researchgate.net/profile/Juan-Vuletich <http://researchgate.net/profile/Juan-Vuletich>
>>>>>> independent.academia.edu/JuanVuletich <http://independent.academia.edu/JuanVuletich>
>>>>>> patents.justia.com/inventor/juan-manuel-vuletich <http://patents.justia.com/inventor/juan-manuel-vuletich>
>>>>>> linkedin.com/in/juan-vuletich-75611b3 <http://linkedin.com/in/juan-vuletich-75611b3>
>>>>>> twitter.com/JuanVuletich <http://twitter.com/JuanVuletich>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Juan Vuletich
>>>>> cuis.st <http://cuis.st>
>>>>> github.com/jvuletich <http://github.com/jvuletich>
>>>>> researchgate.net/profile/Juan-Vuletich <http://researchgate.net/profile/Juan-Vuletich>
>>>>> independent.academia.edu/JuanVuletich <http://independent.academia.edu/JuanVuletich>
>>>>> patents.justia.com/inventor/juan-manuel-vuletich <http://patents.justia.com/inventor/juan-manuel-vuletich>
>>>>> linkedin.com/in/juan-vuletich-75611b3 <http://linkedin.com/in/juan-vuletich-75611b3>
>>>>> twitter.com/JuanVuletich <http://twitter.com/JuanVuletich>
>>>>
>>>>
>>>> --
>>>> Juan Vuletich
>>>> cuis.st <http://cuis.st>
>>>> github.com/jvuletich <http://github.com/jvuletich>
>>>> researchgate.net/profile/Juan-Vuletich <http://researchgate.net/profile/Juan-Vuletich>
>>>> independent.academia.edu/JuanVuletich <http://independent.academia.edu/JuanVuletich>
>>>> patents.justia.com/inventor/juan-manuel-vuletich <http://patents.justia.com/inventor/juan-manuel-vuletich>
>>>> linkedin.com/in/juan-vuletich-75611b3 <http://linkedin.com/in/juan-vuletich-75611b3>
>>>> twitter.com/JuanVuletich <http://twitter.com/JuanVuletich>
>>>>
>>>
>>>
>>> --
>>> Juan Vuletich
>>> cuis.st <http://cuis.st>
>>> github.com/jvuletich <http://github.com/jvuletich>
>>> researchgate.net/profile/Juan-Vuletich <http://researchgate.net/profile/Juan-Vuletich>
>>> independent.academia.edu/JuanVuletich <http://independent.academia.edu/JuanVuletich>
>>> patents.justia.com/inventor/juan-manuel-vuletich <http://patents.justia.com/inventor/juan-manuel-vuletich>
>>> linkedin.com/in/juan-vuletich-75611b3 <http://linkedin.com/in/juan-vuletich-75611b3>
>>> twitter.com/JuanVuletich <http://twitter.com/JuanVuletich>
>>>
>>
>>
>> --
>> Juan Vuletich
>> cuis.st <http://cuis.st>
>> github.com/jvuletich <http://github.com/jvuletich>
>> researchgate.net/profile/Juan-Vuletich <http://researchgate.net/profile/Juan-Vuletich>
>> independent.academia.edu/JuanVuletich <http://independent.academia.edu/JuanVuletich>
>> patents.justia.com/inventor/juan-manuel-vuletich <http://patents.justia.com/inventor/juan-manuel-vuletich>
>> linkedin.com/in/juan-vuletich-75611b3 <http://linkedin.com/in/juan-vuletich-75611b3>
>> twitter.com/JuanVuletich <http://twitter.com/JuanVuletich>
>>
>
>
> --
> Juan Vuletich
> cuis.st <http://cuis.st>
> github.com/jvuletich <http://github.com/jvuletich>
> researchgate.net/profile/Juan-Vuletich <http://researchgate.net/profile/Juan-Vuletich>
> independent.academia.edu/JuanVuletich <http://independent.academia.edu/JuanVuletich>
> patents.justia.com/inventor/juan-manuel-vuletich <http://patents.justia.com/inventor/juan-manuel-vuletich>
> linkedin.com/in/juan-vuletich-75611b3 <http://linkedin.com/in/juan-vuletich-75611b3>
> twitter.com/JuanVuletich <http://twitter.com/JuanVuletich>
>
--
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20230614/4633d8d5/attachment-0001.htm>
More information about the Cuis-dev
mailing list