[pdftex] protcode.tex and pdfTeX (Web2C 7.4.4) 3.14159-1.10a

Gerben Wierda Sherlock at rna.nl
Tue Jan 28 23:49:53 CET 2003


I get the following report from one of the users of my redistribution 
for Mac OS X, can someone tell me if there has been changes I need to 
pick up?

> Le lundi, 27 jan 2003, à 16:09 Europe/Paris, Gerben Wierda a écrit :
>
>> TeX Programs has been upgraded to the latest release candidate of TeX 
>> Live and TeX Foundation has been upgraded to teTeX's release 2 
>> release candidate 1.
>>
>> I would like people to use/test these and report any (if at all) 
>> problems.
>
> I think I've just seen something odd with the recent update of 
> Gerben's teTeX. Earlier today I reported about Lucida fonts some 
> strange changes in many line breaks, after installing the update, but 
> this seems to be a wider problem: margin kerning doesn't behave as it 
> used to.
>
> I do margin kerning as suggested by Dick Koch:
>
>> \input{protcode}
>> \newcommand{\setupfont}{
>>   \setprotcode\font}
>> \newcommand{\setupfam}{
>>   \setupfont
>>   {\itshape\setupfont}
>>   {\bfseries\setupfont}
>>   {\itshape\bfseries\setupfont}
>>   {\scshape\setupfont}
>> }
>> \AtBeginDocument{
>>   \setupfam
>>   {\LARGE\setupfam}
>>   {\large\setupfam}
>>   {\small\setupfam}
>>   {\footnotesize\setupfam}
>>   {\indexsize\setupfam}
>> }
>> \pdfprotrudechars=2
>
> with protcode.tex the file installed by Gerben at our users' request 
> in the early days of this list at
>
> 	texmf.macosx/tex/plain/misc/protcode.tex
>
> But now setting \pdfprotrudechars=1 or 2 doesn't make any difference: 
> the line breaks are the same. Is it a bug in the new pdfTeX? Or is 
> protcode.tex obsolete? Or has the command \pdfprotrudechars changed?

The protcode.tex I ship is:

\def\setprotcode#1{%
     \rpcode#1`\!=200
     \rpcode#1`\,=700
     \rpcode#1`\-=700
     \rpcode#1`\.=700
     \rpcode#1`\;=500
     \rpcode#1`\:=500
     \rpcode#1`\?=200
     \lpcode#1`\`=700
     \rpcode#1`\'=700
     \lpcode#1 92=500  % ``
     \rpcode#1 34=500  % ''
     \rpcode#1 123=300 % --
     \rpcode#1 124=200 % ---
     \rpcode#1`\)=50
     \rpcode#1`\A=50
     \rpcode#1`\F=50
     \rpcode#1`\K=50
     \rpcode#1`\L=50
     \rpcode#1`\T=50
     \rpcode#1`\V=50
     \rpcode#1`\W=50
     \rpcode#1`\X=50
     \rpcode#1`\Y=50
     \rpcode#1`\k=50
     \rpcode#1`\r=50
     \rpcode#1`\t=50
     \rpcode#1`\v=50
     \rpcode#1`\w=50
     \rpcode#1`\x=50
     \rpcode#1`\y=50
     \lpcode#1`\(=50
     \lpcode#1`\A=50
     \lpcode#1`\J=50
     \lpcode#1`\T=50
     \lpcode#1`\V=50
     \lpcode#1`\W=50
     \lpcode#1`\X=50
     \lpcode#1`\Y=50
     \lpcode#1`\v=50
     \lpcode#1`\w=50
     \lpcode#1`\x=50
     \lpcode#1`\y=50
     \adjustprotcode#1
}

\makeatletter
\newif\ifneedadjustprotcode
\def\adjustprotcode#1{%
     \needadjustprotcodefalse
     \ifnum\pdftexversion > 14
         \needadjustprotcodetrue
     \else\ifnum\pdftexversion > 13
         \ifnum \expandafter`\pdftexrevision > `g
             \needadjustprotcodetrue
	\fi
     \fi\fi
     \ifneedadjustprotcode
         \@tempcnta=0
         \loop
             \ifcase\lpcode#1\@tempcnta\else
                 \adjustcp\lpcode#1\@tempcnta
             \fi
             \ifcase\rpcode#1\@tempcnta\else
                 \adjustcp\rpcode#1\@tempcnta
             \fi
             \advance\@tempcnta 1
         \ifnum\@tempcnta < 256 \repeat
     \fi
}
\def\adjustcp#1#2#3{%
     \setbox0=\hbox{%
         \ifx#2\font\else#2\fi
         \char#3}%
     \@tempcntb=\wd0
     \multiply\@tempcntb #1#2#3%
     \divide\@tempcntb \fontdimen6 #2%
     #1#2#3=\@tempcntb
}
\makeatother




More information about the pdftex mailing list