throbber
6.
`
`SW 1m Inside Macintosh, Volume VI
`Macinmsh, Warm"
`Hbmugb 1; mm
`MW about
`
`by Apple Computer, Inc.
`
`93:10:17.0
`
`
`
`
`
`
`uWflflI? *5
`mm In
`MI...” in:
`mm: I
`Want .1 ‘_
`
`
`
`ans-a.
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 1
`
`IPR2017-01828
`Ubisoft EX1002 Page 1
`
`

`

`
`
`
`
`Icon Name
`
`.
`
`.l
`
`Arabic
`
`Canada
`
`Cyrillic
`
`Cyrillic transliterated
`
`Denmark
`
`Faeroe Islands
`
`Germany
`
`Hebrew
`
`Japanese Katakana
`
`Japanese Romaji
`
`Korean
`
`Netherlands, period decimal separator (previously (’19)
`
`Netherlands, comma decimal separator
`
`Roman (U.S.)
`
`Spain
`
`Swiss French
`
`Swiss German
`
`Swiss Italian
`
`Turkey
`
`Turkish, U.S. modified
`
`United Kingdom (previously @)
`
`United States
`
`Color Plate 1. Examples of keyboard icons
`
`afloflfiolmitmitflmfiar
`
`HE
`
`+
`
`1“:.31um”
`
`L
`
`H-I
`
`*
`
`f
`
`:=
`
`E
`
`-
`
`*
`
`a I I
`
`flflflIOJI
`lllfl¥flfl
`
`
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 2
`
`IPR2017-01828
`Ubisoft EX1002 Page 2
`
`

`

` Color Plate II. A colorized window
`
`Border St
`
`In
`
`Color Plate IV. Design for black-and-white
`monitors first
`
`Color Plate V. Don’t mimic color effects
`in black-and-white designs
`
`
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 3
`
`IPR2017-01828
`Ubisoft EX1002 Page 3
`
`

`

`
`
`Color Plate VI. Use light colors
`for large areas
`
`Color Plate VII. Don’t use bright
`colors for large areas
`
`
`
`Color Plate IX. A consistent light source
`(enlarged for detail)
`
`Color Plate X. Inconsistent light sources
`(enlarged for detail)
`
`
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 4
`
`IPR2017-01828
`Ubisoft EX1002 Page 4
`
`

`

`Color Plate XI. An icon family
`
`
`
`Color Plate XII. Consistently designed
`small icons (enlarged for detail)
`
`Color Plate XIII. Inconsistently designed
`small icons (enlarged for detail)
`
`
`
`Color Plate XIV. Icons with a black outline
`
`Color Plate XV. Icons without a black
`
`(enlarged for detail)
`
`outline (enlarged for detail)
`
`
`
`
`
`
`
`Color Plate XVI. Apple icon colors (as marked)
`
`|PR2017-O1828
`
`Ubisoft EX1002 Page 5
`
`IPR2017-01828
`Ubisoft EX1002 Page 5
`
`

`

`Before anti-aliasing
`
`Correctly anti-aliased
`
`'—
`
`Color Plate XVII. Correct anti—aliasing (enlarged for detail)
`
`Before anti-aliasing
`
`Incorrectly anti-aliases!
`
`
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 6
`
`IPR2017-01828
`Ubisoft EX1002 Page 6
`
`

`

` D.
`
`IE;
`ICE
`[1.
`D.
`DD [JD [3% fl“ DE]
`
`
`
`Document
`
`Stationery
`
`Query document
`
`Edition
`
`Extension
`
`Color Plate XXI. Default system icon families
`
`II. I“ I;
`
`;: I.II. I. I“
`I. IIIII II II
`filly
`
`Control Panels
`folder
`
`Color
`
`Portable
`
`User Setup
`
`File Sharing
`
`Color Plate XXII. Examples of control panel icons
`
`
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 7
`
`IPR2017-01828
`Ubisoft EX1002 Page 7
`
`

`

`
`
`Color Plate XXIII. Copying with a pixel map as a mask
`
`
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 8
`
`IPR2017-01828
`Ubisoft EX1002 Page 8
`
`

`

`
`
`Color Plate XXIV. Colorizing
`
`”"9 IIIII
`
`I
`
`”EIIIIIIII-IIIIIII
`Ill-llllmgllllll
`III-lllll!l!llll
`llillu' mm a.
`.. Ll
`
`,-
`
`T
`
`,
`
`_
`
`f .1"-
`
`Color Plate XXV. Default color tables
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 9
`
`IPR2017-01828
`Ubisoft EX1002 Page 9
`
`

`

`Inside Macintosh”
`
`Volume VI
`
`A
`I"?
`
`Addison-Wesley Publishing Cnmpany.
`
`Inc.
`
`Reading Malssuchuactts Menm Park. CuJil'c-mia New York
`Dun Mills.On1nriu Wokinghanl. England Atllslcrdum
`Bonn
`Sydncy
`Singapore
`Tokyo Madrid
`Piififi
`Scuul Milan Mexico City
`'I'alipci
`
`San .qun
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 10
`
`IPR2017-01828
`Ubisoft EX1002 Page 10
`
`

`

