Hello,
As to the first question, the problems arises from the synthesizers attempt to use letter to sound rules to say the words of choice.
Since, as you have them typed, they are not real "English" words, the synth thinks they are probably acronyms and so is spelling them out, as it would for FBI, CIA, etc.
The single example you pointed out that was pronounced correctly, "apreview", was a lucky guess.
In fact, using any vowel before "preview" gives the synth's attempt at pronouncing a word.
Placing a consonant always creates the spelling as an acronym.
So 2 possible solutions are 1) Placing a "space" between each letter and the word "preview" and 2) Placing a hyphen between each letter and the word "preview".
The third solution is use of the "Userlex"
Instructions for its use and implementation are at this link:
http://cepstral.com/cgi-bin/support?page=userlex
Also see this sticky in the forum:
http://www.cepstral.com/forum/viewtopic.php?t=12
But basically, you'd have to enter each and all examples of "(letter)preview" and its corresponding pronunciation using the voice's language phoneset, linked on the "userlex" page.
As example:
apreview 0 ey1 p r i0 v j uw0
bpreview 0 b i1 p r i0 v j uw0
cpreview 0 s i1 p r i0 v j uw0
and so on.
*****************
As for your second question, the userlex would again be the only answer.
I'm not positive what your are after but i entered this into the userlex with some success:
hmmm 0 h m m m
You decide if its what you are desire.
**************************
As for the third issue, i'm not familiar with any issues with exclamation points.
There might be encoding issues or spacing issues with the text being used.
I don't have enough information to go on, text examples where this is occuring for you, and can't seem to create the same problems.
Good luck!
m