Hello Michal,

My remark was relative to class  PdfFontMetricsFreetype, not
PdfFontMetricsObject.

But, in your patch, you also divide font char space by 100, twice:

return (dWidth * m_matrix.front().GetReal() + this->GetFontCharSpace() /
100.0) * this->GetFontSize() * this->GetFontScale() / 100.0;

Are you sure of that ?

In PDF format, the font char space (Tc) is given in PDF units, not in
percent. Does it mean, we have to transform this Tc value into percent
before affecting the m_fFontCharSpace variable ? If yes, how shall we do
that ?

Thank you for your help

Christophe


Le lun. 10 mai 2021 à 20:54, Michal Sudolsky <sudols...@gmail.com> a écrit :

>
>
> On Mon, May 10, 2021 at 12:23 PM Christophe <xto...@gmail.com> wrote:
>
>> Hello all,
>>
>> I have a doubt relative to this method definition:
>>
>> double PdfFontMetricsFreetype::CharWidth( unsigned char c ) const
>> {
>>     double dWidth = m_vecWidth[static_cast<unsigned int>(c)];
>>
>>     return dWidth * static_cast<double>(this->GetFontSize() * this
>> ->GetFontScale() / 100.0) / 1000.0 +
>>         static_cast<double>( this->GetFontSize() * this
>> ->GetFontScale() / 100.0 * this->GetFontCharSpace() / 100.0);
>> }
>>
>> The Char Space is divided by 100.0 and I think it is an error as it is
>> not the case for PdfFontMetricsObject::CharWidth, nor for
>> PdfFontMetricsObject::CharWidth.
>>
>>
> It is intended to be divided by 100. See comment above that function:
>
>     /** Set the character spacing of this metrics object
>
>      *  *\param *fCharSpace character spacing in percent
>
>      */
>
>     *inline* *void* SetFontCharSpace( *float* fCharSpace );
>
>
>> What do you think ?
>>
>> Thank you
>>
>> Christophe
>> _______________________________________________
>> Podofo-users mailing list
>> Podofo-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/podofo-users
>>
>
_______________________________________________
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users

Reply via email to