`‘ APPLE COMPUTER, INC.
`
`This manual is copyrighted by Apple or by Apple’s sup liers, with all rights reserved. Under
`the copyri ht laws, this manual may not be copied, in w ole or in part, without the written
`consent 0 Apple Computer, Inc. T is exception does not allow copies to be made for others,
`whether or not sold, but all of the material purchased may be sold, given, or lent to another
`person. Under the law, copying includes translating into another language.
`
`The Apple logo is a registered trademark of Apple Computer, Inc. Use of the “keyboard”
`Apple logo (Option—Shift—K) for commercial pu oses without the prior written consent of
`Apple ma constitute trademark infringement an unfair competition in violation of federal
`an state aws.
`
`© Ap 1e Computer, Inc., 1991
`2052 Mariani Avenue
`Cupertino, CA 95014—6299
`(408) 996-1010
`
`A ple, the Apple logo, APDA, AppleLink, AppleShare, AppleTalk, Apple IIGS,
`X, Ether’l‘alk, HyperCard, HyperTalk, ImageWriter, LaserWriter, LocalTalk, Macintosh,
`MPW, MultiFinder, SANE, and TokenTalk are registered trademarks
`of Apple Computer, Inc.
`
`Apple Deskto Bus, Balloon Help, Finder, KanjiTalk, Moof, QuickDraw, ResEdit,
`TrueType, an Zhong—Wen Talk are trademarks of Apple Computer, Inc.
`
`Helvetica and Times are registered trademarks of Linotype Company.
`
`ITC Zapf Dingbats is a registered trademark of International Typeface Corporation.
`
`MacPaint is a registered trademark of Claris Corporation.
`NuBus is a trademark of Texas Instruments.
`
`PostScript is a registered trademark, and Illustrator is a trademark, of Adobe Systems
`Incorporated.
`
`Sony is a registered trademark of Sony Corporation.
`
`UNIX is a registered trademark of UNIX System Laboratories, Inc.
`
`Simultaneously published in the United States and Canada.
`
`ISBN 0-201—57755-0 (book)
`ISBN 0-201-57776-3 (boxed edition)
`1 2 3 4 5 6 7 8 9—MU—9594939291
`First printing April, 1991
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 11
`
`IPR2017-01828
`Ubisoft EX1002 Page 11
`
`

`

`Inside Macintosh
`
`Volume VI
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 12
`
`IPR2017-01828
`Ubisoft EX1002 Page 12
`
`

`

`LIMITED WARRANTY ON MEDIA AND REPLACEMENT
`
`ALL IMPLIED WARRANTIES ON THIS MANUAL, INCLUDING IMPLIED
`WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
`PURPOSE, ARE LIMITED IN DURATION TO NINETY {90) DAYS FROM THE
`DATE OF THE ORIGINAL RETAIL PURCHASE OF THIS PRODUCT.
`
`Even though Apple has reviewed this manual, APPLE MAKES NO WARRANTY OR
`REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO THIS
`MANUAL,
`ITS QUALITY, ACCURACY, MERCHANTABILITY, OR FITNESS FOR
`A PARTICULAR PURPOSE. AS A RESULT, THIS MANUAL IS SOLD “AS IS,”
`AND YOU, THE PURCHASER, ARE ASSUMING THE ENTIRE RISK AS TO ITS
`QUALITY AND ACCURACY.
`
`IN NO EVENT WILL APPLE BE LIABLE FOR DIRECT, INDIRECT, SPECIAL,
`INCIDENTAL, OR CONSEQUENTIAL DAMAGES RESULTING FROM ANY DEFECT
`OR INACCURACY IN THIS MANUAL, even if advised of the possibility of such damages.
`THE WARRANTY AND REMEDIES SET FORTH ABOVE ARE EXCLUSIVE AND
`IN LIEU OF ALL OTHERS, ORAL OR WRITTEN, EXPRESS OR IMPLIED. No Apple
`dealer, agent, or employee is authorized to make any modification, extension, or addition to this
`warranty.
`
`Some states do not allow the exclusion or limitation of implied warranties or liability for incidental or
`consequential damages, so the above limitation or exclusion may not apply to you. This warranty
`gives you specific legal rights, and you may also have other rights which vary from state to state.
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 13
`
`IPR2017-01828
`Ubisoft EX1002 Page 13
`
`

`

`0E
`
`‘—i..
`('D
`
`=.—in
`
`Contents
`
`xxix
`
`“'IU'U@009.)
`
`Figures, Tables, and Listings
`
`Preface
`About Inside Macintosh
`
`An Overview of the Chapters in Volume VI
`A Road Map to Volume VI
`
`HHHHlII
`
`I
`
`hwwfl—t—OOOOOOONOOUI-P-WNONON-Pw
`p—n—an—A—p—Ip—Ap—np—Ij—tj—j—lp—Ap—p—Ap—nj—j—lj— INNNNNNNbb—Ap—t—H—H—H—H—H—IHr—tr—t
`NNNNPNNNN
`IIIMLAwN—&®mommhmw
`b—tr—tb—lb—tb—tb—l
`
`[\JNNNNN
`
`Introduction to the System Software Version 7.0 Environment
`1
`About This Chapter
`About the System Software Version 7.0 Environment
`The Cooperative Multitasking Environment
`Interapplication Communication
`Sharing Data Among Applications
`Sending Events Between Applications
`Exchanging Message Blocks Between Programs
`Remote Data Access
`Enhanced User Interface
`Sound
`
`TrueType Fonts
`Graphics
`File Management
`Memory Management
`Temporary Memory
`24-Bit and 32-Bit Addressing
`Process Management
`Timing Services
`Compatibility
`Worldwide Development
`Communication Over a Network
`Hardware Interfaces
`
`Overview of Chapters in This Volume
`
`2 User Interface Guidelines
`About This Chapter
`User Interface Design Principles
`Worldwide Software Development
`Cultural Values
`Resources
`
`~
`
`Language Differences
`Text Display and Text Editing
`Default Alignment of Interface Elements
`Keyboards
`Fonts
`User Documentation
`
`Terminology
`The Version 7.0 Environment
`User Feedback
`
`Background Notification
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 14
`
`
`
`IPR2017-01828
`Ubisoft EX1002 Page 14
`
`

