Logo for the JuliaDiff organization?

I like it! I can try to make it prettier

1 Like

I’m not a fan of shades :-). Here a SVG with an idea and the code for anyone to play with:

image

Summary
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   width="210mm"
   height="297mm"
   viewBox="0 0 210 297"
   version="1.1"
   id="svg5"
   sodipodi:docname="drawing.svg"
   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:svg="http://www.w3.org/2000/svg">
  <sodipodi:namedview
     id="namedview7"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageshadow="2"
     inkscape:pageopacity="0.0"
     inkscape:pagecheckerboard="0"
     inkscape:document-units="mm"
     showgrid="false"
     inkscape:zoom="0.6512193"
     inkscape:cx="323.2398"
     inkscape:cy="260.28098"
     inkscape:window-width="2526"
     inkscape:window-height="1408"
     inkscape:window-x="34"
     inkscape:window-y="0"
     inkscape:window-maximized="1"
     inkscape:current-layer="layer1" />
  <defs
     id="defs2">
    <g
       id="g3996">
      <symbol
         overflow="visible"
         id="symbol9093">
        <path
           style="stroke:none;"
           d=""
           id="path4371" />
      </symbol>
      <symbol
         overflow="visible"
         id="symbol4785">
        <path
           style="stroke:none;"
           d="M 7.78125 -6.59375 C 7.796875 -6.625 7.828125 -6.6875 7.828125 -6.734375 C 7.828125 -6.796875 7.8125 -6.8125 7.59375 -6.8125 L 0.703125 -6.8125 C 0.484375 -6.8125 0.46875 -6.796875 0.46875 -6.734375 C 0.46875 -6.6875 0.5 -6.625 0.515625 -6.59375 L 3.875 0.140625 C 3.953125 0.265625 3.984375 0.328125 4.140625 0.328125 C 4.3125 0.328125 4.34375 0.265625 4.421875 0.140625 Z M 1.703125 -6.09375 L 7.171875 -6.09375 L 4.453125 -0.609375 Z M 1.703125 -6.09375 "
           id="path2740" />
      </symbol>
    </g>
  </defs>
  <g
     inkscape:label="Layer 1"
     inkscape:groupmode="layer"
     id="layer1">
    <g
       inkscape:label=""
       transform="matrix(5.2263378,0,0,5.2263378,-438.7394,-343.43591)"
       id="g838"
       style="fill:#4063d8;fill-opacity:1;stroke:#000000;stroke-width:0.191339;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.973693">
      <g
         id="g5147"
         style="fill:#4063d8;fill-opacity:1;stroke:#000000;stroke-width:0.191339;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.973693">
        <g
           style="fill:#4063d8;fill-opacity:1;stroke:#000000;stroke-width:0.191339;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.973693"
           id="g6466">
          <g
             id="use209"
             style="fill:#4063d8;fill-opacity:1;stroke:#000000;stroke-width:0.191339;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.973693"
             transform="translate(91.925003,81.962997)">
            <path
               style="stroke:#000000;stroke-width:0.191339;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.973693"
               d="M 7.78125,-6.59375 C 7.796875,-6.625 7.828125,-6.6875 7.828125,-6.734375 7.828125,-6.796875 7.8125,-6.8125 7.59375,-6.8125 H 0.703125 c -0.21875,0 -0.234375,0.015625 -0.234375,0.078125 0,0.046875 0.03125,0.109375 0.046875,0.140625 L 3.875,0.140625 c 0.078125,0.125 0.109375,0.1875 0.265625,0.1875 0.171875,0 0.203125,-0.0625 0.28125,-0.1875 z m -6.078125,0.5 h 5.46875 l -2.71875,5.484375 z m 0,0"
               id="path32330" />
          </g>
        </g>
      </g>
    </g>
    <circle
       style="fill:#389826;fill-opacity:1;stroke:#000000;stroke-width:1.001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.973693"
       id="path1019"
       cx="96.741776"
       cy="59.120014"
       r="9.2048397" />
    <circle
       style="fill:#cb3c33;fill-opacity:1;stroke:#000000;stroke-width:1.001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.973693"
       id="circle7460"
       cx="85.435707"
       cy="78.720039"
       r="9.2048397" />
    <circle
       style="fill:#9558b2;fill-opacity:1;stroke:#000000;stroke-width:1.001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.973693"
       id="circle7462"
       cx="108.8783"
       cy="78.734283"
       r="9.2048397" />
  </g>
