We are providing the following font related entries in the event_enum:
when entering or leaving the world of fonts in the printer
when entering or leaving the world of resident (not download) fonts in the printer
the command sequence at start or end of a resident font in the printer
1. and 2. are general events and easy to handle.
3. and 4. require more attention. A driver would check all DeviceFont related events (four in the sample below) when any of the font attributes on the host platform have changed (e.g. from Arial to TNR, from upright to italic or else). A driver would check all DeviceFontCharacter related events (two in the sample below) to find out if the Parameter_ID of Character.Parameter (please help me check, if attribute Character_PrintOut is only a duplicate of this parameter and therefore redundant and can be removed. I haven't been to that detail for quite a while) or of Character.SymbolSet.Parameter has changed. We assume a device description developer would create an event per Parameter element.
A sample data flow could look like
- command sequence reference EnterFontObjects at start of event FontObjects. no parameter references used.
- c.s.r. EnterResidentFont at start of event DeviceFonts. no parameter references used.
- c.s.r. StartDeviceFont at start of event DeviceFont. DeviceFont.Parameter.Parameter_ID used.
- c.s.r. DeviceFontStyle at start of even DeviceFont. ModifyingAttributes.Style.Parameter.Parameter_ID used.
- c.s.r. DeviceFontWeight at start of even DeviceFont. ModifyingAttributes.Weight.Parameter.Parameter_ID used.
- c.s.r. DeviceFontColor at start of even DeviceFont. ModifyingAttributes.Color.Parameter.Parameter_ID used.
Other modifying attributes possible but not used in this sample.
- c.s.r. DeviceFontCharacterSymbolSet at start of event DeviceFontCharacter. Character.SymbolSet.Parameter.Parameter_ID used.
- c.s.r. DeviceFontCharacterTransparent at start of event DeviceFontCharacter. Character.Parameter.Parameter_ID used. This is to print transparent characters. The command sequence is supposed to tell the printer 'interpret the next byte as a character instead of an escape'.
- c.s.r. LeaveFontObjects at end of event FontObjects. no parameter references used.
To make this work I think we need one common agreement:
If a specific Parameter_ID attribute is empty or the Parameter element is not assigned, the corresponding command sequence is not sent at all if and only if the command sequence refers to that Parameter_ID attribute.
That is the first time we specify command sequence handling to that detail for font handling.
I forgot something?
Any questions or feedback?
69 Prescott Drive
North Chelmsford, MA 01863
This archive was generated by hypermail 2b29 : Wed Nov 20 2002 - 08:20:49 EST