`

`Inside Macintosh, Volume VI
`
`IIIIlI
`
`NNNNNNNNNNNNNNPN[\JNNNNNNNNNNNNN
`DOWQJLALQJLALQLAJLAWLQLANNNNN[\JNNNNNr—ti—II—Ar—Ii—‘r—I\IONOO‘x-h-PMNNNfloooomhfiwwNNHO©©mmO©
`""wwawwwwwNOKOOGUIMWUJNI—IOONQNCNGUIW
`UJWUJWWLIAJLIJWWUJWWNM—‘I—‘I—lI—‘F—‘I—ll—‘I—‘I—lr—l
`
`Color Design for Version 7.0
`General Color Design Guidelines
`The Icon Family
`Black-and-White Icons
`Small Icons
`Color Icons
`Consistent Use of Icons
`Customized Icons
`Windows
`Window Positions
`The Zoom Box and Window Behavior
`
`Dialog Boxes
`Modal Dialog Box Behaviors
`Movable Modal Dialog Boxes
`Keyboard Navigation in Dialog Boxes
`Button Labels
`
`Dialog Box Layout
`Dialog Box Messages
`Standard File Dialog Boxes
`Save Changes Dialog Box
`Menus
`File Menu
`Edit Menu
`Font Menu
`
`Help Menu
`Keyboard Equivalents
`Pop-Up Menus
`Standard Pop-Up Menus
`Type—In Pop-Up Menus
`More User Interface Information
`
`3 Compatibility Guidelines
`About This Chapter
`About Compatibility
`Using Memory Wisely
`Using Assembly Language
`Accessing Hardware
`Using Low—Memory Global Variables
`Determining Whether a Trap Is Available
`Running in System Software Version 7.0
`Allowing Multiple Applications
`Supporting Required Apple Events
`Removing Font Size Restrictions
`Operating With Virtual Memory
`Enabling Menus During a Modal Dialog
`Coexisting With the System Menus
`Creating Movable Modal Dialog Boxes
`Creating Pop-Up Menus
`Manipulating Dialog Item Lists
`Counting Items in a Dialog Item List
`Appending Items to a Dialog Item List
`Shortening a Dialog Item List
`
`vi
`
`Contents
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 15
`
`IPR2017-01828
`Ubisoft EX1002 Page 15
`
`

`

`U)WMMWMMWWMWWUJLDWWWWWWWWWWM
`
`IIIIIIIAhAIII
`A#AA&AA#A
`A-b-b-b-b-b-b-b-b-b-b-b-b
`IIIIIIIIIII
`
`IlIIIIIIIIIIIIIIIIImum/1Abbhhhbhhwmwmmwwwwwwww(J14;AOOQOONUIUIANb—IUIL’JNOOOOQOUI-bmwk)
`wwmmNNNNNNNNHHHHHA-PUJN—‘Ofl-PNl—‘kaw
`N_F—O\]LIIUl'—OOOLI1LI‘I
`
`##A-PL»
`
`Localizing Macintosh Programs
`General Guidelines
`Localizing With the Toolbox
`Running Macintosh Programs Under A/UX
`How the AMX Toolbox Works
`
`Using the A/UX Toolbox
`A/UX Compatibility Guidelines
`About the Gestalt Manager
`Using the Gestalt Manager
`Determining Features of the Operating Environment
`Determining Whether Gestalt Is Available
`Interpreting Gestalt Responses
`Interpreting Responses to Environmental Selectors
`Interpreting Responses to Informational Selectors
`Adding Gestalt Selectors
`Modifying Gestalt Selectors
`Specifying Gestalt Selector Functions
`Gestalt Manager Routines
`Getting Information About the Operating Environment
`Adding Selector Codes
`Modifying Selector Codes
`Summary of the Gestalt Manager
`Summary of the Window Manager
`Summary of the Control Manager
`Summary of the Dialog Manager
`
`4 The Edition Manager
`About This Chapter
`About the Edition Manager
`Publishers, Subscribers, and Editions
`Using the Edition Manager
`Receiving Apple Events From the Edition Manager
`Creating the Section Record and Alias Record
`Saving a Document Containing Sections
`Opening and Closing a Document Containing Sections
`Reading and Writing a Section
`Formats in an Edition
`
`Opening an Edition
`Format Marks
`
`Reading and Writing Edition Data
`Closing an Edition
`Creating a Publisher
`Creating the Edition Container
`Opening an Edition Container to Write Data
`Creating a Subscriber
`Opening an Edition Container to Read Data
`Choosing Which Edition Format to Read
`Using Publisher and Subscriber Options
`Publishing a New Edition While Saving or Manually
`Subscribing to an Edition Automatically or Manually
`Canceling Sections Within Documents
`Locating a Publisher Through a Subscriber
`
`Contents
`
`0A
`:—-a-r
`fl:
`
`3I»(I:
`
`Contents
`
`vii
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 16
`
`IPR2017-01828
`Ubisoft EX1002 Page 16
`
`

