so lets replace:
myre.selattributes.assign(pascon.fparsefont[mytokenstate]);
with:
if myre.selattributes.name <> pascon.fparsefont[mytokenstate].name then
myre.selattributes.name := pascon.fparsefont[mytokenstate].name;if myre.selattributes.color <> pascon.fparsefont[mytokenstate].color then
myre.selattributes.color := pascon.fparsefont[mytokenstate].color;if myre.selattributes.style <> pascon.fparsefont[mytokenstate].style then
myre.selattributes.style := pascon.fparsefont[mytokenstate].style;
and off you go and try it out... (ps. yes the last bit of code is bad programming...)