./panda-textmodes
Panda is currently working on version 1.3 of the PDF spec-
ification coompilance. A copy of the specification is
available for download from http://www.adobe.com
TEXT MODE COMPLIANCE
This document outlines Panda's complicance with the vari-
ous text modes outlined in the PDF specification version
specified above.
TEXT MODES
Character spacing (Tc operator)
The definition of this operator may be found on
page 340 of the PDF specification.
This operator is fully implemented in Panda, and is
accessible through the setcharacterspacing (3)
function call in Panda. Note that this attribute is
'sticky' and therefore will not revert to the
default if you change font -- it must be explicitly
changed.
The default value is 0.
Word spacing (Tw operator)
The definition of this operator may be found on
page 340 of the PDF specification.
This operator is fully implemented in Panda, and is
accessible through the setwordspacing (3) function
call in Panda. Note that this attribute is 'sticky'
and therefore will not revert to the default if you
change font -- it must be explicitly changed.
The default value is 0.
Horizontal Scaling (Tz operator)
The definition of this operator may be found on
page 341 of the PDF specification.
This operator is fully implemented in Panda, and is
accessible through the sethorizontalscaling (3)
function call in Panda. Note that this attribute is
'sticky' and therefore will not revert to the
default if you change font -- it must be explicitly
changed.
The default value is 1, meaning 100% of the normal
width of the text.
Leading (TL operator)
The definition of this operator may be found on
page 342 of the PDF specification.
accessible through the setleading (3) function call
in Panda. Note that this attribute is 'sticky' and
therefore will not revert to the default if you
change font -- it must be explicitly changed.
The default value is 0, meaning no extra space
between lines of text.
Font and size (Tf operator)
The definition of this operator may be found on
page 342 of the PDF specification.
This operator is fully implemented in Panda, and is
accessible through the setfont (3) and setfontsize
(3) function calls in Panda. Note that these
attributes are 'sticky' and therefore will not
revert to the default if you perform other manipu-
lations. You will need to explicitly change font
and size if you wish to.
The default font is Helvetica, with a size of 16
points.
Text matrix (Tm operator) PARTIALLY IMPLEMENTED
The definition of this operator may be found on
page 342 of the PDF specification.
This operator is partially implemented in Panda
(due to my lack of understanding of the meaning of
the values in the matrix), and is accessible indi-
rectly through the textbox (3) function call in
Panda. This is because this operator is used to
place the textbox onto the page. The default Tm
value, if we did not set one in the textbox code,
is the bottom left hand corner of the page. The
default implemented by the textbox code is the top
left hand corner of the page, although the user
must set a location on the page for the function
call to be valid.
Text rendering (Tr operator)
The definition of this operator may be found on
page 343 of the PDF specification.
This operator is fully implemented in Panda, and is
accessible through the setfontmode (3) function
call in Panda. Note that this attribute is 'sticky'
and therefore will not revert to the default if you
change font -- it must be explicitly changed.
The default mode is gTextModeNormal.
page 344 of the PDF specification.
This operator is fully implemented in Panda, and is
accessible indirectly through the textbox (3) func-
tion call in Panda. Note that this attribute is not
textbox (3) EOT character (ASCII value 4) into the
string, followed immediately by the jump upwards
(as an ASCII single digit number). To subscript,
place the ENQ character (ASCII value 5), followed
immediately by the jump downwards (as an ASCII sin-
gle digit number). To return to the normal text
placement, place the ACK character (ASCII value 6)
into the string.
The default is no super or sub scripting.
Some source code that shows this is:
sprintf(tempString, "Hello %c5World! %cMy name %c5is Panda!", 4, 6, 5);
This code superscripts the text "World!" by 5
points, subscripts the text "is Panda!" by 5
points, and displays the rest in the normal loca-
tion on the line. Note that you may need to use the
text leading functionality to ensure correct dis-
play.
Text object operators (BT and ET operators)
The definition of these operators may be found on
page 344 of the PDF specification.
These operators are implemented in Panda and are
accessible implicitly in the textbox (3) function
call.
Newline with offset (Td and TD operators) NOT YET IMPLE-
MENTED
Newline (T* operator) NOT YET IMPLEMENTED
Text rendering matrix (Trm operator) NOT YET IMPLEMENTED
Show text (Tj operator)
The definition of this operator may be found on
page 347 of the PDF specification.
This operator is implicitly implemented in the
textbox (3) function call.
Show text on new line (' operator)
The definition of this operator may be found on
page 347 of the PDF specification.
This operator is implicitly implemented in the
IMPLEMENTED
Show text with manipulation (TJ operator) NOT YET IMPLE-
MENTED
AUTHOR
Panda is under development by Michael Still
(mikal@stillhq.com). All code is Copyright Michael Still
2000, and is released under the GPL. Code submissions are
welcomed. Contact Michael at the address above if you have
something you would like to contribute.
BUGS
There are no known bugs in Panda. If you find one, please
contact mikal@stillhq.com and let me know.
VERSION
This information relates to version 0.2 of Panda
Man(1) output converted with
man2html