`

`Inside Macintosh, Volume VI
`
`mmmmmmhmphhppO\O\J\IUINNr-‘O\O\D\OOGUl-bNNNCOOOOQLIJUJ
`AhAAhb§hh#bh&A
`thhhhhhghpphhhph00\l\l\]\l\]O\O‘O\O\O\O\O\O\UILIIJi£II
`""'MLALIIMLAM’—‘III
`LIIUI’JILIIMUIQIIIUILAKIIUILIIUI
`INNN._.,_.,_.,_i_H_H_,_.—.
`
`WNt—COOOOfl-bUJNNOOOOOUIM
`
`t—‘OOOOON—
`
`II50-)
`
`Renaming a Document Containing Sections
`Displaying Publisher and Subscriber Borders
`Text Borders
`
`Spreadsheet Borders
`Object-Oriented Graphics Borders
`Bitmapped Graphics Borders
`Duplicating Publishers and Subscribers
`Modifying a Subscriber
`Relocating an Edition
`Customizing Dialog Boxes
`Subscribing to Non-Edition Files
`Getting the Current Edition Opener
`Setting an Edition Opener
`Calling an Edition Opener Procedure
`Opening and Closing Editions
`Listing Files That Can Be Subscribed To
`Reading From and Writing to Files
`Calling a Format I/O Procedure
`Edition Manager Routines
`Initializing the Edition Manager
`Creating and Registering a Section
`Creating and Deleting an Edition Container
`Setting and Locating 21 Format Mark
`Reading in Edition Data
`Writing out Edition Data
`Closing an Edition After Reading or Writing
`Displaying Dialog Boxes
`Locating a Publisher and Edition From a Subscriber
`Edition Container Formats
`
`Reading and Writing Non-Edition Files
`Summary of the Edition Manager
`
`5 The Event Manager
`About This Chapter
`About the Event Manager
`Introduction to Events
`Low—Level Events
`
`Operating-System Events
`High—Level Events
`Event Processing
`The Event Loop
`Event Masks
`
`Switching Contexts
`Specifying Memory Requirements and Scheduling Options
`The Structure of a 'SIZE’ Resource
`
`Creating a ‘SIZE' Resource
`Using the Event Manager
`Receiving Low—Level Events
`Responding to Operating-System Events
`Receiving High-Level Events
`Identifying High—Level Event Senders and Receivers
`Sending High-Level Events
`
`l}iii
`
`Contents
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 17
`
`IPR2017-01828
`Ubisoft EX1002 Page 17
`
`

`

`
`
`LIILIIUILIILIIUIUIUIUI
`
`WWWWNNNNNWNHOOOOOQO‘x
`000000
`
`##4k-bwmmmwmmeNN—HHUI-RH>—‘O\l0-I>UJ\D\IUI-I>>-OOO\IM4>NOOONOMWMOOOO0MKDAOO00UIJ>W
`
`II|IIIlIIIIIIIII99999o00©00©00a00oqqqqqqoooommmmmmee
`
`00000000000000000
`
`6‘}3.—v-Jn
`
`H:
`
`:1u->In
`
`Contents
`
`Requesting Return Receipts
`Responding to Events From Other Applications
`Searching for a Specific Hi gh-Level Event
`Event Manager Routines
`Receiving Events
`Sending Events
`Receiving a Specific Hi gh-Level Event
`Converting Process Serial Numbers and Port Names
`Summary of the Event Manager
`
`6 The Apple Event Manager
`About This Chapter
`About the Apple Event Manager
`Introduction to Apple Events
`Types of Apple Events
`Components of Apple Events
`Data Structures Within Apple Events
`Responding to Apple Events
`Requesting Services Through Apple Events
`Using the Apple Event Manager
`Accepting an Apple Event
`Installing Entries Into the Apple Event Dispatch Tables
`Handling the Required Apple Events
`Required Apple Events
`Handling the Open Application Event
`Handling the Open Documents Event
`Handling the Print Documents Event
`Handling the Quit Application Event
`Handling Apple Events Sent by the Edition Manager
`Handling the Create Publisher Event
`Getting Data out of an Apple Event
`Getting Data out of a Parameter
`Getting Data out of an Attribute
`Getting Data out of a Descriptor List
`Writing Apple Event Handlers
`Replying to an Apple Event
`Disposing of Apple Event Data Structures
`Interacting With the User
`Creating an Apple Event
`Adding Parameters to an Apple Event
`Specifying a Target Address
`Sending an Apple Event
`Dealing With Timeouts
`Writing an Idle Function
`Writing a Reply Filter Function
`Writing and Installing Coercion Handlers
`The Application Died Event
`Apple Event Manager Routines
`Creating and Managing the Apple Event Dispatch Tables
`Dispatching Apple Events
`Getting Parameters and Attributes From Apple Events
`Counting the Items in Descriptor Lists
`
`Contents
`
`ix
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 18
`
`IPR2017-01828
`Ubisoft EX1002 Page 18
`
`

`

