The following code snippets (adjusted to account for the API change in the second snippet) demonstrate a change of behavior between versions 19.1 and 19.2+ of Aspose Words for Java when converting DOCX to PDF. The behavior is the same in OS X and in Debian. In each case the same document is used and the only difference in our application is the version bump of Aspose Words for Java (and the necessary changes to use the new API).
// Version 19.1 (Works as expected; "Amplitude" substituted for "AmplitudeTF")
com.aspose.words.FontSettings settings = new com.aspose.words.FontSettings();
settings.setFontSubstitutes("Amplitude", "AmplitudeTF");
// Version 19.2+ (Fails; substitution rule is ignored and "Times New Roman" is used instead)
com.aspose.words.FontSettings settings = new com.aspose.words.FontSettings();
FontSubstitutionSettings subSettings = settings.getSubstitutionSettings();
subSettings.getTableSubstitution().setSubstitutes("Amplitude", "AmplitudeTF");
// Response of 19.1
Font substitutes: 'Amplitude' replaced with 'AmplitudeTF'.
// Response of 19.2+
Font 'Amplitude' has not been found. Using 'Times New Roman' font instead. Reason: alternative name from document.
As best I can tell this is the correct “port” of the older API (19.1 and earlier) to the new one (19.2+). If we are using your API correctly the regression in font behavior is annoying and erodes confidence in your product.