I haven't tried this, but perhaps to get around "Bug 1", you can save the font color, type and style for each person.
For example (sorry, I looked through the code
),
bir,
iki and
uc could all be made into arrays, and the font information can be stored in each element, ie.
bir[contact@domain.com] or
iki[123456789] (user ID). Then when you send the message, you check who you are sending it to, and access the font information using that.