[Cuis-dev] Fix for VectorCanvas>>#image:at:

Luciano Notarfrancesco luchiano at gmail.com
Fri Jun 2 02:59:43 PDT 2023


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>
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> 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> 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 Vuletichcuis.stgithub.com/jvuletichresearchgate.net/profile/Juan-Vuletichindependent.academia.edu/JuanVuletichpatents.justia.com/inventor/juan-manuel-vuletichlinkedin.com/in/juan-vuletich-75611b3twitter.com/JuanVuletich
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20230602/0efbf9fb/attachment-0001.htm>


More information about the Cuis-dev mailing list