https://bugs.documentfoundation.org/show_bug.cgi?id=167962

Jonathan Clark <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |difficultyMedium, easyHack,
                   |                            |skillCpp

--- Comment #5 from Jonathan Clark <[email protected]> ---
Code pointer:

Vertical glyphs are written to PDF files by the
PDFWriterImpl::drawVerticalGlyphs() function, located in
vcl/source/pdf/pdfwriter_impl.cpp. Inside this function, we simulate italics
when necessary by applying a skew:

> // perform artificial italics if necessary
> double fSkew = 0.0;
> if (rGlyphs[i].m_pFont->NeedsArtificialItalic())
>     fSkew = ARTIFICIAL_ITALIC_SKEW;
> 
> double fSkewB = fSkew;
> double fSkewA = 0.0;
> 
> Point aDeltaPos;
> if (rGlyphs[i].m_pGlyph->IsVertical())
> {
>     fDeltaAngle = M_PI/2.0;
>     fYScale = fXScale;
>     fTempXScale = 1.0;
>     fSkewA = -fSkewB;
>     fSkewB = 0.0;
> }
> ...
> Matrix3 aMat;
> if( fSkewB != 0.0 || fSkewA != 0.0 )
>     aMat.skew( fSkewA, fSkewB );

Unfortunately, the math used for vertical glyphs isn't quite right. The skew
coefficients for vertical glyphs need to be changed so the glyphs look the same
in the Writer UI and in the PDF export.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to