Skip to content

degola/toUnicodeVariant

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐—Žา‰ toUnicodeVariant

Javascript function to convert a string into different kind of โ“คโ“โ“˜โ“’โ“žโ““โ“” variants.

toUnicodeVariant is an attempt to utilize unicode in a structured, organized and logical manner.

browser

<script src="path/to/toUnicodeVariant.js"></script>

nodejs

const toUnicodeVariant = require('path/to/toUnicodeVariant.js') 

typescript

npm install string-to-unicode-variant
import {string_to_unicode_variant} from "string-to-unicode-variant";

Usage

Pass a string and the name of a variant (or alias), and you get the unicoded' string in return :

toUnicodeVariant(string, variant, combinings)
...
toUnicodeVariant('monospace', 'm') //like first row below 
Variant Alias Description Example
monospace m Monospace ๐š–๐š˜๐š—๐š˜๐šœ๐š™๐šŠ๐šŒ๐šŽ
bold b Bold text ๐›๐จ๐ฅ๐
italic i Italic text ๐‘–๐‘ก๐‘Ž๐‘™๐‘–๐‘
bold italic bi bold+italic text ๐’ƒ๐’๐’๐’… ๐’Š๐’•๐’‚๐’๐’Š๐’„
script c Handwriting style ๐“ˆ๐’ธ๐“‡๐’พ๐“…๐“‰
bold script bc Bolder handwriting ๐“ซ๐“ธ๐“ต๐“ญ ๐“ผ๐“ฌ๐“ป๐“ฒ๐“น๐“ฝ
gothic g Gothic (fraktur) ๐”ค๐”ฌ๐”ฑ๐”ฅ๐”ฆ๐” 
gothic bold bg Gothic in bold ๐–Œ๐–”๐–™๐–๐–Ž๐–ˆ ๐–‡๐–”๐–‘๐–‰
doublestruck d Outlined text ๐••๐• ๐•ฆ๐•“๐•๐•–๐•ค๐•ฅ๐•ฃ๐•ฆ๐•”๐•œ
๐—Œ๐–บ๐—‡๐—Œ s Sans-serif style ๐—Œ๐–บ๐—‡๐—Œ
bold ๐—Œ๐–บ๐—‡๐—Œ bs Bold sans-serif ๐—ฏ๐—ผ๐—น๐—ฑ ๐˜€๐—ฎ๐—ป๐˜€
italic ๐—Œ๐–บ๐—‡๐—Œ is Italic sans-serif ๐˜ช๐˜ต๐˜ข๐˜ญ๐˜ช๐˜ค ๐˜ด๐˜ข๐˜ฏ๐˜ด
bold italic sans bis Bold italic sans-serif ๐™—๐™ค๐™ก๐™™ ๐™ž๐™ฉ๐™–๐™ก๐™ž๐™˜ ๐™จ๐™–๐™ฃ๐™จ
circled o Letters within circles โ“’โ“˜โ“กโ“’โ“›โ“”โ““
circled negative on -- negative ๐Ÿ…’๐Ÿ…˜๐Ÿ…ก๐Ÿ…’๐Ÿ…›๐Ÿ…”๐Ÿ…“
squared q Letters within squares ๐Ÿ…‚๐Ÿ…€๐Ÿ…„๐Ÿ„ฐ๐Ÿ…๐Ÿ„ด๐Ÿ„ณ
squared negative qn -- negative ๐Ÿ†‚๐Ÿ†€๐Ÿ†„๐Ÿ…ฐ๐Ÿ†๐Ÿ…ด๐Ÿ…ณ
paranthesis p Letters within paranthesis โ’ซโ’œโ’ญโ’ โ’ฉโ’ฏโ’ฃโ’ โ’ฎโ’คโ’ฎ
fullwidth w Wider monospace font ๏ฝ†๏ฝ•๏ฝŒ๏ฝŒ๏ฝ—๏ฝ‰๏ฝ„๏ฝ”๏ฝˆ
flags f Regional codes ๐Ÿ‡ฉ๐Ÿ‡ฐ ๐Ÿ‡บ ๐Ÿ‡ณ ๐Ÿ‡ฎ ๐Ÿ‡จ ๐Ÿ‡ด ๐Ÿ‡ฉ ๐Ÿ‡ช
numbers dot nd Numbers with trailing dot โ’ˆโ’‰โ’Šโ’‹
numbers comma nc Numbers with trailing comma ๐Ÿ„‚๐Ÿ„ƒ๐Ÿ„„๐Ÿ„…
number double circled ndc Numbers within double circle โ“ตโ“ถโ“ทโ“ธ
roman r Roman numerals โ… , โ…ก, โ…ฏโ…ฏโ…ฉโ…ฉโ…ข

Combining with underline, strike and other diacritical marks

The unicoded' text can be combined with a broad range of diacritical marks

toUnicodeVariant('underlined', 'bold italic', 'underline-double')//๐’–ฬณ๐’ฬณ๐’…ฬณ๐’†ฬณ๐’“ฬณ๐’ฬณ๐’Šฬณ๐’ฬณ๐’†ฬณ๐’…ฬณ

