Emoji Sound

Código fonte

<!DOCTYPE html><html><head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>EmojiSound Multi-Language</title>
  <style>
    body { 
      font-family: "Arial", Sans-Serif;
      font-size: 22pt;
    }
  </style>
</head>
<body><b>How Emojis Sound in</b><BR>
<label for="lang">language: </label>
<select name="lang" id="lang" onchange="gen()">
  <option value="pt">🇧🇷 Portuguese</option>
  <option value="es">🇪🇸 Spanish</option>
  <option value="fr">🇫🇷 French</option>
  <option value="it">🇮🇹 Italian</option>
  <option value="ru">🇷🇺 Russian</option>
  <option value="en-US">🇺🇸 English US</option>
  <option value="en-GB">🇬🇧 English UK</option>
  <option value="de-DE">🇩🇪 German</option>
  <option value="ja">🇯🇵 Japanese</option>
  <option value="zh">🇨🇳 Chinese</option>
</select><br>
<input type="checkbox" id="mobile" name="mobile" checked="true" onchange="gen()">
<label for="mobile">mobile</label>
<input type="checkbox" id="dark" name="dark" onchange="d()" />
<label for="dark">dark mode</label>
<p style='font-family: "Lucida Console", "Courier New", monospace; font-size: 26pt; cursor: crosshair;' id="out"></p>
<script>
  gen();
  function gen() {
    l=get("lang").value;
    M=n=>String.fromCodePoint(n);
    if (get("mobile").checked) sa="<table><tr>",sb="</td><td ",sc="</tr><tr>",sd="</td></tr></table>";
    else sa=sc=sd="",sb="</b><b ";
    for(o=''+sa,i=0;i<1792;o+=(sb+`onclick="speechSynthesis.speak(b=new SpeechSynthesisUtterance('${a=M(z)}'),b.lang='${l}',b)">`+a+(i%8?'':sc)))z=127744+i++; // simple codes 
    for(o+=sd+sa,i=0;i<676;i++) o+=(sb+`onclick="speechSynthesis.speak(b=new SpeechSynthesisUtterance('${a=M( 0x1F1E6+~~(i/26)%26)+M(0x1F1E6+i%26) }'),b.lang='${l}',b)">`+a+(i%8?'':sc)); // country flags
    put(o+sd);
  }
  function d() {
    dm = get("dark").checked;
    document.body.style.color = dm?"white":"black";
    document.body.style.backgroundColor = dm?"black":"white";
  }
  function get(o) { return document.getElementById(o); }
  function put(o) { get("out").innerHTML=o; }
</script></body></html>

*