Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

202 lines
5.9 KiB

Syntax Rules
*Keyword: StringValue
*Keyword Option/Translation: StringValue | QuotedValue | SymbolValue
KEYCHAR ::= *
SYMCHAR ::= #
QUOTE ::= "
SEPCHAR ::= :
XLATION ::= /
NUL ::= ASCII 0
TAB ::= ASCII 9
CR ::= ASCII 13
LF ::= ASCII 10
SPACE ::= ASCII 32
WHITE ::= TAB | SPACE | CR | LF
XldEntry ::= *Keyword: StringValue
::= *Keyword Option[/Translation]: StringValue | QuotedValue | SymbolValue
Name ::= Sequence of any valid characters, except WHITE, *, / and :
Keyword ::= Name
Option ::= Name
SymbolValue ::= #Name
Translation ::= Sequence of any valid characters, except CR, LF, and :
StringValue ::= Sequence of any valid characters, except CR and LF
Cannot begin with SPACE, ", and #
QuotedValue ::= " Sequence of any valid characters except the quote character itself "
HexString ::= < { 0-9 A-F a-f }* >
Translation can have embedded hexdecimal strings. QuotedValue also allows
embedded hexdecimal strings if QuotedHexString is not set to Off.
Only printable ASCII characters and WHITE characters are allowed in a PCL-XL
printer description file. There are two alternatives for including binary data:
1. For small amount of binary data, use embedded hexdecimal strings.
2. For large amount of binary data, use SymbolInclude entries.
If multiple entries affect the same information, later entries overwrite previous ones.
Names are case-sensitive.
PCL XL Printer Description
*SpecVersion: StringValue
*FileVersion: StringValue
*XLProtocol: StringValue
The format of a version number is Integer[.Integer], e.g. 1 or 4.0.
The first number is the major version number. The second number is
the minor revision number.
*VendorName: QuotedValue
*ModelName: QuotedValue
*JCLBegin: QuotedValue
*JCLEnterLanguage: QuotedValue
*JCLEnd: QuotedValue
*ColorDepth: StringValue
The string value consists of two integers. The first number specifies
number of color planes. The second number specifies bits per plane.
*BeginFeature featureName: StringValue
The string value specifies the default selection name,
or Unknown if the default selection is undefined.
*featureName selectionName: QuotedValue | SymbolValue
*EndFeature: featureName
*InstallableOptions: StringValue
The string value is a list of space-separated feature names, e.g.
*featureName1 *featureName2 ...
*UIConstraints: *featureName1 selectionName1|* *featureName2 selectionName2|*
Specifies a feature constraint. If selection1 of feature1 is chosen,
then selection2 of feature2 will be inaccessible.
If selectionName1 is *, then any selection of feature1 except
None or False will cause the constraint.
If selectionName2 is *, then any selection of feature2 except
None or False will be constrained.
*OrderDependency: Order Section *featureName
Order is an integer value. When multiple features appear in the same
section, features with smaller order values should be invoked before
those with larger order values.
Section can be one of the following:
None No invocation code is emitted
JobSetup Invocation code should appear in the job setup section
DocSetup Invocation code should appear in the document setup section
PageSetup Invocation code should appear in the page setup section
Trailer Invocation code should appear in the trailer section
If there is no OrderDependency entry corresponding to a featureName,
the default value is "0 DocSetup" for non-installable printer features
and "0 None" for installable options.
*QuotedHexString: On | Off
*Unit: Millimeter | Inch | Point
*PageSize mediaOption: QuotedValue
*PaperDimension mediaOptions: StringValue
The string value consists of two real numbers. The first number
specifies the paper width in current units. The second number
specifies the paper height.
*ImageableArea mediaOption: StringValue
The string value consists of four real numbers. They define the
left, top, right and bottom coordinates of the imageable area.
*CustomPaperSize: StringValue
The string value consists of two real numbers. They specify the
maximum width and height of custom paper size.
This entry should only be present if the printer support custom
paper size.
*InputSlot trayOption: QuotedValue
*MediaType typeOption: QuotedValue
*OutputBin binOption: QuotedValue
*Duplex duplexOption: QuotedValue
Do not include these entries if the printer doesn't support
duplex feature.
duplexOption must be None, Horizontal, or Vertical.
*Collate collateOption: QuotedValue
Do not include these entries if the printer doesn't support
collation feature.
collateOption must be either True or False.
*Resolution: resOption: QuotedValue
The format of resOption is Xres [x Yres], e.g.
300
1200x600
*MemoryOption memOption: QuotedValue
The quoted value is an integer which specifies the amount of
memory available to the language interpreter. Note that this
is NOT the same as the total amount of installed memory.
*Font fontName: StringValue
The string value consists of two names separated by space.
The first name specifies font encoding. The second name
specifies font metrics.
*FontEncoding fontEncoding: QuotedValue
*FontMetrics fontMetrics: QuotedValue
The quoted value specifies the name of the file containing
font encoding or font metrics information.
*Symbol symbolName: QuotedValue
*SymbolInclude symbolName: QuotedValue
*Include: QuotedValue
The value specifies the name of the file to be included.
* ...Comment...
For historical reasons, lines starting with *% are also considered comments.
Standard of PageSize names:
Letter
Legal
...
Standard InputSlot names:
Upper Cassette
Lower Cassette
Envelope Feeder
...
Standard MediaType names:
Plain Paper
Glossy Paper
Transparent Film
...