Formatted Text Control Has a New Home and is Open Sourced

For more info see Bob’s blog:


If I were to rewrite the FTC, I would model it after Apple’s TextKit. I have been recently diving into the more advanced features of TextKit and have done some amazing things with it. For example, you could have floating images that would reformat the text in realtime as you drag a picture around. Theoretically, anything Apple’s Pages could do, the FTC could also do.

There are three classes which forms the core of TextKit including NSTextStorage, NSLayoutManager and NSTextContainer. There is one missing component that stands in the way which is glyph management. With proper glyph management, the FTC could be opened up to also do amazing things that would be cross platform compliant. Either a plugin needs to be written or Xojo provides proper glyph management.

I believe modeling the FTC after TextKit would also make the FTC speedier in the end. Who doesn’t like speedier and more capabilities? But, it does come at the cost of a rewrite.

the great strength of FTC is to be multi platform. if you rely on apple models, it could be very difficult to transpose it to windows, and even harder to linux.

Just to clarify, the rewrite would be to “duplicate" NSTextStorage, NSLayoutManager and NSTextContainer in Xojo code which would make it cross platform. What is needed is glue code to get the glyphs used for metrics and rendering.

In fact, it would make linux support far more reliable.

Where can I find the control?


We shall shortly be making the source available through this web page, including the original commercial release, our enhancements to it, and demos such as our RepDoc editor which includes a full styling and styles definition editor.

1 Like

We‘ll see … :roll_eyes:

If they want to open-source it then putting it on GitHub together with a roadmap of things that need doing would seem the most efficient way … people who want to get involved could say which bit they will deal with, preventing duplication of effort and thereby speeding up the process.

If they wait till everything is done before open-sourcing it you might wait for a very long time … and I fear they may have underestimated the effort required.

But let’s see - maybe I’ll get a positive surprise for a change …