[Cuis-dev] Fix for VectorCanvas>>#image:at:
Juan Vuletich
juan at cuis.st
Tue Jun 6 08:04:04 PDT 2023
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
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/20230606/d069b5e1/attachment-0001.htm>
More information about the Cuis-dev
mailing list