`Inside Macintosh, Volume VI
`
`wocommkmmmmmqmwwoomthwwom
`O\O\O\O\O\O\CIJ\O\O\O\O\O\O\O\b00
`
`6-99
`6-100
`6-101
`6- 103
`6- 105
`
`|lllllllll\]\]\]\]\]III
`IlI|I|IIImumthbwwwwbwwwwwNNNN——-\]G\U~>\OUINHOOQGMbWNNOOO-bWNOOON-k[\J\DO\-I>-I>UJ\]\]\I\I\I\I\I\I\]\]\I\ll\]\l\]\l\l\l\l\l\]\l\l\]\l
`
`
`
`Getting Items From Descriptor Lists
`Getting Data and Keyword-Specified Descriptor Records From AE Records
`Requesting User Interaction
`Requesting More Time to Respond to Apple Events
`Suspending and Resumin g Apple Event Handling
`Creating Apple Events
`Creating and Duplicating Descriptor Records
`Creating Descriptor Lists and AE Records
`Adding Items to Descriptor Lists
`Adding Data and Keyword-Specified Descriptor Records to AE Records
`Adding Parameters and Attributes to Apple Events
`Sending Apple Events
`Getting the Sizes and Descriptor Types of Descriptor Records
`Deleting Descriptor Records
`Deallocating Memory for Descriptor Records
`Coercing Descriptor Types
`Creating and Managing the Coercion Handler Tables
`Creating and Managing the Special Handler Tables
`Summary of the Apple Event Manager
`
`7 The Program-to-Program Communications Toolbox
`About This Chapter
`About the PPC Toolbox
`
`Ports, Sessions, and Message Blocks
`Setting Up Authenticated Sessions
`Using the PPC Toolbox
`PPC Toolbox Calling Conventions
`Specifying Port Names and Location Names
`Opening a Port
`Browsing for Ports Using the Program Linking Dialog Box
`Obtaining a List of Available Ports
`Preparing for a Session
`Initiating a PPC Session
`Receiving Session Requests
`Accepting or Rejecting Session Requests
`Exchanging Data During a PPC Session
`Reading Data From an Application
`Sending Data to an Application
`Ending a Session and Closing a Port
`Invalidating Users
`PPC Toolbox Routines
`
`The PPC Toolbox Parameter Block and Completion Routine
`Initializing the PPC Toolbox
`Using the Program Linking Dialog Box
`Obtaining a List of Ports
`Opening and Closing a Port
`Starting and Ending a Session
`Receiving, Accepting, and Rejecting a Session
`Reading and Writing Data
`Locating a Default User and Invalidating a User
`Summary of the PPC Toolbox
`
`x
`
`Contents
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 19
`
`IPR2017-01828
`Ubisoft EX1002 Page 19
`
`

`

`’7C
`:5._
`
`:,_.v
`
`OI
`
`Contents
`
`8 The Data Access Manager
`About This Chapter
`About the Data Access Manager
`The High-Level Interface
`Sending a Query Through the High-Level Interface
`Retrieving Data Through the High—Level Interface
`The Low—Level Interface
`
`Sending a Query Through the Low-Level Interface
`Retrieving Data Through the Low—Level Interface
`Comparison of the High-Level and Low-Level Interfaces
`Using the Data Access Manager
`Executing Routines Asynchronously
`General Guidelines for the User Interface
`
`Keep the User in Control
`Provide Feedback to the User
`
`Using the High—Level Interface
`Writing a Status Routine for High-Level Functions
`Using the Low—Level Interface
`Getting Information About Sessions in Progress
`Processing Query Results
`Getting Query Results
`Converting Query Results to Text
`Creating a Query Document
`User Interface Guidelines for Query Documents
`Contents of a Query Document
`Query Records and Query Resources
`Query Records
`Query Resources
`Writing a Query Definition Function
`Data Access Manager Routines
`Asynchronous Execution of Routines
`Initializing the Data Access Manager
`High—Level Interface
`Handling Query Documents
`Handling Query Results
`Low—Level Interface
`
`Controlling the Session
`Sending and Executing Queries
`Retrieving Results
`Installing and Removing Result Handlers
`Summary of the Data Access Manager
`
`9 The Finder Interface
`About This Chapter
`About the Finder Interface
`Finder-Related Resources
`
`Creators, File Types, and the Signature Resource
`Icon Resources
`File Reference Resources
`The Bundle Resource
`The Size Resource
`
`Contents
`
`xi
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 20
`
`lllllll\loU‘l-bw
`
`##NNflw-§-§WO\\DNt—>—W—IOO\D\O\DOO
`\ILIIWOQGJ>NN'—OO\IC\
`'\O\O\O\O\O
`tor—sOO-bVDOUILAUJ
`
`'OOOOOOOOOOOOOOOCOO
`wwwmmmmwmmmmmmIIlIIIIIII|lIIIII|I||IlI
`##Jk-b-b-h-PWWWWN—t—r—t—t—r—n—
`OOOOOOOOOOOOOOOOOOOOOOOODOOCOOOOOC
`
`\O\O\D
`
`IPR2017-01828
`Ubisoft EX1002 Page 20
`
`

`

