-
-
Save marcus-downing/2778305 to your computer and use it in GitHub Desktop.
| /* | |
| Replace fonts in all the Illustrator files in a folder | |
| Edit the array at the top to your own substitutions | |
| Find the font names to replace using: https://gist.github.com/2778294 | |
| */ | |
| // fonts to replace | |
| var substitutions = [ | |
| ['BellGothic BT', 'Bold', 'Roboto', 'Condensed'], | |
| ['BellGothic Blk BT', 'Black', 'Roboto', 'Bold Condensed'], | |
| ]; | |
| // turn the substitutions into real fonts | |
| var subsRight = []; | |
| var fontCount = textFonts.length; | |
| var subsCount = substitutions.length; | |
| for (var i = 0; i < fontCount; i++) { | |
| var font = textFonts[i]; | |
| for (var j = 0; j < subsCount; j++) { | |
| if (substitutions[j][2] == font.family && substitutions[j][3] == font.style) { | |
| subsRight[j] = font; | |
| } | |
| } | |
| } | |
| function getAllFiles(folder) { | |
| var fileList = []; | |
| function recurse (folder) { | |
| var files = folder.getFiles("*.ai"); | |
| for (var i = 0; i < files.length; i++) | |
| fileList.push(files[i]); | |
| var folders = folder.getFiles(); | |
| var len = folders.length; | |
| for (var i = 0; i < len; i++) { | |
| if (folders[i] instanceof Folder) { | |
| recurse(folders[i]); | |
| } | |
| } | |
| } | |
| if (folder != null && folder instanceof Folder) | |
| recurse(folder); | |
| return fileList; | |
| } | |
| var sourceFolder = Folder.myDocuments.selectDlg( 'Select the folder with Illustrator files in which you want to replace fonts'); | |
| var files = getAllFiles(sourceFolder); | |
| for ( var i = 0; i < files.length; i++ ) { | |
| var file = files[i]; | |
| var doc = app.open(file); | |
| // replace the font | |
| var frames = doc.textFrames; | |
| for ( var j = 0; j < frames.length; j++ ) { | |
| var ranges = frames[j].textRanges; | |
| for ( var k = 0; k < ranges.length; k++ ) { | |
| var range = ranges[k]; | |
| for (var f = 0; f < subsCount; f++) { | |
| if (range.characterAttributes.textFont.family == substitutions[f][0] | |
| && range.characterAttributes.textFont.style == substitutions[f][1]) { | |
| range.characterAttributes.textFont = subsRight[f]; | |
| } | |
| } | |
| } | |
| } | |
| redraw(); | |
| doc.save(); | |
| doc.close(); | |
| } |
Hi,
A more recent copy of this script can be found here:
https://github.com/dyslexic-charactersheets/scripts/blob/master/Replace%20fonts%20in%20AI%20from%20CSV.jsx. You may find it better.
I haven't tested either of them with Adobe CC. The last version I tested it on was Illustrator CS6.
Thanks Marcus, I was able to make both works in CC2020. This one an the other you pointed me to.
I don’t know if the is my missing font, but it will not replace it.
The script to get his name when missing give me:
It’s name is «SolidEdgeISOCE» with no style.
In character panel when missing:
It’s name is «SolidEdgeISOCE» with Style «Normal»
In character panel and with script when available:
It’s name is «Solid Edge ISO CE» with Style «Regular».
Both script with any combinaison of name/style can’t find/replace that missing font.

Hello Marcus,
Do you know if this script is still compatible with Ai CC 2020?