Take the 2-minute tour ×
Graphic Design Stack Exchange is a question and answer site for Graphic Design professionals, students, and enthusiasts. It's 100% free, no registration required.

Many documents (especially older ones) use what looks like a curly brace { to join multiple elements together. Here's an example of this to illustrate programming code, and here's a thread about doing this in TeX.

This can even be done directly in posts on math.SE: an answer using these braces.

curly braces

What's the best way to go about making braces like this? An ideal solution for my needs would:

  • use InDesign or Photoshop
  • keep the typographic look of a serif font's {
  • be easily expanded to cover more or less area

Any ideas?

Update: Check out the links above. Just resizing a single { character isn't the desired effect. Imagine if there were characters that meant "start of brace", "straight part of brace", "middle of brace", and "end of brace". You could use them together to make one giant brace. Something like `-----v-----' where the brace can encompass more space by simply adding more - characters.

share|improve this question
1  
What do you mean 'making braces like that'? They are standard characters accessible via the keyboard. –  DA01 Nov 30 '11 at 18:05
    
@DA01, notice how (in the pictures I linked to) the braces expand to encompass more text? Yes, they're basically the standard { character, but expanded. –  Joe Nov 30 '11 at 19:29
    
Ah. I see. I'll add an answer. –  DA01 Nov 30 '11 at 19:55

4 Answers 4

up vote 6 down vote accepted

Several options.

  1. draw it. Not that hard to do in a vector illustration program. Draw half of it then flip to make the other half and join them together.

  2. Scale a brace from a particular typeface (as e100 suggests)

  3. or perhaps the easiest/most versatile: choose a brace from a typeface in your vector illustration program of choice and convert it to outlines. You should now be able to select the points along the outer curves and drag them to stretch out the brace but retain it's relatively style/thickness. After dragging them, there may be a bit of tweaking to do, but it's how I've done it in the past.

My ASCII example (the O's being the bezier points):

           OxO
              x      <------+ Select then drag
               O              these points as needed
               x
               x
               x
               x
               x
               x
               x
               x
                x
                 xx
                x
               x
               x
               x
               x
              x
           xxx
share|improve this answer

I think the key point you're asking is how to make one of arbitrary size.

The simple answer is to just scale the { character accordingly. You must scale it proportionally to avoid distortion.

But for a particularly large bracket, this would look too heavy in relation to normal text, so you might choose one from a lighter (less bold) font, or if need be fine tune the width of the strokes.

share|improve this answer
    
You're alluding to the real problem in your third paragraph, that merely scaling the curly brace would change its apparent weight/thickness. –  Joe Nov 30 '11 at 19:31

In your vector program, type the brace character, scale it, and turn it into a guide. Use that as the outline to draw the brace with Bézier curves. Make it as thick or thin as you like.

share|improve this answer

I mostly agree with DA01's answer but I'd do it directly in InDy, since you won't have to switch programs to do some adjustments. So create "curls" by e.g. typing it and create outlines (select text frame with brace to do that)*. Now use "direct selection", but here's the difference: select nodes on both ends of brace simultanously and use "scale" tool with base point of transformation choosen on perpendicular to your scaling direction. That way you'll have brace extended to the perfectly same length in both directions.

*You can do it by selecting text only, but it'll leave shape enclosed in the text frame instead of having it as a separate object without any "frame".

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.