`
`= I
`
`nside Macintosh, Volume VI
`by Apple Computer,Inc.
`
`Supplemenis Inside
`Macintosh, Volumes
`| through V, with
`information about
`system software
`version 7.0
`
`
`
`IPR2017-01828
`Ubisoft EX1002 Page 1
`
`IPR2017-01828
`Ubisoft EX1002 Page 1
`
`
`
`
`
`
`
`Icon Name
`
`cFHeDREseothninhw.*ear
`
`
`ieeseor*TRun**
`aoHo¢ll
`li£&@ aye=ERSe
`
`Arabic
`
`Canada
`
`Cyrillic
`
`Cyrillic transliterated
`
`Denmark
`
`Faeroe Islands
`
`Germany
`
`Hebrew
`
`Japanese Katakana
`Japanese Romaji
`
`Korean
`
`Netherlands, period decimal separator (previously (At)
`
`Netherlands, comma decimal separator
`
`Roman (U.S.)
`
`Spain
`
`Swiss French
`
`Swiss German
`
`Swiss Italian
`
`Turkey
`
`Turkish, U.S. modified
`
`United Kingdom (previously GE)
`
`United States
`
`Color Plate I. Examples of keyboard icons
`
`|
`
`|
`
`1+}
`
`+
`
`
`
`IPR2017-01828
`Ubisoft EX1002 Page 2
`
`IPR2017-01828
`Ubisoft EX1002 Page 2
`
`
`
` Color Plate II. A colorized window
`
`Border Style
`
`Color PlateIV. Design for black-and-white
`monitorsfirst
`
`
`
`Color Plate V. Don’t mimic color effects
`in black-and-white designs
`
`IPR2017-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)
`
`IPR2017-01828
`Ubisoft EX1002 Page 4
`
`IPR2017-01828
`Ubisoft EX1002 Page 4
`
`
`
`Color Plate XII. Consistently designed
`small icons (enlarged for detail)
`
`Color Plate XIII. Inconsistently designed
`small icons (enlarged for detail)
`
`Color Plate XV. Icons without a black
`outline (enlarged for detail)
`
`Color Plate XIV. Icons with a black outline
`(enlarged for detail)
`
`
`
`
`
`
`Color Plate XVI. Apple icon colors (as marked)
`
`IPR2017-01828
`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-aliased
`
`IPR2017-01828
`Ubisoft EX1002 Page 6
`
`IPR2017-01828
`Ubisoft EX1002 Page 6
`
`
`
` ol
`
`a Le
`a ah
`aL ald a Le
`nL]
`a LJ olb »wB& off
`
`
`
`Document
`
`Stationery
`
`Query document
`
`Edition
`
`Extension
`
`Color Plate XXI. Default system icon families
`
`
`
`Control Panels
`folder
`
`Color
`
`Portable
`
`User Setup
`
`File Sharing
`
`
`
`Color Plate XXII. Examples of control panel icons
`
`IPR2017-01828
`Ubisoft EX1002 Page 7
`
`IPR2017-01828
`Ubisoft EX1002 Page 7
`
`
`
`
`
`
`
`Color Plate XXIII. Copying with a pixel map as a mask
`
`IPR2017-01828
`Ubisoft EX1002 Page 8
`
`IPR2017-01828
`Ubisoft EX1002 Page 8
`
`
`
`Color Plate XXIV. Colorizing
`
`is || E}
`
`
`|| | | | || |_| i
`
`sbis |]|[|||See
`TT|TLiea
`oe|TTTTTt
`
`Color Plate XXV. Default color tables
`
`IPR2017-01828
`Ubisoft EX1002 Page 9
`
`IPR2017-01828
`Ubisoft EX1002 Page 9
`
`
`
`Inside Macintosh.
`Volume VI
`
`é
`FT
`Addison-Wesley Publishing Company,
`
`Inc.
`
`Sew York
`Reading. Mussachusetts Menlo Park, Califormia
`Ben Mills. Ontana=Wokinghac. Englund|Armsterdiam
`Bonn Sydney=Singapore=Tokyo=Madrid
`
`Paris
`Seoul Milan MeaicaCity
`Taiper
`San Juan
`
`IPR2017-01828
`Ubisoft EX1002 Page 10
`
`IPR2017-01828
`Ubisoft EX1002 Page 10
`
`
`
`@ APPLE COMPUTER,INC.
`This manual is copyrighted by Apple or by Apple’ssuppliers, with all rights reserved. Under
`the copyright laws, this manual may.not be copied, in whole orin part, without the written
`consent of Apple Computer, Inc. This exception does not allow copies to be madefor others,
`whetheror not sold, but all of the material purchased may besold, given, or lent to another
`person. Under the law, copying includestranslating into another language.
`The Apple logois a registered trademark of Apple Computer,Inc. Use of the “keyboard”
`‘Apple logo (Option-Shift-K) for commercial purposes.without the prior written consentof
`a state laws.
`pple may constitute trademark infringement and unfair competition in violation of federal
`© Apple Computer, Inc., 1991
`20525 Mariani Avenue
`Cupertino, CA 95014-6299
`(408) 996-1010
`
`ane the Apple logo, APDA, ApplieLink, AppleShare, AppleTalk, Apple IIGs,
`X, Etherlalk, HyperCard, HyperTaik, ImageWriter, LaserWriter, LocalTalk, Macintosh,
`MPW,MultiFinder, SANE, and TokenTalk are registered trademarks
`of Apple Computer, Inc.
`Apple Desktoop Bus, Balloon Help, Finder, KanjiTalk, Moof, QuickDraw, ResEdit,
`TrueType, and Zhong-WenTalk are trademarks of Apple Computer,Inc.
`Helvetica and Timesare registered trademarks of Linotype Company.
`ITC ZaptDingbatsis a registered trademark of International Typeface Corporation.
`MacPaintis 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.
`Sonyis 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)
`12345678 9-MU-9594939291
`First printing April, 1991
`
`IPR2017-01828
`Ubisoft EX1002 Page 11
`
`IPR2017-01828
`Ubisoft EX1002 Page 11
`
`
`
`Inside Macintosh
`Volume VI
`
`IPR2017-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, IFS 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.
`
`Somestates do not allow the exclusion or limitation of implied warranties or liability for incidental or
`consequential damages, so the above limitation or exclusion maynot apply to you. This warranty
`gives you specific legal rights, and you mayalso have other rights which vary from state to state.
`
`IPR2017-01828
`Ubisoft EX1002 Page 13
`
`IPR2017-01828
`Ubisoft EX1002 Page 13
`
`
`
`
`
`Contents
`
`XX1X
`
`Figures, Tables, and Listings
`
`OQ
`5=—
`bo
`
`io]—_wn
`
`Preface
`P-3 About Jnside Macintosh
`P-8 An Overview of the Chapters in Volume VI
`6 A Road Map to Volume VI
`
`toalbod
`
`PmeeeeeteeeeIINNMNNYNNNDYBRSHBeSeeeeeeBWWSKDOCOBANAARDUWASPWONVNO~TAHWw
`
`1IrodItDkfkpkpeoro
`tyABBRON=SOODAUAKDW
`VeVNnNwnbd
`SSeSee
`
`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
`Intcrapplication Communication
`Sharing Data Among Applications
`Sending Events Between Applications
`Exchanging Message Blocks Between Programs
`Remote Data Access
`Enhanced UserInterface
`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
`HardwareInterfaces
`Overview of Chapters in This Volume
`
`2 User Interface Guidelines
`About This Chapter
`UserInterface Design Principles
`Worldwide Software Development
`Cultural Values
`Resources
`Language Differences
`Text Display and Text Editing
`Default Alignmentof Interface Elements
`Keyboards
`Fonts
`User Documentation
`Terminology
`The Version 7.0 Environment
`User Feedback
`Background Notification
`
`IPR2017-01828
`Ubisoft EX1002 Page 14
`
`IPR2017-01828
`Ubisoft EX1002 Page 14
`
`
`
`Inside Macintosh, Volume VI
`
`2-16
`2-16
`2-18
`2-18
`2-19
`2-19
`2-20
`2-21
`2-22
`2-22
`2-23
`2-23
`2-24
`2-24
`2-25
`2-26
`2-29
`2-30
`2-30
`2-31
`2-32
`2-32
`2-32
`2-33
`2-34
`2-34
`2-36
`2-36
`2-36
`2-37
`
`NDOODUAMDWDNRDO~~~AND
`
`MoGWGoGaGaGdGdGaGdGdGd
`
`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
`WindowPositions
`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 UserInterface 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 Itemsin a Dialog Item List
`Appending Itemsto a Dialog Item List
`Shortening a Dialog Item List
`
`vi
`
`Centents
`
`IPR2017-01828
`Ubisoft EX1002 Page 15
`
`IPR2017-01828
`Ubisoft EX1002 Page 15
`
`
`
`i]ai?a3
`
`io)=
`4=]=
`fo
`
`Contents
`
`WWWWWWWWWWWWWWDWeGoOoWWOoWGnw
`ieeeIPoPFRbtttMmurnmBRRBHABADWWWWWNNNYNHNNNNYnbBROW~AIAAMMBRNYEPUDNDSOO~ATDANBWWD
`
`tobo?tt
`
`SboOBUYUNNNYNNMNSSHeEHPEF
`
`BRWN-CYNRNEAWW
`PARRARPARE
`PHAHAALHAAHAALAAL
`NeKHODMHDON
`
`APRAHW
`
`Localizing Macintosh Programs
`General Guidelines
`Localizing With the Toolbox
`Running Macintosh Programs Under A/UX
`How the A/UX 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
`Aboutthe 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 DocumentContaining 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 Subscnber 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
`
`vii
`
`IPR2017-01828
`Ubisoft EX1002 Page 16
`
`IPR2017-01828
`Ubisoft EX1002 Page 16
`
`
`
`
`
`SOADANNYMK—Soom“aanMnbfnwVwnvnneDoO@®~IWW
`BEARSHEEEREREERA
`
`
`tatatataa&RRRR
`
`BRARRRERRERREERRARRASCODSIITIDDADANHDADADMMNNReOAan—
`rTTTTAAAmie)old
`
`WNCOOMABWNHYNCODAAUN
`DAAAAAAAA
`1Yo.4DNeaeeeaeeee
`
`'1Ii1L
`
`11&WwW
`
`Inside Macintosh, Volume VI
`
`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 Opencr
`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 Delcting an Edition Container
`Setting and Locating a 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
`
`Vil
`
`Contents
`
`IPR2017-01828
`Ubisoft EX1002 Page 17
`
`IPR2017-01828
`Ubisoft EX1002 Page 17
`
`
`
`io>—i_~
`
`=)>ws
`
`oC
`
`
`
`Contents
`
`OnnnnnnnnanGraWWWWYNNNWwWNOOOWMATA
`
`
`
`RWWWWWWWONNNHHWTAERPOTNARDOTMBRKOOMADMANTBAAMWWOTARDNOHLARAUMNHW
`'111!t1DRRDARDRAR
`
`IIIf1IUIII11III1DDARDRHRRARDRDARADRADARRARARHYAIAIAARADANANAMARA
`DRANDNDANDNDADDADRADDADAAN
`
`Requesting Return Receipts
`Responding to Events From Other Applications
`Searching for a Specific High-Level Event
`Event Manager Routines
`Receiving Events
`Sending Events
`Receiving a Specific High-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 DescriptorList
`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
`Wriling 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
`
`IPR2017-01828
`Ubisoft EX1002 Page 18
`
`IPR2017-01828
`Ubisoft EX1002 Page 18
`
`
`
`Inside Macintosh, Volume VI
`
`SSESLSERARESSSE
`HWSDOMOMATNRWNHDO
`
`711FT
`
`6-100
`6-101
`6-103
`
`
`SSSSSSSSSSSSSSSSS
`
`
`
`6-105SNWONNHOOANNMBWNNOABRWNHANANORKAHHAW
`
`Getting Items From Descriptor Lists
`Getting Data and Keyword-Specified Descriptor Records From AE Records
`Requesting UserInteraction
`Requesting More Time to Respond to Apple Events
`Suspending and Resuming 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 ProgramLinking 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
`
`Contents
`
`IPR2017-01828
`Ubisoft EX1002 Page 19
`
`IPR2017-01828
`Ubisoft EX1002 Page 19
`
`
`
`a
`
`a|=v
`
`GSS
`|pan
`
`1tI1I1III96990GCGOGOGOGOGOGOGOGOGOGOGO0000000000006OO
`‘AmnbBRRRRRWWWWHD=RBReKeOK71otoT1EBRD
`
`DHMSBBORONEHHKOSCOwMOOHIAMAY
`CO00THHOHHWWWOHMDWDEOM
`
`SMWOANHNNKEKCOONS
`
`DRNDADRMAMAMAH
`
`dI11I
`
`Contents
`
`8 The Data Access Manager
`AboutThis Chapter
`Aboutthe Data Access Manager
`The High-LevelInterface
`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-LevelInterface
`Comparison of the High-Level and Low-LevelInterfaces
`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
`UserInterface 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-LevelInterface
`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
`
`IPR2017-01828
`Ubisoft EX1002 Page 20
`
`IPR2017-01828
`Ubisoft EX1002 Page 20
`
`
`
`Inside Macintosh, Volume VI
`
`
`
`—O~WTRKHOONDMANDTODFSWNOCWDADHAHRWOS
`
`
`
`athannbbpRbBREBRROwHHOHYVNYNNNYNYNHWW90DD0DDHO11OOD1101D1010DD100
`
`.
`
`Messages When the Finder Can’t Find Your Application
`Version Resources
`How and Whenthe Finder Launches Your Application
`Finder-Related Changesto the UserInterface
`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 DatabaseItself
`Summaryof the Finder Interface
`
`10 Control Panels
`10-3 About This Chapter
`10-3. About Control Panels
`10-4 Writing Control Panel Files
`10-5 About the Monitors Control Panel
`10-6 Designing an Extension for the Monitors Control Panel
`10-7
`The 'card’ Resource
`10-8
`The 'mntr' Resource
`10-8
`The Monitor Function
`10-10
`Messages to the Monitor Function
`10-12
`The 'RECT' Resource
`10-12
`The 'DITL' Resource
`10-13
`The ICON' and'cicn’ Resources
`10-13
`The ‘vers’ Resources
`10-13
`The 'STR#' Resource
`10-13
`The ‘gama’ Resources
`10-14
`The 'FREF’, 'BNDL’, Icon Family, and Signature Resources
`10-14
`The ‘INIT’ Resource
`10-14
`A Sample of an Extension to the Monitors Control Panel
`10-28
`Including Another Control Panel Definition in a Monitors Extension File
`10-29
`Summary of the Extension File for the Monitors Control Panel
`
`xii
`
`Contents
`
`IPR2017-01828
`Ubisoft EX1002 Page 21
`
`IPR2017-01828
`Ubisoft EX1002 Page 21
`
`
`
`
`
`
`Contents
`
` iv=]
`
`|=
`oO
`==
`ee
`
`
`
`11 The Help Manager
`11-3. About This Chapter
`11-4 About the Help Manager
`11-5
`Help Balloon Display
`11-10
`Default Help Balloons for Menus, Windows,and Icons
`11-14 Using the Help Manager
`11-14
`Providing Text or Pictures for Help Balloons
`11-15
`Defining the Help Balloon Content
`11-16
`Using Clear, Concise Phrases
`11-16
`Using Active Constructions
`11-17
`Using Parallel Structure
`11-17
`Using Consistent Terminology
`11-17
`Defining the Help Balloon Position
`11-17
`Specifying the Format for Help Balloon Content
`11-18
`Specifying Options in Help Resources
`11-21
`Providing Help Balloons for Menus
`11-33
`Providing Help Balloonsfor Items in Dialog Boxes and Alert Boxes
`11-41
`Providing Help Balloons for Window Content
`11-42
`Help Balloonsin Static Windows
`11-49
`Help Balloons in Dynamic Windows
`11-56
`Overriding Help Balloons for Application Icons
`11-58
`Overriding Other Default Help Balloons
`11-61
`Adding Your Own Menu Items to the Help Menu
`11-64
`Writing Your Own Balloon Definition Function
`11-65 Help Manager Routines
`11-65
`Determining Whether Help Is Enabled
`11-66
`Determining Whether a Help Balloon Is Showing
`11-66
`Displaying and Removing Help Balloons
`11-67
`Displaying a Help Balloon
`11-69
`Using Your Own MenuDefinition Procedure
`11-71
`Removing a Help Balloon
`11-72
`Using Your Own Tip Function
`11-73
`Adding Items to the Help Menu
`11-74
`Getting and Setting the Font Name and Size
`11-75
`Getting and Setting Information for Help Resources
`11-78
`Getting the Dimensions of a Help Balloon
`11-79
`Getting the Content of a Help Balloon
`11-83
`Summary of the Help Manager
`
`12 The Font Manager
`12-3. About This Chapter
`12-3. About the Font Manager
`12-3
`Font Terminology
`12-6
`Font Measurements
`12-8
`Font Scaling
`12-10
`How the Font Manager Renders TrueType Fonts
`12-14 Using the Font Manager
`12-15
`Adding Font Sizes and Names to the Menu
`12-16
`Storing a Font Name in a Document
`12-16
`Using TrueType Fonts in Preference to Bitmapped Fonts
`12-17
`Preserving the Glyph’s Shape
`
`Contents
`
`xii
`
`IPR2017-01828
`Ubisoft EX1002 Page 22
`
`IPR2017-01828
`Ubisoft EX1002 Page 22
`
`
`
`Inside Macintosh, Volume VI
`
`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
`
`13 The Resource Manager
`13-3. About This Chapter
`13-3 Resources
`13-3
`Resource Types
`13-6
`Resource IDs
`13-7
`Definition Procedures
`13-7
`Font Families and Scripts
`13-10 Resources in the System File
`13-10
`System Icons
`13-11
`Document and Application Icons
`13-12
`Folder Icons
`13-12
`System Folder Icons
`13-13
`Desktop Icons
`13-14
`Standard File Package Icons
`13-15
`User Information Resources
`13-15
`Packages
`13-16
`Function Key Resources
`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
`
`14 Worldwide Software Overview
`14-5 About This Chapter
`14-6 About Worldwide Software
`14-7
`The Graphic Representation of Languages
`14-7
`Localized Versions of the Macintosh System Software
`14-8
`Multiple Script Systems and Multiple Languages on the Macintosh Computer
`14-8
`Identifying Scripts, Languages, and Regions
`14-10
`Aboutthe Script Management System
`14-10
`About the Script Manager
`14-12
`Local and Global Variables
`14-12
`Style Runs and Higher-Level Text Organization
`14-12
`Tokens
`14-13
`Date Conversion
`14-13
`Geographic Information
`14-13
`Number Conversion
`14-13
`Aboutthe International Utilities Package
`14-14
`Aboutthe International and Keyboard Resources
`14-15
`Aboutthe Macintosh Script Systems
`
`xiv
`
`Contents
`
`IPR2017-01828
`Ubisoft EX1002 Page 23
`
`IPR2017-01828
`Ubisoft EX1002 Page 23
`
`
`
`Contents
`
`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
`14-4]
`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
`Alignmentand 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
`
`XV
`
`IPR2017-01828
`Ubisoft EX1002 Page 24
`
`-S
`=ban
`
`oe==+vd
`
`
`
`IPR2017-01828
`Ubisoft EX1002 Page 24
`
`
`
`Inside Macintosh, Volume VI
`
`14-47
`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-5]
`14-55
`14-58
`14-59
`14-60
`14-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
`Lexically 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
`NumberUtilities
`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 'itl2' 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 ‘itlO' Resource
`The ‘itll’ Resource
`The ‘itl2' Resource
`The 'itl2'’ Resource Header
`The ‘itl4’ Resource
`Keyboard Types and Modifier Bits
`The 'KCHR' Resource
`The 'kcs#', ‘kes4', and 'kcs8’ Resources
`The 'KSWP' Resource
`The ‘itlk’ Resource
`Key Caps and the 'KCAP’ Resource
`Dead-Key Feedback
`The 'KCAP' Resource
`
`xvi
`
`Contents
`
`IPR2017-01828
`Ubisoft EX1002 Page 25
`
`IPR2017-01828
`Ubisoft EX1002 Page 25
`
`
`
`Contents
`
`Ci}
`|=
`ont
`
`S=tT
`
`14-102
`14-102
`14-102
`14-103
`14-104
`14-104
`14-104
`14-105
`14-107
`14-107
`14-107
`14-108
`14-109
`14-109
`14-109
`14-110
`14-110
`14-111
`14-133
`14-138
`
`Localizing to Other Languages and Regions
`Using Resources
`Text and Dialog Translation Tips
`Adapting Text Operations
`Using Fonts
`Avoiding Special Character Codes as Delimiters
`Using the Standard Roman Character Set
`Adapting Keyboard Equivalents
`Modifying the Representation of Dates, Times, and Numbers
`Writing Software for Other Scripts
`Working With Fonts
`Working With Character Codes
`Working With Text Direction
`Synchronizing Keyboards and Fonts
`Handling Numbers
`Identifying Keywords and Tokens
`Possible Printing Problems
`Summary of the Script Manager
`Summary ofthe International Utilities Package
`Summary of the International Resources
`
`15-3
`15-3
`15-4
`15-6
`15-8
`15-9
`15-11
`15-11
`15-13
`15-14
`15-14
`15-14
`15-15
`15-16
`15-17
`15-17
`15-17
`15-18
`15-19
`15-19
`15-19
`15-19
`15-20
`15-20
`15-21
`15-21
`15-22
`15-23
`15-23
`15-24
`
`15 Textkait
`About This Chapter
`About TextEdit
`Mixed-Directional Text
`Highlighting
`Mouse-DownRegions
`Dual Carets
`Caret MovementAcross Direction Boundaries
`Font and Keyboard Synchronization
`Double-Byte Characters
`Vertical Movementof the Carct
`Arrow Key Actions for Selected Text
`Caret Position at Line Ends
`Word Selection and Line Breaks
`Accurate Line Measurement
`TextEdit and TrueType Fonts
`Using TextEdit
`Determining the Version of TextEdit
`Customizing TextEdit’s Features
`Measuring the Width of Components of a Linc
`Defining Word Boundaries
`Controlling Outline Highlighting, Text Buffering, and Inline Input
`Setting Left Alignment for Right-to-Left Directional Scripts
`Using WordRedraw for Line Calculations
`Using the lineStarts Array to Determine Line Length
`Using TextEdit’s Default Click Procedure
`TextEdit Routines
`Outline Highlighting, Text Buffering, and Inline Input
`Outline Highlighting
`Text Buffering
`Inline Input
`
`Contents
`
`xvil
`
`IPR2017-01828
`Ubisoft EX1002 Page 26
`
`
`
`
`
`IPR2017-01828
`Ubisoft EX1002 Page 26
`
`
`
`
`
`Inside Macintosh, Volume VI
`
`Customizing TextEdit
`Replacing the End-of-Line Routine
`Replacing the Measuring Routines
`Replacing the Drawing Routine
`Replacing the Hit Test Routine
`Replacing the Word Breaking Routine
`Backspacing to the Beginning of a Style
`Determining the Position of an Ambiguous Offset
`Toggling a Style
`Determining Styles Across a Selection
`Sctting Styles in TextEdit’s Scrap Record
`Determining the Numberof Styles
`TextEdit Data Structures
`Summary of TextEdit
`
`16 Graphics Overview
`About This Chapter
`About Macintosh Graphics
`The Components of Macintosh Graphics
`QuickDraw
`TheInterface
`The Video Card and Screen
`The Major Data Structures
`The RGB Color Record
`Color Collections
`The Pixel Map Record
`Port Characteristics: The Color GrafPort Record
`Device Characteristics: The Graphics Device Record
`GraphicsInitialization
`The Graphics Path
`How Indexed Pixels Work
`How Direct Pixcls Work
`Determining the QuickDraw Version
`What Else to Read
`Summary of Graphics Data Types
`
`17-3
`17-3
`17-4
`17-4
`17-6
`17-10
`17-11
`17-12
`17-12
`17-16
`17-16
`17-17
`17-17
`17-18
`
`17 Color QuickDraw
`About This Chapter
`About Color QuickDraw
`Direct Pixels
`Pixel Map Record Extensions
`Direct Pixel Values
`Writing Compatible Graphics Applications
`Using Color QuickDraw
`Manipulating Pixel Map Images
`Copying With Masks
`Colorizing
`Transfer Modes
`Dithering
`Resizing Images
`Luminance Mapping
`
`XVE
`
`Contents
`
`IPR2017-01828
`Ubisoft EX1002 Page 27
`
`IPR2017-01828
`Ubisoft EX1002 Page 27
`
`
`
`Contents
`
` lam
`
`a]=>
`oe
`=a
`v
`
`
`
`Image Resolution
`17-18
`Displaying Variable-Resolution Pixel Maps and Pictures
`17-19
`Exporting Pixel Map Records
`|
`17-19
`Converting a Bitmap to a Region
`17-19
`Determining Whether Drawing Is Complete
`17-20
`17-20 Extensions to the Version 2 Picture Format
`17-21
`Font Name
`17-21
`Line Justification
`17-21
`Direct Pixel Images
`17-24
`Sample Extended Version 2 Picture
`17-25 Color QuickDraw Routines
`17-25
`Creating an Extended Version 2 Pi