IDS 2021 (16.x Windows) Locks up when loading indd file with missing font in paragraph style
InDesign Server 2021 Windows Edition (16.x)
We had several indd files that had a Paragraph Style listing a font that was not actually used anywhere in the document (no text in the file was using that font.). In other words, the Style said it used "font a", but there was never ANY text actually using "font a" in the file. "Font A" is a non-system font that was installed on the desktop. If you load the indd file in InDesign Desktop, no errors occur, and Preflight says there are no errors, as expected.
If you remove the file from the desktop, and then open the indd file in InDesign desktop, you still get no errors and no preflight errors, even though the font is defined in the Paragraph style.
If you then use COM to control InDesign Server (windows edition), and tell it to load the indd file. InDesign Server will lock up. No errors are shown on the console or event log, IDS just LOCKS UP..
If you package the indd project and tell it to include document fonts, it will not include the font defined in the Paragraph style unless text using that font is actually in the document.
I don't think InDesign Server should LOCK UP in this circumstance.
We had this happen with some 60+ indd files, and it took a lot of trial & error to determine what actually CAUSED the lockup.
1) Use InDesign Desktop to create an InDesign document.
2) Define a Paragraph style using a font that is NOT installed on the InDesign Server.
3) Define a text frame using that Paragraph style. Do not actually put ANY text in the frame.
4) Save the InDesign document.
5) Use COM to bind to an instance of InDesign server APPLICATION object (called "app" in this example.
6) Use the APPLICATION instance to open the indd file in OpenCopy mode ((InDesignServer.Document)app.Open(<filename>, InDesignServer.idOpenOptions.idOpenCopy)
InDesign server will never come back. It locks up.
If you edit the indd file and change the Paragraph style to be a font that is actually installed on IDS, then the open returns an instance of the DOCUMENT COM object as expected.