1.3k likes | 1.91k Views
Windows Language Support. Presenter: Erik Fortune MUI Development Manager Microsoft Corporation. Multilingual Matters!. Presentation Outline. Overview in Windows international settings Overview of language support in Windows Vista Deploying Windows Vista for multilingual scenarios
E N D
Windows Language Support Presenter: Erik Fortune MUI Development Manager Microsoft Corporation
Presentation Outline • Overview in Windows international settings • Overview of language support in Windows Vista • Deploying Windows Vista for multilingual scenarios • Developing Globalized Applications on Windows Vista • Developing Win32 MUI Applications • Q&A
Presentation Goals • Attendees should leave this session with: • Familiarity with Windows multilingual functionality and related settings • Familiarity with multilingual deployment options for Windows Vista • Familiarity with infrastructure and APIs provided in Windows Vista for developing globalized applications • Pointers to additional information and resources • Out of scope: general Windows programming concepts
Assumptions • Familiarity with the basic concepts of writing globalized applications. • Familiarity with Windows Win32 application development.
International Settings in Windows Vista • Control panels: • Regional and Language Options • Date and Time
International Settings in Windows Vista • Date and Time:
International Settings in Windows Vista • Regional and Language Options: • Format: defaults for • Number formatting • Currency format • Date formats • Time formats • Sorting • Other user experiences involving user cultural preferences
International Settings in Windows Vista • Regional and Language Options: • Format: defaults for • Number formatting • Currency format • Date formats • Time formats • Sorting • Other user experiences involving user cultural preferences
International Settings in Windows Vista • Regional and Language Options: • Format: customizable defaults
International Settings in Windows Vista • Regional and Language Options: • Format: customizable defaults
International Settings in Windows Vista • Regional and Language Options: • Location
International Settings in Windows Vista • Regional and Language Options: • Keyboards and Languages • Enable/disable languages forinput & editing documents • Select keyboard layouts or other input methods
International Settings in Windows Vista • Regional and Language Options: • Keyboards and Languages • Enable/disable languages forinput & editing documents • Select keyboard layouts or other input methods
International Settings in Windows Vista • Regional and Language Options: • Keyboards and Languages • Enable/disable languages forinput & editing documents • Select keyboard layouts or other input methods
International Settings in Windows Vista • Regional and Language Options: • Keyboards and Languages • Change language for Windowsuser interface • Not all SKUs
International Settings in Windows Vista • Regional and Language Options: • Administrative • Machine-wide settings • “System locale” • Code page used by legacy apps • Also impacts some font behaviours (font linking)
International Settings in Windows Vista • Regional and Language Options: • Administrative • Machine-wide settings • Copy to reserved accounts • Default settings for new users
International Settings in Windows Vista • Regional and Language Options: • Can apply settings from command line control intl.cpl,, /f:"settingsfile.xml" • http://www.microsoft.com/globaldev/vista/vista_tools/vista_command_line_international_configuration.mspx • <gs:GlobalizationServicesxmlns:gs="urn:longhornGlobalizationUnattend"> • <!--User List--> • <gs:UserList> • <gs:UserUserID="Current"/> • </gs:UserList> • <!--User Locale--> • <gs:UserLocale> • <gs:Locale Name="en-US" SetAsCurrent="true"/> • </gs:UserLocale> • </gs:GlobalizationServices>
Multilingual Support in Windows Vista • Various possible levels of language support • Text display • Editing: text display and input method(s) • Keyboard layout or IME • Locale • Formats, collation, calendar • Localization • Partial — Complete • Extended language functionality • Voice: text-to-speech, speech recognition • Handwriting recognition • Language detection • Word breaker, stemmer; proofing tools
Text-display enablement • Includes: • Complex-script shaping support (if needed) • Fonts (at least one) • Font fallback • Implemented in Win32 APIs/controls • ExtTextOut, DrawText, User/common controls, RichEdit May or may not get implemented: • Dictionary-based line breaking • Special vertical-layout behaviour • Other frameworks (e.g. GDI+, WPF)
Text-display enablement: scripts • Windows XP • Europe: Latin, Cyrillic, Greek • W. Asia: Arabic, Armenian, Georgian, Hebrew, Syriac • E. Asia: CJK (Simplified, Traditional, Kana, Hangul, CJK Extension B) • S.E. Asia: Thai • S. Asia: Devanagari, Gujarati, Gurmukhi, Kannada, Telugu, Tamil, Thaana • Surrogates
Text-display enablement: scripts • Windows XP SP2 • Europe: Latin, Cyrillic, Greek • W. Asia: Arabic, Armenian, Georgian, Hebrew, Syriac • E. Asia: CJK (Simplified, Traditional, Kana, Hangul, CJK Extension B) • S.E. Asia: Thai • S. Asia: Bengali, Devanagari, Gujarati, Gurmukhi, Kannada, Malayalam, Telugu, Tamil, Thaana • Surrogates
Text-display enablement: scripts • Windows XP • CJK, “complex” scripts not enabled in all SKUs by default
Text-display enablement: scripts • Windows Vista • Europe: Latin, Cyrillic, Greek • W. Asia: Arabic, Armenian, Georgian, Hebrew, Syriac • E. Asia: CJK (Simplified, Traditional, Kana, Hangul, CJK Extension B), Mongolian, Yi • S.E. Asia: Khmer, Lao, Thai • S. Asia: Bengali, Devanagari, Gujarati, Gurmukhi, Kannada, Malayalam, Oriya, Sinhala, Telugu, Tamil, Thaana, Tibetan • Americas: Cdn Aboriginal Syllabics, Cherokee • Africa: Ethiopic • Surrogates
Loa text with DokChampa Font Oriya text with Kalinga Font Khmer text with DaunPenh Font Sinhala text with IskoolaPota Font Text-display enablement: scripts
Text-display enablement: scripts • Windows Vista • Text display for all scripts always enabled (all editions / SKUs) • Note: some perf considerations
Text-display enablement: scripts • Other enhancements: • Enhanced font fallback for Extension B • MingLiU vs. MingLiU_HKSCS vs. Simsun • Uniscribe • OpenType APIs • Apply discretionary OpenType feature tags • Apply OpenType language-system tags • Performance Demo
Text-display enablement: fonts • Many new fonts • New fonts for newly-supported scripts • New “Aero”-theme UI fonts (ClearType hinting)
Text-display enablement: fonts • Many new fonts • New ClearType-hinted document fonts • Other new fonts
Text-display enablement: fonts • Additions to existing fonts: Unicode 5.0 updates
Text-display enablement: fonts • Overall
Text-display enablement: fonts Font smoothing: ClearType selected by default • Tuning: http://www.microsoft.com/typography/ClearTypeInfo.mspx
Text-display enablement • Other graphics frameworks • GDI+ • Small increase in script support: • New: Oriya; Arabic/Hebrew/Thai OpenType • Comparison with GDI: • Support for ClearType hinting • Support for TrueType-flavour OpenType fonts • Support for OpenType fonts with embedded bitmaps • No support for Type 1/CFF-OpenType, bitmap/vector .FON • Unsupported scripts: Mongolian, Sinhala, Tibetan
Text-display enablement • Other graphics frameworks (cont’d) • Windows Presentation Foundation (.Net 3.5) • New text stack (.Net 3.0): managed-code shaping engines • ClearType, sub-pixel glyph positioning • Comparison with GDI • GDI does not support sub-pixel positioning • Support for OpenType fonts (TrueType or CFF outlines) • No support for embedded bitmaps • No support for Type 1, bitmap/vector .FON • Unsupported scripts: Khmer, Old Hangul, Sinhala
Text-display enablement • Other graphics frameworks (cont’d) • Windows Presentation Foundation (.Net 3.5) • ClearType, sub-pixel glyph positioning
Text-display enablement • Summary • Support for scripts used by all major languages with broad market interest, and hundreds of lesser-known languages • Most significant gap in current coverage: Myanmar • Enablement and fonts for a large portion of Unicode 5.0 • Many characters not covered in Vista fonts will display in documents using 3rd-party fonts • Support for advanced typography • WPF, Win32 (low-level APIs)
Text Input • Types of input • Keyboard / IME • Speech • Speech recognition • Text-to-speech • Hand-writing recognition • Infrastructure • Text Services Framework
Text Input • New keyboard layouts (non-IME)
Text Input • IMEs • CJK IME enhancements • Addition character support • JIS 2004, Extension B • Improved UI, dictionaries, logic • New input modes • IME Pad available from all IMEs • Yi • Amharic
Text Input • Handwriting recognition
Text Input • Voice • Speech recognition • Text-to-speech • Installed with UI language pack
Locale Data • Locale: default cultural conventions (formats, etc.) • Language / writing system / region • 35 new Vista locales • 206 total locales
Locale Data • Calendars • New: Saudi Hijri (Um Al Qura) • Supported calendars: • Gregorian • Hebrew (lunar) • Hijri • Japanese Imperial Era • Korean Tangun Era • Taiwan • Thai • Um Al Qura (Saudi Hijri)
UI Localization • Translate user-interface (menus, dialogs, etc) & helps • Different levels of localization • Language Packs for 36 SKU languages • Full • Partial + base language • Language Interface Packs (LIPs) • Most common UI only
UI Localization • SKU-level localization • Windows XP: 25 Arabic Finnish Polish French Brazilian Portuguese Portuguese German Chinese – Simplified Russian Greek Chinese – Traditional Hebrew Chinese – Traditional (HK) Hungarian Italian Spanish Czech Japanese Swedish Korean Danish Dutch Turkish English Norwegian -- Bokmål
UI Localization • SKU-level localization • Windows Vista: 36 Arabic Finnish Polish French Brazilian Portuguese Portuguese Bulgarian Romanian German Chinese – Simplified Russian Greek Chinese – Traditional Serbian – Latin Hebrew Slovak Chinese – Traditional (HK) Hungarian Slovenian Croatian Italian Spanish Czech Japanese Swedish Korean Danish Thai Dutch Latvian Turkish Lithuanian English Ukrainian Norwegian -- Bokmål Estonian
UI Localization • SKU languages • Full, partial • Multilingual User Interface (MUI) • Ultimate / Enterprise edns • User-selected UI language • Single-image deployment for multiple languages