CombiningShortSample (italic variant)
strikes๐‘Žฬถ๐‘ฬถ๐‘ฬถ๐‘‘ฬถ๐‘’ฬถ๐‘“ฬถ
strike-curlysc๐‘Žฬด๐‘ฬด๐‘ฬด๐‘‘ฬด๐‘’ฬด๐‘“ฬด
underlineu๐‘Žฬฒ๐‘ฬฒ๐‘ฬฒ๐‘‘ฬฒ๐‘’ฬฒ๐‘“ฬฒ
underline-curlyuc๐‘Žฬฐ๐‘ฬฐ๐‘ฬฐ๐‘‘ฬฐ๐‘’ฬฐ๐‘“ฬฐ
underline-smu-sm๐‘Žฬ ๐‘ฬ ๐‘ฬ ๐‘‘ฬ ๐‘’ฬ ๐‘“ฬ 
underline-doubleud๐‘Žฬณ๐‘ฬณ๐‘ฬณ๐‘‘ฬณ๐‘’ฬณ๐‘“ฬณ
underline-double-smud-sm๐‘Žอ‡๐‘อ‡๐‘อ‡๐‘‘อ‡๐‘’อ‡๐‘“อ‡
overlineo๐‘Žฬ…๐‘ฬ…๐‘ฬ…๐‘‘ฬ…๐‘’ฬ…๐‘“ฬ…
overline-curlyoc๐‘Žฬƒ๐‘ฬƒ๐‘ฬƒ๐‘‘ฬƒ๐‘’ฬƒ๐‘“ฬƒ
overline-smo-sm๐‘Žฬ„๐‘ฬ„๐‘ฬ„๐‘‘ฬ„๐‘’ฬ„๐‘“ฬ„
overline-doubleod๐‘Žฬฟ๐‘ฬฟ๐‘ฬฟ๐‘‘ฬฟ๐‘’ฬฟ๐‘“ฬฟ
slashsl๐‘Žฬธ๐‘ฬธ๐‘ฬธ๐‘‘ฬธ๐‘’ฬธ๐‘“ฬธ
cross-aboveca๐‘Žฬฝ๐‘ฬฝ๐‘ฬฝ๐‘‘ฬฝ๐‘’ฬฝ๐‘“ฬฝ
plus-belowpb๐‘ŽฬŸ๐‘ฬŸ๐‘ฬŸ๐‘‘ฬŸ๐‘’ฬŸ๐‘“ฬŸ
enclose-circleen-c๐‘Žโƒโ€€๐‘โƒโ€€๐‘โƒโ€€
enclose-circle-backslashen-cb๐‘Žโƒ โ€€๐‘โƒ โ€€๐‘โƒ โ€€
enclose-squareen-s๐‘Žโƒžโ€€๐‘โƒžโ€€๐‘โƒžโ€€
enclose-diamonden-d๐‘ŽโƒŸโ€€๐‘โƒŸโ€€๐‘โƒŸโ€€
enclose-screenen-scr๐‘Žโƒขโ€€๐‘โƒขโ€€๐‘โƒขโ€€
enclose-keycapen-k๐‘Žโƒฃโ€€๐‘โƒฃโ€€๐‘โƒฃโ€€
halo-brevehb๐–บาˆโ€€๐–ปาˆโ€€๐–ผาˆโ€€
halo-gravehg๐–บา‰โ€€๐–ปา‰โ€€๐–ผา‰โ€€
๐‘›-above{a..x}-a๐‘Žอฃ๐‘Žอจ๐‘Žอฉ๐‘Žอค๐‘Žอช๐‘Žอฅ๐‘Žอซ๐‘Žอฆ๐‘Žอฌ๐‘Žอง๐‘Žอฎ๐‘Žอฏ
๐Ÿ”Ž Compatibility table: Variants / combinings
sscuucu-smudud-smooco-smodsla-ac-ad-ae-ah-ai-am-ar-au-av-ax-acapben-cen-cben-sen-den-scren-khbhg
monospace๐šŠฬถ๐šŠฬด๐šŠฬฒ๐šŠฬฐ๐šŠฬ ๐šŠฬณ๐šŠอ‡๐šŠฬ…๐šŠฬƒ๐šŠฬ„๐šŠฬฟ๐šŠฬธ๐šŠอฃ๐šŠอจ๐šŠอฉ๐šŠอค๐šŠอช๐šŠอฅ๐šŠอซ๐šŠอฌ๐šŠอง๐šŠอฎ๐šŠอฏ๐šŠฬฝ๐šŠฬŸ๐šŠโƒ๐šŠโƒ ๐šŠโƒž๐šŠโƒŸ๐šŠโƒข๐šŠโƒฃ - -
bold๐šฬถ๐šฬด๐šฬฒ๐šฬฐ๐šฬ ๐šฬณ๐šอ‡๐šฬ…๐šฬƒ๐šฬ„๐šฬฟ๐šฬธ๐šอฃ๐šอจ๐šอฉ๐šอค๐šอช๐šอฅ๐šอซ๐šอฌ๐šอง๐šอฎ๐šอฏ๐šฬฝ๐šฬŸ๐šโƒ๐šโƒ ๐šโƒž๐šโƒŸ๐šโƒข๐šโƒฃ - -
italic๐‘Žฬถ๐‘Žฬด๐‘Žฬฒ๐‘Žฬฐ๐‘Žฬ ๐‘Žฬณ๐‘Žอ‡๐‘Žฬ…๐‘Žฬƒ๐‘Žฬ„๐‘Žฬฟ๐‘Žฬธ๐‘Žอฃ๐‘Žอจ๐‘Žอฉ๐‘Žอค๐‘Žอช๐‘Žอฅ๐‘Žอซ๐‘Žอฌ๐‘Žอง๐‘Žอฎ๐‘Žอฏ๐‘Žฬฝ๐‘ŽฬŸ๐‘Žโƒ๐‘Žโƒ ๐‘Žโƒž๐‘ŽโƒŸ๐‘Žโƒข๐‘Žโƒฃ - -
bold italic๐’‚ฬถ๐’‚ฬด๐’‚ฬฒ๐’‚ฬฐ๐’‚ฬ ๐’‚ฬณ๐’‚อ‡๐’‚ฬ…๐’‚ฬƒ๐’‚ฬ„๐’‚ฬฟ๐’‚ฬธ๐’‚อฃ๐’‚อจ๐’‚อฉ๐’‚อค๐’‚อช๐’‚อฅ๐’‚อซ๐’‚อฌ๐’‚อง๐’‚อฎ๐’‚อฏ๐’‚ฬฝ๐’‚ฬŸ๐’‚โƒ๐’‚โƒ ๐’‚โƒž๐’‚โƒŸ๐’‚โƒข๐’‚โƒฃ - -
script๐’ถฬถ๐’ถฬด๐’ถฬฒ๐’ถฬฐ๐’ถฬ ๐’ถฬณ๐’ถอ‡๐’ถฬ…๐’ถฬƒ๐’ถฬ„๐’ถฬฟ๐’ถฬธ๐’ถอฃ๐’ถอจ๐’ถอฉ๐’ถอค๐’ถอช๐’ถอฅ๐’ถอซ๐’ถอฌ๐’ถอง๐’ถอฎ๐’ถอฏ๐’ถฬฝ๐’ถฬŸ๐’ถโƒ๐’ถโƒ ๐’ถโƒž๐’ถโƒŸ๐’ถโƒข๐’ถโƒฃ - -
bold script๐“ชฬถ๐“ชฬด๐“ชฬฒ๐“ชฬฐ๐“ชฬ ๐“ชฬณ๐“ชอ‡๐“ชฬ…๐“ชฬƒ๐“ชฬ„๐“ชฬฟ๐“ชฬธ๐“ชอฃ๐“ชอจ๐“ชอฉ๐“ชอค๐“ชอช๐“ชอฅ๐“ชอซ๐“ชอฌ๐“ชอง๐“ชอฎ๐“ชอฏ๐“ชฬฝ๐“ชฬŸ๐“ชโƒ๐“ชโƒ ๐“ชโƒž๐“ชโƒŸ๐“ชโƒข๐“ชโƒฃ - -
gothic๐”žฬถ๐”žฬด๐”žฬฒ๐”žฬฐ๐”žฬ ๐”žฬณ๐”žอ‡๐”žฬ…๐”žฬƒ๐”žฬ„๐”žฬฟ๐”žฬธ๐”žอฃ๐”žอจ๐”žอฉ๐”žอค๐”žอช๐”žอฅ๐”žอซ๐”žอฌ๐”žอง๐”žอฎ๐”žอฏ๐”žฬฝ๐”žฬŸ๐”žโƒ๐”žโƒ ๐”žโƒž๐”žโƒŸ๐”žโƒข๐”žโƒฃ - -
gothic bold๐–†ฬถ๐–†ฬด๐–†ฬฒ๐–†ฬฐ๐–†ฬ ๐–†ฬณ๐–†อ‡๐–†ฬ…๐–†ฬƒ๐–†ฬ„๐–†ฬฟ๐–†ฬธ๐–†อฃ๐–†อจ๐–†อฉ๐–†อค๐–†อช๐–†อฅ๐–†อซ๐–†อฌ๐–†อง๐–†อฎ๐–†อฏ๐–†ฬฝ๐–†ฬŸ๐–†โƒ๐–†โƒ ๐–†โƒž๐–†โƒŸ๐–†โƒข๐–†โƒฃ - -
doublestruck๐•’ฬถ๐•’ฬด๐•’ฬฒ๐•’ฬฐ๐•’ฬ ๐•’ฬณ๐•’อ‡๐•’ฬ…๐•’ฬƒ๐•’ฬ„๐•’ฬฟ๐•’ฬธ - - - - - - - - - - - ๐•’ฬฝ๐•’ฬŸ - - - - - - ๐•’าˆ๐•’า‰
sans๐–บฬถ๐–บฬด๐–บฬฒ๐–บฬฐ๐–บฬ ๐–บฬณ๐–บอ‡๐–บฬ…๐–บฬƒ๐–บฬ„๐–บฬฟ๐–บฬธ - - - - - - - - - - - ๐–บฬฝ๐–บฬŸ - - - - - - ๐–บาˆ๐–บา‰
bold sans๐—ฎฬถ๐—ฎฬด๐—ฎฬฒ๐—ฎฬฐ๐—ฎฬ ๐—ฎฬณ๐—ฎอ‡๐—ฎฬ…๐—ฎฬƒ๐—ฎฬ„๐—ฎฬฟ๐—ฎฬธ - - - - - - - - - - - ๐—ฎฬฝ๐—ฎฬŸ - - - - - - - -
italic sans๐˜ขฬถ๐˜ขฬด๐˜ขฬฒ๐˜ขฬฐ๐˜ขฬ ๐˜ขฬณ๐˜ขอ‡๐˜ขฬ…๐˜ขฬƒ๐˜ขฬ„๐˜ขฬฟ๐˜ขฬธ - - - - - - - - - - - ๐˜ขฬฝ๐˜ขฬŸ - - - - - - - -
bold italic sans๐™–ฬถ๐™–ฬด๐™–ฬฒ๐™–ฬฐ๐™–ฬ ๐™–ฬณ๐™–อ‡๐™–ฬ…๐™–ฬƒ๐™–ฬ„๐™–ฬฟ๐™–ฬธ - - - - - - - - - - - ๐™–ฬฝ๐™–ฬŸ - - - - - - - -
parenthe - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
squared - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
squared neg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
circled - - - - - - - - - โ“ฬ„ - - - - - - - - - - - - - - - - - - - - - - -
circled neg. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
fullwidth - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

