Accessing the International Resources
With system software version 7.0, three improvements have been made to the
caching of handles for the 'itl2' and 'itl4' resources.
• System and application caches are separate. The application cache is
system cache is initialized during system startup with handles to the
'itl2' and 'itl4' resources in the System file. When an application is
launched, the application cache is initialized from the system cache.
• Although any application can call the SetScript function to change the default ID for a particular script's 'itl2' or 'itl4' resource, this
alone no longer affects any cached handles. An application must call the
IUClearCache procedure in order for its cache to be reloaded. When the cache is reloaded, the current default IDs for each script are used.
Consequently, applications that provide their own 'itl2' and 'itl4'
resources do not affect the use of these resources in other applications,
nor do they affect system behavior that depends on these resources.
• To provide increased efficiency in a multiscript environment, each
cache has an entry for the 'itl2' and 'itl4' handles for every installed
script.
IUClearCache procedures allow you to obtain specific tables from the 'itl2' and 'itl4' resources and make it easier for you to supply your own 'itl2' and
'itl4' resources. The supported table codes for the IUGetItlTable procedure appear in International Utilities Package Data. The new routines
available with system software version 7.0 are identified by an asterisk (*).
IUGetIntl Given the type of international resource ('itl0', 'itl1', 'itl2', or 'itl4'), returns a handle to the correct
resource based on the current font script, the system
script, and the IntlForce flag
IUSetIntl Only sets fields in the obsolete 'INTL' 0 and 'INTL' 1 resources, which have been superseded by the 'itl0' and
'itl1' resources (It has been retained for backward
compatibility.)
IUClearCache* Clears the application cache containing the 'itl2' and 'itl4' handles, which is useful if applications want to
supply an 'itl2' or 'itl4' resource
IUGetItlTable* Given a script code and a table code, returns a handle to the 'itl2' or 'itl4' resource that contains the table, the
offset of the specified table from the beginning of the
resource, and the length of the resource