Skip to content

Convert ๐“ฏ๐“ช๐“ท๐“ฌ๐”‚ ๐Ÿ†ƒ๐–Š๐•ฉ๐Ÿ…ƒ to fancy text

Notifications You must be signed in to change notification settings

johansenja/pg_unicode_font_replace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 

Repository files navigation

Postgres Unicode Font Replace

Make user-inputted unicode fonts more hacker friendly.

๐™ช๐™ฃ๐™ž๐™˜๐™ค๐™™๐™š => unicode

๐š’๐šœ => is

๐’ธ๐‘œ๐‘œ๐“ => cool

Set Up

With Rails/ActiveRecord

Run the following Migration

class CreateUnicodeFontReplace < ActiveRecord::Migration[YOUR_ACTIVE_RECORD_VERSION]
  def up
    execute <<~SQL
      CREATE OR REPLACE FUNCTION unicode_font_replace(str TEXT) RETURNS TEXT AS $$
        DECLARE
          fontbook JSONB = E'{"๐”ž":"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","๐’‚":"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","๐‘Ž":"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","๏ฝ":"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","แด€":"a","ส™":"b","แด„":"c","แด…":"d","แด‡":"e","๊œฐ":"f","ษข":"g","สœ":"h","ษช":"i","แดŠ":"j","แด‹":"k","สŸ":"l","แด":"m","ษด":"n","แด":"o","แด˜":"p","ส€":"r","๊œฑ":"s","แด›":"t","แดœ":"u","แด ":"v","แดก":"w","ส":"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","๐’œ":"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","๐“":"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","๐•ฌ":"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","๐™ฐ":"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","๏ผ":"!","๏ผŸ":"?","๏ผŽ":".","๏ผŒ":",","๐š":"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","๐–บ":"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","๐—ฎ":"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","๐™–":"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","๐˜ข":"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","โ“":"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","โ’œ":"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","๐•’":"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","๐Ÿ„ฐ":"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","แ—ฉ":"a","แ—ท":"b","แ‘•":"c","แ—ช":"d","แ–ด":"f","แ•ผ":"h","แ’":"j","แ’ช":"l","แ—ฐ":"m","แ‘Ž":"n","แ‘ญ":"p","แ‘ซ":"q","แ–‡":"r","แ”•":"s","แ‘Œ":"u","แฏ":"v","แ—ฏ":"w","แ™ญ":"x","แ˜”":"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","แถป":"z","แดฌ":"A","แดฎ":"B","แดฐ":"D","แดฑ":"E","แดณ":"G","แดด":"H","แดต":"I","แดถ":"J","แดท":"K","แดธ":"L","แดน":"M","แดบ":"N","แดผ":"O","แดพ":"P","แต ":"Q","แดฟ":"R","แต€":"T","แต":"U","โฑฝ":"V","แต‚":"W","แถป":"Z"}';
          result TEXT = '';
          current VARCHAR(1);
        BEGIN
          IF str IS NULL THEN RETURN NULL; END IF;
          fontbook = fontbook || jsonb_build_object('๏ผ‚','"','๏ผ‡',E'\\'');
          FOR i IN 1..char_length(str) LOOP
            current = substr(str, i, 1);
            result = result || coalesce(fontbook->>current, current);
          END LOOP;
          RETURN result;
        END
      $$ LANGUAGE plpgsql;
    SQL
  end

  def down
    execute "DROP FUNCTION unicode_font_replace(TEXT)"
  end
end

From psql

Execute from your psql command line:

CREATE OR REPLACE FUNCTION unicode_font_replace(str TEXT) RETURNS TEXT AS $$
  DECLARE
    fontbook JSONB = E'{"๐”ž":"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","๐’‚":"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","๐‘Ž":"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","๏ฝ":"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","แด€":"a","ส™":"b","แด„":"c","แด…":"d","แด‡":"e","๊œฐ":"f","ษข":"g","สœ":"h","ษช":"i","แดŠ":"j","แด‹":"k","สŸ":"l","แด":"m","ษด":"n","แด":"o","แด˜":"p","ส€":"r","๊œฑ":"s","แด›":"t","แดœ":"u","แด ":"v","แดก":"w","ส":"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","๐’œ":"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","๐“":"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","๐•ฌ":"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","๐™ฐ":"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","๏ผ":"!","๏ผŸ":"?","๏ผŽ":".","๏ผŒ":",","๐š":"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","๐–บ":"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","๐—ฎ":"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","๐™–":"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","๐˜ข":"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","โ“":"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","โ’œ":"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","๐•’":"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","๐Ÿ„ฐ":"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","แ—ฉ":"a","แ—ท":"b","แ‘•":"c","แ—ช":"d","แ–ด":"f","แ•ผ":"h","แ’":"j","แ’ช":"l","แ—ฐ":"m","แ‘Ž":"n","แ‘ญ":"p","แ‘ซ":"q","แ–‡":"r","แ”•":"s","แ‘Œ":"u","แฏ":"v","แ—ฏ":"w","แ™ญ":"x","แ˜”":"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","แถป":"z","แดฌ":"A","แดฎ":"B","แดฐ":"D","แดฑ":"E","แดณ":"G","แดด":"H","แดต":"I","แดถ":"J","แดท":"K","แดธ":"L","แดน":"M","แดบ":"N","แดผ":"O","แดพ":"P","แต ":"Q","แดฟ":"R","แต€":"T","แต":"U","โฑฝ":"V","แต‚":"W","แถป":"Z"}';
    result TEXT = '';
    current VARCHAR(1);
  BEGIN
    IF str IS NULL THEN RETURN NULL; END IF;
    fontbook = fontbook || jsonb_build_object('๏ผ‚','"','๏ผ‡',E'\'');
    FOR i IN 1..char_length(str) LOOP
      current = substr(str, i, 1);
      result = result || coalesce(fontbook->>current, current);
    END LOOP;
    RETURN result;
  END
$$ LANGUAGE plpgsql;

Usage

SELECT unicode_font_replace('๐–๐–Š๐–‘๐–‘๐–” ๐Ÿ††๐Ÿ…พ๐Ÿ†๐Ÿ…ป๐Ÿ…ณ, f๏ฝo bar bแด€z') # => hello world, foo bar baz
UPDATE users SET plain_description = unicode_font_replace(description)

etc...

I will look into building a gem around it to make it more user-friendly for Rails/ActiveRecord users if there is enough interest.

Coverage

I have tried to cover the most popular "fonts", but contributions are welcome for anything I have missed (see below).

Gothic ๐”ž๐”Ÿ๐” ๐”ก๐”ข๐”ฃ๐”ค๐”ฅ๐”ฆ๐”ง๐”จ๐”ฉ๐”ช๐”ซ๐”ฌ๐”ญ๐”ฎ๐”ฏ๐”ฐ๐”ฑ๐”ฒ๐”ณ๐”ด๐”ต๐”ถ๐”ท๐”„๐”…โ„ญ๐”‡๐”ˆ๐”‰๐”Šโ„Œโ„‘๐”๐”Ž๐”๐”๐”‘๐”’๐”“๐””โ„œ๐”–๐”—๐”˜๐”™๐”š๐”›๐”œโ„จ

Gothic Bold ๐–†๐–‡๐–ˆ๐–‰๐–Š๐–‹๐–Œ๐–๐–Ž๐–๐–๐–‘๐–’๐–“๐–”๐–•๐––๐–—๐–˜๐–™๐–š๐–›๐–œ๐–๐–ž๐–Ÿ๐•ฌ๐•ญ๐•ฎ๐•ฏ๐•ฐ๐•ฑ๐•ฒ๐•ณ๐•ด๐•ต๐•ถ๐•ท๐•ธ๐•น๐•บ๐•ป๐•ผ๐•ฝ๐•พ๐•ฟ๐–€๐–๐–‚๐–ƒ๐–„๐–…

Italic ๐‘Ž๐‘๐‘๐‘‘๐‘’๐‘“๐‘”โ„Ž๐‘–๐‘—๐‘˜๐‘™๐‘š๐‘›๐‘œ๐‘๐‘ž๐‘Ÿ๐‘ ๐‘ก๐‘ข๐‘ฃ๐‘ค๐‘ฅ๐‘ฆ๐‘ง๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐‘€๐‘๐‘‚๐‘ƒ๐‘„๐‘…๐‘†๐‘‡๐‘ˆ๐‘‰๐‘Š๐‘‹๐‘Œ๐‘

Italic Bold ๐’‚๐’ƒ๐’„๐’…๐’†๐’‡๐’ˆ๐’‰๐’Š๐’‹๐’Œ๐’๐’Ž๐’๐’๐’‘๐’’๐’“๐’”๐’•๐’–๐’—๐’˜๐’™๐’š๐’›๐‘จ๐‘ฉ๐‘ช๐‘ซ๐‘ฌ๐‘ญ๐‘ฎ๐‘ฏ๐‘ฐ๐‘ฑ๐‘ฒ๐‘ณ๐‘ด๐‘ต๐‘ถ๐‘ท๐‘ธ๐‘น๐‘บ๐‘ป๐‘ผ๐‘ฝ๐‘พ๐‘ฟ๐’€๐’

FullWidth ๏ฝ๏ฝ‚๏ฝƒ๏ฝ„๏ฝ…๏ฝ†๏ฝ‡๏ฝˆ๏ฝ‰๏ฝŠ๏ฝ‹๏ฝŒ๏ฝ๏ฝŽ๏ฝ๏ฝ๏ฝ‘๏ฝ’๏ฝ“๏ฝ”๏ฝ•๏ฝ–๏ฝ—๏ฝ˜๏ฝ™๏ฝš๏ผก๏ผข๏ผฃ๏ผค๏ผฅ๏ผฆ๏ผง๏ผจ๏ผฉ๏ผช๏ผซ๏ผฌ๏ผญ๏ผฎ๏ผฏ๏ผฐ๏ผฑ๏ผฒ๏ผณ๏ผด๏ผต๏ผถ๏ผท๏ผธ๏ผน๏ผบ๏ผ๏ผ‘๏ผ’๏ผ“๏ผ”๏ผ•๏ผ–๏ผ—๏ผ˜๏ผ™

Compact แด€ส™แด„แด…แด‡๊œฐษขสœษชแดŠแด‹สŸแดษดแดแด˜ส€๊œฑแด›แดœแด แดกสแดข๏น—!๏น–?๏น’.๏น

Cursive ๐’ถ๐’ท๐’ธ๐’นโ„ฏ๐’ปโ„Š๐’ฝ๐’พ๐’ฟ๐“€๐“๐“‚๐“ƒโ„ด๐“…๐“†๐“‡๐“ˆ๐“‰๐“Š๐“‹๐“Œ๐“๐“Ž๐“๐’œโ„ฌ๐’ž๐’Ÿโ„ฐโ„ฑ๐’ขโ„‹โ„๐’ฅ๐’ฆโ„’โ„ณ๐’ฉ๐’ช๐’ซ๐’ฌโ„›๐’ฎ๐’ฏ๐’ฐ๐’ฑ๐’ฒ๐’ณ๐’ด๐’ต

Cursive Bold ๐“ช๐“ซ๐“ฌ๐“ญ๐“ฎ๐“ฏ๐“ฐ๐“ฑ๐“ฒ๐“ณ๐“ด๐“ต๐“ถ๐“ท๐“ธ๐“น๐“บ๐“ป๐“ผ๐“ฝ๐“พ๐“ฟ๐”€๐”๐”‚๐”ƒ๐“๐“‘๐“’๐““๐“”๐“•๐“–๐“—๐“˜๐“™๐“š๐“›๐“œ๐“๐“ž๐“Ÿ๐“ ๐“ก๐“ข๐“ฃ๐“ค๐“ฅ๐“ฆ๐“ง๐“จ๐“ฉ

Monospace ๐šŠ๐š‹๐šŒ๐š๐šŽ๐š๐š๐š‘๐š’๐š“๐š”๐š•๐š–๐š—๐š˜๐š™๐šš๐š›๐šœ๐š๐šž๐šŸ๐š ๐šก๐šข๐šฃ๐™ฐ๐™ฑ๐™ฒ๐™ณ๐™ด๐™ต๐™ถ๐™ท๐™ธ๐™น๐™บ๐™ป๐™ผ๐™ฝ๐™พ๐™ฟ๐š€๐š๐š‚๐šƒ๐š„๐š…๐š†๐š‡๐šˆ๐š‰๐Ÿถ๐Ÿท๐Ÿธ๐Ÿน๐Ÿบ๐Ÿป๐Ÿผ๐Ÿฝ๐Ÿพ๐Ÿฟ๏ผ!๏ผŸ?๏ผŽ.๏ผŒ๏ผ‚๏ผ‡

Serif ๐š๐›๐œ๐๐ž๐Ÿ๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐€๐๐‚๐ƒ๐„๐…๐†๐‡๐ˆ๐‰๐Š๐‹๐Œ๐๐Ž๐๐๐‘๐’๐“๐”๐•๐–๐—๐˜๐™๐ŸŽ๐Ÿ๐Ÿ๐Ÿ‘๐Ÿ’๐Ÿ“๐Ÿ”๐Ÿ•๐Ÿ–๐Ÿ—

Sans Serif ๐–บ๐–ป๐–ผ๐–ฝ๐–พ๐–ฟ๐—€๐—๐—‚๐—ƒ๐—„๐—…๐—†๐—‡๐—ˆ๐—‰๐—Š๐—‹๐—Œ๐—๐—Ž๐—๐—๐—‘๐—’๐—“๐– ๐–ก๐–ข๐–ฃ๐–ค๐–ฅ๐–ฆ๐–ง๐–จ๐–ฉ๐–ช๐–ซ๐–ฌ๐–ญ๐–ฎ๐–ฏ๐–ฐ๐–ฑ๐–ฒ๐–ณ๐–ด๐–ต๐–ถ๐–ท๐–ธ๐–น๐Ÿข๐Ÿฃ๐Ÿค๐Ÿฅ๐Ÿฆ๐Ÿง๐Ÿจ๐Ÿฉ๐Ÿช๐Ÿซ

Sans Serif Bold ๐—ฎ๐—ฏ๐—ฐ๐—ฑ๐—ฒ๐—ณ๐—ด๐—ต๐—ถ๐—ท๐—ธ๐—น๐—บ๐—ป๐—ผ๐—ฝ๐—พ๐—ฟ๐˜€๐˜๐˜‚๐˜ƒ๐˜„๐˜…๐˜†๐˜‡๐—”๐—•๐—–๐——๐—˜๐—™๐—š๐—›๐—œ๐—๐—ž๐—Ÿ๐— ๐—ก๐—ข๐—ฃ๐—ค๐—ฅ๐—ฆ๐—ง๐—จ๐—ฉ๐—ช๐—ซ๐—ฌ๐—ญ๐Ÿฌ๐Ÿญ๐Ÿฎ๐Ÿฏ๐Ÿฐ๐Ÿฑ๐Ÿฒ๐Ÿณ๐Ÿด๐Ÿต

Sans Serif Bold Italic ๐™–๐™—๐™˜๐™™๐™š๐™›๐™œ๐™๐™ž๐™Ÿ๐™ ๐™ก๐™ข๐™ฃ๐™ค๐™ฅ๐™ฆ๐™ง๐™จ๐™ฉ๐™ช๐™ซ๐™ฌ๐™ญ๐™ฎ๐™ฏ๐˜ผ๐˜ฝ๐˜พ๐˜ฟ๐™€๐™๐™‚๐™ƒ๐™„๐™…๐™†๐™‡๐™ˆ๐™‰๐™Š๐™‹๐™Œ๐™๐™Ž๐™๐™๐™‘๐™’๐™“๐™”๐™•

Sans Serif Italic ๐˜ข๐˜ฃ๐˜ค๐˜ฅ๐˜ฆ๐˜ง๐˜จ๐˜ฉ๐˜ช๐˜ซ๐˜ฌ๐˜ญ๐˜ฎ๐˜ฏ๐˜ฐ๐˜ฑ๐˜ฒ๐˜ณ๐˜ด๐˜ต๐˜ถ๐˜ท๐˜ธ๐˜น๐˜บ๐˜ป๐˜ˆ๐˜‰๐˜Š๐˜‹๐˜Œ๐˜๐˜Ž๐˜๐˜๐˜‘๐˜’๐˜“๐˜”๐˜•๐˜–๐˜—๐˜˜๐˜™๐˜š๐˜›๐˜œ๐˜๐˜ž๐˜Ÿ๐˜ ๐˜ก

Circled โ“โ“‘โ“’โ““โ“”โ“•โ“–โ“—โ“˜โ“™โ“šโ“›โ“œโ“โ“žโ“Ÿโ“ โ“กโ“ขโ“ฃโ“คโ“ฅโ“ฆโ“งโ“จโ“ฉโ’ถโ’ทโ’ธโ’นโ’บโ’ปโ’ผโ’ฝโ’พโ’ฟโ“€โ“โ“‚โ“ƒโ“„โ“…โ“†โ“‡โ“ˆโ“‰โ“Šโ“‹โ“Œโ“โ“Žโ“โ“ชโ‘ โ‘กโ‘ขโ‘ฃโ‘คโ‘ฅโ‘ฆโ‘งโ‘จ

Parentheses โ’œโ’โ’žโ’Ÿโ’ โ’กโ’ขโ’ฃโ’คโ’ฅโ’ฆโ’งโ’จโ’ฉโ’ชโ’ซโ’ฌโ’ญโ’ฎโ’ฏโ’ฐโ’ฑโ’ฒโ’ณโ’ดโ’ต๐Ÿ„๐Ÿ„‘๐Ÿ„’๐Ÿ„“๐Ÿ„”๐Ÿ„•๐Ÿ„–๐Ÿ„—๐Ÿ„˜๐Ÿ„™๐Ÿ„š๐Ÿ„›๐Ÿ„œ๐Ÿ„๐Ÿ„ž๐Ÿ„Ÿ๐Ÿ„ ๐Ÿ„ก๐Ÿ„ข๐Ÿ„ฃ๐Ÿ„ค๐Ÿ„ฅ๐Ÿ„ฆ๐Ÿ„ง๐Ÿ„จ๐Ÿ„ฉโ“ฟโ‘ดโ‘ตโ‘ถโ‘ทโ‘ธโ‘นโ‘บโ‘ปโ‘ผ

Scored ๐•’๐•“๐•”๐••๐•–๐•—๐•˜๐•™๐•š๐•›๐•œ๐•๐•ž๐•Ÿ๐• ๐•ก๐•ข๐•ฃ๐•ค๐•ฅ๐•ฆ๐•ง๐•จ๐•ฉ๐•ช๐•ซ๐”ธ๐”นโ„‚๐”ป๐”ผ๐”ฝ๐”พโ„๐•€๐•๐•‚๐•ƒ๐•„โ„•๐•†โ„™โ„šโ„๐•Š๐•‹๐•Œ๐•๐•Ž๐•๐•โ„ค๐Ÿ˜๐Ÿ™๐Ÿš๐Ÿ›๐Ÿœ๐Ÿ๐Ÿž๐ŸŸ๐Ÿ ๐Ÿก

Block Outline ๐Ÿ„ฐ๐Ÿ„ฑ๐Ÿ„ฒ๐Ÿ„ณ๐Ÿ„ด๐Ÿ„ต๐Ÿ„ถ๐Ÿ„ท๐Ÿ„ธ๐Ÿ„น๐Ÿ„บ๐Ÿ„ป๐Ÿ„ผ๐Ÿ„ฝ๐Ÿ„พ๐Ÿ„ฟ๐Ÿ…€๐Ÿ…๐Ÿ…‚๐Ÿ…ƒ๐Ÿ…„๐Ÿ……๐Ÿ…†๐Ÿ…‡๐Ÿ…ˆ๐Ÿ…‰

Block Filled ๐Ÿ…ฐ๐Ÿ…ฑ๐Ÿ…ฒ๐Ÿ…ณ๐Ÿ…ด๐Ÿ…ต๐Ÿ…ถ๐Ÿ…ท๐Ÿ…ธ๐Ÿ…น๐Ÿ…บ๐Ÿ…ป๐Ÿ…ผ๐Ÿ…ฝ๐Ÿ…พ๐Ÿ…ฟ๐Ÿ†€๐Ÿ†๐Ÿ†‚๐Ÿ†ƒ๐Ÿ†„๐Ÿ†…๐Ÿ††๐Ÿ†‡๐Ÿ†ˆ๐Ÿ†‰

Aboriginal Canadian Syllabics แ—ฉแ—ทแ‘•แ—ชแ–ดแ•ผแ’แ’ชแ—ฐแ‘Žแ‘ญแ‘ซแ–‡แ”•แ‘Œแฏแ—ฏแ™ญแ˜”

Superscript แตƒแต‡แถœแตˆแต‰แถ แตสฐแถฆสฒแตหกแตโฟแต’แต–แต สณหขแต—แต˜แต›สทหฃแถปแดฌแดฎแดฐแดฑแดณแดดแดตแดถแดทแดธแดนแดบแดผแดพแต แดฟแต€แตโฑฝแต‚แถป

Punctuation โ—!โ“?โ•!โ”?

Contribution

Fork, clone, pull request - all the good stuff. Bump the version number in unicode_font_replace.sql

License

Open source, MIT license

About

Convert ๐“ฏ๐“ช๐“ท๐“ฌ๐”‚ ๐Ÿ†ƒ๐–Š๐•ฉ๐Ÿ…ƒ to fancy text

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published