Skip to main content
Participant
May 25, 2023
Answered

Report document of missing fonts in InDesign?

  • May 25, 2023
  • 2 replies
  • 451 views

Hi!

I wonder if there is a way to create a report of missing fonts in the InDesign file. I'm working on a design file that was sent to me as an InDesign package but there are still some fonts missing and I'd like to export or create a list of missing fonts and send it back to the client to provide me with the fonts.

I think these missing fonts might be affected by the Type 1 fonts being disabled from January 2023.

 

I use Adobe InDesign 18.2.1 on macOS Ventura Version 13.3.1

This topic has been closed for replies.
Correct answer jmlevy

Tick the “create Printing instructions” checkbox when you package the file.

2 replies

jmlevy
Community Expert
jmlevyCommunity ExpertCorrect answer
Community Expert
May 25, 2023

Tick the “create Printing instructions” checkbox when you package the file.

Participant
June 2, 2023

Thank you for your help!

Kasyan Servetsky
Legend
May 25, 2023

Check out this script: it creates a list of missing fonts in the pop-up and a text file on the desktop:

var scriptName = "List missing fonts in the current doc",
doc;

PreCheck();
//===================================== FUNCTIONS ======================================
function Main() {
	try {
		var arr = [],
		fonts = doc.fonts.everyItem().getElements();
		
		for (var i = 0; i < fonts.length; i++) {
			if (fonts[i].status != FontStatus.INSTALLED) {
				arr.push(fonts[i].name.replace("\t", " "));
			}
		}
		
		var text = arr.join("\r");
		WriteToFile(text);
		alert("Found " + arr.length + " missing fonts:\r\r" + text, scriptName, false);
	}
	catch(err) {
		alert("Something went wrong: " + err.message + ", line: " + err.line, scriptName, true);
	}
}

function WriteToFile(text) {
	var file = new File("~/Desktop/" + scriptName + ".txt");
	file.encoding = "UTF-8";
	file.open("w");
	file.write(text); 
	file.close();
}

function PreCheck() {
	if (app.documents.length == 0) ErrorExit("Please open a document and try again.", true);
	doc = app.documents[0];

	Main();
}

function ErrorExit(error, icon) {
	alert(error, scriptName, icon);
	exit();
}