The Text Services Manager maintains communication between applications that need text services and utility programs that provide them. The Text Services Manager exists so that these two types of programs can work together without needing to know anything about each others internal structures or identities.
A text service is a specific text-handling task such as spell-checking, hyphenation, and handling input of complex text. A text service component is a utility program that uses the Text Services Manager to provide a text service to an application. Text service components are registered components with the Component Manager.
A client application is a text-processing program that uses the Text Services Manager to request a service from a text service component. To accomplish this, a client application needs to make the Text Services Manager aware of its existence and needs to make specific Text Services Manager calls during execution.
In principle, text services can include many different types of tasks. However, only one type of text service is currently defined: text input.