php imagettftext и конкретные эмодзи

Я столкнулся с проблемой рисования смайликов, которые находятся в блоке юникода «Разные символы и пиктограммы».

Вот пример кода:

<?php
    header('Content-Type: image/png');

    $im = imagecreatetruecolor(290, 60);

    $grey = imagecolorallocate($im, 200, 200, 200);
    $black = imagecolorallocate($im, 0, 0, 0);
    imagefilledrectangle($im, 0, 0, 289, 59, $grey);

    $font = 'seguisym.ttf';
    $font = realpath($font);

    //&#127744; is the unicode html entity for a cyclone. It is under 'Miscellaneous Symbols And Pictographs'.
    $text = "&#127744; is a cyclone!";
    imagettftext($im, 20, 0, 5, 22, $black, $font, $text);

    //&#9924; is the unicode html entity for a snowman. It is under 'Miscellaneous Symbols'.
    $text = "&#9924; is a snowman!";
    imagettftext($im, 20, 0, 5, 52, $black, $font, $text);

    imagepng($im);
    imagedestroy($im);
?>

Вот вывод:

Вот как это должно выглядеть:

Как видите, оба этих смайлика находятся под разными блоками Юникода. Циклон находится в разделе «Разные символы и пиктограммы», а сущность HTML отображается вместо фактического символа, а снеговик - в разделе «Разные символы» и отображается правильно. Я дважды проверил, чтобы убедиться, что шрифт, который я использую, содержит оба символа.

Чтобы было ясно, я хочу, чтобы рисовался реальный символ, а не сущность HTML.

Те же символы, что и в UTF8:

Ответы на вопрос(1)

Ваш ответ на вопрос