</svg>
2 Likes

Here’s how it looks with Luxor.jl and the official Julia font and logo.
I think we’re starting to converge to something cool?


using Luxor

@draw begin
	background("white")
	translate(150, 0)
	juliacircles(150)
	setfont("TamilMN Bold", 630)
	setcolor(Luxor.julia_blue)
	settext("∇", Point(-600, 290))
end 1000 600
7 Likes

That is elegantly simple.
I kinda like it.

And it says “Differentiate Julia”
which is what we do.

3 Likes

Should we do a version with text for stickers, just saying “JuliaDiff” below?

yes, and one saying JuliaDiff to the right? as a banner sticker?
So we can look at both

1 Like

I’ll get on that

1 Like

The font you’re using setfont("TamilMN Bold", 630) doesn’t have the nabla () glyph, so you’re going to be seeing some kind of font fallback working, and these vary a lot from system to system.

On my Mac I see this with your code:

Screenshot 2024-05-01 at 10.06.36

and this isn’t as nice as yours… :slight_smile:

On Mac, “Symbol” will get you this:

Screenshot 2024-05-01 at 10.08.53

but the alignment needs work.

Drawing the triangle the hard way is probably best. :slight_smile:

4 Likes

Here’s what it looks like with the text




@cormullion what do you mean? How do I use Symbol?

using Luxor

function juliadiff_logo(scaling; name_placement=nothing, name_color="black")
	juliacircles(scaling * 100)
	setfont("TamilMN Bold", scaling * 420)
	setcolor(Luxor.julia_blue)
	settext("∇", O + scaling * Point(-410, 200))
	if !isnothing(name_placement)
		setcolor(name_color)
		setfont("TamilMN Bold", scaling * 150)
		if name_placement == :below
			settext("JuliaDiff", O + scaling * Point(-430, 330))
		elseif name_placement == :right
			settext("JuliaDiff", O + scaling * Point(200, 52))
		end
	end
end

@draw begin
	background("white")
	origin(500, 200)
	juliadiff_logo(1; name_placement=:below, name_color="black")
end 800 550
7 Likes

Your code produces this on my Mac:

because fonts are a pain in the neck to work with, particularly on different platforms and OSes… :slight_smile:

I can get the nabla symbol looking closer to yours on mine if I use setfont("Symbol", scaling * 420) but again that’s probably not a cross-platform solution.

3 Likes

I like this a lot, but the kerning between the “D” and the “i” looks off. I parse the text as “Julia D iff”.
Is there a way to tweak the kerning in Luxor?

Haha - there’s a low-level function that can do a bit of kerning.

Kerning code
@draw begin
    background("white")
    origin(500, 200)
    textplace("JuliaDiff", O + (-300, -100), [
        (size=120, face="TamilMN-Bold"), 
    ])
    textplace("JuliaDiff", O + (-300, 0), [
        (size=120, face="TamilMN-Bold"), # J
        (kern=-8,), # u
        (kern=-5,), # l
        (kern=-7,), # i 
        (kern=-6,), # a
        (kern=-10,), # D
        (kern=-12, ), # i
        (kern=-6, ), # f
        (kern=-8, ), # f
    ])
    textplace("JuliaDiff", O + (-300, 100), [
        (size=120, face="Barlow-Bold"), # J
         # f
    ])
end 800 400

but using a better font in the first place is probably easier. :wink:

1 Like

It’s the official Julia font so I kinda like it?

Question about that: I need two different thicknesses so I have to draw two separate paths, but how can I get the corners to play nicely together? Something like the square linecap here

Might be better as:

@draw begin
    background("white")
    sethue("black")
    setfillrule(:even_odd)
    ngon(O, 100, 3, -π/6, action=:path)
    ngon(O + (10, 0), 70, 3, -π/6, action=:path)
    fillpath()
end 800 400

Screenshot 2024-05-01 at 11.35.32

It’s always better to avoid line thicknesses if you can, because of scaling issues.

5 Likes

Do you need or want it to be drawn with code? Adjusting the details in a SVG is much easier.

I think it’s nice to use ecosystem tools like Luxor.jl, especially cause we get first class support from @cormullion. And because it makes it easier to change things programmatically

2 Likes

Now time for bikeshedding on thicknesses and spacing

5 Likes

One think I like about having stroke lines in the symbols is that the contrast in dark backgrounds can be adjusted:

vs:

3 Likes

True but it feels slightly less “modern”?

6 Likes