Patent ID: 7389474

Claim:
At a computer system having an operating system and one or more codepage-based application programs running on the operating system, the computer system configured to uses an active codepage, selected from among a plurality of different codepages accessible to the computer system, to render application program text to the operating system, the active codepage representing an actual system locale for the computer system and a default mapping for converting application program text to a unified data format compatible with the operating system, a computer-implemented method for using an non-active code page to simulate a different system locale for application program text that can not be compatibly converted to the unified data format using the default mapping of the active codepage, the method comprising: an application program issuing a function call that directs communication, including application program text, to the operating system, the application program text in a codepage-based data format designed for use with a non-active code page such that the application program text can not be compatibly converted to the unified data format using the default mapping of the active codepage, the non-active code page representing a different system locale than the actual system locale and including a mapping designed for compatibly converting application text from the codepage-based data format to the unified data format; a shim layer intercepting the issued function call directed to the operating system; the shim layer determining that the function call includes the application program text; the shim layer referring to a list of one or more application programs that are to have function calls redirected for converting corresponding application program text into the unified data format, application programs included in the list configured for use with non-active codepages; the shim layer determining the application program is included in the list of one or more application programs that are to have function calls redirected; the shim layer utilizing a tracking variable to identify the non-active codepage designed for use with the application program, from among the plurality of accessible codepages, in response to the function call including the application program text and in response to the application program being included in the list of application programs that are to have function calls redirected; the shim layer accessing the identified non-active code page; the shim layer utilizing the identified non-active code page to convert the included application program text from the codepage-based data format to the unified data format; and the shim layer forwarding the function call, including the converted application program text, to the operating system such that it appears to the operating system that the application program uses the unified data format for application program text.