: How do I break apart text in Photoshop? I have a word in a text layer in photoshop. I want each character to be on a separate layer, how can I do that?
I have a word in a text layer in photoshop. I want each character to be on a separate layer, how can I do that?
More posts by @Pierce403
: What is InDesign used for? What is Adobe InDesign used for as opposed to Photoshop or Illustrator?
3 Comments
Sorted by latest first Latest Oldest Best
I'll just give my penny. You didn't specified whether you need your new layers as editable text or just rasterized layers, in the latter case you can:
Rasterize your layer
Make a selection around your first layer
Hit CTRL + SHIFT + J (Or CMD + SHIFT + J) to cut the selection to a new layer
Repeat step 2 and 3 for each letter
Again, do this only if you're ok with having rasterized layers. If you need text layers go with Lauren Ipsum answer as it is probably the faster way.
Select the Type tool.
Type your letter.
Duplicate the layer.
Select the new layer.
Highlight the copied letter and type
the second letter.
Repeat as needed.
Unless you're breaking up "antidisestablishmentarianism," this is the faster way to go.
This can be done with scripting capabilities.
EDIT: I've update my answer below having tried and tested.
Open any text editor
Copy and paste the following code into it
Make sure whatever the name of the text layer is matches with what's defined in line 20
Save as splitText.jsx
Open with Photoshop. Also make sure the document you want to apply this to is the currently active document.
Contents of splitText.jsx
// enable double clicking from the Macintosh Finder or the Windows Explorer #target photoshop
// in case we double clicked the file
app.bringToFront();
// debug level: 0-2 (0:disable, 1:break on error, 2:break at beginning)
// $.level = 0;
// debugger; // launch debugger on next line
var strtRulerUnits = app.preferences.rulerUnits;
var strtTypeUnits = app.preferences.typeUnits;
app.preferences.rulerUnits = Units.PIXELS;
app.preferences.typeUnits = TypeUnits.POINTS;
var thisDocument = app.activeDocument;
// USE THIS LINE TO GRAB TEXT FROM EXISTING LAYER
var theOriginalTextLayer = thisDocument.artLayers.getByName("NAME-OF-LAYER");
var theTextToSplit = theOriginalTextLayer.textItem.contents;
// OR USE THIS LINE TO DEFINE YOUR OWN
// var theTextToSplit = "Hello";
// suppress all dialogs
app.displayDialogs = DialogModes.NO;
// the color of the text as a numerical rgb value
var textColor = new SolidColor;
textColor.rgb.red = 0;
textColor.rgb.green = 0;
textColor.rgb.blue = 0;
var fontSize = 120; // font size in points
var textBaseline = 480; // the vertical distance in pixels between the top-left corner of the document and the bottom-left corner of the text-box
for(a=0; a<theTextToSplit.length; a++){
// this loop will go through each character
var newTextLayer = thisDocument.artLayers.add(); // create new photoshop layer
newTextLayer.kind = LayerKind.TEXT; // set the layer kind to be text
// newTextLayer.name = textInLayer.charAt(a);
var theTextBox = newTextLayer.textItem; // edit the text
theTextBox.font = "Arial"; // set font
theTextBox.contents = theTextToSplit.charAt(a); // Put each character in the text
theTextBox.size = fontSize; // set font size
var textPosition = a*(fontSize*0.7);
theTextBox.position = Array(textPosition, textBaseline); // apply the bottom-left corner position for each character
theTextBox.color = textColor;
};
/* Reset */
app.preferences.rulerUnits = strtRulerUnits;
app.preferences.typeUnits = strtTypeUnits;
docRef = null;
textColor = null;
newTextLayer = null;
Then move the text layers about ass you please
Terms of Use Create Support ticket Your support tickets Stock Market News! © vmapp.org2024 All Rights reserved.