odl, ODL - On-demand font loading
On-demand font loading (ODL) is a mechanism through which a terminal or a printer can download the relevant bitmap font information for a user-defined character (UDC) at the time this character has to be displayed or printed by the device. A number of Digital's local language terminals (such as the VT382 series) and printers support ODL for languages like Japanese, Chinese, and Korean, which include user-defined characters.
ODL can be implemented either through hardware or software. In the hardware implementation of ODL, the terminal or printer sends a font loading request to the host computer whenever the device encounters a UDC whose font information is not present in the device. The host computer then completes the transaction by sending to the device a font loading sequence that encodes the bitmap shape of the character. This font information stays in the device until the font information buffer is full or the power is switched off.
In the software implementation of ODL (SoftODL), the sending of the font loading request from the device is disabled and it is the host computer that keeps track of which font information has been sent to the device. When the host computer encounters a new UDC or an old one whose font information must be flushed because the font information buffer is full, the host computer sends a font loading sequence to the device before sending the UDC character code in the data to be displayed or printed.
The SoftODL mechanism is supported only by the Asian tty driver, atty, and the odld daemon through the utx driver (see atty(7), odld(8), and utx(7)).Users run the cedit utility (see cedit(1)) to create and edit user-defined characters in a UDC database. The cgen command is used to create from the UDC database an ODL database that is used by the SoftODL mechanism.
The SoftODL mechanism can be tuned by setting the following parameters: The ODL buffer replacement strategy
Refer to the stty(1) reference page for information on setting both these parameters and using other flags related to ODL.
In general, ODL implemented in the hardware is more accurate in terms
of fetching a UDC font only when needed. However, the overhead of sending
font loading requests from device to host makes hardware ODL slower than software
ODL. SoftODL is faster and more flexible, but it has the following limitations:
Some local language devices have to have the hardware On-Demand
Loading flag disabled before the devices can be used with the SoftODL mechanism.
When a UDC is keyed in for some of the VT382 series of local
language terminals, the character is also displayed on the 26th compose line
of the terminal screen. This capability depends on having the character's
font loaded in the device. When SoftODL is being used and a UDC is entered
for the first time into the terminal after power-up, the correct font of that
character does not be display on the compose line. Instead, a reversed wide
question mark is displayed. However, the UDC will be displayed correctly on
other parts of the screen.
If SoftODL is enabled for a terminal session and the terminal
is accidentally powered off, users must issue the following command immediately
after turning on the power:
This command flushes the internal tty cache to avoid a mismatch
between the font cache of the tty and that of the terminal.
When a terminal is connected by a terminal server to several
sessions, only one of those sessions should have ODL (software or hardware)
enabled. If more than one session has ODL enabled, you may have to issue one
of the following commands to avoid problems:
This command flushes the internal tty cache when you return
to the terminal session where SoftODL is being used.
This command instructs the tty driver to use SoftODL for all
the user-defined characters. However, this option also prevents caching and
slows the display of UDCs tremendously.
When users change session while SoftODL is enabled, their
terminals may hang due to an incomplete escape sequence. This condition can
be corrected by using the setup menu of the terminal and activating the "Reset
Terminal" soft key.
Changing the terminal line discipline while SoftODL is active
would cause all the SoftODL parameters stored in the tty driver to be reset
to their default values. So, SoftODL is automatically deactivated if the
line discipline is changed and must be restarted after the change.
Users must be careful when setting the
parameter of the
command. The optimal value for this
parameter is the size of the character font cache in the current terminal.
Users can set a value less than or equal to the hardware parameter, but must
never set a value larger than that. If the
is larger than the hardware parameter, the SoftODL mechanism cannot operate
Care must also be taken in setting the
parameter of the
command. This parameter must be set
to the same type as that of the terminal. A mismatch between the tty driver
and terminal settings can produce unexpected results.
If the ODL database is changed, the change may not be reflected
in any SoftODL terminal sessions that were activated prior to the change.
For the already active sessions to recognize any new UDC characters in the
ODL database, users have to stop and then restart the SoftODL mechanism by
command. This problem also exists for
Commands: cedit(1), cgen(1), stty(1), odld(8), utxd(8)
Files: atty(7), utx(7)