You can control the space between each character by using space-combinings. In the above table, rendering of the halo- and enclose- samples are used along with a space-en to make them look nicer.

๐Ÿ”Ž Compatibility table: Combining spaces
space-zerospace-hairspace-thinspacespace-enspace-figurespace-cjkspace-emspace-ogham
monospace๐šŠ๏ปฟ๐šฃ๏ปฟ๐šŠโ€Š๐šฃโ€Š๐šŠโ€‰๐šฃโ€‰๐šŠ ๐šฃ ๐šŠโ€€๐šฃโ€€๐šŠโ€‡๐šฃโ€‡๐šŠใ€€๐šฃใ€€๐šŠโ€๐šฃโ€๐šŠแš€๐šฃแš€
bold๐š๏ปฟ๐ณ๏ปฟ๐šโ€Š๐ณโ€Š๐šโ€‰๐ณโ€‰๐š ๐ณ ๐šโ€€๐ณโ€€๐šโ€‡๐ณโ€‡๐šใ€€๐ณใ€€๐šโ€๐ณโ€๐šแš€๐ณแš€
italic๐‘Ž๏ปฟ๐‘ง๏ปฟ๐‘Žโ€Š๐‘งโ€Š๐‘Žโ€‰๐‘งโ€‰๐‘Ž ๐‘ง ๐‘Žโ€€๐‘งโ€€๐‘Žโ€‡๐‘งโ€‡๐‘Žใ€€๐‘งใ€€๐‘Žโ€๐‘งโ€๐‘Žแš€๐‘งแš€
bold italic๐’‚๏ปฟ๐’›๏ปฟ๐’‚โ€Š๐’›โ€Š๐’‚โ€‰๐’›โ€‰๐’‚ ๐’› ๐’‚โ€€๐’›โ€€๐’‚โ€‡๐’›โ€‡๐’‚ใ€€๐’›ใ€€๐’‚โ€๐’›โ€๐’‚แš€๐’›แš€
script๐’ถ๏ปฟ๐“๏ปฟ๐’ถโ€Š๐“โ€Š๐’ถโ€‰๐“โ€‰๐’ถ ๐“ ๐’ถโ€€๐“โ€€๐’ถโ€‡๐“โ€‡๐’ถใ€€๐“ใ€€๐’ถโ€๐“โ€๐’ถแš€๐“แš€
bold script๐“ช๏ปฟ๐”ƒ๏ปฟ๐“ชโ€Š๐”ƒโ€Š๐“ชโ€‰๐”ƒโ€‰๐“ช ๐”ƒ ๐“ชโ€€๐”ƒโ€€๐“ชโ€‡๐”ƒโ€‡๐“ชใ€€๐”ƒใ€€๐“ชโ€๐”ƒโ€๐“ชแš€๐”ƒแš€
gothic๐”ž๏ปฟ๐”ท๏ปฟ๐”žโ€Š๐”ทโ€Š๐”žโ€‰๐”ทโ€‰๐”ž ๐”ท ๐”žโ€€๐”ทโ€€๐”žโ€‡๐”ทโ€‡๐”žใ€€๐”ทใ€€๐”žโ€๐”ทโ€๐”žแš€๐”ทแš€
gothic bold๐–†๏ปฟ๐–Ÿ๏ปฟ๐–†โ€Š๐–Ÿโ€Š๐–†โ€‰๐–Ÿโ€‰๐–† ๐–Ÿ ๐–†โ€€๐–Ÿโ€€๐–†โ€‡๐–Ÿโ€‡๐–†ใ€€๐–Ÿใ€€๐–†โ€๐–Ÿโ€๐–†แš€๐–Ÿแš€
doublestruck๐•’๏ปฟ๐•ซ๏ปฟ๐•’โ€Š๐•ซโ€Š๐•’โ€‰๐•ซโ€‰๐•’ ๐•ซ ๐•’โ€€๐•ซโ€€๐•’โ€‡๐•ซโ€‡๐•’ใ€€๐•ซใ€€๐•’โ€๐•ซโ€๐•’แš€๐•ซแš€
sans๐–บ๏ปฟ๐—“๏ปฟ๐–บโ€Š๐—“โ€Š๐–บโ€‰๐—“โ€‰๐–บ ๐—“ ๐–บโ€€๐—“โ€€๐–บโ€‡๐—“โ€‡๐–บใ€€๐—“ใ€€๐–บโ€๐—“โ€๐–บแš€๐—“แš€
bold sans๐—ฎ๏ปฟ๐˜‡๏ปฟ๐—ฎโ€Š๐˜‡โ€Š๐—ฎโ€‰๐˜‡โ€‰๐—ฎ ๐˜‡ ๐—ฎโ€€๐˜‡โ€€๐—ฎโ€‡๐˜‡โ€‡๐—ฎใ€€๐˜‡ใ€€๐—ฎโ€๐˜‡โ€๐—ฎแš€๐˜‡แš€
italic sans๐˜ข๏ปฟ๐˜ป๏ปฟ๐˜ขโ€Š๐˜ปโ€Š๐˜ขโ€‰๐˜ปโ€‰๐˜ข ๐˜ป ๐˜ขโ€€๐˜ปโ€€๐˜ขโ€‡๐˜ปโ€‡๐˜ขใ€€๐˜ปใ€€๐˜ขโ€๐˜ปโ€๐˜ขแš€๐˜ปแš€
bold italic sans๐™–๏ปฟ๐™ฏ๏ปฟ๐™–โ€Š๐™ฏโ€Š๐™–โ€‰๐™ฏโ€‰๐™– ๐™ฏ ๐™–โ€€๐™ฏโ€€๐™–โ€‡๐™ฏโ€‡๐™–ใ€€๐™ฏใ€€๐™–โ€๐™ฏโ€๐™–แš€๐™ฏแš€
parentheโ’œ๏ปฟโ’ต๏ปฟโ’œโ€Šโ’ตโ€Šโ’œโ€‰โ’ตโ€‰โ’œ โ’ต โ’œโ€€โ’ตโ€€โ’œโ€‡โ’ตโ€‡โ’œใ€€โ’ตใ€€โ’œโ€โ’ตโ€โ’œแš€โ’ตแš€
squared๐Ÿ„ฐ๏ปฟ๐Ÿ…‰๏ปฟ๐Ÿ„ฐโ€Š๐Ÿ…‰โ€Š๐Ÿ„ฐโ€‰๐Ÿ…‰โ€‰๐Ÿ„ฐ ๐Ÿ…‰ ๐Ÿ„ฐโ€€๐Ÿ…‰โ€€๐Ÿ„ฐโ€‡๐Ÿ…‰โ€‡๐Ÿ„ฐใ€€๐Ÿ…‰ใ€€๐Ÿ„ฐโ€๐Ÿ…‰โ€๐Ÿ„ฐแš€๐Ÿ…‰แš€
squared neg๐Ÿ…ฐ๏ปฟ๐Ÿ†‰๏ปฟ๐Ÿ…ฐโ€Š๐Ÿ†‰โ€Š๐Ÿ…ฐโ€‰๐Ÿ†‰โ€‰๐Ÿ…ฐ ๐Ÿ†‰ ๐Ÿ…ฐโ€€๐Ÿ†‰โ€€๐Ÿ…ฐโ€‡๐Ÿ†‰โ€‡๐Ÿ…ฐใ€€๐Ÿ†‰ใ€€๐Ÿ…ฐโ€๐Ÿ†‰โ€๐Ÿ…ฐแš€๐Ÿ†‰แš€
circledโ“๏ปฟโ“ฉ๏ปฟโ“โ€Šโ“ฉโ€Šโ“โ€‰โ“ฉโ€‰โ“ โ“ฉ โ“โ€€โ“ฉโ€€โ“โ€‡โ“ฉโ€‡โ“ใ€€โ“ฉใ€€โ“โ€โ“ฉโ€โ“แš€โ“ฉแš€
circled neg.๐Ÿ…๏ปฟ๐Ÿ…ฉ๏ปฟ๐Ÿ…โ€Š๐Ÿ…ฉโ€Š๐Ÿ…โ€‰๐Ÿ…ฉโ€‰๐Ÿ… ๐Ÿ…ฉ ๐Ÿ…โ€€๐Ÿ…ฉโ€€๐Ÿ…โ€‡๐Ÿ…ฉโ€‡๐Ÿ…ใ€€๐Ÿ…ฉใ€€๐Ÿ…โ€๐Ÿ…ฉโ€๐Ÿ…แš€๐Ÿ…ฉแš€
fullwidth๏ฝ๏ปฟ๏ฝš๏ปฟ๏ฝโ€Š๏ฝšโ€Š๏ฝโ€‰๏ฝšโ€‰๏ฝ ๏ฝš ๏ฝโ€€๏ฝšโ€€๏ฝโ€‡๏ฝšโ€‡๏ฝใ€€๏ฝšใ€€๏ฝโ€๏ฝšโ€๏ฝแš€๏ฝšแš€
flags๐Ÿ‡ฉ๏ปฟ๐Ÿ‡ฐ๏ปฟ๐Ÿ‡ฉโ€Š๐Ÿ‡ฐโ€Š๐Ÿ‡ฉโ€‰๐Ÿ‡ฐโ€‰๐Ÿ‡ฉ ๐Ÿ‡ฐ ๐Ÿ‡ฉโ€€๐Ÿ‡ฐโ€€๐Ÿ‡ฉโ€‡๐Ÿ‡ฐโ€‡๐Ÿ‡ฉใ€€๐Ÿ‡ฐใ€€๐Ÿ‡ฉโ€๐Ÿ‡ฐโ€๐Ÿ‡ฉแš€๐Ÿ‡ฐแš€
numbers dotโ’“โ’“โ’“โ’“โ’“โ’“โ’“โ’“โ’“
numbers comma๐Ÿ„‚๏ปฟ๐Ÿ„ƒ๏ปฟ๐Ÿ„‚โ€Š๐Ÿ„ƒโ€Š๐Ÿ„‚โ€‰๐Ÿ„ƒโ€‰๐Ÿ„‚ ๐Ÿ„ƒ ๐Ÿ„‚โ€€๐Ÿ„ƒโ€€๐Ÿ„‚โ€‡๐Ÿ„ƒโ€‡๐Ÿ„‚ใ€€๐Ÿ„ƒใ€€๐Ÿ„‚โ€๐Ÿ„ƒโ€๐Ÿ„‚แš€๐Ÿ„ƒแš€
numbers dcโ“ต๏ปฟโ“ถ๏ปฟโ“ตโ€Šโ“ถโ€Šโ“ตโ€‰โ“ถโ€‰โ“ต โ“ถ โ“ตโ€€โ“ถโ€€โ“ตโ€‡โ“ถโ€‡โ“ตใ€€โ“ถใ€€โ“ตโ€โ“ถโ€โ“ตแš€โ“ถแš€

