
Within this key, each codepage number has an entry which references a file relative to WindowsSystem. The particular file for a codepage is referenced via the registry at key: HKEY_LOCAL_MACHINESystemCurrentControlSetcontrolNlsCodepage The names of these files are usually of the form WindowsSystemcp_ s where nnnn is the codepage number, in decimal. Windows 95 also holds one file for each codepage.

Windows 95 has a single locale file, s, which holds all the locale information for every language. Finally we take a quick peek into the fog trying to guess what the future might hold. We start by examining how we might expect it all to work, and then look at the problems of this and resulting realities. The rest of this document is a discussion of how all this is implemented in Windows 95 and associated products. Each encoding, or codepage, is given a 16-bit number identifying it. upper to lowercase mapping, identifying numbers) and to give default and language specific sorting information. In Windows 95 and Windows NT all locale information is stored in Unicode.Ĭodepage - Each different encoding in a system needs to have information describing how to map to and from Unicode, to describe the semantics of each character (e.g. It contains no information on how data is stored or sorted in any scripts of the language. dates, monetary values, month names, in the language. A locale specifies how to represent certain information, e.g. Locale - Each language has a locale identified by the language ID. Spanish (Traditional Sort) = 0x040a and Spanish (Modern Sort) = 0x0c0a. For example, US English = 0x0409, whilst UK English = 0x0809. For this reason, the language ID is broken into two parts: a 10-bit primary language ID and a 6-bit sub-language ID. Amongst other things, a particular language has one sort order associated.

Language ID - A Language ID is a 16-bit number used to identify a particular language. Whilst it aims to support every language, as we shall see, care should be taken in assuming that something which supports Unicode will necessarily support your language. Its primary purpose is for data interchange, just like ASCII. Unicode - Unicode is a 16-bit character set. Here we introduce some of the basic concepts used in the rest of this discussion. How appropriate are such tools and approaches in Windows 95 which has better support for multilingual computing? Introductionįor those people requiring the availability of different scripts on their computers, a number of tools and approaches are available for Windows 3.1. It looks at Languages, Codepages, Locales, Unicode and Fonts with particular reference to their support in Windows 95.Īn alternative title for this document might be: “How to add a new script to Windows 95 and fail”.

This document examines how Windows 95 handles multi-lingual computing.
