Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Lettering in Illustrator

edited September 2013 in The Toolbox
So I've professionally lettered in Inkscape for years, but it has two annoying issues related to CMYK colors and 400 dpi. Kinda tired of it, so I'd like to retrain in Illustrator. I own Illustrator CS2. Are there any good video Illustrator lettering tutorials out there? It's so different than Inkscape that I can't make heads or tails out of it on my own. 

Barring that, anyone have a step by step? Just need to know how to make a balloon, make it TV shape, make it opaque, make the tails and bend them, and so on. Thank you.

Comments

  • Comicraft has a bunch of tutorials on BalloonTales.com which is where I learned most of what I know about it.
  • Good timing on this question (and answer). I'm kinda concerned at what Celsys is doing to Smith Micro and Manga Studio. I don't want to buy the whole thing again especially since I have the Adobe Cloud subscription. Lettering is pretty much all I do in Manga Studio 4EX but it's just so incredibly easy that I haven't made myself take the time to learn Illustrator. (or even MS5 where they changed everything.)

    Now may be that time.


  • Steve, I honestly believe that the most comprehensive guide to this is on my blog. The Comicraft stuff includes techniques that have been redundant for a decade. Use the "Illustrator Quick Links" in the right hand sidebar on my blog -- be sure to work through them in order, because each one assumes that you've read the last so that I don't have to endlessly re-explain terms.

    Those tutorials, although not video, are heavily illustrated and will walk you through the whole process step-by-step

    There may be a handful of things that work differently in CS2 (it was written for CS3 and updated for CS5) but if you hit any snags, just post 'em up here and I'll do my best to answer them.

    Here's the blog: http://clintflickerlettering.blogspot.co.uk/?m=0

    (I'd post links to the individual sections, but I'm on my phone and formatting URLs is a pain -- sorry!)
  • Ninja Lettering had some videos I used to get started: http://ninjalettering.com/

    I do all my lettering in Illustrator (CS4 once upon a time, CS6 currently) and am pretty glad for it.
  • Steve, I honestly believe that the most comprehensive guide to this is on my blog. The Comicraft stuff includes techniques that have been redundant for a decade. Use the "Illustrator Quick Links" in the right hand sidebar on my blog -- be sure to work through them in order, because each one assumes that you've read the last so that I don't have to endlessly re-explain terms.

    Those tutorials, although not video, are heavily illustrated and will walk you through the whole process step-by-step

    There may be a handful of things that work differently in CS2 (it was written for CS3 and updated for CS5) but if you hit any snags, just post 'em up here and I'll do my best to answer them.

    Here's the blog: http://clintflickerlettering.blogspot.co.uk/?m=0

    (I'd post links to the individual sections, but I'm on my phone and formatting URLs is a pain -- sorry!)
    Thanks, Jim! This is perfect. 
  • Recommendations for a good font and style for a "location" caption that goes on page 1, panel 1 of a story? I don't want to use the same font and style as the remaining captions, which are all internal narrative.

    I'm thinking about white text with no caption box, like Brubaker uses in his stuff, but it's a merpeople story, not a spy story, so that much seriousness might not work.
  • If you want something whimsical, try a large drop cap in a fantasy-ish font for the first letter (Blambot has lots). If you want something really old school, try the same with a SFX font like Comicraft's BiffBamBoom or Blambot's Palooka. For a white text overlay, you really need something blocky and sans serif — I use Comicraft's Hip Flask Bevel Italic which is legible but stylish…

  • Not that whimsical, but not that serious. Hmmm.
  • So what's the best approach for lettering someone singing? Looking for a modern-style take.
  • Blambot's Tone Deaf BB has a nice range of musical notes that have a bit of character. I use italics on the regular dialogue font and then apply Effects -> Warp -> Flag to give a wavy baseline without having to piss about running text along curved paths. I tend to apply a lesser percentage of the same Flag effect to the balloon. Add musical notes. Use Offset Path to create a larger outline which you then merge with the balloon. Looks like this:

    image
  • I was just working on a script that involves a little road-trip singing, so this is timely.
  • Perfect! Thanks, Jim. 

    Incidentally, if you ever do an Illustrator tutorial on sound effects, it'd be greatly appreciated.
  • There's this one, Steve — anything not covered there, just ask here and I'll do my best!
  • Oh cool! I hadn't seen that before. Thanks!

    Any recommendations for Blambot SFX fonts?
  • Blambot FXPro and Piekos FX are my two 'heavy lifters' — I'll use one or the other as the basic SFX font for a whole book. Fight to the Finish is coming up on the outside in this category, though — you get a lot of font for your money! I also get a lot of use out of Death Rattle and Gamma Rays.
  • I have spent a lot of time trying to diagnose the weird grey lines that have been appearing in speech balloons when I exported from Illustrator. (Hand't noticed them until ComiXology bitched me out about them).

    I thought they were compression artifacts but turns out it's actually a software bug with Adobe CS5. So if anybody else is experiencing this, download the two patches from the Adobe website and that will see you right. 
  • On the subject of SFX, there's a rather nifty new rough brush font from Blambot: Beelzebrush. That's a lot of font for your money: Regular and Italic; Black and Black Italic; plus Alternates for all of those, which means you should be able to deploy four different capital As for those drawn-out AAAARGHs…!
  • Blambot's Tone Deaf BB has a nice range of musical notes that have a bit of character. I use italics on the regular dialogue font and then apply Effects -> Warp -> Flag to give a wavy baseline without having to piss about running text along curved paths. I tend to apply a lesser percentage of the same Flag effect to the balloon. Add musical notes. Use Offset Path to create a larger outline which you then merge with the balloon. Looks like this:

    image
    I can't seem to get Offset Path to work. I make a text box, put a musical note in it and do Offset Path, but it doesn't create the outline.
  • Also, how do you get wavy tails like that?
  • There's probably a better way, but you can make an existing tail wavy by using the Add Anchor Point tool to create additional control points on either edge of the tail, then grabbing the handles on those points to make the line bend.  Or, if you're making a new tail, give it multiple points as you go: a simple click creates a corner, but click-hold-the-button-and-move-the-mouse creates a curved anchor point.
  • edited July 2014
    I can't seem to get Offset Path to work. I make a text box, put a musical note in it and do Offset Path, but it doesn't create the outline.
    You need to select the text box with note in it using the Selection tool (black arrow) and then go Create Outlines from the Type menu. (I should have mentioned that. Sorry…!)
  • Also, how do you get wavy tails like that?
    Everything that Jason said. Alternatively, if you're using a stylus and a tablet, use the Pencil tool. I have the Fidelity set to 0.5% and Smoothness to zero, so the Pencil draws exactly what I draw — the result is a bit ragged and has waaaay too many points on it, but you can then use Path -> Simplify. If you turn the 'Preview' option on, you can just tweak the 'Curve Precision' percentage interactively until you get a smoother result that makes you happy…
  • OK Jim! Now I'm trying to take a bitmap image and use it as a mask to fill the inside of some vector letters in Illustrator. I just want the bits inside the letters, and I'm going to move the comet bit so it crosses some of the letters and is thus visible that way. I don't want the rest of the starry sky.

    So how do I do that? 
  • Oh, it looks like this. image
  • RIght…! It'll never work with the last logo because the scratchy fill on the font means you won't be make a clean mask. With the middle one, it goes like this.

    Let's assume you only want the bitmap inside 'satellite' for these purposes.

    Place -> Image

    Send to Back

    Move it so it's more or less in the right place behind the word, which I assume is already Outlines. (If not, you need to go Type -> Create Outlines.

    Select the Outlined 'Satellite' text. Copy. Ungroup the text. Go Pathfinder -> Unite to make a single, continuous shape with the outline of the text. Select this and the image. Go Object -> Clipping Path -> Make.

    Now, go Paste In Front to put your unmerged letters back in place on top. Change fill to None to show the clipped image below through the lettering.
  • Oh — you can select the image inside the mask with the Direct Selection tool (white arrow) and nudge it with the arrow keys if you want to tweak the position.
  • Thanks, Jim. Say, what's your design fee for logos?
Sign In or Register to comment.

Debug Trace

Notice
The addon in /plugins/AboutMe has 1 issue(s).

#0 [internal function]: gdn_ErrorHandler(1024, 'The addon in /p...', '/home/steve55/p...', 795, Array)
#1 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/Addon.php(795): trigger_error('The addon in /p...', 1024)
#2 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/Addon.php(829): Vanilla\Addon->triggerIssues()
#3 /home/steve55/public_html/sequentialworkshop.com/forum/cache/addon.php(1582): Vanilla\Addon::__set_state(Array)
#4 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(319): require('/home/steve55/p...')
#5 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(740): Vanilla\AddonManager->ensureMultiCache()
#6 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1094): Vanilla\AddonManager->lookupAddon('stubcontent')
#7 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1074): Vanilla\AddonManager->lookupByType('stubcontent', 'addon')
#8 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(247): Vanilla\AddonManager->startAddonsByKey(Array, 'addon')
#9 [internal function]: {closure}(Object(Garden\Container\Container), Object(Gdn_Configuration), Object(Vanilla\AddonManager), Object(Garden\EventManager), Object(Gdn_Request))
#10 /home/steve55/public_html/sequentialworkshop.com/forum/vendor/vanilla/garden-container/src/Container.php(723): call_user_func_array(Object(Closure), Array)
#11 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(308): Garden\Container\Container->call(Object(Closure))
#12 /home/steve55/public_html/sequentialworkshop.com/forum/index.php(22): require_once('/home/steve55/p...')
#13 {main}
Notice
The addon key must match it's subdirectory name (about me vs. AboutMe).

#0 [internal function]: gdn_ErrorHandler(1024, 'The addon key m...', '/home/steve55/p...', 797, Array)
#1 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/Addon.php(797): trigger_error('The addon key m...', 1024)
#2 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/Addon.php(829): Vanilla\Addon->triggerIssues()
#3 /home/steve55/public_html/sequentialworkshop.com/forum/cache/addon.php(1582): Vanilla\Addon::__set_state(Array)
#4 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(319): require('/home/steve55/p...')
#5 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(740): Vanilla\AddonManager->ensureMultiCache()
#6 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1094): Vanilla\AddonManager->lookupAddon('stubcontent')
#7 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1074): Vanilla\AddonManager->lookupByType('stubcontent', 'addon')
#8 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(247): Vanilla\AddonManager->startAddonsByKey(Array, 'addon')
#9 [internal function]: {closure}(Object(Garden\Container\Container), Object(Gdn_Configuration), Object(Vanilla\AddonManager), Object(Garden\EventManager), Object(Gdn_Request))
#10 /home/steve55/public_html/sequentialworkshop.com/forum/vendor/vanilla/garden-container/src/Container.php(723): call_user_func_array(Object(Closure), Array)
#11 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(308): Garden\Container\Container->call(Object(Closure))
#12 /home/steve55/public_html/sequentialworkshop.com/forum/index.php(22): require_once('/home/steve55/p...')
#13 {main}
Notice
The addon in /plugins/Emotify has 1 issue(s).

#0 [internal function]: gdn_ErrorHandler(1024, 'The addon in /p...', '/home/steve55/p...', 795, Array)
#1 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/Addon.php(795): trigger_error('The addon in /p...', 1024)
#2 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/Addon.php(829): Vanilla\Addon->triggerIssues()
#3 /home/steve55/public_html/sequentialworkshop.com/forum/cache/addon.php(1806): Vanilla\Addon::__set_state(Array)
#4 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(319): require('/home/steve55/p...')
#5 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(740): Vanilla\AddonManager->ensureMultiCache()
#6 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1094): Vanilla\AddonManager->lookupAddon('stubcontent')
#7 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1074): Vanilla\AddonManager->lookupByType('stubcontent', 'addon')
#8 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(247): Vanilla\AddonManager->startAddonsByKey(Array, 'addon')
#9 [internal function]: {closure}(Object(Garden\Container\Container), Object(Gdn_Configuration), Object(Vanilla\AddonManager), Object(Garden\EventManager), Object(Gdn_Request))
#10 /home/steve55/public_html/sequentialworkshop.com/forum/vendor/vanilla/garden-container/src/Container.php(723): call_user_func_array(Object(Closure), Array)
#11 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(308): Garden\Container\Container->call(Object(Closure))
#12 /home/steve55/public_html/sequentialworkshop.com/forum/index.php(22): require_once('/home/steve55/p...')
#13 {main}
Notice
The addon should have at most one plugin class (EmotifyPlugin, EmotifyPlugin).

#0 [internal function]: gdn_ErrorHandler(1024, 'The addon shoul...', '/home/steve55/p...', 797, Array)
#1 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/Addon.php(797): trigger_error('The addon shoul...', 1024)
#2 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/Addon.php(829): Vanilla\Addon->triggerIssues()
#3 /home/steve55/public_html/sequentialworkshop.com/forum/cache/addon.php(1806): Vanilla\Addon::__set_state(Array)
#4 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(319): require('/home/steve55/p...')
#5 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(740): Vanilla\AddonManager->ensureMultiCache()
#6 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1094): Vanilla\AddonManager->lookupAddon('stubcontent')
#7 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1074): Vanilla\AddonManager->lookupByType('stubcontent', 'addon')
#8 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(247): Vanilla\AddonManager->startAddonsByKey(Array, 'addon')
#9 [internal function]: {closure}(Object(Garden\Container\Container), Object(Gdn_Configuration), Object(Vanilla\AddonManager), Object(Garden\EventManager), Object(Gdn_Request))
#10 /home/steve55/public_html/sequentialworkshop.com/forum/vendor/vanilla/garden-container/src/Container.php(723): call_user_func_array(Object(Closure), Array)
#11 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(308): Garden\Container\Container->call(Object(Closure))
#12 /home/steve55/public_html/sequentialworkshop.com/forum/index.php(22): require_once('/home/steve55/p...')
#13 {main}
Notice
The addon with key GoogleSignIn could not be found and will not be started.

#0 [internal function]: gdn_ErrorHandler(1024, 'The addon with ...', '/home/steve55/p...', 1076, Array)
#1 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1076): trigger_error('The addon with ...')
#2 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(247): Vanilla\AddonManager->startAddonsByKey(Array, 'addon')
#3 [internal function]: {closure}(Object(Garden\Container\Container), Object(Gdn_Configuration), Object(Vanilla\AddonManager), Object(Garden\EventManager), Object(Gdn_Request))
#4 /home/steve55/public_html/sequentialworkshop.com/forum/vendor/vanilla/garden-container/src/Container.php(723): call_user_func_array(Object(Closure), Array)
#5 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(308): Garden\Container\Container->call(Object(Closure))
#6 /home/steve55/public_html/sequentialworkshop.com/forum/index.php(22): require_once('/home/steve55/p...')
#7 {main}
Notice
The locale with key SequentialWorkshop could not be found and will not be started.

#0 [internal function]: gdn_ErrorHandler(1024, 'The locale with...', '/home/steve55/p...', 1076, Array)
#1 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1076): trigger_error('The locale with...')
#2 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(249): Vanilla\AddonManager->startAddonsByKey(Array, 'locale')
#3 [internal function]: {closure}(Object(Garden\Container\Container), Object(Gdn_Configuration), Object(Vanilla\AddonManager), Object(Garden\EventManager), Object(Gdn_Request))
#4 /home/steve55/public_html/sequentialworkshop.com/forum/vendor/vanilla/garden-container/src/Container.php(723): call_user_func_array(Object(Closure), Array)
#5 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(308): Garden\Container\Container->call(Object(Closure))
#6 /home/steve55/public_html/sequentialworkshop.com/forum/index.php(22): require_once('/home/steve55/p...')
#7 {main}
Notice
The locale with key SQWSHP could not be found and will not be started.

#0 [internal function]: gdn_ErrorHandler(1024, 'The locale with...', '/home/steve55/p...', 1076, Array)
#1 /home/steve55/public_html/sequentialworkshop.com/forum/library/Vanilla/AddonManager.php(1076): trigger_error('The locale with...')
#2 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(249): Vanilla\AddonManager->startAddonsByKey(Array, 'locale')
#3 [internal function]: {closure}(Object(Garden\Container\Container), Object(Gdn_Configuration), Object(Vanilla\AddonManager), Object(Garden\EventManager), Object(Gdn_Request))
#4 /home/steve55/public_html/sequentialworkshop.com/forum/vendor/vanilla/garden-container/src/Container.php(723): call_user_func_array(Object(Closure), Array)
#5 /home/steve55/public_html/sequentialworkshop.com/forum/bootstrap.php(308): Garden\Container\Container->call(Object(Closure))
#6 /home/steve55/public_html/sequentialworkshop.com/forum/index.php(22): require_once('/home/steve55/p...')
#7 {main}