- Any change in system wide properties, that are related to Java. Example: ADDENVVAR ENVVAR('xxxx') LEVEL(*SYS).
- Any use of custom made JAVA System.properties files.
- Any addition/changes/removal of files in folder(and subfolders) to QOpenSys\QIBM\* Examples: Changes to the file "java.security" -- Addition/Removal of JAR-files or other files.
- If a problem can be traced back to the existence of such a modification - A fee to find and correct the change may be charged.
/QOpenSys/QIBM/ProdData/JavaVM/jdk17/64bit
Oracle are removing fonts from the Linux based OpenJDK line of javas (including on the IBM i platform), so you have to install or link to fonts in order for Java to "fall back" to original OS fonts.
If you do not set this up InterFormNG2 might stop with the error message:
In the designer the error looks like this:
and you might see this error when you try to preview the result as a PDF:
The issue is described here:
Ref. https://docs.oracle.com/en/java/javase/17/intl/font-configuration-files.html
There are (at least) two ways to solve this:
The best and right way to solve this is to install the fontconfig in Java 17. In order to do that you first need to activate Open source support on IBM i. This is covered on this IBM i link:
https://www.ibm.com/support/pages/getting-started-open-source-package-management-ibm-i-acs
Afterwards you can install fontconfig e.g. from a 5250 emulation if you select Actions and then SSH Terminal:
That starts an SSH Terminal session, where you first sign on and then run the command: /QOpenSys/pkgs/bin/yum install fontconfig
Then you will see something like below, where you need to confirm the install with 'y':
A successful installation looks like this:
Another temporary solution/workaround is to copy the Java 8 fonts and make them available for Java 17. This is only temporary as the fonts are cached and this cache will run out at some point. When the cache runs out you will see the error: 'No physical fonts found' again and a restart of the IFORMNG2 subsystem is required to regain the fonts. The experience is, that the cache last one or two days.
You can do that with this command:
CPY OBJ('/QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit/jre/lib/fonts') \ TODIR('/QOpenSys/QIBM/ProdData/JavaVM/jdk17/64bit/lib') \ SUBTREE(*ALL)
After running this command you will need to restart the IFORMNG2 subsystem to activate this change.
Before you consider to run InterFormNG2 on the IBM i you should verify, if your IBM i is fast enough in order to get a proper performance, when you run InterFormNG2.
In order to do a speed test you should do this:
IBM I Queue Monitor . . . . . . . . . . > *INACTIVE
NG2-Server (Output generator) . . . . . > *INACTIVE
CommandLine to NG2 . . . . . . . . . . > *ACTIVE
QIBM_QSH_CMD_OUTPUT - *JOB . . . . . . .> *STDOUT
***************** Test completed total time = 3830 ms *******************
*********** Reff time CPU Intel i7-6700HQ 2500 ms ( Old PC) *************
****** Reff time CPU POWER8 (Share <25%) 4000 ms ( Old IBM I ) **********
*************************************************************************
As of January 13, 2025, we are excited to announce that our new Help Center is in the final stages of development. While the Knowledge Base is already accessible, our current JIRA system will continue to manage support tickets during this transition period. For assistance with InterForm Output Management Software, please refer to the Support for InterForm Output Management Software.
We appreciate your patience and understanding as we work to enhance your support experience. If you have any questions or encounter any issues, please do not hesitate to reach out via the existing support channels.
Best regards,
The InterForm Support Team