Unicode and Windows XP Cathy Wissink Program Manager Globalization Infrastructure, Design and Development Windows International Microsoft
12 September Unicode and Windows XP, IUC 22 (San Jose) Agenda Brief Overview of Approach and History Brief Overview of Approach and History International Functionality on Windows International Functionality on Windows What’s Different in Windows XP? What’s Different in Windows XP? What’s Beyond Windows XP? What’s Beyond Windows XP? Conclusions and Resources Conclusions and Resources
Approach and History
12 September Unicode and Windows XP, IUC 22 (San Jose) Just what is “Windows” anyhow? Windows XP Windows 2000Windows ME Windows NT 4 Windows 95 Windows 98 Win NT 3.5, 3.1 “Win NT”“Win 9x”
12 September Unicode and Windows XP, IUC 22 (San Jose) Our Approach Include full Unicode support from onset Include full Unicode support from onset Leverage Uniscribe, OpenType, NLS Leverage Uniscribe, OpenType, NLS Migrate towards a single worldwide source (reached in Windows 2000) Migrate towards a single worldwide source (reached in Windows 2000) Develop and refine Multilingual User Interface functionality Develop and refine Multilingual User Interface functionality Continue to add new international functionality (Windows Text Services Framework, etc.) Continue to add new international functionality (Windows Text Services Framework, etc.)
12 September Unicode and Windows XP, IUC 22 (San Jose) Our History (or: Well, how did we get here?) Genesis of NT (1991): Go with Unicode! Genesis of NT (1991): Go with Unicode! NT 4.0 (1996): many Unicode components, but still strong code page dependency NT 4.0 (1996): many Unicode components, but still strong code page dependency NT 5.0, renamed Windows 2000 (2000): single worldwide source NT 5.0, renamed Windows 2000 (2000): single worldwide source Windows XP (2001): merge of the NT international functionality with the consumer experience of Windows 95/98/ME Windows XP (2001): merge of the NT international functionality with the consumer experience of Windows 95/98/ME
12 September Unicode and Windows XP, IUC 22 (San Jose) International Functionality NLS (National Language Support), including the locale model NLS (National Language Support), including the locale model Uniscribe (including OpenType) Uniscribe (including OpenType) Windows Text Services Framework Windows Text Services Framework MUI (Multilingual User Interface Pack for Windows) MUI (Multilingual User Interface Pack for Windows)
12 September Unicode and Windows XP, IUC 22 (San Jose) National Language Support NLS provides the information that supports culturally appropriate behavior: Sorting and casing Sorting and casing Formatting (dates, times, currency, numbers) Formatting (dates, times, currency, numbers) Conversions (normalization, character encodings) Conversions (normalization, character encodings) Other (calendars, native digits) Other (calendars, native digits)
12 September Unicode and Windows XP, IUC 22 (San Jose) National Language Support, cont. NLS data for a particular culture grouped into a locale (generally, a country + language combination). There were different types of “locales” on Windows 2000, which have been renamed for Windows XP (as seen in Regional Options)…
12 September Unicode and Windows XP, IUC 22 (San Jose) Locales Windows 2000 “User locale” (cultural conventions and data) “Input locale” (keyboards and IMEs) “System locale” (code page conversions) Windows XP “Standards and Formats” “Input Language and Method” “Language for non- Unicode Programs”
12 September Unicode and Windows XP, IUC 22 (San Jose) Uniscribe The technology used to handle the layout, rendering and editing of complex scripts
12 September Unicode and Windows XP, IUC 22 (San Jose) Examples of Complex Scripts
12 September Unicode and Windows XP, IUC 22 (San Jose) Some of the text issues handled by Uniscribe Word breaking (Thai) Word breaking (Thai) Bi-directional text (Hebrew, Arabic) Bi-directional text (Hebrew, Arabic) Multiple diacritics on a base character (Vietnamese) Multiple diacritics on a base character (Vietnamese) Contextual shaping (Indic, Arabic) Contextual shaping (Indic, Arabic) Illegal character combination filtering (Thai) Illegal character combination filtering (Thai)
12 September Unicode and Windows XP, IUC 22 (San Jose) Windows Text Services Framework New to Windows XP! New to Windows XP! Extends input methods to include natural language recognition (speech, handwriting) Extends input methods to include natural language recognition (speech, handwriting)
12 September Unicode and Windows XP, IUC 22 (San Jose) MUI Short for Multilingual User Interface Short for Multilingual User Interface MUI changes language of the system’s menus, dialogs and Help files into one of 33 different languages MUI changes language of the system’s menus, dialogs and Help files into one of 33 different languages Available as add-on pack for Windows XP Professional (Multilingual User Interface Pack) Available as add-on pack for Windows XP Professional (Multilingual User Interface Pack)
12 September Unicode and Windows XP, IUC 22 (San Jose) MUI, continued MUI built by copying resources from localized versions MUI built by copying resources from localized versions Testers check for same issues as for localized versions Testers check for same issues as for localized versions Resource loader checks user’s UI language setting to load the appropriate resources Resource loader checks user’s UI language setting to load the appropriate resources
12 September Unicode and Windows XP, IUC 22 (San Jose) MUI vs. other international functionality MUI MUI changes the user’s UI language changes the user’s UI language only available as an add-on pack to the English version of Windows XP only available as an add-on pack to the English version of Windows XP All other international functionality All other international functionality impacts language content and formatting impacts language content and formatting available on all versions of Windows XP available on all versions of Windows XP
What’s new for Windows XP (and Windows.NET Server)?
12 September Unicode and Windows XP, IUC 22 (San Jose) NLS 9 new locales + invariant locale; 136 locales total 9 new locales + invariant locale; 136 locales total Punjabi, Gujarati, Telugu, Kannada, Kyrgyz, Mongolian (Cyrillic), Galician, Divehi and Syriac Punjabi, Gujarati, Telugu, Kannada, Kyrgyz, Mongolian (Cyrillic), Galician, Divehi and Syriac Old Hangul sorting Old Hangul sorting GB18030 encoding GB18030 encoding New location (“Geo”) APIs New location (“Geo”) APIs Overhaul of Regional Options Overhaul of Regional Options
12 September Unicode and Windows XP, IUC 22 (San Jose) Regional Options
12 September Unicode and Windows XP, IUC 22 (San Jose) Uniscribe New script support New script support Gujarati, Gurmukhi, Kannada, Telugu, Divehi, and Syriac Gujarati, Gurmukhi, Kannada, Telugu, Divehi, and Syriac Improvements to resolution, layout and formatting made possible by GDI+ Improvements to resolution, layout and formatting made possible by GDI+ Default system installation of Uniscribe Default system installation of Uniscribe Improved font fallback support Improved font fallback support
12 September Unicode and Windows XP, IUC 22 (San Jose) MUI Closer parity to 100% localized builds: UI strings removed from registry and kernel UI strings removed from registry and kernel Improvements to Shell, Desktop and Console resource handling Improvements to Shell, Desktop and Console resource handling Help files enabled for UI language switching Help files enabled for UI language switching
12 September Unicode and Windows XP, IUC 22 (San Jose) MUI, beyond XP RTM Separate MUI pack for.NET Server Separate MUI pack for.NET Server Windows XP SP1 (US) can be installed on MUI machines Windows XP SP1 (US) can be installed on MUI machines Windows 2000 MUI languages now supported with Terminal Server Windows 2000 MUI languages now supported with Terminal Server (See Russ Rolfe’s talk later today on MUI!)
12 September Unicode and Windows XP, IUC 22 (San Jose) If you take away just one thing from this talk… As a result of pervasive Unicode support built into Windows XP, international functionality (except MUI) is available on all versions This includes: Localized versions Localized versions MUI version MUI version Base (English) version Base (English) version
What’s coming?
12 September Unicode and Windows XP, IUC 22 (San Jose) Looking to the future… MUI: Language Interface Packs (LIPs) MUI: Language Interface Packs (LIPs) New research for languages and cultures New research for languages and cultures Marry MUI and localization? Marry MUI and localization? Eventual goal: “English is just another language” Eventual goal: “English is just another language”
12 September Unicode and Windows XP, IUC 22 (San Jose) Resources Windows Global Development Website Windows Global Development Website (Global Dev Help) (Dr. International) Developing International Software, v.2 (available later this year) Developing International Software, v.2 (available later this year) Microsoft Typography Website (OpenType, Uniscribe) Microsoft Typography Website (OpenType, Uniscribe)