摘要:
A page description language (PDL) is selected for use by a device driver. A PDL is assigned to an application. The assignment of the PDL to the application may then be stored to an index such as a registry or to a file. The device driver is loaded from within the application. The application, from within which the device driver was loaded, is discovered. The application from within which the device driver was loaded may be discovered by examining the host operating environment upon which the application is operating. The PDL assigned to the application is selected for use by the device driver. The PDL assigned to the application may be selected by searching the index to find the PDL assignment for the application and extracting from the assignment the PDL assigned to the application.
摘要:
A method and a system are used to manage fonts in print jobs with more than one context where at least some of the contexts include text strings. Print jobs may be divided into portions, called contexts, so that they are easier for a print manager to manage. These larger contexts are called graphic sets. Each of these graphic sets is sent to the printer driver consecutively. Each text string has a font associated with it. The font data for each text string is read from the operating system and cached into memory at the time each string is received by the printer driver. After all individual text strings elements of a given graphic set have been received by the printer driver, the context is stored and the cached fonts are stored with the context. After all of the contexts of the print job have been received by the printer and stored, each context is restored and rendered. The graphics sets may be restored in any order. The fonts stored with a context are also restored when the context is restored.
摘要:
A printer driver uses filters that are operating system-independent and printer-independent. Print requests and corresponding print data are received by the printer driver and converted into an internal representation that is both operating system-independent and printer-independent. The data to be printed is then passed through a print pipeline where one or more of a plurality of print filters are applied to the data. As a final stage in the print pipeline, the data is converted to a printer-dependent representation. In one embodiment, one or more of the plurality of filters used in the print pipeline are stored in a dynamic link library (DLL).
摘要:
An operating system font is created from a printer metrics file. The printer metrics file includes at least one set of font metrics. Each set of font metrics represents one font. The printer metrics file is opened and the font metrics are read. A system font is created from each set of font metrics. The system font is created by applying the font metrics to a font template. The font template with the applied font metrics is saved as a system font. The system font is then installed and registered with the operating system. A name of the operating system font is recorded with a printer driver associated with the printer metrics file.
摘要:
Methods and systems enable devices to discover each other when the devices are in a common location. Unique identifiers (UIDs) are associated with one or more location and each UID uniquely identifies a location. Devices that are located in a particular location that has a UID can register to create an association between the device and the UID. In turn, this creates an association between the device and a location. Subsequently, when another device (e.g. a laptop computer or PDA) enters the location, the device can discover the UID of the location and then ascertain which other devices are associated with that location.
摘要:
A method and system for dynamically creating a driver on a host computer for a peripheral device. The dynamically created driver is compatible with any selected peripheral device on a network.
摘要:
A printer driver uses filters that are operating system-independent and printer-independent. Print requests and corresponding print data are received by the printer driver and converted into an internal representation that is both operating system-independent and printer-independent. The data to be printed is then passed through a print pipeline where one or more of a plurality of print filters are applied to the data. As a final stage in the print pipeline, the data is converted to a printer-dependent representation. In one embodiment, one or more of the plurality of filters used in the print pipeline are stored in a dynamic link library (DLL).
摘要:
Printer driver architectures and methods of providing adaptable printer driver architectures are described. In one embodiment, a printer driver architecture includes a kernel which is configured to implement printer driver functionalities. At least one interface is provided into the kernel which is configured to permit addition and incorporation of at least one operation-specific functionality, which is not specifically provided by the kernel's printer driver functionalities. In another embodiment, a kernel is defined and configured to implement printer driver functionalities. A plurality of interfaces are defined in the kernel and are configured to permit addition and incorporation of various operation-specific functionalities which are not specifically provided by the kernel's printer driver functionalities. At least one operation-specific functionality is interfaced through at least one of the defined interfaces in the kernel to provide a printer driver functionality that the kernel would not otherwise have. In yet another embodiment, an abstract base class is defined which pertains to at least one operation-specific functionality of a printer driver. The abstract base class is used to define an abstract interface. The abstract interface is defined for a hierarchy of classes pertaining to the at least one operation-specific functionality. The abstract base class is capable of implementing at least some, but not all of the interface it defines. At least one class is derived from the base class which implements all unimplemented portions of the abstract interface.