I don't know why and how you write error log, so I only add a single alert after all. "xmpString" and "XMP library" are two different methods, you only need one of then.
#target illustrator
var inputFolder = Folder.selectDialog("Select a folder contains '*.eps' files ");
if (inputFolder) {
var fileList = inputFolder.getFiles('*.eps'),
fontsInfo = [];
loadXMPLibrary();
for (var i = 0; i < fileList.length; i++) {
if (fileList instanceof File && fileList.hidden == false) {
fontsInfo.push(getFontsInfo(fileList));
}
}
unloadXMPLibrary();
}
var Loginfo = new File(inputFolder + '/Font.info.txt');
Loginfo.open('w', 'TEXT', '????');
var info = fontsInfo.join('\n\n');
Loginfo.write(info);
Loginfo.close();
if (/(Open Type|TrueType)/.test(info)) {
alert('Open Type / TrueType font found, see log file for details!')
}
function getFontsInfo(file) {
var arr = ['File: ' + decodeURI (file.name)],
xmpFile, oXmp, fontNumber, i, path, fontname, fonttype, ns = 'http://ns.adobe.com/xap/1.0/t/pg/';
xmpFile = new XMPFile(file.fsName, XMPConst.UNKNOWN, XMPConst.OPEN_FOR_READ);
oXmp = xmpFile.getXMP(); //Returns an XMPMeta object
fontNumber = oXmp.countArrayItems(ns, 'xmpTPg:Fonts');
xmpFile.closeFile(XMPConst.CLOSE_UPDATE_SAFELY);
if (fontNumber) { // if there's at least 1 font, proceed
for (i = 1; i <= fontNumber; i++) {
path = XMPUtils.composeArrayItemPath(ns, 'xmpTPg:Fonts', i);
fontname = oXmp.getStructField(ns, path, XMPConst.TYPE_FONT, 'fontName');
fonttype = oXmp.getStructField(ns, path, XMPConst.TYPE_FONT, 'fontType');
arr.push([i, '. ', fontname, '-', fonttype].join(''));
}
}
return arr.join('\n');
}
function loadXMPLibrary() {
if (!ExternalObject.AdobeXMPScript) {
try {
ExternalObject.AdobeXMPScript = new ExternalObject('lib:AdobeXMPScript');
} catch (e) {
alert('Unable to load the AdobeXMPScript library!');
return false;
}
}
return true;
}
function unloadXMPLibrary() {
if (ExternalObject.AdobeXMPScript) {
try {
ExternalObject.AdobeXMPScript.unload();
ExternalObject.AdobeXMPScript = undefined;
} catch (e) {
alert('Unable to unload the AdobeXMPScript library!');
}
}
}