> There are 2 special characters, u+e000 and u+e001, each one has a > display-table setting to display it as something else, then there's an > empty overlay with an after-string made of these special characters > that has a display property with :align-to, followed by an image... > And I'm not sure I listed all of the "features". (The 'cursor' > property I omitted intentionally, because I believe I know why they > are needed.) Why each one of these is needed? At least some of that is cruft, as at one point I was trying to support all of v22, v23, and v24, and there were various differences in the behavior of overlay-strings (as well as the 'cursor property) among those versions. I'll try to simplify the implementation and see if I can come up with something that doesn't trigger any UB in the display engine.