Combinings can be combined

You can use two, three or more combinings either by passing a comma separated string, or by passing an array of strings :

toUnicodeVariant('The quick brown fox jumps ...', 'sans', 'underline, overline, strike')
toUnicodeVariant('The quick brown fox jumps ...', 'sans', ['underline', 'overline', 'strike'])

๐–ณฬฒฬ…ฬถ๐—ฬฒฬ…ฬถ๐–พฬฒฬ…ฬถ ฬฒฬ…ฬถ๐—Šฬฒฬ…ฬถ๐—Žฬฒฬ…ฬถ๐—‚ฬฒฬ…ฬถ๐–ผฬฒฬ…ฬถ๐—„ฬฒฬ…ฬถ ฬฒฬ…ฬถ๐–ปฬฒฬ…ฬถ๐—‹ฬฒฬ…ฬถ๐—ˆฬฒฬ…ฬถ๐—ฬฒฬ…ฬถ๐—‡ฬฒฬ…ฬถ ฬฒฬ…ฬถ๐–ฟฬฒฬ…ฬถ๐—ˆฬฒฬ…ฬถ๐—‘ฬฒฬ…ฬถ ฬฒฬ…ฬถ๐—ƒฬฒฬ…ฬถ๐—Žฬฒฬ…ฬถ๐—†ฬฒฬ…ฬถ๐—‰ฬฒฬ…ฬถ๐—Œฬฒฬ…ฬถ ฬฒฬ…ฬถ๐—ˆฬฒฬ…ฬถ๐—ฬฒฬ…ฬถ๐–พฬฒฬ…ฬถ๐—‹ฬฒฬ…ฬถ ฬฒฬ…ฬถ๐—ฬฒฬ…ฬถ๐—ฬฒฬ…ฬถ๐–พฬฒฬ…ฬถ ฬฒฬ…ฬถ๐—…ฬฒฬ…ฬถ๐–บฬฒฬ…ฬถ๐—“ฬฒฬ…ฬถ๐—’ฬฒฬ…ฬถ ฬฒฬ…ฬถ๐–ฝฬฒฬ…ฬถ๐—ˆฬฒฬ…ฬถ๐—€ฬฒฬ…ฬถ

You can use shorthand aliases or a mix, 'u,o,s', ['u','o','strike'] etc.

Special chars

