taylor.town
about now spam rss

Half-Star Emoji
(for Half the Price)

The emoji gods have not yet etched a half-star emoji into the emoji bible.

The gods decreed a unicode half-star in 2018, but it’s still awaiting widespread adoption.

And so folks like Johnny Webber settle for ratings like “⭐⭐⭐1/2”. It’s uglier than some popular icon fonts, but beautiful in its solarpunk simplicity. Standard unicode is cheap. It improves accessibility, saves energy, prevents link rot, etc. – great work, Johnny!


# It even works in potato browsers!
w3m 'https://johnnywebber.com/rating-system'

Here are some more cheap symbologies with “half-stars”:

●●●◐○
■■■◧□
▲▲▲◭△
▼▼▼⧨▽
◆◆◆⬖◇
♡ 4.5
💖4.5
⭐4.5

Half-moons can be half-stars, too.

Thanks for the idea, Reddit!

🌕🌕🌕🌑🌑
🌕🌕🌕🌘🌑
🌕🌕🌕🌗🌑
🌕🌕🌕🌖🌑
🌕🌕🌕🌕🌑
🌝🌝🌝🌜🌚

You can use unicode ratings in JS:

const rate = n => {
  const xs = ["🌑","🌘","🌗","🌖","🌕"];
  return [
    ..."🌕".repeat(Math.floor(n)),
    xs[Math.round(xs.length*(n-Math.floor(n)))],
    ..."🌑".repeat(Math.floor(5-n)),
  ].join("");
}

rate(0.60) // "🌖🌑🌑🌑🌑"
rate(3.40) // "🌕🌕🌕🌗🌑"
rate(4.25) // "🌕🌕🌕🌕🌘"

CSS, too:

.star-0-0::before { content: "○○○○○"; }
.star-0-5::before { content: "◐○○○○"; }
.star-1-0::before { content: "●○○○○"; }
.star-1-5::before { content: "●◐○○○"; }
.star-2-0::before { content: "●●○○○"; }
.star-2-5::before { content: "●●◐○○"; }
.star-3-0::before { content: "●●●○○"; }
.star-3-5::before { content: "●●●◐○"; }
.star-4-0::before { content: "●●●●○"; }
.star-4-5::before { content: "●●●●◐"; }
.star-5-0::before { content: "●●●●●"; }

Anyway, back to playing party babyz (⭐7.5).