IBM Support

IBM i Access Client Solutions display of User Defined Characters

Troubleshooting


Problem

IBM i Access Client Solutions (ACS) due to it's reliance on an underlying Java Runtime Environment will by default see unexpected results when attempting to display User Defined Characters (UDC). This document discusses how the Java Runtime Environment's font configuration can be modified to allow the UDCs to be displayed.

Symptom

Unexpected characters are displayed with IBM i Access Client Solutions when UDCs would have been expected.

Cause

The underlying Java Runtime Environment handles the font/character processing differently then the Operating System does, causing a behavior difference.

Resolving The Problem

The Windows End User Defined Character (EUDC) support is used as a fallback, but only if a character cannot be found in the other fonts specified by the font configuration. The characters in the Unicode private use area typically come from the dingbats, symbol, or symbols character subsets. These are typically mapped to the following fonts: dingbats uses Wingdings, symbol uses Symbol, and symbols uses Segoe UI Symbol. Since the Windings, Symbol, and Segoe UI Symbol fonts typically exist on Windows, the characters are taken from there. In order to prevent this, exclusion ranges for the Unicode private use area (e000-f8ff) need to be added for the dingbats, symbol, and symbols character subsets.

The following information describes the Java font configuration files: https://docs.oracle.com/javase/8/docs/technotes/guides/intl/fontconfig.html.

In testing, the following changes allowed this to work on our Windows system with the some sample EUDC files installed.

1. Make sure IBM i ACS is not running
2. Go into the JAVA_HOME\lib directory (on the test system that was C:\Program Files\Java\jre1.8.0_121\lib)
3. Copy fontconfig.properties.src to the an easy to find location like Desktop as fontconfig.properties
4. Edit fontconfig.properties with a text editor
5. Add the following lines after the other exclusion.* lines and save the file (in the test environment file these lines were added at line number 249)

exclusion.dingbats=e000-f8ff
exclusion.symbol=e000-f8ff
exclusion.symbols=e000-f8ff

6. Copy the altered fontconfig.properties file to the JAVA_HOME\lib directory as fontconfig.properties
7. Start IBM i ACS

The expected EUDC characters should now display.

[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m3p000000PCRGAA4","label":"IBM i Access-\u003EAccess Client Solutions-\u003EEmulator"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"All Versions"}]

Document Information

More support for:
IBM i

Component:
IBM i Access->Access Client Solutions->Emulator

Software version:
All Versions

Operating system(s):
IBM i

Document number:
668009

Modified date:
20 November 2024

UID

nas8N1021938

Manage My Notification Subscriptions