Emoji napříč platformami
Proč emoji vypadají jinak na Windows, Mac a mobilu - a jak je sjednotit pomocí Twemoji
Důležité zjištění
Emoji jsou součástí fontů operačního systému, ne webové stránky. Stejné emoji proto vypadá úplně jinak na Windows 10, Windows 11, macOS, iOS, Androidu a Linuxu!
🤔 Proč emoji vypadají jinak?
Emoji jsou definovány jako Unicode znaky, ale jejich vizuální podoba závisí na fontu, který používá operační systém. Každý výrobce má vlastní design:
Jak vidíte, rozdíly jsou dramatické. Některá emoji vypadají na různých platformách naprosto odlišně, což může vést ke komunikačním nedorozuměním i k nekonzistentnímu vzhledu webu.
📊 Detailní srovnání platforem
| Platforma | Font | Styl | Aktualizace |
|---|---|---|---|
🪟 Windows 11 |
Segoe UI Emoji | 3D Fluent design | S Windows Update |
🪟 Windows 10 |
Segoe UI Emoji | 2D flat design | Zastaralý |
🍎 macOS / iOS |
Apple Color Emoji | 3D realistický | S iOS/macOS update |
🤖 Android |
Noto Color Emoji | 2D/3D mix | Google Play Services |
📱 Samsung |
Samsung One UI | Vlastní design | S One UI update |
🐧 Linux |
Noto / Twemoji | Závisí na distru | Manuálně |
Ukázka: Váš systém vs. Twemoji
🖥️ Vaše zařízení (nativní)
Toto vidíte vy na svém zařízení
🐦 Twemoji (jednotné)
Toto uvidí všichni se zapnutým Twemoji
💡 Možná řešení
Twemoji
Open-source emoji od Twitteru. SVG i PNG formát, snadná implementace, široká podpora.
Doporučeno ZdarmaOpenMoji
Plně open-source emoji s jednotným designem. Dobrá alternativa k Twemoji.
ZdarmaNoto Emoji
Google font obsahující emoji. Vyžaduje stažení fontu (velká velikost).
ZdarmaJoyPixels
Dříve EmojiOne. Kvalitní design, ale placená licence pro komerční použití.
PlacenéPro většinu projektů doporučuji Twemoji - je zdarma, má skvělý design, je aktivně udržované a používají ho velké služby jako Twitter a Discord.
🐦 Implementace Twemoji
Metoda 1: Jednoduchá (CDN skript)
Nejrychlejší způsob - stačí přidat skript a zavolat jednu funkci:
<!-- Přidejte před </body> -->
<script src="https://cdn.jsdelivr.net/npm/@twemoji/api@latest/dist/twemoji.min.js" crossorigin="anonymous"></script>
<script>
// Převede všechny emoji na stránce na Twemoji
twemoji.parse(document.body, {
folder: 'svg',
ext: '.svg'
});
</script>
Metoda 2: Selektivní (pouze určité elementy)
Pokud chcete Twemoji jen na některých částech stránky:
// Převést pouze určitý element
const emojiContainer = document.getElementById('emoji-grid');
twemoji.parse(emojiContainer, {
folder: 'svg',
ext: '.svg',
className: 'twemoji' // Přidá CSS třídu
});
// Nebo pomocí selektoru
document.querySelectorAll('.emoji-content').forEach(el => {
twemoji.parse(el);
});
Metoda 3: S vlastním stylem
/* Základní styl pro Twemoji */
img.twemoji, img.emoji {
height: 1.2em;
width: 1.2em;
margin: 0 0.05em 0 0.1em;
vertical-align: -0.15em;
display: inline-block;
}
/* Větší emoji v gridu */
.emoji-grid img.twemoji {
height: 2em;
width: 2em;
}
/* Animace při hoveru */
img.twemoji:hover {
transform: scale(1.2);
transition: transform 0.2s ease;
}
/* Vlastní velikosti */
.emoji-small img.twemoji { height: 1em; width: 1em; }
.emoji-medium img.twemoji { height: 1.5em; width: 1.5em; }
.emoji-large img.twemoji { height: 2em; width: 2em; }
.emoji-xlarge img.twemoji { height: 3em; width: 3em; }
Metoda 4: NPM balíček
npm install @twemoji/api
import twemoji from '@twemoji/api';
// V React komponentě
useEffect(() => {
twemoji.parse(document.body);
}, []);
// Nebo jako utility funkce
export function parseEmoji(element) {
return twemoji.parse(element, {
base: 'https://cdn.jsdelivr.net/npm/@twemoji/svg-assets/',
folder: '',
ext: '.svg'
});
}
🎮 Živá ukázka - přepínač
Vyzkoušejte přepínání mezi nativními emoji a Twemoji:
Výhody a nevýhody Twemoji
✅ Výhody
- Konzistentní vzhled na všech zařízeních
- SVG formát = neomezené škálování
- Open-source, zdarma i pro komerci
- Pravidelné aktualizace (nová emoji)
- Malá velikost (SVG z CDN)
- Snadná implementace
- Používá Twitter, Discord, aj.
❌ Nevýhody
- Dodatečné HTTP požadavky
- Závislost na CDN (nebo self-host)
- Mírně odlišný vzhled od systémových
- Nutnost parsovat DOM
- Větší zátěž při mnoha emoji
🔄 Porovnání alternativ
| Vlastnost | Twemoji | OpenMoji | Noto Emoji | JoyPixels |
|---|---|---|---|---|
| Cena | Zdarma | Zdarma | Zdarma | Placené |
| SVG podpora | ✓ | ✓ | ✗ | ✓ |
| CDN dostupnost | ✓ | ✓ | ✗ | ✓ |
| Aktivní vývoj | ✓ | ✓ | ✓ | ✓ |
| Komerční použití | ✓ | ✓ | ✓ | Licence |
| Popularita | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
Pro naši emoji databázi doporučuji přidat přepínač, který uživatelům umožní vybrat si mezi nativními emoji (rychlejší) a Twemoji (konzistentní). Většina uživatelů preferuje vzhled, na který jsou zvyklí ze svého systému.
🪟 Preferuješ Windows 11 styl?
Microsoft uvolnil Fluent Emoji jako open-source! Můžeš je použít místo Twemoji.
Zobrazit Fluent Emoji →Chceš-li přidat Twemoji nebo Fluent Emoji do naší emoji databáze, stačí říct a upravím hlavní stránku s přepínačem mezi nativním a jednotným režimem!