Jump to content

Text -> Curves -> Expand Stroke -> Combine?


Recommended Posts

I often find myself tweaking font weight by adding a stroke to text. Then, I can adjust as desired and not be limited by just the weights provided by the font (if any). This works great and is a nice way to visually "tweak" the font so that it fits the design.

However, ultimately, I need to convert everything to curves and have a single path for each letter, and that's where it gets tedious. I generally proceed as follows:

  1. Convert the text to curves.
  2. Expand the stroke, which results in something like...1899450339_ScreenShot2019-11-11at10_50_25AM.thumb.png.8285d16b80109a02e4797844c560fe9d.png
  3. Delete the "inner" portion, leaving just the stroke path as a curve.
  4. Put a rectangle behind the paths.
  5. Combine the rectangle and letters using a boolean "divide" operation.
  6. Manually "clean up" by removing unneeded curves and subtracting the inside portion of "closed" letters, etc. to wind up with this...1206335991_ScreenShot2019-11-11at11_00_56AM.thumb.png.365f867cd5cf4fe3b919de8ee3791ea2.png

Needless to say, this is quite tedious. Is there a better way to either tweak the font weight or convert an expanded stroke to a single path? Basically, I want a path that represents the "outline" of the letter, yet there doesn't seem to be an automated way to get it.

Any suggestions?

 

Link to comment
Share on other sites

Thanks for the reply. I think I tried that. As I recall, it didn't work as I expected - at least not with letters containing a "hole" (e.g. b, d, a, e, etc.). I'll double check when I'm back at my machine with AD, but I know I tried all the boolean operations.

It's a bit frustrating because it seems the algorithm already exists in AD - i.e. the ability to create an "outline" (in the effects panel). I just need AD to effectively do the same thing but create a path which follows the outline. :|

Link to comment
Share on other sites

Think I have it, Ok, say you want to add a 3mm stroke aligned to the outside.

  1. Type text
  2. Add a stroke 2.8mm outside centre aligned
  3. Convert text to curves
  4. Boolean add the letters in the subsequent group
  5. Expand Stroke
  6. Now add an centre aligned stroke .2mm to the expanded stroke
  7. Expand the second stroke
  8. select all three layers and boolean add them together.

 

 

iMac 27" 2019 Sequoia 15.0 (24A335), iMac 27" Affinity Designer, Photo & Publisher V1 & V2, Adobe, Inkscape, Vectorstyler, Blender, C4D, Sketchup + more... XP-Pen Artist-22E, - iPad Pro 12.9  
B| (Please refrain from licking the screen while using this forum)

Affinity Help - Affinity Desktop Tutorials - Feedback - FAQ - most asked questions

Link to comment
Share on other sites

8 minutes ago, firstdefence said:

Think I have it, Ok, say you want to add a 3mm stroke aligned to the outside.

  1. Type text
  2. Add a stroke 3mm outside aligned
  3. Convert text to curves
  4. Boolean add the letters in the subsequent group
  5. Expand Stroke
  6. Now add an centre aligned stroke to the expanded stroke
  7. Add the second stroke
  8. select all three layers and boolean add them together.

If you need it to be bang on you will need to subtract the width of the second stroke from the initial stroke so make the first stroke say 2.8mm and the second one .2mm, also make sure to select sharp corners if you need them on both strokes.

 

Why not use the centre aligned stroke, and double the size needed.

intel core i5,  16GB 128Gb ssd win10 Pro Huion new 1060plus.

philips 272p 2560x1440px on intel HD2500 onboard graphics

Razer Tartarus Chroma

Link to comment
Share on other sites

Do it anyway you need too, Actually I think I did use centre align, anyhoo, just gets around the poor boolean merging of the expanded stroke and the text curves, creates an overlay, between the edges.

Might be able to make a macro for it in Affinity Photo 

iMac 27" 2019 Sequoia 15.0 (24A335), iMac 27" Affinity Designer, Photo & Publisher V1 & V2, Adobe, Inkscape, Vectorstyler, Blender, C4D, Sketchup + more... XP-Pen Artist-22E, - iPad Pro 12.9  
B| (Please refrain from licking the screen while using this forum)

Affinity Help - Affinity Desktop Tutorials - Feedback - FAQ - most asked questions

Link to comment
Share on other sites

Shotster,