`Inside Macintosh, Volume VI
`
`06600000000\O\IO\O\O\C\D\O\C\D\O\C\O\D\O\O
`
`@mmmmgpggppgwmwwwwwmwwww[\JNv—-oo\]4>-\OOOC\U14>NO\OO\J>LMN\O\COO\IO\O\4>LAO
`
`Messages When the Finder Can’t Find Your Application
`Version Resources
`
`How and When the Finder Launches Your Application
`Finder—Related Changes to the User Interface
`Stationery Pads
`Edition Icons
`Customized Icons
`Aliases
`
`Resolving Alias Files
`Desk Accessories
`Fonts, Sounds, and Other Movable Resources
`Balloon Help for Icons
`Finder Information in the Volume Catalog
`The System Folder and Its Related Directories
`Folder Organization
`Finding Directories
`The Desktop Database
`History of the Desktop Database
`Using the Desktop Database
`Desktop Manager Routines
`Locating and Opening the Desktop Database
`Reading the Desktop Database
`Adding to the Desktop Database
`Deleting Entries From the Desktop Database
`Manipulating the Desktop Database Itself
`Summary of the Finder Interface
`
`1 0 Control Panels
`About This Chapter
`About Control Panels
`
`Writing Control Panel Files
`About the Monitors Control Panel
`
`Designing an Extension for the Monitors Control Panel
`The 'card' Resource
`The 'mntr' Resource
`The Monitor Function
`
`Messages to the Monitor Function
`The 'RECT‘ Resource
`The 'DITL‘ Resource
`The 'ICON' and 'cicn' Resources
`The 'Vers' Resources
`The 'STR#' Resource
`
`The 'gama' Resources
`The FREE, ‘BNDL', Icon Family, and Signature Resources
`The 'INIT' Resource
`
`A Sample of an Extension to the Monitors Control Panel
`Including Another Control Panel Definition in a Monitors Extension File
`Summary of the Extension File for the Monitors Control Panel
`
`xii
`
`Contents
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 21
`
`IPR2017-01828
`Ubisoft EX1002 Page 21
`
`

`

`
`
`
`Contents r‘:C
`
`=H
`('D
`=_.
`I]:
`
`
`
`11—3
`11-4
`11—5
`11—10
`11-14
`11—14
`11-15
`11-16
`11-16
`11-17
`11-17
`11—17
`11—17
`11—18
`11—21
`11—33
`ll-4l
`11—42
`11-49
`11-56
`11-58
`11—61
`11—64
`11—65
`11—65
`11-66
`11—66
`11—67
`11-69
`11-71
`11—72
`11-73
`11-74
`11-75
`11—78
`11-79
`11—83
`
`12-3
`12-3
`12-3
`12-6
`12—8
`12-10
`12-14
`12—15
`12—16
`12-16
`12-17
`
`1 1 The Help Manager
`About This Chapter
`About the Help Manager
`Help Balloon Display
`Default Help Balloons for Menus, Windows, and Icons
`Using the Help Manager
`Providing Text or Pictures for Help Balloons
`Defining the Help Balloon Content
`Using Clear, Concise Phrases
`Using Active Constructions
`Using Parallel Structure
`Using Consistent Terminology
`Defining the Help Balloon Position
`Specifying the Format for Help Balloon Content
`Specifying Options in Help Resources
`Providing Help Balloons for Menus
`Providing Help Balloons for Items in Dialog Boxes and Alert Boxes
`Providing Help Balloons for Window Content
`Help Balloons in Static Windows
`Help Balloons in Dynamic Windows
`Overriding Help Balloons for Application Icons
`Oveniding Other Default Help Balloons
`Adding Your Own Menu Items to the Help Menu
`Writing Your Own Balloon Definition Function
`Help Manager Routines
`Determining Whether Help Is Enabled
`Determining Whether a Help Balloon Is Showing
`Displaying and Removing Help Balloons
`Displaying a Help Balloon
`Using Your Own Menu Definition Procedure
`Removing a Help Balloon
`Using Your Own Tip Function
`Adding Items to the Help Menu
`Getting and Setting the Font Name and Size
`Getting and Setting Information for Help Resources
`Getting the Dimensions of a Help Balloon
`Getting the Content of a Help Balloon
`Summary of the Help Manager
`
`1 2 The Font Manager
`About This Chapter
`About the Font Manager
`Font Terminology
`Font Measurements
`
`Font Scaling
`How the Font Manager Renders TrueType Fonts
`Using the Font Manager
`Adding Font Sizes and Names to the Menu
`Storing a Font Name in a Document
`Using TrueType Fonts in Preference to Bitmapped Fonts
`Preserving the Glyph’s Shape
`
`Contents
`
`xiii
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 22
`
`IPR2017-01828
`Ubisoft EX1002 Page 22
`
`

