Unicode and Keyboards on Windows

Slides:



Advertisements
Similar presentations
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Advertisements

Delta Confidential 1 5/29 – 6/6, 2001 SAP R/3 V4.6c PP Module Order Change Management(OCM)
You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
Writing and Editing Tools Lesson 6. Objectives 1. Use AutoComplete, AutoCorrect, AutoText, and smart tags. 2. Check spelling and grammar. 3. Use the Thesaurus.
Web Center Certification Sitemap / Formatting Content Web Center Certification Training Intuit Financial Services University.
Datamax/MCL Off-Line License Activation Method
Supplementary Character Support in Microsoft Products
Unicode and Collation Support in Microsoft SQL Server
Advanced Piloting Cruise Plot.
Chapter 6 Structures and Classes. Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 6-2 Learning Objectives Structures Structure types Structures.
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
XP New Perspectives on Microsoft Office Word 2003 Tutorial 6 1 Microsoft Office Word 2003 Tutorial 6 – Creating Form Letters and Mailing Labels.
XP New Perspectives on Microsoft Office Word 2003 Tutorial 2 1 Microsoft Office Word 2003 Tutorial 2 – Editing and Formatting a Document.
XP New Perspectives on Microsoft Office Word 2003 Tutorial 7 1 Microsoft Office Word 2003 Tutorial 7 – Collaborating With Others and Creating Web Pages.
Office 2003 Post-Advanced Concepts and Techniques M i c r o s o f t Excel PivotTable List Feature Creating a PivotTable List Web Page Using Excel.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
Introduction to HTML, XHTML, and CSS
My Alphabet Book abcdefghijklm nopqrstuvwxyz.
Multiplying binomials You will have 20 seconds to answer each of the following multiplication problems. If you get hung up, go to the next problem when.
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
SUBTRACTING INTEGERS 1. CHANGE THE SUBTRACTION SIGN TO ADDITION
Addition Facts
Year 6 mental test 5 second questions
Around the World AdditionSubtraction MultiplicationDivision AdditionSubtraction MultiplicationDivision.
ZMQS ZMQS
Excel Functions. Part 1. Introduction 2 An Excel function is a formula or a procedure that is performed in the Visual Basic environment, outside the.
Richmond House, Liverpool (1) 26 th January 2004.
BT Wholesale October Creating your own telephone network WHOLESALE CALLS LINE ASSOCIATED.
ABC Technology Project
South Dakota Library Network ALEPH v20 Tables © South Dakota Library Network, 2012 ©Ex Libris (USA), 2009 Modified for SDLN Version Last Update:
1 Web-Enabled Decision Support Systems Access Introduction: Touring Access Prof. Name Position (123) University Name.
Microsoft Access.
XP New Perspectives on Introducing Microsoft Office 2003 Tutorial 1 1 Using Common Features of Microsoft Office 2003 Tutorial 1.
Microsoft Word By: Phuong Nguyen.
© Charles van Marrewijk, An Introduction to Geographical Economics Brakman, Garretsen, and Van Marrewijk.
© Charles van Marrewijk, An Introduction to Geographical Economics Brakman, Garretsen, and Van Marrewijk.
© Charles van Marrewijk, An Introduction to Geographical Economics Brakman, Garretsen, and Van Marrewijk.
VOORBLAD.
1 Breadth First Search s s Undiscovered Discovered Finished Queue: s Top of queue 2 1 Shortest path from s.
Squares and Square Root WALK. Solve each problem REVIEW:
Chapter 1 Introduction to Visual Basic Programming and Applications 1 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta.
© 2012 National Heart Foundation of Australia. Slide 2.
Install Window XP. Begin the Installation 1. Insert the Windows XP CD and restart your computer. 2. If prompted to start from the CD, press SPACEBAR.
Chapter 5 Test Review Sections 5-1 through 5-4.
SIMOCODE-DP Software.
GG Consulting, LLC I-SUITE. Source: TEA SHARS Frequently asked questions 2.
Skills for Success with Microsoft® Office 2010
Unicode and Windows XP Cathy Wissink Program Manager Globalization Infrastructure, Design and Development Windows International Microsoft.
Formatting and Editing Skills
Macromedia Dreamweaver MX 2004 – Design Professional Dreamweaver GETTING STARTED WITH.
How creating a course on the e-lastic platform 1.
Addition 1’s to 20.
25 seconds left…...
1 Atlantic Annual Viewing Trends Adults 35-54, Total TV, By Daypart Average Minute Audience (000) Average Weekly Reach (%) Average Weekly Hours Viewed.
Week 1.
We will resume in: 25 Minutes.
A SMALL TRUTH TO MAKE LIFE 100%
PSSA Preparation.
How Cells Obtain Energy from Food
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 14: Protection.
Copyright © 2009 by SDL Tridion. SDL Tridion®, SDL Tridion R5™, BluePrinting™, SiteEdit™ and WebForms™ are trademarks of SDL Tridion Holding B.V. or its.
A Power Tools Treasury: great tools that many folks haven't yet met (or don't know well enough) Presented by Mark Minasi 1 WSV350.
Sorting it all out: An introduction to collation Cathy Wissink Michael Kaplan Globalization Infrastructure and Font Technology Windows International Microsoft.
Presentation transcript:

Unicode and Keyboards on Windows 25 March 2003 Unicode and Keyboards on Windows Michael Kaplan Cathy Wissink Globalization Infrastructure and Font Technology Windows International Microsoft 23rd Internationalization and Unicode Conference

Who is this talk geared towards? This is a high-level introduction to keyboards on Windows, assuming no prior knowledge. Audience: Developers new to concept People who need to understand keyboards enough to understand how applications can work with them Not completely intended to be a “nuts and bolts” talk 25 March 2003 Prague, Czech Republic (IUC23)

