summaryrefslogtreecommitdiff
path: root/bin/double-strike
diff options
context:
space:
mode:
Diffstat (limited to 'bin/double-strike')
-rwxr-xr-xbin/double-strike81
1 files changed, 81 insertions, 0 deletions
diff --git a/bin/double-strike b/bin/double-strike
new file mode 100755
index 0000000..92e979d
--- /dev/null
+++ b/bin/double-strike
@@ -0,0 +1,81 @@
+#!/bin/bash
+
+# This style is sometimes known as open-face or blackboard-bold. Double-struck symbols already encoded in the Letterlike Symbols block are omitted here to avoid duplicate encoding. Considerable variation in font style is acceptable, as long as the glyphs retain the visual element of doubled strokes.
+declare -A ds=(
+ [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]=𝟡
+)
+
+while IFS= read -r line
+do
+ replacement=""
+ for i in $(seq 0 "$((${#line}-1))")
+ do
+ c1=${line:$i:1}
+ if [[ $c1 =~ [0-9a-zA-Z] ]]
+ then replacement+=${ds[$c1]}
+ else replacement+=$c1
+ fi
+ done
+ echo "$replacement"
+done