Language specific special chars like รง, รฒ or รธ are not supported by any unicode "variant", and will almost certainly never be in any future. The script and gothic fonts are in fact just various kind of mathematical symbols (see references below). For many of the variants, converting a special char like รธ will at best look odd, probably ruin the entire string (vary on reader / browser).

But -- by using the base latin character as fallback, and inject a makeover of diacritical marks, we can experimentally try to mimick some language specific characters. Adding diacritics fails with the figurative variants, but it works okay with most of the rest.

๐Ÿ”Ž Table of mimicked special chars, ๐—ฎฬ‚ to ๐—ผฬท
#mono spacebolditalic bold italicscriptbold scriptgothicgothic bolddouble strucksansbold sansitalic sansbold italic sans
รค๐šŠฬˆ๐šฬˆ๐‘Žฬˆ๐šŠฬˆ๐’ถฬˆ๐“ชฬˆ๐”žฬˆ๐–†ฬˆ๐•’ฬˆ๐–บฬˆ๐—ฎฬˆ๐˜ขฬˆ๐™–ฬˆ
รข๐šŠฬ‚๐šฬ‚๐‘Žฬ‚๐šŠฬ‚๐’ถฬ‚๐“ชฬ‚๐”žฬ‚๐–†ฬ‚๐•’ฬ‚๐–บฬ‚๐—ฎฬ‚๐˜ขฬ‚๐™–ฬ‚
รก๐šŠอ๐šอ๐‘Žอ๐šŠอ๐’ถอ๐“ชอ๐”žอ๐–†อ๐•’อ๐–บอ๐—ฎอ๐˜ขอ๐™–อ
รฅ๐šŠฬŠ๐šฬŠ๐‘ŽฬŠ๐šŠฬŠ๐’ถฬŠ๐“ชฬŠ๐”žฬŠ๐–†ฬŠ๐•’ฬŠ๐–บฬŠ๐—ฎฬŠ๐˜ขฬŠ๐™–ฬŠ
ฤƒ๐šŠฬ†๐šฬ†๐‘Žฬ†๐šŠฬ†๐’ถฬ†๐“ชฬ†๐”žฬ†๐–†ฬ†๐•’ฬ†๐–บฬ†๐—ฎฬ†๐˜ขฬ†๐™–ฬ†
วŸ๐šŠฬˆฬ„๐šฬˆฬ„๐‘Žฬˆฬ„๐šŠฬˆฬ„๐’ถฬˆฬ„๐“ชฬˆฬ„๐”žฬˆฬ„๐–†ฬˆฬ„๐•’ฬˆฬ„๐–บฬˆฬ„๐—ฎฬˆฬ„๐˜ขฬˆฬ„๐™–ฬˆฬ„
รฃ๐šŠฬƒ๐šฬƒ๐‘Žฬƒ๐šŠฬƒ๐’ถฬƒ๐“ชฬƒ๐”žฬƒ๐–†ฬƒ๐•’ฬƒ๐–บฬƒ๐—ฎฬƒ๐˜ขฬƒ๐™–ฬƒ
ฤ๐šŠฬ„๐šฬ„๐‘Žฬ„๐šŠฬ„๐’ถฬ„๐“ชฬ„๐”žฬ„๐–†ฬ„๐•’ฬ„๐–บฬ„๐—ฎฬ„๐˜ขฬ„๐™–ฬ„
ศง๐šŠฬ‡๐šฬ‡๐‘Žฬ‡๐šŠฬ‡๐’ถฬ‡๐“ชฬ‡๐”žฬ‡๐–†ฬ‡๐•’ฬ‡๐–บฬ‡๐—ฎฬ‡๐˜ขฬ‡๐™–ฬ‡
ศƒ๐šŠฬ‘๐šฬ‘๐‘Žฬ‘๐šŠฬ‘๐’ถฬ‘๐“ชฬ‘๐”žฬ‘๐–†ฬ‘๐•’ฬ‘๐–บฬ‘๐—ฎฬ‘๐˜ขฬ‘๐™–ฬ‘
แธ…๐š‹ฬฃ๐›ฬฃ๐‘ฬฃ๐š‹ฬฃ๐’ทฬฃ๐“ซฬฃ๐”Ÿฬฃ๐–‡ฬฃ๐•“ฬฃ๐–ปฬฃ๐—ฏฬฃ๐˜ฃฬฃ๐™—ฬฃ
ฤ๐šŒฬŒ๐œฬŒ๐‘ฬŒ๐šŒฬŒ๐’ธฬŒ๐“ฌฬŒ๐” ฬŒ๐–ˆฬŒ๐•”ฬŒ๐–ผฬŒ๐—ฐฬŒ๐˜คฬŒ๐™˜ฬŒ
ฤ‡๐šŒอ๐œอ๐‘อ๐šŒอ๐’ธอ๐“ฌอ๐” อ๐–ˆอ๐•”อ๐–ผอ๐—ฐอ๐˜คอ๐™˜อ
ฤ‹๐šŒฬ‡๐œฬ‡๐‘ฬ‡๐šŒฬ‡๐’ธฬ‡๐“ฌฬ‡๐” ฬ‡๐–ˆฬ‡๐•”ฬ‡๐–ผฬ‡๐—ฐฬ‡๐˜คฬ‡๐™˜ฬ‡
แธ‰๐šŒฬงอ๐œฬงอ๐‘ฬงอ๐šŒฬงอ๐’ธฬงอ๐“ฌฬงอ๐” ฬงอ๐–ˆฬงอ๐•”ฬงอ๐–ผฬงอ๐—ฐฬงอ๐˜คฬงอ๐™˜ฬงอ
รง๐šŒฬง๐œฬง๐‘ฬง๐šŒฬง๐’ธฬง๐“ฌฬง๐” ฬง๐–ˆฬง๐•”ฬง๐–ผฬง๐—ฐฬง๐˜คฬง๐™˜ฬง
ฤ‹๐šŒฬ‡๐œฬ‡๐‘ฬ‡๐šŒฬ‡๐’ธฬ‡๐“ฌฬ‡๐” ฬ‡๐–ˆฬ‡๐•”ฬ‡๐–ผฬ‡๐—ฐฬ‡๐˜คฬ‡๐™˜ฬ‡
ฤ‰๐šŒฬ‚๐œฬ‚๐‘ฬ‚๐šŒฬ‚๐’ธฬ‚๐“ฌฬ‚๐” ฬ‚๐–ˆฬ‚๐•”ฬ‚๐–ผฬ‚๐—ฐฬ‚๐˜คฬ‚๐™˜ฬ‚
รจ๐šŽอ€๐žอ€๐‘’อ€๐šŽอ€๐“ฎอ€๐“ฎอ€๐”ขอ€๐–Šอ€๐•–อ€๐–พอ€๐—ฒอ€๐˜ฆอ€๐™šอ€
รฉ๐šŽอ๐žอ๐‘’อ๐šŽอ๐“ฎอ๐“ฎอ๐”ขอ๐–Šอ๐•–อ๐–พอ๐—ฒอ๐˜ฆอ๐™šอ
ฤ“๐šŽฬ„๐žฬ„๐‘’ฬ„๐šŽฬ„๐“ฎฬ„๐“ฎฬ„๐”ขฬ„๐–Šฬ„๐•–ฬ„๐–พฬ„๐—ฒฬ„๐˜ฆฬ„๐™šฬ„
ฤ•๐šŽฬ†๐žฬ†๐‘’ฬ†๐šŽฬ†๐“ฎฬ†๐“ฎฬ†๐”ขฬ†๐–Šฬ†๐•–ฬ†๐–พฬ†๐—ฒฬ†๐˜ฆฬ†๐™šฬ†
รซ๐šŽฬˆ๐žฬˆ๐‘’ฬˆ๐šŽฬˆ๐“ฎฬˆ๐“ฎฬˆ๐”ขฬˆ๐–Šฬˆ๐•–ฬˆ๐–พฬˆ๐—ฒฬˆ๐˜ฆฬˆ๐™šฬˆ
ฤ›๐šŽฬŒ๐žฬŒ๐‘’ฬŒ๐šŽฬŒ๐“ฎฬŒ๐“ฎฬŒ๐”ขฬŒ๐–ŠฬŒ๐•–ฬŒ๐–พฬŒ๐—ฒฬŒ๐˜ฆฬŒ๐™šฬŒ
รช๐šŽฬ‚๐žฬ‚๐‘’ฬ‚๐šŽฬ‚๐“ฎฬ‚๐“ฎฬ‚๐”ขฬ‚๐–Šฬ‚๐•–ฬ‚๐–พฬ‚๐—ฒฬ‚๐˜ฆฬ‚๐™šฬ‚
ฤ™๐šŽฬจ๐žฬจ๐‘’ฬจ๐šŽฬจ๐“ฎฬจ๐“ฎฬจ๐”ขฬจ๐–Šฬจ๐•–ฬจ๐–พฬจ๐—ฒฬจ๐˜ฆฬจ๐™šฬจ
ศ‡๐šŽฬ‘๐žฬ‘๐‘’ฬ‘๐šŽฬ‘๐“ฎฬ‘๐“ฎฬ‘๐”ขฬ‘๐–Šฬ‘๐•–ฬ‘๐–พฬ‘๐—ฒฬ‘๐˜ฆฬ‘๐™šฬ‘
ศ…๐šŽฬ๐žฬ๐‘’ฬ๐šŽฬ๐“ฎฬ๐“ฎฬ๐”ขฬ๐–Šฬ๐•–ฬ๐–พฬ๐—ฒฬ๐˜ฆฬ๐™šฬ
ฤŸ๐šฬ†๐ ฬ†๐‘”ฬ†๐šฬ†๐“ฐฬ†๐“ฐฬ†๐”คฬ†๐–Œฬ†๐•˜ฬ†๐—€ฬ†๐—ดฬ†๐˜จฬ†๐™œฬ†
วง๐šฬŒ๐ ฬŒ๐‘”ฬŒ๐šฬŒ๐“ฐฬŒ๐“ฐฬŒ๐”คฬŒ๐–ŒฬŒ๐•˜ฬŒ๐—€ฬŒ๐—ดฬŒ๐˜จฬŒ๐™œฬŒ
ฤฃ๐šฬง๐ ฬง๐‘”ฬง๐šฬง๐“ฐฬง๐“ฐฬง๐”คฬง๐–Œฬง๐•˜ฬง๐—€ฬง๐—ดฬง๐˜จฬง๐™œฬง
ฤก๐šฬ‡๐ ฬ‡๐‘”ฬ‡๐šฬ‡๐“ฐฬ‡๐“ฐฬ‡๐”คฬ‡๐–Œฬ‡๐•˜ฬ‡๐—€ฬ‡๐—ดฬ‡๐˜จฬ‡๐™œฬ‡
แธฅ๐š‘ฬฃ๐กฬฃโ„Žฬฃ๐š‘ฬฃ๐’ฝฬฃ๐“ฑฬฃ๐”ฅฬฃ๐–ฬฃ๐•™ฬฃ๐—ฬฃ๐—ตฬฃ๐˜ฉฬฃ๐™ฬฃ
ฤฉ๐š’ฬƒ๐ขฬƒ๐‘–ฬƒ๐š’ฬƒ๐’พฬƒ๐“ฒฬƒ๐”ฆฬƒ๐–Žฬƒ๐•šฬƒ๐—‚ฬƒ๐—ถฬƒ๐˜ชฬƒ๐™žฬƒ
รฎ๐š’ฬ‚๐ขฬ‚๐‘–ฬ‚๐š’ฬ‚๐’พฬ‚๐“ฒฬ‚๐”ฆฬ‚๐–Žฬ‚๐•šฬ‚๐—‚ฬ‚๐—ถฬ‚๐˜ชฬ‚๐™žฬ‚
รญ๐š’อ๐ขอ๐‘–อ๐š’อ๐’พอ๐“ฒอ๐”ฆอ๐–Žอ๐•šอ๐—‚อ๐—ถอ๐˜ชอ๐™žอ
รฌ๐š’อ€๐ขอ€๐‘–อ€๐š’อ€๐’พอ€๐“ฒอ€๐”ฆอ€๐–Žอ€๐•šอ€๐—‚อ€๐—ถอ€๐˜ชอ€๐™žอ€
แธฑ๐š”อ๐คอ๐‘˜อ๐š”อ๐“€อ๐“ดอ๐”จอ๐–อ๐•œอ๐—„อ๐—ธอ๐˜ฌอ๐™ อ
แธณ๐š”ฬฃ๐คฬฃ๐‘˜ฬฃ๐š”ฬฃ๐“€ฬฃ๐“ดฬฃ๐”จฬฃ๐–ฬฃ๐•œฬฃ๐—„ฬฃ๐—ธฬฃ๐˜ฌฬฃ๐™ ฬฃ
ล†๐š—ฬจ๐งฬจ๐‘›ฬจ๐š—ฬจ๐“ƒฬจ๐“ทฬจ๐”ซฬจ๐–“ฬจ๐•Ÿฬจ๐—‡ฬจ๐—ปฬจ๐˜ฏฬจ๐™ฃฬจ
ล„๐š—อ๐งอ๐‘›อ๐š—อ๐“ƒอ๐“ทอ๐”ซอ๐–“อ๐•Ÿอ๐—‡อ๐—ปอ๐˜ฏอ๐™ฃอ
รฑ๐š—๐ง๐‘›๐š—๐“ƒ๐“ท๐”ซ๐–“๐•Ÿ๐—‡๐—ป๐˜ฏ๐™ฃ
รต๐š˜ฬƒ๐จฬƒ๐‘œฬƒ๐š˜ฬƒ๐“ธฬƒ๐“ธฬƒ๐”ฌฬƒ๐–”ฬƒ๐• ฬƒ๐—ˆฬƒ๐—ผฬƒ๐˜ฐฬƒ๐™คฬƒ
รถ๐š˜ฬˆ๐จฬˆ๐‘œฬˆ๐š˜ฬˆ๐“ธฬˆ๐“ธฬˆ๐”ฌฬˆ๐–”ฬˆ๐• ฬˆ๐—ˆฬˆ๐—ผฬˆ๐˜ฐฬˆ๐™คฬˆ
ล๐š˜ฬ„๐จฬ„๐‘œฬ„๐š˜ฬ„๐“ธฬ„๐“ธฬ„๐”ฌฬ„๐–”ฬ„๐• ฬ„๐—ˆฬ„๐—ผฬ„๐˜ฐฬ„๐™คฬ„
รด๐š˜ฬ‚๐จฬ‚๐‘œฬ‚๐š˜ฬ‚๐“ธฬ‚๐“ธฬ‚๐”ฌฬ‚๐–”ฬ‚๐• ฬ‚๐—ˆฬ‚๐—ผฬ‚๐˜ฐฬ‚๐™คฬ‚
รณ๐š˜อ๐จอ๐‘œอ๐š˜อ๐“ธอ๐“ธอ๐”ฌอ๐–”อ๐• อ๐—ˆอ๐—ผอ๐˜ฐอ๐™คอ
รฒ๐š˜อ€๐จอ€๐‘œอ€๐š˜อ€๐“ธอ€๐“ธอ€๐”ฌอ€๐–”อ€๐• อ€๐—ˆอ€๐—ผอ€๐˜ฐอ€๐™คอ€
ล•๐š›อ๐ซอ๐‘Ÿอ๐š›อ๐“‡อ๐“ปอ๐”ฏอ๐–—อ๐•ฃอ๐—‹อ๐—ฟอ๐˜ณอ๐™งอ
ลŸ๐šœฬง๐ฌฬง๐‘ ฬง๐šœฬง๐“ˆฬง๐“ผฬง๐”ฐฬง๐–˜ฬง๐•คฬง๐—Œฬง๐˜€ฬง๐˜ดฬง๐™จฬง
ศ™๐šœฬฆ๐ฌฬฆ๐‘ ฬฆ๐šœฬฆ๐“ˆฬฆ๐“ผฬฆ๐”ฐฬฆ๐–˜ฬฆ๐•คฬฆ๐—Œฬฆ๐˜€ฬฆ๐˜ดฬฆ๐™จฬฆ
แนฉ๐šœฬฃฬ‡๐ฌฬฃฬ‡๐‘ ฬฃฬ‡๐šœฬฃฬ‡๐“ˆฬฃฬ‡๐“ผฬฃฬ‡๐”ฐฬฃฬ‡๐–˜ฬฃฬ‡๐•คฬฃฬ‡๐—Œฬฃฬ‡๐˜€ฬฃฬ‡๐˜ดฬฃฬ‡๐™จฬฃฬ‡
ลก๐šœฬŒ๐ฌฬŒ๐‘ ฬŒ๐šœฬŒ๐“ˆฬŒ๐“ผฬŒ๐”ฐฬŒ๐–˜ฬŒ๐•คฬŒ๐—ŒฬŒ๐˜€ฬŒ๐˜ดฬŒ๐™จฬŒ
ล›๐šœอ๐ฌอ๐‘ อ๐šœอ๐“ˆอ๐“ผอ๐”ฐอ๐–˜อ๐•คอ๐—Œอ๐˜€อ๐˜ดอ๐™จอ
รผ๐šžฬˆ๐ฎฬˆ๐‘ขฬˆ๐šžฬˆ๐“Šฬˆ๐“พฬˆ๐”ฒฬˆ๐–šฬˆ๐•ฆฬˆ๐—Žฬˆ๐˜‚ฬˆ๐˜ถฬˆ๐™ชฬˆ
รน๐šžอ€๐ฎอ€๐‘ขอ€๐šžอ€๐“Šอ€๐“พอ€๐”ฒอ€๐–šอ€๐•ฆอ€๐—Žอ€๐˜‚อ€๐˜ถอ€๐™ชอ€
รบ๐šžอ๐ฎอ๐‘ขอ๐šžอ๐“Šอ๐“พอ๐”ฒอ๐–šอ๐•ฆอ๐—Žอ๐˜‚อ๐˜ถอ๐™ชอ
รป๐šžฬ‚๐ฎฬ‚๐‘ขฬ‚๐šžฬ‚๐“Šฬ‚๐“พฬ‚๐”ฒฬ‚๐–šฬ‚๐•ฆฬ‚๐—Žฬ‚๐˜‚ฬ‚๐˜ถฬ‚๐™ชฬ‚
ลญ๐šžฬ†๐ฎฬ†๐‘ขฬ†๐šžฬ†๐“Šฬ†๐“พฬ†๐”ฒฬ†๐–šฬ†๐•ฆฬ†๐—Žฬ†๐˜‚ฬ†๐˜ถฬ†๐™ชฬ†
ศ•๐šžฬ๐ฎฬ๐‘ขฬ๐šžฬ๐“Šฬ๐“พฬ๐”ฒฬ๐–šฬ๐•ฆฬ๐—Žฬ๐˜‚ฬ๐˜ถฬ๐™ชฬ
ศ—๐šžฬ‘๐ฎฬ‘๐‘ขฬ‘๐šžฬ‘๐“Šฬ‘๐“พฬ‘๐”ฒฬ‘๐–šฬ‘๐•ฆฬ‘๐—Žฬ‘๐˜‚ฬ‘๐˜ถฬ‘๐™ชฬ‘
ลฏ๐šžฬŠ๐ฎฬŠ๐‘ขฬŠ๐šžฬŠ๐“ŠฬŠ๐“พฬŠ๐”ฒฬŠ๐–šฬŠ๐•ฆฬŠ๐—ŽฬŠ๐˜‚ฬŠ๐˜ถฬŠ๐™ชฬŠ
ลซ๐šžฬ„๐ฎฬ„๐‘ขฬ„๐šžฬ„๐“Šฬ„๐“พฬ„๐”ฒฬ„๐–šฬ„๐•ฆฬ„๐—Žฬ„๐˜‚ฬ„๐˜ถฬ„๐™ชฬ„
แบ๐š อ€๐ฐอ€๐‘คอ€๐š อ€๐“Œอ€๐”€อ€๐”ดอ€๐–œอ€๐•จอ€๐—อ€๐˜„อ€๐˜ธอ€๐™ฌอ€
แบƒ๐š อ๐ฐอ๐‘คอ๐š อ๐“Œอ๐”€อ๐”ดอ๐–œอ๐•จอ๐—อ๐˜„อ๐˜ธอ๐™ฌอ
รธ๐š˜ฬท๐จฬท๐‘œฬท๐š˜ฬท๐“ธฬท๐“ธฬท๐”ฌฬท๐–”ฬท๐• ฬท๐—ˆฬท๐—ผฬท๐˜ฐฬท๐™คฬท

All capital letters are turned into their latin root. Diacritical marks looks silly on most of them. Only in rare cases mimicking a capital letter ends up in a readable entity.
toUnicodeVariant('รผniฤode', 'bold italic') //๐’–ฬˆ๐’๐’Š๐’„ฬŒ๐’๐’…๐’†
toUnicodeVariant('รœNIฤˆODE', 'bold italic') //๐‘ผ๐‘ต๐‘ฐ๐‘ช๐‘ถ๐‘ซ๐‘ฌ

๐Ÿ”Ž Overall support of numbers, special chars, small letters and diacritics
NumbersSmall lettersSpecial charsDiacritics
monospace ๐Ÿท๐šŠ๐šŒฬง๐šŒฬงฬถ
bold ๐Ÿ๐š๐œฬง๐œฬงฬถ
italic -๐‘Ž๐‘ฬง๐‘ฬงฬถ
bold italic -๐’‚๐’„ฬง๐’„ฬงฬถ
script -๐’ถ๐’ธฬง๐’ธฬงฬถ
bold script -๐“ช๐“ฌฬง๐“ฌฬงฬถ
gothic -๐”ž๐” ฬง๐” ฬงฬถ
gothic bold -๐–†๐–ˆฬง๐–ˆฬงฬถ
doublestruck ๐Ÿ™๐•’๐•”ฬง๐•”ฬงฬถ
sans ๐Ÿฃ๐–บ๐–ผฬง๐–ผฬงฬถ
bold sans ๐Ÿญ๐—ฎ๐—ฐฬง๐—ฐฬงฬถ
italic sans -๐˜ข๐˜คฬง๐˜คฬงฬถ
bold italic sans -๐™–๐™˜ฬง๐™˜ฬงฬถ
parenthesis โ‘ดโ’œ--
squared - - --
squared negative - - --
circled โ‘ โ“--
circled negative - - --
fullwidth ๏ผ‘๏ฝ--
flags - - --
numbers dot โ’ˆ - --
numbers comma ๐Ÿ„‚ - --
numbers double circled โ“ต - --

Additions, limitations

Besides the limitations you can see in the various compatibility tables above, some variants offers extra unique features - other variants are reduced to one single feature alone.

  • ๐Ÿ„ฐ squared, qSupports a mixed collection of terms and abbreviations, rendered as one unicode entity: SOS, WC, 4K etc
    ๐Ÿ…Š ๐Ÿ…‹ ๐Ÿ…Œ ๐Ÿ… ๐Ÿ…Ž ๐Ÿ… ๐Ÿ†‘ ๐Ÿ†’ ๐Ÿ†“ ๐Ÿ†” ๐Ÿ†• ๐Ÿ†– ๐Ÿ†— ๐Ÿ†˜ ๐Ÿ†™ ๐Ÿ†š ๐Ÿ†› ๐Ÿ†œ ๐Ÿ† ๐Ÿ†ž ๐Ÿ†Ÿ ๐Ÿ†  ๐Ÿ†ก ๐Ÿ†ข ๐Ÿ†ฃ ๐Ÿ†ค ๐Ÿ„ณ
  • ๐Ÿ…ฐ squared negative, qnA,B,O are in some readers rendered as blood type A,B,O. Support a few abbreviations, rendered as one unicode entity: IC, PA, SA, AB, WC
    ๐Ÿ†‹ ๐Ÿ†Œ ๐Ÿ† ๐Ÿ†Ž ๐Ÿ†
  • ๐Ÿ„ paranthesis, pNo support of 0, but support numbers 10-20
    โ‘ฝ โ‘พ โ‘ฟ โ’€ โ’ โ’‚ โ’ƒ โ’„ โ’… โ’† โ’‡
  • โ’ถ circled, oSupport numbers 10-20
    โ‘ฉ โ‘ช โ‘ซ โ‘ฌ โ‘ญ โ‘ฎ โ‘ฏ โ‘ฐ โ‘ฑ โ‘ฒ โ‘ณ
  • ๐Ÿ… circled negative, onLack support of small numbers 1-9 (fallbacks to circled numbers), but support numbers 11-20
    โ“ซ โ“ฌ โ“ญ โ“ฎ โ“ฏ โ“ฐ โ“ฑ โ“ฒ โ“ณ โ“ด
  • ๏ผก fullwidth, wSupport basic symbols like @ and %; support a few extended ASCII codes as well
    ๏ผ ๏ผ‚ ๏ผƒ ๏ผ„ ๏ผ… ๏ผ† ๏ผ‡ ๏ผˆ ๏ผ‰ ๏ผŠ ๏ผ‹ ๏ผŒ ๏ผ ๏ผŽ ๏ผ ๏ผš ๏ผ› ๏ผœ ๏ผ ๏ผž ๏ผŸ ๏ผ  ๏ผผ ๏ผป ๏ผฝ ๏ผพ ๏ผฟ ๏ฝ€ ๏ฝ› ๏ฝœ ๏ฝ ๏ฝž โฆ… โฆ† ๏ฟ  ๏ฟก ยฆ ๏ฟฅ ๏ฟฆ ๏ฝฐ ๏ฝฐ ๏ฝค ๏ฝฅ ๏ฟฃ ยฌ
  • ๐Ÿ„€ numbers dot, ndOnly numbers, additional support of 10-20. Fallbacks to monospace. Does not support any of the space-combinings
    ๐Ÿ„€ โ’ˆ โ’‰ โ’Š โ’‹ โ’Œ โ’ โ’Ž โ’ โ’ โ’’ โ’“ โ’” โ’• โ’– โ’— โ’˜ โ’™ โ’š โ’›
  • ๐Ÿ„ numbers comma, ncOnly numbers, supports 0-9 only. Fallbacks to monospace
    ๐Ÿ„ ๐Ÿ„‚ ๐Ÿ„ƒ ๐Ÿ„„ ๐Ÿ„… ๐Ÿ„† ๐Ÿ„‡ ๐Ÿ„ˆ ๐Ÿ„‰ ๐Ÿ„Š
  • โ“ต numbers double circled, ndcOnly numbers, does not support 0, supports 10. Fallbacks to monospace
    โ“ต โ“ถ โ“ท โ“ธ โ“น โ“บ โ“ป โ“ผ โ“ฝ โ“พ
  • โ…ซ roman, rRoman numerals only, supports both small and capital letters. Are converted to best fit of the following numeral sequenzes
    โ…  โ…ก โ…ข โ…ฃ โ…ค โ…ฅ โ…ฆ โ…ง โ…จ โ…ฉ โ…ช โ…ซ โ…ฌ โ…ญ โ…ฎ

โ…ซ roman, continued

If you pass a number (integer) instead of a string, that number will be romanized automatically before converting to unicode

 toUnicodeVariant(2023, 'roman') //โ…ฏโ…ฏโ…ฉโ…ฉโ…ข

flags, f

az-AZ only. Based on the highly special regional indicator symbols (see references below, U1F100.pdf). Using that you'll need to pass a string with whitespace between each character (otherwise expect weird output, there is no fallback to monospace) :

toUnicodeVariant('U N I C O D E', 'f') //๐Ÿ‡บ ๐Ÿ‡ณ ๐Ÿ‡ฎ ๐Ÿ‡จ ๐Ÿ‡ด ๐Ÿ‡ฉ ๐Ÿ‡ช

However, if you pass a string that contain a country code, or even the name of some international organization, many readers will render the corresponding flag instead :

toUnicodeVariant('DK EU UN', 'flags') //๐Ÿ‡ฉ๐Ÿ‡ฐ ๐Ÿ‡ช๐Ÿ‡บ ๐Ÿ‡บ๐Ÿ‡ณ

Reset a unicoded' string

Use String.normalize()

See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize

'๐–†๐–‡๐–ˆ๐–‰๐–Š๐–‹๐–Œ๐–๐–Ž๐–๐–๐–‘๐–’๐–“๐–”๐–•๐––๐–—๐–˜๐–™๐–š๐–›๐–œ๐–๐–ž๐–Ÿ'.normalize('NFKC') //or NFKD

returns abcdefghijklmnopqrstuvwxyz

Test

Browser: test/browser.html Node: test$ node node.js

These tests show all variants and their coverage az-AZ-09, along with flag combinations For reference, in Chrome (Ubuntu 20.04, 112.x) variants looks like this :

-- Or you can review a sample output, test/result-sample.html.txt. Try it out in different browsers - there are significant difference in coverage.

References

https://www.unicode.org/charts/PDF/UFF00.pdf
https://www.unicode.org/charts/PDF/U1F100.pdf
https://www.unicode.org/charts/PDF/U1D400.pdf
https://www.unicode.org/charts/PDF/U2150.pdf
https://www.unicode.org/charts/PDF/U2460.pdf
https://www.unicode.org/charts//PDF/Unicode-3.2/U32-2000.pdf
https://www.unicode.org/charts//PDF/Unicode-4.0/U40-0300.pdf

Playground

For now, visit https://detfrieord.dk/tekst-til-unicode (in danish, sorry)

About

Small javascript function to convert a string into different kind of ๐’–๐’๐’Š๐’„๐’๐’…๐’† variants

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 80.7%
  • HTML 15.7%
  • TypeScript 3.1%
  • Shell 0.5%