PWG Logo

Best Practices for use of the RepertoireSupported Element

May 27, 2003

This version:
ftp://ftp.pwg.org/pub/pwg/cr/bp-crrs10-20030527.html
Editors:
Elliott Bradshaw, Oak Technology Imaging Group

Abstract

In traditional printing environments, clients rely on font downloads when they are not sure a given character is embedded in the printer. As printing moves to small clients, downloading may not be an option and clients have a need to know what characters are available in a given device.

There are many published named character repertoires, and a small client will not know about them all.  

[RS] describes the syntax and semantics for the Semantic Model element "RepertoireSupported".  The current document describes Best Practices for the use of that element, in order to maximize interoperability between client devices and printers.

The reader of this document should be familiar with the terminology and concepts in [RS].

Status of this Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. The latest status of this document series is maintained at the PWG.

This document informative.

This document is a working draft and only a working draft. It is currently being reviewed by PWG Members but has not been approved. It is not a stable document and may not be used as reference material nor cited as a normative reference from another document.

Public discussion of PWG Character Repertoires takes place on the mailing list: cr@pwg.org. To subscribe send an email to majordomo@pwg.org with the words subscribe cr in the body. You must be subscribed to the mailing list to post there. Please report errors in this document to the editor listed above or on the mailing list.

A list of current PWG Standards and other technical documents can be found at http://www.pwg.org/standards.html.

Open Issues for discussion, and editorial notes to be removed later, are in yellow background with a border, like this.

Revision History

27-May-03

1. Basic Repertoires

In order to promote interoperability, this document designates a small number of repertoires as "basic".  In this way a print client that only knows the names of the basic repertoires can get useful results.

The repertoires designated as basic are:

A conforming printer should support and advertise a basic repertoire whenever it advertises similar repertoires.  For example, any printer advertising any Cyrillic repertoire should also advertise "Unicode_cyrillic".  In this way a client that does not recognize a large number of repertoires can still recognize that basic Cyrillic printing is possible on this device.

Printers will often support larger repertoires.  If a printer supports a repertoire that is a superset of a basic repertoire, then it should advertise the basic repertoire in addition to the superset.  Examples:

2. Printer Operation

A conforming printer should follow these rules:

  1. All printers should support and advertise:
  2. All printers should support the euro (U+20AC) character, even though it is not advertised.
  3. A basic repertoire should be supported whenever similar ones are, as described above. 
  4. In some languages (e.g. those based on XHTML) certain characters are implicitly supported (e.g. as built-in character entities), without being advertised in any repertoire.

3. Print Client Operation

Printing protocols (outside of this document) specify how a print client learns about the supported repertoires in a printer.  Note that supported characters are also constrained by the list of supported character sets, if the printer provides one.

Once it knows, a client may choose to use this knowledge in any of these ways:

  1. If multiple printers are available, look for one that can print all the characters in a job.
  2. If printing to a printer that can't print all the characters in a job, warn the user.
  3. Make a substitution for a character that won't print.

A. References

[IANA-Charsets]
Available online at http://www.iana.org/assignments/character-sets.
[PWG-SM]
PWG Semantic Model.  Available online at http://www.pwg.org/sm/index.html.
[RFC2119]
"RFC2119 - Key words for use in RFCs to Indicate Requirement Levels", S. Bradner. Available online at http://www.ietf.org/rfc/rfc2119.
[Unicode-Charts]
Unicode code charts, version 4.0.  Beta code charts available online at http://www.unicode.org/charts/u40-beta.html.
[RS]
"Working Draft: The Printer Working Group RepertoireSupported Element".  Available online at ftp://ftp.pwg.org/pub/pwg/cr/wd/wd-crrs10-20030527.html.