Half-Star Emoji
(for Half the Price)
The [emoji gods](https://www.unicode.org/consortium/utc.html) have not yet
etched a half-star emoji into [the emoji bible](https://emojipedia.org).
[^note]:
The gods decreed [a unicode half-star](https://symbl.cc/en/2BEA/) in 2018,
but it's still awaiting widespread adoption.
And so folks [like Johnny Webber](https://johnnywebber.com/rating-system/)
settle for ratings like "⭐⭐⭐1/2". It's uglier than
[some popular icon fonts](https://fontawesome.com/icons/star-half?s=solid), but
beautiful in its [solarpunk](https://en.wikipedia.org/wiki/Solarpunk)
simplicity. Standard unicode is [cheap](https://potato.cheap). It improves
accessibility, saves energy, prevents
[link rot](https://en.wikipedia.org/wiki/Link_rot), etc. -- great work, Johnny!
```bash
# 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.
[^note]:
[Thanks for the idea, Reddit!](https://www.reddit.com/r/Notion/comments/pcss42/finally_found_the_perfect_emojis_for_ratings/)
| |
| ---------- |
| 🌕🌕🌕🌑🌑 |
| 🌕🌕🌕🌘🌑 |
| 🌕🌕🌕🌗🌑 |
| 🌕🌕🌕🌖🌑 |
| 🌕🌕🌕🌕🌑 |
| 🌝🌝🌝🌜🌚 |
You can use unicode ratings in JS:
```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:
```css
.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](/babyz.jpeg) (⭐7.5).