Planet PDF Forum Archive

Planet PDF ForumWowsers! This is page is old, head to the LIVE Planet PDF Forum. It features more than 10 conferences, covering everything from beginner to in-depth developer and pre-press discussions. If you wish to continue... one & two archive covers 1999-2011 (160,000 pages).

New Forum | Previous | Next | (P-PDF) Developers

Topic: Re: Tc & Tw correspondance..
Conf: (P-PDF) Developers, Msg: 58612
From: LeonardR
Date: 5/29/2002 05:33 PM

At 1:12 PM -0500 2/23/01, p-pdf-developer Listmanager wrote:
>I would like to understand the link between the Tc & tw operator
>with the value contain in an array of string like this :
>11.0391 0 0 11.0391 90.0332 688.6886 Tm
>-0.0015 Tc
>0.7671 Tw
>[(1.)-6.3(1.)-6.3(1)11.2( Logi)-6.3(cal)-6.3(
>)760.8(st)-5.5(ruct)-5.5(ure )]TJ
I'm probably going to miss something since I'm doing this w/o
looking at my sources, but the following should be helpful (I hope).

First, as Aandi points out, Tc sets up the current spacing
between characters while Tw sets up the spacing between words. These
are used by the text placement "engine" to determine where to place
each character in a string - whether it's a simple ()Tj or a complex

The general case of rendering text looks something like this:

MoveTo( Text Start Location )
for each character in the string
ComputeWidth( c ) // font size * scaling * charWidth
+ charSpace
if IsWordBreak( c ) then width += wordSpace
Move Relative( width )
DrawChar( c )

Given that core rendering routine, think of the handling of a
[]TJ as a preprocessor that breaks the TJ array into commands (the
numbers) and then strings to process. When the preprocessor finds
an number, it adjusts the current pen position by that value adjusted
by the current font size ( -x * 0.001 * fontSize ). When it finds a
string, it follows the above algorithm (in fact, in probably simply
passes the string to the Tj handler ;).

One thing that isn't specifically mentioned above is that
when computing coordinates, you have to also take into account the
current Tm and Ctm.

Hope that helps!


Leonard Rosenthol
Sr. Software Engineer (215) 922-3509 (voice)
Digital Applications (215) 440-0504 (fax)

PGP Fingerprint: 8CC9 8878 921E C627 0BC1 15BB FC19 64A9 0016 1397

PDF In-Depth Free Product Trials Ubiquitous PDF

Debenu Aerialist

The ultimate plug-in for Adobe Acrobat. Advanced splitting, merging, stamping, bookmarking, and link...

Download free demo

Debenu PDF Tools Pro

It's simple to use and will let you preview and edit PDF files, it's a Windows application that makes...

Download free demo

Back to the past, 15 years ago! Open Publish 2002

Looking back to 2002, it's amazing how much of the prediction became a reality. Take a read and see what you think!

September 14, 2017
Platinum Sponsor

Search Planet PDF
more searching options...
Planet PDF Newsletter
Most Popular Articles
Featured Product

Debenu PDF Aerialist

The ultimate plug-in for Adobe Acrobat. Advanced splitting, merging, stamping, bookmarking, and link control. Take Acrobat to the next level.


Adding a PDF Stamp Comment

OK, so you want to stamp your document. Maybe you need to give reviewers some advice about the document's status or sensitivity. This tip from author Ted Padova demonstrates how to add stamps with the Stamp Tool along with related comments.