creation date:
--------
No time to explain :P
Run this:
FAMILIES = {
regular: '0x0041',
circled: '0x24B6',
fraktur: '0x1D504',
squared_latin: '0x1F130',
math_double: '0x1D538',
math_bold: '0x1D468',
math_bold_fraktur: '0x1D56C',
math_script: '0x1D49C',
math_monospace: '0x1D670'
}
def codepoints_from_base(hexstr, spacer = '')
a = hexstr.to_i(16)
z = a + 25
(a..z)
.map{ |ord| [ord].pack('U') }
.join(spacer)
end
longest_length = FAMILIES
.max_by{ |name, _| name.to_s.length }
.shift
.to_s
.length + 2
FAMILIES
.map{ |fam_name, hexstr| "#{fam_name}:".ljust(longest_length) + codepoints_from_base(hexstr, ' ') }
.join("\n")
.tap{ |lines| puts lines }
Get this:
regular: 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
circled: Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ
fraktur: 𝔄 𝔅 𝔇 𝔈 𝔉 𝔊 𝔍 𝔎 𝔏 𝔐 𝔑 𝔒 𝔓 𝔔 𝔖 𝔗 𝔘 𝔙 𝔚 𝔛 𝔜
squared_latin: 🄰 🄱 🄲 🄳 🄴 🄵 🄶 🄷 🄸 🄹 🄺 🄻 🄼 🄽 🄾 🄿 🅀 🅁 🅂 🅃 🅄 🅅 🅆 🅇 🅈 🅉
math_double: 𝔸 𝔹 𝔻 𝔼 𝔽 𝔾 𝕀 𝕁 𝕂 𝕃 𝕄 𝕆 𝕊 𝕋 𝕌 𝕍 𝕎 𝕏 𝕐
math_bold: 𝑨 𝑩 𝑪 𝑫 𝑬 𝑭 𝑮 𝑯 𝑰 𝑱 𝑲 𝑳 𝑴 𝑵 𝑶 𝑷 𝑸 𝑹 𝑺 𝑻 𝑼 𝑽 𝑾 𝑿 𝒀 𝒁
math_bold_fraktur: 𝕬 𝕭 𝕮 𝕯 𝕰 𝕱 𝕲 𝕳 𝕴 𝕵 𝕶 𝕷 𝕸 𝕹 𝕺 𝕻 𝕼 𝕽 𝕾 𝕿 𝖀 𝖁 𝖂 𝖃 𝖄 𝖅
math_script: 𝒜 𝒞 𝒟 𝒢 𝒥 𝒦 𝒩 𝒪 𝒫 𝒬 𝒮 𝒯 𝒰 𝒱 𝒲 𝒳 𝒴 𝒵