Kaydet (Commit) 4657335f authored tarafından Miklos Vajna's avatar Miklos Vajna

tdf#113076 vcl windows opengl: specific italic set font was clipped on ...

... right edge in presentation mode.

This seems to be a problem since commit
a51b7a1c (tdf#103831, tdf#100986: Force
using GDI when needed, 2017-03-03), which blacklisted DirectWrite in the
OpenGL case for both vertical text and horizontally stretched text.

I tested that the overlapping characters problem from tdf#103831 is not
re-introduced, and switching to DW (in the horizontal stretching &&
OpenGL case) fixes the unwanted clipping of glyphs for the tdf#113076
bugdoc.

This also simplifies the situation, since the general rule since commit
d436065b (tdf#103725: Default to GDI
even with the new layout engine, 2016-11-15) is that non-OpenGL defaults
to GDI rendering and OpenGL defaults to DirectWrite rendering.

Change-Id: I44d035ab0890614be393599a5492e42e09231d86
Reviewed-on: https://gerrit.libreoffice.org/70945
Tested-by: Jenkins
Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.com>
üst 943a534a
...@@ -458,12 +458,12 @@ void WinSalGraphics::DrawTextLayout(const GenericSalLayout& rLayout) ...@@ -458,12 +458,12 @@ void WinSalGraphics::DrawTextLayout(const GenericSalLayout& rLayout)
const WinFontInstance* pWinFont = static_cast<const WinFontInstance*>(&rLayout.GetFont()); const WinFontInstance* pWinFont = static_cast<const WinFontInstance*>(&rLayout.GetFont());
const HFONT hLayoutFont = pWinFont->GetHFONT(); const HFONT hLayoutFont = pWinFont->GetHFONT();
bool bUseOpenGL = OpenGLHelper::isVCLOpenGLEnabled() && !mbPrinter;
// Our DirectWrite renderer is incomplete, skip it for non-horizontal or // Our DirectWrite renderer is incomplete, skip it for non-horizontal or
// stretched text. // stretched text.
bool bForceGDI = rLayout.GetOrientation() || pWinFont->hasHScale(); bool bForceGDI = rLayout.GetOrientation() || (pWinFont->hasHScale() && !bUseOpenGL);
bool bUseOpenGL = OpenGLHelper::isVCLOpenGLEnabled() && !mbPrinter;
if (!bUseOpenGL) if (!bUseOpenGL)
{ {
// no OpenGL, just classic rendering // no OpenGL, just classic rendering
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment