diff options
author | David Wührer <def@gmx.at> | 2024-05-18 21:04:34 +0200 |
---|---|---|
committer | David Wührer <def@gmx.at> | 2024-05-18 21:04:34 +0200 |
commit | 77cfffee6177fb0421fa0fce15d6a1875bde4816 (patch) | |
tree | 251428cdd482ea50cfb019dbd3c3bafd79d2fd14 /bin/capitalise | |
parent | 75b23ce1ff0daab363725a2a5755ea80bbeaa68e (diff) |
manuals, sum-down, radix
Diffstat (limited to 'bin/capitalise')
-rwxr-xr-x | bin/capitalise | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/bin/capitalise b/bin/capitalise new file mode 100755 index 0000000..479c55d --- /dev/null +++ b/bin/capitalise @@ -0,0 +1,137 @@ +#!/bin/bash + + +# Latin letter small capital a: UTF-8: e1 b4 80 UTF-16BE: 1d00 +# .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F +# 1D0. ᴀ ᴁ ᴂ ᴃ ᴄ ᴅ ᴆ ᴇ ᴈ ᴉ ᴊ ᴋ ᴌ ᴍ ᴎ ᴏ +# 1D1. ᴐ ᴑ ᴒ ᴓ ᴔ ᴕ ᴖ ᴗ ᴘ ᴙ ᴚ ᴛ ᴜ ᴝ ᴞ ᴟ +# 1D2. ᴠ ᴡ ᴢ ᴣ ᴤ ᴥ ᴦ ᴧ ᴨ ᴩ ᴪ ᴫ ᴬ ᴭ ᴮ ᴯ +# 1D3. ᴰ ᴱ ᴲ ᴳ ᴴ ᴵ ᴶ ᴷ ᴸ ᴹ ᴺ ᴻ ᴼ ᴽ ᴾ ᴿ +# 1D4. ᵀ ᵁ ᵂ ᵃ ᵄ ᵅ ᵆ ᵇ ᵈ ᵉ ᵊ ᵋ ᵌ ᵍ ᵎ ᵏ +# 1D5. ᵐ ᵑ ᵒ ᵓ ᵔ ᵕ ᵖ ᵗ ᵘ ᵙ ᵚ ᵛ ᵜ ᵝ ᵞ ᵟ +# 1D6. ᵠ ᵡ ᵢ ᵣ ᵤ ᵥ ᵦ ᵧ ᵨ ᵩ ᵪ ᵫ ᵬ ᵭ ᵮ ᵯ +# 1D7. ᵰ ᵱ ᵲ ᵳ ᵴ ᵵ ᵶ ᵷ ᵸ ᵹ ᵺ ᵻ ᵼ ᵽ ᵾ ᵿ +# 1D8. ᶀ ᶁ ᶂ ᶃ ᶄ ᶅ ᶆ ᶇ ᶈ ᶉ ᶊ ᶋ ᶌ ᶍ ᶎ ᶏ +# 1D9. ᶐ ᶑ ᶒ ᶓ ᶔ ᶕ ᶖ ᶗ ᶘ ᶙ ᶚ ᶛ ᶜ ᶝ ᶞ ᶟ +# 1DA. ᶠ ᶡ ᶢ ᶣ ᶤ ᶥ ᶦ ᶧ ᶨ ᶩ ᶪ ᶫ ᶬ ᶭ ᶮ ᶯ +# 1DB. ᶰ ᶱ ᶲ ᶳ ᶴ ᶵ ᶶ ᶷ ᶸ ᶹ ᶺ ᶻ ᶼ ᶽ ᶾ ᶿ +# TODO: Greek letter small capital +declare -A smallcaps=( + [a]=$'\xe1\xb4\x80' + [æ]=$'\xe1\xb4\x81' + [b]=$'\xca\x99' + [c]=$'\xe1\xb4\x84' + [d]=$'\xe1\xb4\x85' + [e]=$'\xe1\xb4\x87' + [f]=$'\xea\x9c\xb0' + [g]=$'\xc9\xa2' + [h]=$'\xca\x9c' + [i]=$'\xc9\xaa' + [j]=$'\xe1\xb4\x8a' + [k]=$'\xe1\xb4\x8b' + [l]=$'\xca\x9f' + [m]=$'\xe1\xb4\x8d' + [n]=$'\xc9\xb4' + [o]=$'\xe1\xb4\x8f' + [œ]=$'\xc9\xb6' + [p]=$'\xe1\xb4\x98' + [q]=$'\xea\x9e\xaf' + [r]=$'\xca\x80' + [s]=$'\xea\x9c\xb1' + [t]=$'\xe1\xb4\x9b' + [u]=$'\xe1\xb4\x9c' + [v]=$'\xe1\xb4\xa0' + [w]=$'\xe1\xb4\xa1' + [x]=x # Missing + [y]=$'\xca\x8f' + [z]=$'\xe1\xb4\xa2' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +# []=$'\x1d\x' +) + +while IFS= read -r line +do + replacement="" + for i in $(seq 0 "$((${#line}-1))") + do + c1=${line:$i:1} + # if [[ $c1 =~ [a-zA-Zα-ωΑ-Ω] ]] + if [[ $c1 =~ [a-zæœ] ]] + then replacement+=${smallcaps[$c1]} + else replacement+=$c1 + fi + done + echo "$replacement" +done |