femkeblanco
Guide
femkeblanco
Guide
Activity
Oct 14, 2023
08:22 AM
Mike is correctly showing the way to change the default for TextEdit to plain text.
If you only need that occasionally, you can create a new file and choose Format > Make Plain Text before pasting the script.
... View more
Oct 11, 2023
07:21 PM
Yes, then Normal text which was in Light weight turn to Bold
... View more
Oct 11, 2023
02:28 PM
1 Upvote
It's a bug. A gradient's origin, length and angle cannot be overwritten. Here's an elaborate workaround courtesy of CarlosCanto. This doubles a gradient's length (of a selected item) in the right direction: var fillcolor = app.selection[0].fillColor;
app.selection[0].filled = false;
app.selection[0].fillColor = fillcolor;
app.selection[0].fillOverprint = app.selection[0].fillOverprint;
var f = app.getScaleMatrix(200, 100); // double x
app.selection[0].transform(
f, false, false, true, false, 0, Transformation.LEFT);
... View more
Oct 11, 2023
10:34 AM
Your thinking is right.
... View more
Oct 11, 2023
03:03 AM
Thank you for your reply. I'm trying to separate the GroupItem and process it separately, and there is always a solution. Also, looking forward to a master appearing.
... View more
Oct 10, 2023
03:40 PM
2 Upvotes
Just for learning, here's a variation, that changes the suffix no matter which suffix is already applied, or adds it if none:
sw.name = spotName.replace(/(_SPOT|_CMYK)?$/, suffix);
In the regular expression, the | (bar) symbol means choose either _SPOT or _CMYK, and the ? means match the text in parentheses if it's there and the $ means match end of text—so if no suffix exists the $ replaces the end of text with the suffix.
- Mark
... View more
Oct 04, 2023
01:12 PM
Is it possible to have something like this for each word, each line of text (if there is an ENTER) and each sentence?
... View more
Oct 03, 2023
08:40 PM
You have a typing error " m=" + myY (yellow instead of magenta) spots[g].name = "c="+myC+" m="+myM+" y="+myY+" k="+myK; As for the appearance of the red group. From the scripts we can't read the color of the stroke. For that we would have to make a copy of the group, call the "Expand Appearance" command app.executeMenuCommand('expandStyle') (CS6+) for the selected copy of the group and then check the colors of the resulting objects. And then delete the expanded group.
... View more
Oct 03, 2023
04:57 PM
I see what you mean, and no, unfortunately we can't pass a bounding array to the Rectangle function
but you could create your own function if you need to make this often
... View more
Oct 02, 2023
06:35 PM
@Mike_Gondek, this is a great idea. I don't know glyphrstudio, but in most font editing tools it should be fairly easy to make an OpenType stylistic set that swaps the o with an italized o. Then, in Illustrator, just choose that set for titles and subtitles, or add to your paragraph styles for those.
- Mark
... View more
Sep 27, 2023
12:18 PM
1 Upvote
Thanks Femke, I am impressed again.
... View more
Sep 27, 2023
05:46 AM
1 Upvote
thanks, sttk3 it worked.
... View more
Sep 19, 2023
03:02 AM
1 Upvote
It's exactly the solution I want. Thank you
... View more
Sep 18, 2023
02:41 PM
I think what you want is exportForScreens. This is not available to me in CS6, so I cannot help you. But you can look at these links.
... View more
Sep 15, 2023
11:44 AM
You're right about that. According to Marti's video, they date as back as Illustrtaor 10. Sorry...
... View more
Sep 10, 2023
01:58 AM
1 Upvote
Oh thanks a lot ! Is it working how I wanted !
... View more
Sep 07, 2023
12:09 PM
1 Upvote
This script perfect working cleared all single points. Thank You...
... View more
Sep 05, 2023
05:16 PM
Thanks Monica, I can see what you mean, thanks for your help.
... View more
Sep 01, 2023
02:38 PM
1 Upvote
If I understand correctly, you want to select the colored squares, run the script and have it write the names of the corresponding swatches to the right of the squares. var doc = app.activeDocument;
var targets = doc.selection;
for (var i = 0; i < targets.length; i++) {
var size = targets[i].height / 2;
var text = doc.textFrames.pointText( [
targets[i].left + targets[i].width * 1.5,
targets[i].top - targets[i].height * 0.75 + size * 0.2,
] );
text.textRange.characterAttributes.size = size;
for (var j = 0; j < doc.swatches.length; j++) {
if (areEqual(targets[i].fillColor, doc.swatches[j].color)) {
text.contents = doc.swatches[j].name;
}
}
}
function areEqual(o1, o2) {
for (var k in o1) {
if (o1.hasOwnProperty(k)) {
if (!o2.hasOwnProperty(k)) return false;
if (o1[k] != o2[k]) return false;
}
}
for (var k in o2) {
if (o2.hasOwnProperty(k)) {
if (!o1.hasOwnProperty(k)) return false;
if (o1[k] != o2[k]) return false;
}
}
return true;
}
... View more
Aug 28, 2023
06:08 PM
This is what I was looking for! This is exactly what I was looking for. Thank you so much for your answer.
... View more
Aug 27, 2023
02:53 AM
Yes After installing Latest Version I got it Thank You All For Support 😍
... View more
Aug 23, 2023
12:47 PM
Merci pour la réponse timide mais positive... René
... View more
Aug 23, 2023
05:13 AM
this works only for one page, but when i have a multi-artboard it deletes all except the active artboard. Could you please re-script to make it delete all out artboard without deleting inside multi-artboard
... View more
Aug 18, 2023
08:57 AM
I could Kiss you!
... View more
Aug 16, 2023
08:02 AM
1 Upvote
Hello @femkeblanco , thank you very much for your help. The statement checkbox.spotColor.color = checkbox.spotColor.color; is very cleverly used, our original method was clumsy, as shown below: if (checkbox.value) {
var cmykColor = new CMYKColor();
cmykColor.cyan = checkbox.spotColor.color.cyan;
cmykColor.magenta = checkbox.spotColor.color.magenta;
cmykColor.yellow = checkbox.spotColor.color.yellow;
cmykColor.black = checkbox.spotColor.color.black;
checkbox.spotColor.color = cmykColor;
checkbox.spotColor.colorType = ColorModel.PROCESS;
} In addition, how can I use a script to find spot colors in Illustrator that are using the Lab color mode? Personally, I think the best approach is to handle the spot colors using the method mentioned earlier if they are in the Lab color mode, and directly convert other color modes that can be converted normally (e.g., RGB or HSB), while preserving their original color mode.
... View more
Aug 14, 2023
10:59 AM
Thanks, Mark! I am going to check this out.
... View more
Aug 10, 2023
09:17 PM
3 Upvotes
The following might work, change the name of the layer you need to find in the 1st line of the code
var layerName = "xy"
try{
var lyr = app.documents[0].layers.getByName(layerName)
}catch(e){
lyr = app.documents[0].layers.add()
lyr.name = layerName
}
lyr.move(app.documents[0], ElementPlacement.PLACEATBEGINNING)
app.activeDocument.activeLayer = lyr
-Manan
... View more
Aug 06, 2023
12:57 AM
Thanks For your Reply You are correct , I forgot to mention that there are dozens of nested clipping groups in your file and furthermore compound path items in some groups exists. What is the script in this case ? I use illustrator 2023
... View more
Aug 04, 2023
05:25 AM
1 Upvote
In a "dialog" type window and redraw() the width changes are instantaneous, that's what I wanted. In a "palette" window, you probably have to send the code over bridgeTalk, and that slows things down. var dep = 100;
var mm = new UnitValue(1 + " " + "mm").as('pt');
var doc = app.activeDocument;
var rec = doc.pathItems.rectangle(0,0,dep*mm,dep*mm);
app.redraw();
var p = new Window("dialog");
p.text = "rectangle";
p.alignChildren = ["center","top"];
p.spacing = 10;
p.margins = 16;
var g1 = p.add("group", undefined, {name: "g1"});
g1.orientation = "row";
g1.alignChildren = ["left","center"];
g1.spacing = 10;
g1.margins = 0;
var st1 = g1.add("statictext", undefined, undefined, {name: "st1"});
st1.text = "W:";
var st2 = g1.add("statictext", undefined, undefined, {name: "st2"});
st2.text = dep;
var b1 = g1.add("button", undefined, undefined, {name: "b1"});
b1.text = "-";
b1.preferredSize.width = 50;
var b2 = g1.add("button", undefined, undefined, {name: "b2"});
b2.text = "+";
b2.preferredSize.width = 50;
b1.onClick = function() {
dep--;
st2.text = dep;
rec.width = dep*mm;
redraw();
};
b2.onClick = function() {
dep++;
st2.text = dep;
rec.width = dep*mm;
redraw();
};
p.show();
... View more
Jul 27, 2023
02:38 PM
The files I have can have a thousands of items, but I do like this approach! Thanks again!
... View more