In conclusion:
If you wanted to try this, this is the script from https://yourscriptdoctor.com/displaying-font-family-members/ but put in javascript. You can make your own script from this and it works wonders!
How to install texts scripts here:
https://creativepro.com/how-to-install-a-script-in-indesign-that-you-found-in-a-forum-or-blog-post/
try {
var userFont = getFontName();
var doc = app.activeDocument;
var defaultStyle = doc.textDefaults.appliedParagraphStyle;
defaultStyle.pointSize = 10;
defaultStyle.leading = 16;
// Find fonts matching input
var fontList = [];
var fonts = app.fonts.everyItem().getElements();
for (var i = 0; i < fonts.length; i++) {
if (fonts[i].name.toLowerCase().indexOf(userFont.toLowerCase()) !== -1) {
fontList.push(fonts[i].name);
}
}
if (fontList.length === 0) {
throw "No fonts found containing \"" + userFont + "\"";
}
if (app.selection.length === 0 || !(app.selection[0] instanceof TextFrame)) {
throw "Requires text frame selection in InDesign document";
}
var selItem = app.selection[0];
var str = "";
for (var i = 0; i < fontList.length; i++) {
str += fontList[i] + "\r";
}
selItem.contents = str;
var paras = selItem.paragraphs;
for (var i = 0; i < paras.length; i++) {
var fontName = paras[i].contents.replace(/\r$/, ""); // remove line break
try {
paras[i].appliedFont = fontName;
paras[i].pointSize = 16;
} catch (e) {
// Fallback: skip applying font if not available
$.writeln("Could not apply font: " + fontName);
}
}
} catch (err) {
alert("Error: " + err);
}
// Prompt user for font name
function getFontName() {
var w = new Window("dialog", "Enter font name");
w.orientation = "column";
w.alignChildren = "fill";
var input = w.add("edittext", undefined, "");
input.characters = 30;
var btnGroup = w.add("group");
btnGroup.alignment = "right";
var okBtn = btnGroup.add("button", undefined, "OK");
var cancelBtn = btnGroup.add("button", undefined, "Cancel");
okBtn.onClick = function () {
if (input.text === "") {
alert("Requires font name");
return;
}
w.close(1);
};
cancelBtn.onClick = function () {
w.close(0);
};
if (w.show() === 1) {
return input.text;
} else {
throw "User cancelled input.";
}
}

