<div dir="ltr"><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">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.</div><div dir="auto"><br></div><div dir="auto">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?</div><div dir="auto"><br></div><div>BTW, I'm not pushing to adopt my change, I don't know yet what's the best solution.<br></div></div><div dir="auto"><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 2 Jun 2023 at 15:23 Juan Vuletich <<a href="mailto:juan@cuis.st" target="_blank">juan@cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>

  
    
  
  <div bgcolor="#ffffff">
    Please see inline.<br>
    <br>
    On 6/2/2023 10:09 AM, Juan Vuletich via Cuis-dev wrote:
    <blockquote type="cite">
      
      
      I couldn't get that idea to work. Would you attach a changeset?<br>
      <br>
      In any case, another simple but maybe less comfortable solution is
      to enclose the result in double quotes, making it comment.<br>
      <br>
      Thanks,<br>
    </blockquote>
    <br>
    Of course the above is completely wrong, because I conflated two
    issues you raised.<br>
    <br>
    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.<br>
    <br>
    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?</div><div bgcolor="#ffffff"><br>
    <br>
    Thanks,<br>
    <br>
    <blockquote type="cite"> <br>
      On 6/2/2023 7:23 AM, Luciano Notarfrancesco via Cuis-dev wrote:
      <blockquote type="cite">
        <div dir="auto">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 :)</div>
        <div><br>
          <div class="gmail_quote">
            <div dir="ltr" class="gmail_attr">On Fri, 2 Jun 2023 at
              11:59 Luciano Notarfrancesco <<a href="mailto:luchiano@gmail.com" target="_blank">luchiano@gmail.com</a>>

              wrote:<br>
            </div>
            <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
              <div dir="auto">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?</div>
              <div><br>
                <div class="gmail_quote">
                  <div dir="ltr" class="gmail_attr">On Thu, 1 Jun 2023
                    at 20:53 Luciano Notarfrancesco <<a href="mailto:luchiano@gmail.com" target="_blank">luchiano@gmail.com</a>>

                    wrote:<br>
                  </div>
                  <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                    <div dir="auto">Oh, that’s great, using subpixel
                      antialiasing just solved the problem! Thanks!</div>
                    <div dir="auto"><br>
                    </div>
                    <div dir="auto">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.</div>
                    <div dir="auto"><br>
                    </div>
                    <div dir="auto">Thanks!</div>
                    <div dir="auto">Luciano</div>
                    <div><br>
                      <div class="gmail_quote">
                        <div dir="ltr" class="gmail_attr">On Thu, 1 Jun
                          2023 at 17:42 Juan Vuletich <<a href="mailto:juan@cuis.st" target="_blank">juan@cuis.st</a>>

                          wrote:<br>
                        </div>
                        <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                          <div bgcolor="#ffffff"> Hi
                            Luciano,<br>
                            <br>
                            On 5/30/2023 9:06 AM, Luciano Notarfrancesco
                            via Cuis-dev wrote:
                            <blockquote type="cite">
                              <div dir="ltr">
                                <div>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.</div>
                                <div>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).</div>
                              </div>
                            </blockquote>
                            <br>
                            It looks beautiful!<br>
                            <br>
                            <blockquote type="cite">
                              <div dir="ltr">
                                <div>I still have two little problems
                                  that I might want to tweak:</div>
                                <div>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?;</div>
                              </div>
                            </blockquote>
                            <br>
                            The easiest solution is to use a different
                            font, just for the parentheses. For example,
                            NeoEuler parentheses are much lighter at
                            large point sizes.<br>
                            <br>
                            <blockquote type="cite">
                              <div dir="ltr">
                                <div>2) matrices inside matrices loose
                                  the transparent background, the
                                  background becomes black, as you see
                                  in the example in the second
                                  screenshot.<br>
                                </div>
                              </div>
                            </blockquote>
                            <br>
                            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.<br>
                            <br>
                            <blockquote type="cite"><br>
                              <div class="gmail_quote">
                                <div dir="ltr" class="gmail_attr">On
                                  Tue, May 30, 2023 at 7:27 PM Luciano
                                  Notarfrancesco <<a href="mailto:luchiano@gmail.com" target="_blank">luchiano@gmail.com</a>>


                                  wrote:<br>
                                </div>
                                <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
                                  <div dir="ltr">
                                    <div>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.<br>
                                    </div>
                                  </div>
                                </blockquote>
                              </div>
                            </blockquote>
                            <br>
                            Integrated and at GitHub. Thanks!<br>
                            <br>
                            Cheers, <br>
                          </div>
                          <div bgcolor="#ffffff">
                            <pre style="font-family:monospace" cols="72">-- 
Juan Vuletich
<a href="http://cuis.st" style="font-family:monospace" target="_blank">cuis.st</a>
<a href="http://github.com/jvuletich" style="font-family:monospace" target="_blank">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" style="font-family:monospace" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" style="font-family:monospace" target="_blank">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family:monospace" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family:monospace" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a href="http://twitter.com/JuanVuletich" style="font-family:monospace" target="_blank">twitter.com/JuanVuletich</a></pre>
                          </div>
                        </blockquote>
                      </div>
                    </div>
                  </blockquote>
                </div>
              </div>
            </blockquote>
          </div>
        </div>
      </blockquote>
      <br>
      <br>
      <pre cols="72" style="font-family:monospace">-- 
Juan Vuletich
<a href="http://cuis.st" style="font-family:monospace" target="_blank">cuis.st</a>
<a href="http://github.com/jvuletich" style="font-family:monospace" target="_blank">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" style="font-family:monospace" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" style="font-family:monospace" target="_blank">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family:monospace" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family:monospace" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a href="http://twitter.com/JuanVuletich" style="font-family:monospace" target="_blank">twitter.com/JuanVuletich</a></pre>
    </blockquote>
    <br>
    <br>
    <pre cols="72" style="font-family:monospace">-- 
Juan Vuletich
<a href="http://cuis.st" style="font-family:monospace" target="_blank">cuis.st</a>
<a href="http://github.com/jvuletich" style="font-family:monospace" target="_blank">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" style="font-family:monospace" target="_blank">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" style="font-family:monospace" target="_blank">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" style="font-family:monospace" target="_blank">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" style="font-family:monospace" target="_blank">linkedin.com/in/juan-vuletich-75611b3</a>
<a href="http://twitter.com/JuanVuletich" style="font-family:monospace" target="_blank">twitter.com/JuanVuletich</a></pre>
  </div>

</blockquote></div></div>