Yup, you pretty well have the process.  If you are only doing a few words like a banner or title it's not too bad (also depends upon how picky you've got to be).  When I've done this myself I've used this process (there's also an alternate below).

1 select your text then cmd + return to convert to curves

2 select the individual layers of the letters and do an expand stroke

3 divide the selection, the divide will make it easier to separate insides from outsides

4 select the wanted layers and place them in a group (layers having outsides and any insides needed)

5 do a subtract of the insides from the outside in letters that have insides, one letter at a time

6 do a cleanup, select any nodes that should be sharp and convert them to sharp nodes, use the Convert to sharp in the context tool bar after selecting them all.  Some bottoms and tops will be at angles and will need to be straightened.  Depending on the font there will be a few oddities you'll have to decide if they are visible or need fixing.

To aid cleanup I turn on the visibility of the original in a different color so it's easier to see what's wonky during cleanup.

 

Another process that is maybe more work but maybe easier especially if I'm really picky.

1 make a copy below the original and add the stroke to the copy in a completely different color

2 place a guide line along the tops and bottoms of the letters where you want the tops and bottoms to be

The rest is all done to the original, not the copy:

3 select the text then cmd + return to convert to curves

4 divide the selection, the divide will make it easier to separate insides from outsides

5 select all the outsides and using the node tool drag any sharp nodes so they line up with the stroke in the copy and possibly with the guides.  On something like an O select all the outside nodes and using the Transform mode drag it to the size wanted, then shout off the visibility so you can see the insides of the copy).  Then do the same with the inside nodes.  Finally do a subtract to reconstruct the letter.

Maybe a little more work but modifying the original is sometimes easier than the stroked letter.  A lot less "fussy" cleanup and a nicer result.

No simple way that I have found.

Mike

 

iMac (27-inch, Late 2009) with macOS Sierra

Link to comment
Share on other sites

  • Staff
On 11/11/2019 at 7:44 PM, Shotster said:

Thanks for the reply. I think I tried that. As I recall, it didn't work as I expected - at least not with letters containing a "hole" (e.g. b, d, a, e, etc.). I'll double check when I'm back at my machine with AD, but I know I tried all the boolean operations.

Why did it not work with letters containing holes? Maybe i'm missing something here but the process dutchshader described should have worked fine although text must be converted to curves and boolean added before performing the steps he described.

Link to comment
Share on other sites

I'm also wondering if I'm missing something ... I'm able to do this fairly easily, unless there's some requirement I'm missing?!

I've tried to read the original post several times but every time I get to step 3 I'm like 'What?! why?' followed by 'WTF?' at stage 4 and 5.

So, here's what I've tried and it works fine for me:-

Type some text. Add stroke (two ways to do this - either use a character style and add the stroke to that which means your text statys 'live' whilst you adjust the stroke, or convert to curves and add stroke after - your choice). You convert to curves after if you used a character style.

Then using the layers panel, select all the curves within the group that gets created.
Then Layer > expand stroke.
Then Press the 'add' boolean.

Works for me, with all letters whether they are closed or open letters. I end up with a single outlined text shape that includes the stroke width that I put on.

However, maybe there's some exceptions with a particular font or something? or maybe I'm not understanding the problem correctly?
 

Link to comment
Share on other sites

Thanks for the additional input! It's always good to get a fresh perspective!

I fiddled some more, and it seems the KEY is simply to ensure that the stroke is aligned to center when initially adjusting the "thickness" of the text. I had the stroke set to "align to outside", and that results in a nightmare after expanding the stroke (at least for the font I was using).

So for the record, the steps are as follows:

  1. Adjust the "weight" of some text using a center-aligned stroke. (It's KEY that it be CENTER-aligned!)
  2. Convert text to curves (command-return on Mac).
  3. Select all resulting layers (one layer for each letter) and choose Layer --> Expand Stroke.
  4. Now select all of those resulting layers (2 layers for each letter) and use the boolean Add operation. Bada bing!

:) 

Link to comment
Share on other sites

  • 4 years later...
On 11/20/2019 at 12:08 AM, Shotster said:

Thanks for the additional input! It's always good to get a fresh perspective!

I fiddled some more, and it seems the KEY is simply to ensure that the stroke is aligned to center when initially adjusting the "thickness" of the text. I had the stroke set to "align to outside", and that results in a nightmare after expanding the stroke (at least for the font I was using).

So for the record, the steps are as follows:

  1. Adjust the "weight" of some text using a center-aligned stroke. (It's KEY that it be CENTER-aligned!)
  2. Convert text to curves (command-return on Mac).
  3. Select all resulting layers (one layer for each letter) and choose Layer --> Expand Stroke.
  4. Now select all of those resulting layers (2 layers for each letter) and use the boolean Add operation. Bada bing!

:) 

You're a life saver! Thanks for the easy to follow instructions! 🙂

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.