With the VCL, Borland never had to worry about all of this because they just wrote a wrapper around the Windows API Rich Edit control. So why didn’t Embarcadero do the same thing with Firemonkey? Because Firemonkey also needs to compile for OS X and the Windows API Rich Edit control doesn’t exist there.