Don't need a script for that if you expose the formatting bar at the top of your screen. Users can then use the formatting tools there to format text as needed.
If for some reason that's not a good idea, let us know as there are ways to script this to apply text to the currently selected text in a field. You can even add a small row of buttons on your layout to click to apply specific formats to the selection.
I'm familiar with the formatting bar and that's what I use now. This is all about speed. I'm trying to get away from all the mouse pointing/clicking needed to change four features on the selected text. I'd much prefer to just type a CTRL key.
You can experiment with OnObjectKeystroke for your field and use a script to set text formats to the selected text, but the trick is comming up with ctrl-key combinations that aren't already in use for something else. CTRL-I, for example brings up an Insert from Index dialog when you'd like to italicize the text.
Useful Get functions to use in such a script:
Get ( TriggerKeyStroke ) // returns the key pressed to trip the script trigger
Get ( TriggerModiferKeys ) // returns the state of any modifier keys that were down when the trigger was tripped
Get (activeSelectionsize ) // the number of characters currently selected
Get ( activeSelectionStart ) // The position of the cursor or the first selected character
Insert calculated result can be used to replace the currently selected text with the formatted version supplied by your script
and you can find text formatting functions that will apply text style and size changes to this text that you insert.