Guided by @envy's answer, I was able to put together 2 functions to convert UTF8 special font characters both to and fro.
<?php
/* 2 global arrays used to convert a string to and from special UTF8 font characters. [BEGIN] */
$utf8_norm_fnt_char_arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '?', '.', ',', '"', "'"];
$utf8_spcl_fnt_type_arr = array
(
'serifBold' => ['๐', '๐', '๐', '๐', '๐', '๐', '๐ ', '๐ก', '๐ข', '๐ฃ', '๐ค', '๐ฅ', '๐ฆ', '๐ง', '๐จ', '๐ฉ', '๐ช', '๐ซ', '๐ฌ', '๐ญ', '๐ฎ', '๐ฏ', '๐ฐ', '๐ฑ', '๐ฒ', '๐ณ', '๐', '๐', '๐', '๐', '๐', '๐
', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', 'โ', 'โ', '.', ',', '"', "'"],
'serifItalic' => ['๐', '๐', '๐', '๐', '๐', '๐', '๐', 'โ', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐ ', '๐ก', '๐ข', '๐ฃ', '๐ค', '๐ฅ', '๐ฆ', '๐ง', '๐ด', '๐ต', '๐ถ', '๐ท', '๐ธ', '๐น', '๐บ', '๐ป', '๐ผ', '๐ฝ', '๐พ', '๐ฟ', '๐', '๐', '๐', '๐', '๐', '๐
', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '?', '.', ',', '"', "'"],
'serifBoldItalic' => ['๐', '๐', '๐', '๐
', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐จ', '๐ฉ', '๐ช', '๐ซ', '๐ฌ', '๐ญ', '๐ฎ', '๐ฏ', '๐ฐ', '๐ฑ', '๐ฒ', '๐ณ', '๐ด', '๐ต', '๐ถ', '๐ท', '๐ธ', '๐น', '๐บ', '๐ป', '๐ผ', '๐ฝ', '๐พ', '๐ฟ', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', 'โ', 'โ', '.', ',', '"', "'"],
'sans' => ['๐บ', '๐ป', '๐ผ', '๐ฝ', '๐พ', '๐ฟ', '๐', '๐', '๐', '๐', '๐', '๐
', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐ ', '๐ก', '๐ข', '๐ฃ', '๐ค', '๐ฅ', '๐ฆ', '๐ง', '๐จ', '๐ฉ', '๐ช', '๐ซ', '๐ฌ', '๐ญ', '๐ฎ', '๐ฏ', '๐ฐ', '๐ฑ', '๐ฒ', '๐ณ', '๐ด', '๐ต', '๐ถ', '๐ท', '๐ธ', '๐น', '๐ข', '๐ฃ', '๐ค', '๐ฅ', '๐ฆ', '๐ง', '๐จ', '๐ฉ', '๐ช', '๐ซ', '!', '?', '.', ',', '"', "'"],
'sansBold' => ['๐ฎ', '๐ฏ', '๐ฐ', '๐ฑ', '๐ฒ', '๐ณ', '๐ด', '๐ต', '๐ถ', '๐ท', '๐ธ', '๐น', '๐บ', '๐ป', '๐ผ', '๐ฝ', '๐พ', '๐ฟ', '๐', '๐', '๐', '๐', '๐', '๐
', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐ ', '๐ก', '๐ข', '๐ฃ', '๐ค', '๐ฅ', '๐ฆ', '๐ง', '๐จ', '๐ฉ', '๐ช', '๐ซ', '๐ฌ', '๐ญ', '๐ฌ', '๐ญ', '๐ฎ', '๐ฏ', '๐ฐ', '๐ฑ', '๐ฒ', '๐ณ', '๐ด', '๐ต', 'โ', 'โ', '.', ',', '"', "'"],
'sansItalic' => ['๐ข', '๐ฃ', '๐ค', '๐ฅ', '๐ฆ', '๐ง', '๐จ', '๐ฉ', '๐ช', '๐ซ', '๐ฌ', '๐ญ', '๐ฎ', '๐ฏ', '๐ฐ', '๐ฑ', '๐ฒ', '๐ณ', '๐ด', '๐ต', '๐ถ', '๐ท', '๐ธ', '๐น', '๐บ', '๐ป', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐ ', '๐ก', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '?', '.', ',', '"', "'"],
'sansBoldItalic' => ['๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐ ', '๐ก', '๐ข', '๐ฃ', '๐ค', '๐ฅ', '๐ฆ', '๐ง', '๐จ', '๐ฉ', '๐ช', '๐ซ', '๐ฌ', '๐ญ', '๐ฎ', '๐ฏ', '๐ผ', '๐ฝ', '๐พ', '๐ฟ', '๐', '๐', '๐', '๐', '๐', '๐
', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', 'โ', 'โ', '.', ',', '"', "'"],
'script' => ['๐ถ', '๐ท', '๐ธ', '๐น', 'โฏ', '๐ป', 'โ', '๐ฝ', '๐พ', '๐ฟ', '๐', '๐', '๐', '๐', 'โด', '๐
', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', 'โฌ', '๐', '๐', 'โฐ', 'โฑ', '๐ข', 'โ', 'โ', '๐ฅ', '๐ฆ', 'โ', 'โณ', '๐ฉ', '๐ช', '๐ซ', '๐ฌ', 'โ', '๐ฎ', '๐ฏ', '๐ฐ', '๐ฑ', '๐ฒ', '๐ณ', '๐ด', '๐ต', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '?', '.', ',', '"', "'"],
'scriptBold' => ['๐ช', '๐ซ', '๐ฌ', '๐ญ', '๐ฎ', '๐ฏ', '๐ฐ', '๐ฑ', '๐ฒ', '๐ณ', '๐ด', '๐ต', '๐ถ', '๐ท', '๐ธ', '๐น', '๐บ', '๐ป', '๐ผ', '๐ฝ', '๐พ', '๐ฟ', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐ ', '๐ก', '๐ข', '๐ฃ', '๐ค', '๐ฅ', '๐ฆ', '๐ง', '๐จ', '๐ฉ', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', 'โ', 'โ', '.', ',', '"', "'"],
'fraktur' => ['๐', '๐', '๐ ', '๐ก', '๐ข', '๐ฃ', '๐ค', '๐ฅ', '๐ฆ', '๐ง', '๐จ', '๐ฉ', '๐ช', '๐ซ', '๐ฌ', '๐ญ', '๐ฎ', '๐ฏ', '๐ฐ', '๐ฑ', '๐ฒ', '๐ณ', '๐ด', '๐ต', '๐ถ', '๐ท', '๐', '๐
', 'โญ', '๐', '๐', '๐', '๐', 'โ', 'โ', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', 'โ', '๐', '๐', '๐', '๐', '๐', '๐', '๐', 'โจ', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '?', '.', ',', '"', "'"],
'frakturBold' => ['๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐ฌ', '๐ญ', '๐ฎ', '๐ฏ', '๐ฐ', '๐ฑ', '๐ฒ', '๐ณ', '๐ด', '๐ต', '๐ถ', '๐ท', '๐ธ', '๐น', '๐บ', '๐ป', '๐ผ', '๐ฝ', '๐พ', '๐ฟ', '๐', '๐', '๐', '๐', '๐', '๐
', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', 'โ', 'โ', '.', ',', '"', "'"],
'monospace' => ['๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐ ', '๐ก', '๐ข', '๐ฃ', '๐ฐ', '๐ฑ', '๐ฒ', '๐ณ', '๐ด', '๐ต', '๐ถ', '๐ท', '๐ธ', '๐น', '๐บ', '๐ป', '๐ผ', '๐ฝ', '๐พ', '๐ฟ', '๐', '๐', '๐', '๐', '๐', '๐
', '๐', '๐', '๐', '๐', '๐ถ', '๐ท', '๐ธ', '๐น', '๐บ', '๐ป', '๐ผ', '๐ฝ', '๐พ', '๐ฟ', '๏ผ', '๏ผ', '๏ผ', '๏ผ', '"', '๏ผ'],
'fullwidth' => ['๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ
', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ฝ', '๏ผก', '๏ผข', '๏ผฃ', '๏ผค', '๏ผฅ', '๏ผฆ', '๏ผง', '๏ผจ', '๏ผฉ', '๏ผช', '๏ผซ', '๏ผฌ', '๏ผญ', '๏ผฎ', '๏ผฏ', '๏ผฐ', '๏ผฑ', '๏ผฒ', '๏ผณ', '๏ผด', '๏ผต', '๏ผถ', '๏ผท', '๏ผธ', '๏ผน', '๏ผบ', '๏ผ', '๏ผ', '๏ผ', '๏ผ', '๏ผ', '๏ผ', '๏ผ', '๏ผ', '๏ผ', '๏ผ', '๏ผ', '๏ผ', '๏ผ', '๏ผ', '"', '๏ผ'],
'doublestruck' => ['๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐ ', '๐ก', '๐ข', '๐ฃ', '๐ค', '๐ฅ', '๐ฆ', '๐ง', '๐จ', '๐ฉ', '๐ช', '๐ซ', '๐ธ', '๐น', 'โ', '๐ป', '๐ผ', '๐ฝ', '๐พ', 'โ', '๐', '๐', '๐', '๐', '๐', 'โ', '๐', 'โ', 'โ', 'โ', '๐', '๐', '๐', '๐', '๐', '๐', '๐', 'โค', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐ ', '๐ก', 'โ', 'โ', '.', ',', '"', "'"],
'capitalized' => ['แด', 'ส', 'แด', 'แด
', 'แด', '๊ฐ', 'ษข', 'ส', 'ษช', 'แด', 'แด', 'ส', 'แด', 'ษด', 'แด', 'แด', 'q', 'ส', '๊ฑ', 'แด', 'แด', 'แด ', 'แดก', 'x', 'ส', 'แดข', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '๏น', '๏น', '๏น', '๏น', '"', "'"],
'circled' => ['โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ ', 'โก', 'โข', 'โฃ', 'โค', 'โฅ', 'โฆ', 'โง', 'โจ', 'โฉ', 'โถ', 'โท', 'โธ', 'โน', 'โบ', 'โป', 'โผ', 'โฝ', 'โพ', 'โฟ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ
', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โ', 'โช', 'โ ', 'โก', 'โข', 'โฃ', 'โค', 'โฅ', 'โฆ', 'โง', 'โจ', '!', '?', '.', ',', '"', "'"],
'parenthesized' => ['โ', 'โ', 'โ', 'โ', 'โ ', 'โก', 'โข', 'โฃ', 'โค', 'โฅ', 'โฆ', 'โง', 'โจ', 'โฉ', 'โช', 'โซ', 'โฌ', 'โญ', 'โฎ', 'โฏ', 'โฐ', 'โฑ', 'โฒ', 'โณ', 'โด', 'โต', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐', '๐ ', '๐ก', '๐ข', '๐ฃ', '๐ค', '๐ฅ', '๐ฆ', '๐ง', '๐จ', '๐ฉ', 'โฟ', 'โด', 'โต', 'โถ', 'โท', 'โธ', 'โน', 'โบ', 'โป', 'โผ', '!', '?', '.', ',', '"', "'"],
'underlinedSingle' => ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '?', '.', ',', '"', "'"],
'underlinedDouble' => ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '?', '.', ',', '"', "'"],
'strikethroughSingle' => ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '?', '.', ',', '"', "'"],
'crosshatch' => ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '?', '.', ',', '"', "'"]
);
/* 2 global arrays used to convert a string to and from special UTF8 font characters. [END] */
/* A global function to convert a string into special UTF8 font characters. [BEGIN] */
/* Valid Font Types ($utf8_spcl_fnt_type):
'serifBold', 'serifItalic', 'serifBoldItalic', 'sans', 'sansBold', 'sansItalic', 'script', 'scriptBold',
'fraktur', 'frakturBold', 'monospace', 'fullwidth', 'doublestruck', 'capitalized', 'circled', 'parenthesized',
'underlinedSingle', 'underlinedDouble', 'strikethroughSingle', 'crosshatch'
*/
if (!function_exists('cvtIntoSpclUTF8FntChars'))
{
function cvtIntoSpclUTF8FntChars($utf8_spcl_fnt_type, $str)
{
global $utf8_norm_fnt_char_arr, $utf8_spcl_fnt_type_arr;
if (isset($utf8_spcl_fnt_type) && is_array($utf8_spcl_fnt_type_arr) && array_key_exists($utf8_spcl_fnt_type, $utf8_spcl_fnt_type_arr))
{
$str = str_replace($utf8_norm_fnt_char_arr, $utf8_spcl_fnt_type_arr[$utf8_spcl_fnt_type], $str);
};
return $str;
};
};
/* A global function to convert a string into special UTF8 font characters. [END] */
/* A global function to revert a string from special UTF8 font characters. [BEGIN] */
if (!function_exists('rvtFromSpclUTF8FntChars'))
{
function rvtFromSpclUTF8FntChars($str)
{
global $utf8_norm_fnt_char_arr, $utf8_spcl_fnt_type_arr;
foreach ($utf8_spcl_fnt_type_arr as $utf8_spcl_fnt_char_arr)
{
$str = str_replace($utf8_spcl_fnt_char_arr, $utf8_norm_fnt_char_arr, $str);
};
return $str;
};
};
/* A global function to revert a string from special UTF8 font characters. [END] */
?>
Usage:
echo cvtIntoSpclUTF8FntChars('script', 'Hello, World!');
becomesโฆ
โโฏ๐๐โด, ๐ฒโด๐๐๐น!
and...
echo rvtFromSpclUTF8FntChars('โโฏ๐๐โด, ๐ฒโด๐๐๐น!');
becomes...
Hello, World!
I hope this helps someone. Enjoy!๐
MATHEMATICAL SANS-SERIF BOLD SMALL
fromU+1D400
toU+1D7FF
. โ Avroniconv
or a related library/plug-in for PHP?$ echo ๐๐ฒ๐ ๐ถ๐ ๐ฟ๐ฒ๐ฎ๐ฑ๐ ๐ณ๐ผ๐ฟ ๐๐ต๐ฒ ๐ฑ๐ถ๐๐ฐ๐๐๐๐ถ๐ผ๐ป | iconv -f UTF-8 -t ASCII//TRANSLIT
yieldsset is ready for the discussion
. โ Clamatorial