Formatted Text Control Has a New Home and is Open Sourced

One of the biggest shortcomings of Xojo is the lack of a full word processor control. The built-in TextArea doesn’t support images, hyperlinks, full RTF support, page layout view, and so much more. For many Xojo developers it’s a major missing piece. Early on in our consulting projects we found this shortcoming to be a major hindrance so we needed to find a solution.

Like most Xojo developers we turned to the third-party market and found Formatted Text Control that had been developed by Brendan Murphy of True North Software. When Brendan decided to leave the community we purchased the rights to Formatted Text Control and continued its development.

FTC was originally based on the Canvas control and when Xojo was updated to support Cocoa the canvas no longer did proper keyboard handling in macOS. After butting heads with Xojo they released the Text Input Canvas (as open sourced and to this day not properly documented) we had to scramble to update FTC to use it rather than the Canvas. Then we added Retina support, fixed any number of bugs and added features that I’d have to look in git to remember.

And then, like so many things in life, we didn’t use FTC in practically any projects. For years. And when that happens you tend to forget about it and it’s no longer an important thing.

In 2019 we made some serious effort to update FTC but it never went beyond some proof of concept projects and research. By the end of 2019 we recognized that consulting was slowing down to the point it was time to get a full-time job. Obviously all work on FTC stopped. In March of 2020 I found a full-time job (still doing Xojo development) and since then I’ve been slowly selling off products when I found a good home for them.

Today, I’m pleased to announce that Formatted Text Control has found a new home and will become open sourced! Dr. Brian Gaines has been an FTC user since before we purchased it in 2007 and it’s the basis for his suite of conceptual modeling tools. Since those tools will be open source in the near future, FTC will be open source as well. More information can be found at https://pages.cpsc.ucalgary.ca/~gaines/repplus/Code/

I believe that under the stewardship of Dr. Gaines and the open source community FTC will grow and change in ways that I never envisioned. It’s such an important tool for Xojo developers that I envision a lot of interest in it.

I thank Dr. Gaines for purchasing the rights to FTC and for open sourcing it. I want to thank everyone in the community that used FTC over the years, submitted bug reports, and asked those challenging questions on what FTC can and can’t do.

Happy coding!

2 thoughts on “Formatted Text Control Has a New Home and is Open Sourced

  1. If I were to rewrite the 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.

    • Yeah, we kind of started investigating a lot of that in 2019. Some of the new StringWidth stuff was a direct result of those investigations.

Comments are closed.