Files
hash-wallet/assets/images/hash_wallet_app_icon_source.svg
jwinterm 20ad49a403 Icon: redraw # as vector path for true centering
User flagged the Windows .exe icon as having the hash sign visually
biased toward the top. Root cause: the previous icon source SVG used
<text> with dominant-baseline="central" — the rasterizer fell back to
whatever monospaced font it found, and that font's # glyph isn't
positioned at the geometric center of its em-box (most monospaced
fonts have the # mark biased upward in their em-square).

Replace the text-rendered # with 4 vector <line> elements forming a
mathematically symmetric # centered at (512, 512) of the 1024 canvas.
No font dependency, deterministic across rasterizers.

Re-rendered:
  - assets/images/app_logo.png — master 1024x1024 PNG
  - windows/runner/resources/app_icon.ico — 7-size .ico (16..256)
  - assets/images/cakewallet_android_icon/mipmap-*/ic_launcher.png
    (5 densities, the legacy launcher PNG; CI symlinks from here)

NOT regenerated in this commit (follow-up):
  - assets/images/cakewallet_android_icon/mipmap-*/ic_launcher_{foreground,background,monochrome}.png
    (adaptive icons used on Android 8+ — need separate foreground/
    background composition logic)
  - assets/images/ios_icons/cakewallet_ios_icons/* (70 files)
  - assets/images/macos_icons/cakewallet_macos_icons/* (7 files)
2026-05-22 12:16:07 -04:00

23 lines
1.1 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" width="1024" height="1024">
<title>Hash Bags app icon</title>
<!-- Solid green background. Color matches the brand accent in
hash_wallet_logos.svg (#1a5c38). iOS/Android round the corners
automatically; we ship a square fill. -->
<rect width="1024" height="1024" fill="#1a5c38"/>
<!-- # mark, drawn as 4 vector lines centered at (512, 512). Previous
version used <text> with dominant-baseline="central", but the
rendered # was visually biased toward the top because monospaced
font glyph metrics don't put the # at the geometric center of the
em-box. Path-based rendering removes the font dependency
entirely. -->
<g stroke="#ffffff" stroke-width="80" stroke-linecap="square">
<!-- horizontal bars (top, bottom) — at y = 512 ± 100 -->
<line x1="212" y1="412" x2="812" y2="412"/>
<line x1="212" y1="612" x2="812" y2="612"/>
<!-- vertical bars (left, right) — at x = 512 ± 100 -->
<line x1="412" y1="212" x2="412" y2="812"/>
<line x1="612" y1="212" x2="612" y2="812"/>
</g>
</svg>