Actually you should read about ANSI colors.
To make a bold/standout/invert/underline/blink/... text you could use 'tput'.
The terminals could support different number of colors (I use PuTTY with 256 colors support). Support for bold/standout/blink/etc. depends on the terminal capabilities as well.
This is possible to switch to "alternative font". You should google for the characters sequence.
This is possible as well to display "upper half" and "lower half" of a letter (so you could get characters that are 2x larger).
All the time remember that it require terminal caps and you should not use it when you don't have that caps supported.
As for the colors: If the terminal can handle 16 colors then you should be able to use: <ESC>[XX;YY;ZZm sequence (<ESC> is \033 is 27 is \e and it is the escape character/sequence). Correct numbers could tell to use some color/caps. Ex. \033[48;5;187m is (possibly I mixed up this one
blue color bolded text on gray-yellow background on 256-colors terminal.
Forecolor Red: \033[31m
Forecolor Blue: \033[34m
Backcolor Yellow: \033[43m
Blink: $(tput blink)