#!/bin/bash
# Pedimos cadena de texto a transformar en cursiva:
echo
echo "Escribe el texto a pasar a Cursiva (y pulse INTRO)"
read CADENA

# Incremento decimal para alcanzar letra normal a cursiva (Math Sans-Serif Italic)
# A:  hex=0041 (dec=65)   / 𝘈:  hex=1D608  (dec=120328) => INCR=120263
# a:  hex=0061 (dec=97)   / 𝘢:  hex=1D622  (dec=120354) => INCR=120257

# Leemos caracter a caracter
echo -n "$CADENA" | while IFS= read -d $'\000' -n 1 x
do 
  # MAY vs min
  if [ $(expr index "$x" "$(echo {a..z})") == 0 ] 
  then
    # Incremento para 'MAYUSCULAS'
    INCR=120263
  else
    # Incremento para 'minusculas'
    INCR=120257
  fi
  # Valor de letra a HEX
  letra=$(printf "%X" "'$x")
  if [ "$x" == " " ] 
  then # Si es espacio
    echo -ne " "
  else
    # calculo valor hex de la cursiva
    hexcursiva=$(printf "%X" $((16#$letra + $INCR)))
    # imprimo en Unicode (si no es \n transformado"
    echo -en "\U$hexcursiva"
  fi 
done
echo -en "\n"
