Chapter 5: Text Input, Output, and Display
On the surface, the input, output, and display of data is a simple process-the user enters data with a keyboard (or perhaps with a voice-recognition or handwriting-recognition engine), and the program displays that data using a selected font. This assessment of the process, however, assumes that each user is monolingual. What if a user tries to enter data in several different languages? In this case, the process becomes much more complicated. Different languages have different keyboard layouts, and the characters of each language might fall into different character sets that require separate fonts. How can Microsoft Windows-based applications juggle multiple keyboards, character sets, and fonts? With all these challenges in mind, Microsoft Windows 2000 and Microsoft Windows XP support standard mechanisms for multilingual data input, output, and display.
Creating an application that supports multilingual data in Windows 2000 and Windows XP involves several steps. The first step is to fully enable your code to use Unicode standards. (See Chapter 3, "Unicode." ) Doing so will allow you to encode all supported scripts in a uniform manner and to empower users and programmers to handle multilingual data. The second step is to make sure that your application is locale- and culture-aware by taking advantage of Windows globalization services (including National Language Support application programming interfaces [NLS APIs]) in traditional Microsoft Win32 coding and the Microsoft .NET Framework for managed code). These services will allow you to format locale- or culture-sensitive data according to user preference. (See Chapter 4, "Locale and Cultural Awareness." )
The next tasks when globalizing your application, all of which are discussed in this chapter, are to:
To begin, this chapter will examine the role that input languages and methods play in multilingual computing.