`

`Inside Macintosh, Volume V]
`
`12-18
`12-18
`12-19
`12-21
`12—22
`
`Font Manager Routines
`Choosing TrueType Fonts Over Bitmapped Fonts
`Scaling Fonts
`Erasing the Font Manager’s Memory Caches
`Summary of the Font Manager
`
`1 3 The Resource Manager
`3 About This Chapter
`3 Resources
`
`3
`—6
`7
`
`Resource Types
`Resource IDs
`Definition Procedures
`
`Font Families and Scripts
`7
`13-10 Resources in the System File
`13—10
`System Icons
`13-11
`Document and Application Icons
`13-12
`Folder Icons
`
`1 3— 12
`13-13
`13- 14
`1 3- 15
`
`System Folder Icons
`Desktop Icons
`Standard File Package Icons
`User Information Resources
`
`Packages
`13-15
`Function Key Resources
`13— 1 6
`13-16 Using the Resource Manager
`13—16
`Using Partial Resources
`13-18
`Creating and Opening Resource Files
`13—18
`Storing Fonts in a Resource Fork
`13- 18 Resource Manager Routines
`13-19
`Creating Resource Files
`13—20
`Opening Resource Files
`13-21
`Reading and Writing Partial Resources
`13-24
`Summary of the Resource Manager
`
`1 4 Worldwide Software Overview
`14-5 About This Chapter
`14-6 About Worldwide Software
`
`14-7
`14—7
`14-8
`14-8
`14- 10
`14— 10
`14-12
`
`14-12
`14— 1 2
`14-13
`
`14- 1 3
`14—13
`
`14-13
`14—14
`14-15
`
`The Graphic Representation of Languages
`Localized Versions of the Macintosh System Software
`Multiple Script Systems and Multiple Languages on the Macintosh Computer
`Identifying Scripts, Languages, and Regions
`About the Script Management System
`About the Script Manager
`Local and Global Variables
`
`Style Runs and Higher-Level Text Organization
`Tokens
`Date Conversion
`
`Geographic Information
`Number Conversion
`
`About the International Utilities Package
`About the International and Keyboard Resources
`About the Macintosh Script Systems
`
`xiv
`
`Contents
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 23
`
`IPR2017-01828
`Ubisoft EX1002 Page 23
`
`

`

`Contents
`
`”I3
`:5F.
`
`C_a.->m
`
`14-16
`14-19
`14—19
`14-20
`14—21
`14-21
`14—23
`14-25
`14-25
`14—26
`14-26
`14—27
`14—27
`14-27
`14—27
`14—28
`14—28
`14-28
`14-28
`14-29
`14—29
`14-30
`14-30
`14-31
`14-32
`14-32
`14-33
`14—33
`14—33
`14-34
`14—34
`14-35
`14—35
`14—35
`14—36
`14—36
`14-36
`14-37
`14-37
`14-37
`14—39
`14-39
`14-40
`14-40
`[4-41
`14-43
`14-43
`14-44
`14-45
`14-45
`14-45
`14—46
`
`The Script Management System and Related Worldwide Components
`Worldwide Control Panels and Desk Accessory
`Installing and Removing Script Systems, Keyboards, and Fonts
`Using the Keyboard Menu
`Selecting Keyboard Layouts
`Distinguishing Scripts
`Keyboards
`Fonts
`Localization
`
`Sorting
`Primary or Secondary Order
`Expansion
`Contraction
`
`Ignorable Characters
`Exceptional Words
`Formats
`Date and Time
`
`Currency and Measurement
`Calendars
`Numbers
`
`An Introduction to Scripts
`Character Representation
`Text Direction
`Contextual Forms
`Diacritical Marks
`
`Uppercase and Lowercase Characters
`Character Reordering
`Word Demarcation
`
`Alignment and Justification of Text
`Representing Scripts on the Macintosh
`Character Set Encoding
`Character Input
`Composition Rules
`Text Manipulation
`Text Rendering
`Using the Script Manager
`Determining the Features of the Script Manager
`Initializing the Script Manager
`Creating Simple Script Systems
`Calling the Script Manager
`Overview of the Script Manager Routines
`Checking and Modifying Global and Local Variables
`Accepting Implicit Script Codes
`Verbs for GetScript and SetScript
`Verbs for GetEnvirons and SetEnvirons
`
`Checking and Setting System Variables
`Setting the Active Keyboard Script
`Obtaining Script Information
`Obtaining Character Information
`Manipulating Text
`Drawing and Editing Text
`Formatting Text
`
`Contents
`
`J: v
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 24
`
`
`
`IPR2017-01828
`Ubisoft EX1002 Page 24
`
`

`

`Inside Macintosh, Volume VI
`
`1447
`14-47
`14-47
`14-48
`14-48
`14-48
`14-48
`14-48
`14-49
`14-49
`14-49
`14-49
`14-50
`14-50
`14-51
`14-55
`14-58
`14-59
`14—60
`l4-61
`14-62
`14-64
`14-65
`14—68
`14-71
`14-72
`14-72
`14-73
`14-73
`14-74
`14-74
`14-75
`14-75
`14-76
`14-77
`14-78
`14-79
`14-80
`14-81
`14-82
`14-85
`14—86
`14-87
`14-90
`14-91
`14-92
`14-95
`14-96
`14-98
`14-98
`14-99
`14-100
`14-100
`14-101
`
`Modifying Text
`Substituting Text
`Truncating Text
`Lexieally Interpreting Different Scripts
`Date and Time Utilities
`Converting Worldwide Dates and Times
`Converting Long Dates
`Modifying and Verifying Date and Time Records
`Reading and Storing Locations
`Number Utilities
`Converting to and From Canonical Number Formats
`Working With Formatted Numbers
`Script Manager Routines
`Localizing Word Selection and Line Break Tables
`Defining Word Boundaries and Line Breaks
`Determining Word Selection: An Example
`Optimized Word Break Tables
`Truncating Text
`Substituting Text
`Substituting and Truncating Text
`Converting Case and Stripping Diacritical Marks
`Handling Justified Text
`Providing for Spacing Between Multiple Style Runs
`Justifying Text on the Roman Script System
`Using the International Utilities Package Routines
`Overview of the International Utilities Package Routines
`Comparing Strings
`Modifying the Standard String Comparison
`Facilitating Interscript Sorting Order
`Accessing the International Resources
`Localizing Dates, Times, and Metric Information
`International Utilities Package Routines
`Script and Language Codes
`Manipulating the 'it12' and 'itl4' Resources
`Specifying Resource Handles Explicitly
`Determining Interscript Sorting Order
`Using the International and Keyboard Resources
`Enhancements to International Resources
`The ‘itlc' Resource
`The ‘itlm‘ Resource
`The ‘itlb‘ Resource
`The 'ith' Resource
`The 'itll' Resource
`The ‘it12' Resource
`The 'it12' Resource Header
`The 'itl4' Resource
`
`Keyboard Types and Modifier Bits
`The 'KCHR’ Resource
`The ’kcs#',
`'kcs4', and 'kcs8' Resources
`The 'KSWP‘ Resource
`The 'itlk' Resource
`
`Key Caps and the 'KCAP’ Resource
`Dead—Key Feedback
`The 'KCAP‘ Resource
`
`xvi
`
`Contents
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 25
`
`IPR2017-01828
`Ubisoft EX1002 Page 25
`
`

`

