mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-23 06:38:35 +02:00
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)
23 lines
1.1 KiB
XML
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>
|