Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rust logo isn't symmetrical #92143

Closed
m-ou-se opened this issue Dec 20, 2021 · 5 comments · Fixed by rust-lang/rust-artwork#9
Closed

Rust logo isn't symmetrical #92143

m-ou-se opened this issue Dec 20, 2021 · 5 comments · Fixed by rust-lang/rust-artwork#9

Comments

@m-ou-se
Copy link
Member

m-ou-se commented Dec 20, 2021

I just discovered an absolutely critical bug in the Rust logo:

Screenshot 2021-12-20 at 23 42 01

It's not symmetrical! The inner and outer circle of the gear don't even have the same center. 😱

@wesleywiser
Copy link
Member

I'm unsure if this is covered under the stability guarantee so we may need to consider making this change across the next edition boundary. /s

@jhpratt
Copy link
Member

jhpratt commented Dec 21, 2021

On the assumption this will be fixed, it would be nice if there were an official "cog-only" version of the logo available somewhere. Useful for some project logos.

@m-ou-se
Copy link
Member Author

m-ou-se commented Dec 22, 2021

I accidentally hyperfocussed and wrote a new (symmetrical) svg:

<svg version="1.1" height="120" width="120" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="logo" transform="translate(60, 60)">
  <path id="r" transform="translate(0.5, 0.5)" stroke="black" stroke-width="1" stroke-linejoin="round" d="
    M -9,-15 H 4 C 12,-15 12,-7 4,-7 H -9 Z
    M -40,22 H 0 V 11 H -9 V 3 H 1 C 12,3 6,20 15,22 H 40
    V 3 H 34 V 5 C 34,13 24,12 24,7 C 23,2 19,-2 18,-2 C 33,-10 24,-26 12,-26 H -35
    V -15H -25 V 11 H -40 Z" />
  <g id="gear" mask="url(#holes)">
    <circle r="43" fill="none" stroke="black" stroke-width="9" />
    <g id="cogs">
      <polygon id="cog" stroke="black" stroke-width="3" stroke-linejoin="round" points="46,3 51,0 46,-3" />
      <use xlink:href="#cog" transform="rotate(11.25)" />
      <use xlink:href="#cog" transform="rotate(22.50)" />
      <use xlink:href="#cog" transform="rotate(33.75)" />
      <use xlink:href="#cog" transform="rotate(45.00)" />
      <use xlink:href="#cog" transform="rotate(56.25)" />
      <use xlink:href="#cog" transform="rotate(67.50)" />
      <use xlink:href="#cog" transform="rotate(78.75)" />
      <use xlink:href="#cog" transform="rotate(90.00)" />
      <use xlink:href="#cog" transform="rotate(101.25)" />
      <use xlink:href="#cog" transform="rotate(112.50)" />
      <use xlink:href="#cog" transform="rotate(123.75)" />
      <use xlink:href="#cog" transform="rotate(135.00)" />
      <use xlink:href="#cog" transform="rotate(146.25)" />
      <use xlink:href="#cog" transform="rotate(157.50)" />
      <use xlink:href="#cog" transform="rotate(168.75)" />
      <use xlink:href="#cog" transform="rotate(180.00)" />
      <use xlink:href="#cog" transform="rotate(191.25)" />
      <use xlink:href="#cog" transform="rotate(202.50)" />
      <use xlink:href="#cog" transform="rotate(213.75)" />
      <use xlink:href="#cog" transform="rotate(225.00)" />
      <use xlink:href="#cog" transform="rotate(236.25)" />
      <use xlink:href="#cog" transform="rotate(247.50)" />
      <use xlink:href="#cog" transform="rotate(258.75)" />
      <use xlink:href="#cog" transform="rotate(270.00)" />
      <use xlink:href="#cog" transform="rotate(281.25)" />
      <use xlink:href="#cog" transform="rotate(292.50)" />
      <use xlink:href="#cog" transform="rotate(303.75)" />
      <use xlink:href="#cog" transform="rotate(315.00)" />
      <use xlink:href="#cog" transform="rotate(326.25)" />
      <use xlink:href="#cog" transform="rotate(337.50)" />
      <use xlink:href="#cog" transform="rotate(348.75)" />
    </g>
    <g id="mounts">
      <polygon id="mount" stroke="black" stroke-width="6" stroke-linejoin="round" points="-7,-42 0,-35 7,-42" />
      <use xlink:href="#mount" transform="rotate(72)" />
      <use xlink:href="#mount" transform="rotate(144)" />
      <use xlink:href="#mount" transform="rotate(216)" />
      <use xlink:href="#mount" transform="rotate(288)" />
    </g>
  </g>
  <mask id="holes">
    <rect x="-60" y="-60" width="120" height="120" fill="white"/>
    <circle id="hole" cy="-40" r="3" />
    <use xlink:href="#hole" transform="rotate(72)" />
    <use xlink:href="#hole" transform="rotate(144)" />
    <use xlink:href="#hole" transform="rotate(216)" />
    <use xlink:href="#hole" transform="rotate(288)" />
  </mask>
</g>
</svg>

The cogs and holes etc. are all aligned in a perfect circle around the exact center of the image. The letter R is also slightly different, as the parts of it that appeared aligned (e.g. the left and right part of the 'foot'/serif, and some other things) were not entirely aligned either in the original. The vertical and horizontal parts in this version also align perfectly with the pixels when displayed at the default size, making it look less blurry. Also the R and the gear are separate objects, like @jhpratt asked.


Do we have any central place where we keep the logo(s)? The website repositories have a bunch of slightly different copies of the logo, but I'm not sure if there's any central place where we keep these materials so I can send a PR for this.

@Mark-Simulacrum
Copy link
Member

https://github.com/rust-lang/rust-artwork, I suppose, but I don't think anyone is actively tracking PRs currently (or perhaps ever).

@m-ou-se
Copy link
Member Author

m-ou-se commented Jan 2, 2022

Sent a PR here: rust-lang/rust-artwork#9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants