Text Tool Thread

But as for placeholder text. Is there no current way to display the string “placeholder text” when the text character count is zero ?

It would solve having something to click when no text was there and as soon as text was in it would disappear not needing to select and erase the text. Deleting text would instead be done through the vector object.

Sorry for being off-topic:
This is Cicero, and that is by no means the end of the text.

Michelist

No, this is not possible, as I said twice before, the fundamental problem is that any previews or placeholders or the like would need to be inside the actual text shape, meaning that they will be visible when the text tool is not active, or even when doing things like exporting a PNG. I cannot generate a preview that is only visible when there’s no text in the current text shape while the text tool is being used.

I’ll just remove the placeholder text and ensure that empty text will get auto-removed.

3 Likes

I did read that. Maybe I explained myself wrong.

Rendering for the viewport but not for the camera is not what I was referring to this last time but an exception case on what to show. A default string or some text from the user if it exists.

Deleting objects with zero characters seems a behaviour that might cause unintended reactions while editing text. On other apps it usually does not work all to well there is usually an odd situation you need to avoid.

For a preview, it doesn’t matter if it is visible in an export, that’s what I am used to at least.

Alright, bit of an update:

I’m also investigating trying to get touch editing of the text to work, as well as some other fixes. I also discussed the refactors necessary to make rich text possible, so I’m going to start on that once a few more MRs have been merged, though the exciting stuff will probably happen after the holidays :christmas_tree:

13 Likes

I believe this is a great place to mention this:

Almost made a separate thread about it, but I’m more amazed that it hasn’t been mentioned anywhere else yet.

Look it up, it’s plenty interesting.

It’s the last item in the big projects list in the first post. That page is actually outdated already, because it doesn’t mention ColrV1, only ColrV0.

Update again:

The stylus interaction fixes got in, as did the hidpi decorations. The two optimizations also got in, so typing text and overall interacting with vector shapes should be a lot more responsive. I’m pretty pleased with this latter change, as I didn’t think it was within my skill level to get it working :blush:

I’m still working on reworking touch interaction stuff, and after that I’ll start with the fundamental rework needed for rich text. The snapping MR will be worked on alongside that.

17 Likes

Alright, small update again:

I spend the last month on reworking the insides of the text shape, particularly how data is stored. This was necessary because the old way the data was stored made it too easy to leak the data as we’d edit the text, which is a type of bug where Krita basically forgets to clean up after itself, filling up the RAM with stuff it doesn’t need anymore.

I then spend some time on getting basic rich text editing to work, which includes changing the color / weight / italics / underline and getting rich text copy-paste to work:

Now, I want to wait for these two to merge, before I continue with full rich text editing. The reason for this is that I still need to ensure units are remembered (which requires another rework of the text data), yet at the same time, the state of the basic editing is as such that I can start to experiment with opentype glyph selection, and I’d like to work on those two simultaneously.

24 Likes

While checking the close gap fill tool artifact , I saw that the basic rich text editing branch was also merge a day ago.

All I say is, damn its already good. I don’t see any lag at all. I know some of the UX stuff are already getting work on as I saw in another branch. This is already good.

image

image

For others - whats available now/ what i tested so far:
common shortcut like Ctrl B, I, U, works on canvas.
color change works on canvas.
partial color change works on canvas.

8 Likes

Awsome!

@kaichi1342 What font are you using by the way? :sweat_smile:

Komila Display :slight_smile:

1 Like

Ok, so another update.

I’ve been working on getting Krita to store units. This got merged, so we can now have relative units for stuff like letter spacing and font size.

Then I went and started working on the main event:

About half of the properties are implemented now. There’s still a ton of work to do both UI wise, as well as fixing bugs that may crop up (One of the things that for example needs to be done is the ability to hide properties you’re never going to need).

I’m however very much in need of a vacation, so I’m going to do that first before finishing this up.

29 Likes

Thank you for all the work you’re doing on this @wolthera :+1:
Enjoy your time away :slight_smile:

1 Like

That is stunning!

Have a great vacation!

Michelist

1 Like

Omg. This is awesome. Exceeded my expectation of the text tool I imagine krita to have. These is amazing. I am speechless.

3 Likes

This looks really great @wolthera. Thanks for tackling this giant project with all things text. It is looking really nice with all the functionality you have been adding.

1 Like

Wow, even more awesome work! Thank you, @wolthera. Enjoy your time off.

2 Likes

This is amazing! I really appreciate all the hard work you’ve been doing! Good luck on your vacation! ;u;

2 Likes