font-link-overflow.jsx
var doc=app.activeDocument;
if(doc){
if(!(checkFonts(doc)&&checkLinks(doc)&&checkOverflow(doc))) exit();
}
/////////////////////////////////////
function checkFonts(doc) {
var fontObj = doc.fonts;
var L = fontObj.length;
while (L--) {
if (fontObj[L].status !== FontStatus.INSTALLED) {
alert("環境にないフォントがあります");
return false;
}
}
return true;
}
////////////////////////////////////
function checkLinks(doc) {
var linkObj = doc.links;
var L = linkObj.length;
while (L--) {
var myStatus = linkObj[L].status;
if (myStatus === LinkStatus.LINK_MISSING || myStatus === LinkStatus.LINK_OUT_OF_DATE) {
alert("無効・未更新 なリンクがあります");
return false;
}
}
return true;
}
////////////////////////////////////
function checkOverflow(doc) {
var pageObj = doc.pages;
var pL = pageObj.length;
while (pL--) {
var tL = pageObj[pL].textFrames.length;
while (tL--) {
if (pageObj[pL].textFrames[tL].overflows) {
alert(pageObj[pL].textFrames[tL].parent.name + " ページに文字溢れがあります");
return false;
}
}
}
return true;
}