`Contents
`
`’5c
`:1._.
`(I:
`
`:_.ff.
`
`14—102 Localizing to Other Languages and Regions
`14-102
`Using Resources
`14-102
`Text and Dialog Translation Tips
`14-103
`Adapting Text Operations
`14-104
`Using Fonts
`14-104
`Avoiding Special Character Codes as Delimiters
`14—104
`Using the Standard Roman Character Set
`14-105
`Adapting Keyboard Equivalents
`14—107
`Modifying the Representation of Dates, Times, and Numbers
`14—107 Writing Software for Other Scripts
`1 4-107
`Working With Fonts
`14-108
`Working With Character Codes
`14— 109
`Working With Text Direction
`14-109
`Synchronizing Keyboards and Fonts
`14- 109
`Handling Numbers
`14—1 10
`Identifying Keywords and Tokens
`14-1 10
`Possible Printing Problems
`14-1 11
`Summary of the Script Manager
`14—133
`Summary of the International Utilities Package
`14-138
`Summary of the International Resources
`
`1 5 TextEdit
`15-3 About This Chapter
`15—3 About TextEdit
`l 5 -4 Mixed—Directional Text
`
`15-6
`15-8
`15-9
`15—1 1
`
`Highlighting
`Mouse—Down Regions
`Dual Carets
`Carct Movement Across Direction Boundaries
`
`Font and Keyboard Synchronization
`15—11
`15-13 Double-Byte Characters
`15-14 Vertical Movement of the Carct
`
`15-14 Arrow Key Actions for Selected Text
`15-14 Caret Position at Line Ends
`15-15 Word Selection and Line Breaks
`15 — l 6 Accurate Line Measurement
`
`15-17 TextEdit and TrueType Fonts
`15—17 Using TextEdit
`15—17
`Detemiining the Version of TextEdit
`15—1 8
`Customizing TextEdit’s Features
`15—19
`Measuring the Width of Components of a Line
`15— l 9
`Defining Word Boundaries
`15-19
`Controlling Outline Highlighting, Text Buffering, and lnline Input
`15-19
`Setting Left Alignment for Right-to-Left Directional Scripts
`15—20
`Using WordRedraw for Line Calculations
`15-20
`Using the lineStarts Array to Determine Line Length
`15-21
`Using TextEdit’s Default Click Procedure
`15—21
`TextEdit Routines
`
`15-22
`15-23
`15-23
`15-24
`
`Outline Highlighting, Text Buffering, and Inline Input
`Outline Highlighting
`Text Buffering
`lnline Input
`
`Contents
`
`xvii
`
`|PR2017-01828
`
`Ubisoft EX1002 Page 26
`
`
`
`
`
`IPR2017-01828
`Ubisoft EX1002 Page 26
`
`

`

`Inside Macintosh, Volume V]
`
`Customizing TextEdit
`15—25
`Replacing the End-of-Line Routine
`15-26
`Replacing the Measuring Routines
`15—26
`Replacing the Drawing Routine
`15-28
`Replacing the Hit Test Routine
`15-29
`Replacing the Word Breaking Routine
`15-29
`Backspacing to the Beginning of a Style
`15-31
`Determining the Position of an Ambiguous Offset
`15-31
`Toggling a Style
`15-32
`Determining Styles Across a Selection
`15—34
`Setting Styles in TextEdit’s Scrap Record
`15-36
`Determining the Number of Styles
`15—36
`15-37 TextEdit Data Structures
`
`15-40
`
`Summary of TextEdit
`
`1 6 Graphics Overview
`16 3 About This Chapter
`16 3 About Macintosh Graphics
`16-6 The Components of Macintosh Graphics
`16 6
`QuickDraW
`16 6
`The Interface
`16-8
`The Video Card and Screen
`
`16-9 The Major Data Structures
`16—9
`The RGB Color Record
`16-1
`Color Collections
`
`The Pixel Map Record
`16—11
`Port Characteristics: The Color GrafPort Record
`16-12
`Device Characteristics: The Graphics Device Record
`16— 13
`16- 15 Graphics Initialization
`16-16 The Graphics Path
`16-16
`How Indexed Pixels Work
`16—18
`How Direct Pixels Work
`16—18 Determining the QuickDraw Version
`16-19 What Else to Read
`
`16—20
`
`Summary of Graphics Data Types
`
`1 7 Color QuickDraw
`17-3 About This Chapter
`17—3 About Color QuickDraW
`17-4 Direct Pixels
`
`17-4
`17-6
`
`Pixel Map Record Extens

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket