blog.x-e.ro / so fancy : fun unicode font tool

so fancy

javascript :: fun unicode font tool

sofancy

background

as an aspiring text artist and amateur typographer, i've always been interested in making cool stuff with the fonts provided by my computer. back in the day, we had cp437 (which the ANSI artscene still uses it in it's SACUE file format to this day). this was the latin characterset, other countries all had their own. see the full inra list.

in the early nineteen hundred and nineties the unicode consortium was formed to solve this problem. over time we, the tech community at large, developed the utf-8 spec. this allowed for all of the latin and international characters, plus tons more like emojis to all be unified under one characterset for greater interoperability world wide.

today, there's tons of neat "other" characters in the unicode blocks like mathematical alphanumeric symbols, letterlike symbols, and latin extended-e. lots of people including myself have been making cool "fonts" out of these by hand for decades, but i got tired of the manual work.

that's why i wrote sofancy, a fun unicode font tool written in javascript.

examples

asian           ㄚㄖㄩ 丂ㄖ 千卂几匚ㄚ
asian2          リのひ 丂の キム刀ᄃリ
bent            Ӌօմ Ϛօ Ƒąղçվ
bold            𝐘𝐨𝐮 𝐒𝐨 𝐅𝐚𝐧𝐜𝐲
bolditalic      𝙔𝙤𝙪 𝙎𝙤 𝙁𝙖𝙣𝙘𝙮
circled         Ⓨⓞⓤ Ⓢⓞ Ⓕⓐⓝⓒⓨ
currency        ɎØɄ ₴Ø ₣₳₦₵Ɏ
cursive         𝓨𝓸𝓾 𝓢𝓸 𝓕𝓪𝓷𝓬𝔂
doublestruck    𝕐𝕠𝕦 𝕊𝕠 𝔽𝕒𝕟𝕔𝕪
flip            ⅄on Ƨo Էɑucλ
fraktur         𝔜𝔬𝔲 𝔖𝔬 𝔉𝔞𝔫𝔠𝔶
frakturbold     𝖄𝖔𝖚 𝕾𝖔 𝕱𝖆𝖓𝖈𝖞
futureAlien     ᖻᓍᑘ Sᓍ ᖴᗩᘉᑢᖻ
greek           уσυ ѕσ ƒαη¢у
invertedsquares 🆈🅾🆄 🆂🅾 🅵🅰🅽🅲🆈
italic          𝘠𝘰𝘶 𝘚𝘰 𝘍𝘢𝘯𝘤𝘺
mirror          γoυ Ƨo ꟻɒИɔγ
mirrorflip      ⅄on So ꓞɐuɔʎ
mono            𝚈𝚘𝚞 𝚂𝚘 𝙵𝚊𝚗𝚌𝚢
neon            YOᑌ ᔕO ᖴᗩᑎᑕY
squares         🅈🄾🅄 🅂🄾 🄵🄰🄽🄲🅈
squiggle1       ץ๏ย ร๏ Ŧคภςץ
squiggle2       Yσυ Sσ Fαɳƈყ
squiggle3       ʏօʊ ֆօ ʄǟռƈʏ
squiggle4       ᎩᎧᏬ ᏕᎧ ᎦᏗᏁፈᎩ
squiggle5       ყơų ʂơ ʄąŋƈყ
squiggle6       ฯ໐น Ş໐ fคຖ¢ฯ
subscript       Yₒᵤ ₛₒ Fₐₙcy
superscript     ʸᵒᵘ ˢᵒ ᶠᵃⁿᶜʸ
symbols         ¥ðµ §ð £åñ¢¥
upperangle      YӨЦ ƧӨ FΛПᄃY
upsidedown      ⅄on So Ⅎɐuɔʎ
wide            You So Fancy

usage

ῳɛıཞɖ ųŋıƈơɖɛ ʄƖɛҳıŋɠ? 😜

usage: sofancy [-f (font) | -t | -r] string

flags:
-f|--font (font) : output in a single font
-t|--titles      : display titles in output
-r|--random      : pick a random font (clobbers -f)

examples:
sofancy -f wide aesthetics
aesthetics
sofancy -t some string | fzf | xsel -i
git commit -m "$(sofancy -tr  message | sed 's/^.*  /docs: /')"

install

use npm to globally install:

npm i -g sofancy
or clone and install locally:
git clone git@github.com:xero/sofancy.git sofancy
cd sofancy
npm i -g .

notes

on unix systems node "bins" are normally placed in /usr/local/lib/node or /usr/local/lib/node_modules unless your export a custom NODE_PATH. either way, make sure the appropriate directory is in your environment.

demo

i made a fun web based version as well https://sofancy.0w.nz
for the easy copy pasta ^c^v

loading...

loading...