Keyboards are simple, right? Fonts Rendering engines 135 different locales on Windows Custom keyboard layouts Turns out they are not so simple! 25 March 2003 Prague, Czech Republic (IUC23)

Keyboard Layout, defined A collection of data for each keystroke and shift state combination with a particular keyboard driver (DLL) In other words, it is not the keyboard hardware but the software that connects the hardware to the system 25 March 2003 Prague, Czech Republic (IUC23)

Prague, Czech Republic (IUC23) Anatomy of a keystroke User presses a key Key contains a scan code Keyboard layout DLL maps the scan code to a virtual key (VK) OS sends the VK to the application If asked, the DLL maps the VK/shift state to characters (if they are assigned) 25 March 2003 Prague, Czech Republic (IUC23)

Prague, Czech Republic (IUC23) 25 March 2003 Prague, Czech Republic (IUC23)

Prague, Czech Republic (IUC23) Language features single character keystrokes ligatures dead keys shift states SGCap Caps lock key 25 March 2003 Prague, Czech Republic (IUC23)

Prague, Czech Republic (IUC23) Ligatures For keyboard layouts, not the same as the typographic/linguistic term A combination of 2 to 4 UTF-16 code points inserted by a single keystroke 25 March 2003 Prague, Czech Republic (IUC23)

Examples of ligatures on keyboard Tamil keyboard in the shifted state, showing linguistic characters Sri, Ksa, and others as ligatures 25 March 2003 Prague, Czech Republic (IUC23)

Prague, Czech Republic (IUC23) Dead keys A combination of two keystrokes to insert a single character Used often in European languages for diacritics Called “dead” since the first keystroke does not appear to do anything Not intuitive to people who are not used to them 25 March 2003 Prague, Czech Republic (IUC23)

Dead key example: Diaeresis on the Finnish keyboard Input keys Type ¨ (deadkey) Type ¨ + a Type ¨ + A Type ¨ + o Type ¨ + O ... Type ¨ + <space> Result Nothing ä Ä ö Ö ... ¨ (spacing diaeresis) 25 March 2003 Prague, Czech Republic (IUC23)

Prague, Czech Republic (IUC23) Shift states Only 47-48 physical keys to work with on the keyboard Shift states expand that number by many times For languages with casing, usually they are cased variants of each other More shift states available (AltGr, Ctrl) 25 March 2003 Prague, Czech Republic (IUC23)

The Greek Keyboard, shifted and unshifted 25 March 2003 Prague, Czech Republic (IUC23)

Prague, Czech Republic (IUC23) Caps lock Usually intended to be a persistent Shift keypress (in other words, it acts like a typewriter caps lock) Generally used to get at shift state without having to press two keys concurrently Often used with cased languages May do nothing in languages without case, or be used for other purposes 25 March 2003 Prague, Czech Republic (IUC23)

Prague, Czech Republic (IUC23) SGCap Advanced usage of the Caps Lock key Used by Swiss German, Czech, and Hebrew keyboards Adds two additional shift states Only intuitive to people who understand the mechanism 25 March 2003 Prague, Czech Republic (IUC23)

Prague, Czech Republic (IUC23) APIs keybd_event MapVirtualKey[Ex] OemKeyScan SendInput ToAscii[Ex] ToUnicode[Ex] VkKeyScan[Ex] The APIs allow developers to do the same mappings the OS does when moving between scan codes, VKs, and characters. 25 March 2003 Prague, Czech Republic (IUC23)

Factors in keyboard layout creation National/regional standard? What languages need to be supported? Is the set of characters needed for the language complete? Focus on code points and not glyphs? Do all required characters exist in Unicode? Consistent use of features such as dead keys, ligatures, etc.? 25 March 2003 Prague, Czech Republic (IUC23)

Prague, Czech Republic (IUC23) Where do IMEs fit in? For most languages, they don’t! For CJK languages, even 47 keys X 8 shift states is not enough Different mechanisms and APIs are used for IME interaction More information can be found in the Platform SDK (http://msdn.microsoft.com/platformsdk) 25 March 2003 Prague, Czech Republic (IUC23)

Prague, Czech Republic (IUC23) FAQs about keyboards Does Microsoft make these layouts up? How do I add every glyph for my language? Don’t I need an IME? How do I replace the layout for my language if I do not like the one provided? How do I add my own keyboard layout? 25 March 2003 Prague, Czech Republic (IUC23)

MSKLC Microsoft Keyboard Layout Creator Create new keyboard layouts: Brand new layouts Modified from existing keyboards Deploy the created keyboard layout to NT4, Win2000, WinXP, or Win Server 2003 machines Save the definition of the keyboard for later development 25 March 2003 Prague, Czech Republic (IUC23)

Prague, Czech Republic (IUC23) MSKLC demos 25 March 2003 Prague, Czech Republic (IUC23)

Prague, Czech Republic (IUC23) Other References This tutorial's corresponding paper Windows Keyboard Layouts http://www.microsoft.com/globaldev/reference/keyboards.aspx Nadine Kano, Developing International Software (out of print, but still available on the web) http://microsoft.com/globaldev/dis_v1/disv1.asp New! Developing International Software , 2nd edition http://microsoft.com/globaldev/dis_v2/disv2.asp Internationalization with Visual Basic http://i18nWithVB.com/ Get on the MSKLC Beta! 25 March 2003 Prague, Czech Republic (IUC23)

Prague, Czech Republic (IUC23) Questions? 25 March 2003 Prague, Czech Republic (IUC23)

Don't forget to fill out your evaluations! Unicode and Keyboards on Windows 25 March 2003 Prague, Czech Republic (IUC23)