Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How I didn't fix 📧Ⓜ️💣🚽ℹ️ in Chrome

How I didn't fix 📧Ⓜ️💣🚽ℹ️ in Chrome

Two years ago, in the dark days of the web, Chrome couldn’t render emojis. Monica tried to fix it, failed, and has been obsessed with bringing unicode to the people ever since. Why do you sometimes get a square instead of a 🍕 if you type U+1F355?
How do skin coloured emoji work? How do you add a dinosaur emoji to the spec, which is decidedly lacking? If you’ve ever asked any of these questions, this talk is for you.

Avatar for Monica Dinculescu

Monica Dinculescu

September 12, 2016
Tweet

More Decks by Monica Dinculescu

Other Decks in Programming

Transcript

  1. H O W I D I D N ’ T

    F I X I N C H R O M E Ⓜ ℹ
  2. :-)

  3. )

  4. +

  5. pls shape in Comic Sans MS nah. not a thing

    fam in sans-serif fallback???
  6. pls shape in Comic Sans MS nah. not a thing

    fam in sans-serif fallback??? noooope.
  7. uhh in AppleColorEmoji? (a hunch) oh for sure. here’s the

    shape and position! yay! skia, here’s a text blob ! TM
  8. uhh in AppleColorEmoji? (a hunch) oh for sure. here’s the

    shape and position! yay! skia, here’s a text blob ! YASSS. hey user, i painted a !!! TM
  9. uhh in Segoe UI Emoji? (a hunch) oh for sure.

    here’s the shape and position! yay! skia, here’s a text blob ! YASSS. hey user, i painted a !!! TM
  10. uhh in A Custom Font? (a hunch) nah welp. i

    don’t know. YASSS. hey user, i painted a ⌷ !!!
  11. ⌘ + ⌃ + SPACE TIME WI-FIS DEVICE NAMES ACTUALLY

    EVERY NAME TERMINAL PROMPTS EVERY TEXTFIELD ON THE INTERNET CODE
  12. ⌘ + ⌃ + SPACE TIME WI-FIS DEVICE NAMES ACTUALLY

    EVERY NAME TERMINAL PROMPTS EVERY TEXTFIELD ON THE INTERNET CODE
  13. ⌘ + ⌃ + SPACE TIME WI-FIS DEVICE NAMES ACTUALLY

    EVERY NAME TERMINAL PROMPTS EVERY TEXTFIELD ON THE INTERNET CODE
  14. ⌘ + ⌃ + SPACE TIME WI-FIS DEVICE NAMES ACTUALLY

    EVERY NAME TERMINAL PROMPTS EVERY TEXTFIELD ON THE INTERNET CODE
  15. ⌘ + ⌃ + SPACE TIME WI-FIS DEVICE NAMES ACTUALLY

    EVERY NAME TERMINAL PROMPTS EVERY TEXTFIELD ON THE INTERNET CODE
  16. ⌘ + ⌃ + SPACE TIME WI-FIS DEVICE NAMES ACTUALLY

    EVERY NAME TERMINAL PROMPTS EVERY TEXTFIELD ON THE INTERNET CODE
  17. ⌘ + ⌃ + SPACE TIME WI-FIS DEVICE NAMES ACTUALLY

    EVERY NAME TERMINAL PROMPTS EVERY TEXTFIELD ON THE INTERNET CODE
  18. ⌘ + ⌃ + SPACE TIME WI-FIS DEVICE NAMES ACTUALLY

    EVERY NAME TERMINAL PROMPTS EVERY TEXTFIELD ON THE INTERNET CODE
  19. ⌘ + ⌃ + SPACE TIME WI-FIS DEVICE NAMES ACTUALLY

    EVERY NAME TERMINAL PROMPTS EVERY TEXTFIELD ON THE INTERNET CODE
  20. ⌘ + ⌃ + SPACE TIME WI-FIS DEVICE NAMES ACTUALLY

    EVERY NAME TERMINAL PROMPTS EVERY TEXTFIELD ON THE INTERNET CODE
  21. ⌘ + ⌃ + SPACE TIME WI-FIS DEVICE NAMES ACTUALLY

    EVERY NAME TERMINAL PROMPTS EVERY TEXTFIELD ON THE INTERNET CODE
  22. ⌘ + ⌃ + SPACE TIME WI-FIS DEVICE NAMES ACTUALLY

    EVERY NAME TERMINAL PROMPTS EVERY TEXTFIELD ON THE INTERNET CODE
  23. ⌘ + ⌃ + SPACE TIME WI-FIS DEVICE NAMES ACTUALLY

    EVERY NAME TERMINAL PROMPTS EVERY TEXTFIELD ON THE INTERNET CODE
  24. ⌘ + ⌃ + SPACE TIME WI-FIS DEVICE NAMES ACTUALLY

    EVERY NAME TERMINAL PROMPTS EVERY TEXTFIELD ON THE INTERNET CODE
  25. ⌘ + ⌃ + SPACE TIME WI-FIS DEVICE NAMES ACTUALLY

    EVERY NAME TERMINAL PROMPTS EVERY TEXTFIELD ON THE INTERNET CODE
  26. . { font-size: 40px; font-style: italic; } <div class=“ ”

    onclick=“ “> </div> function ok() { alert(‘ '); } hi()
  27. . { font-size: 40px; font-style: italic; } <div class=“ ”

    onclick=“ “> </div> function hi() { alert(‘ '); } hi()
  28. . { font-size: 40px; font-style: italic; } <div class=“ ”

    onclick=“ “> </div> function hi() { alert(‘ '); } ()
  29. . { font-size: 40px; font-style: italic; } <div class=“ ”

    onclick=“ “> </div> function hi() { alert(‘ '); } ()
  30. . { font-size: 40px; font-style: italic; } <div class=“ ”

    onclick=“ “> </div> function hi() { alert(‘ '); } ()
  31. . { font-size: 40px; font-style: italic; } <div class=“ ”

    onclick=“\u1F43C()“> </div> function \u1F43C() { alert(‘ '); }
  32. . { font-size: 40px; font-style: italic; } <div class=“ ”

    onclick=“\u1F43C()“> </div> function \u1F43C() { alert(‘ '); }