vcl/win/gdi/winlayout.cxx |   16 ++++++++++++++++
 1 file changed, 16 insertions(+)

New commits:
commit af6205c30ea899da4a489f8be47bc3c4c0225ba5
Author: Tim Eves <[email protected]>
Date:   Mon Mar 14 17:04:29 2016 +0700

    Make AddChunkOfGlyphs() bail when CJK text is requested
    
    Change-Id: I4374c809014ac618d5b701752e6bb6b9a196fe8d

diff --git a/vcl/win/gdi/winlayout.cxx b/vcl/win/gdi/winlayout.cxx
index a5d810c..9cd70d0 100644
--- a/vcl/win/gdi/winlayout.cxx
+++ b/vcl/win/gdi/winlayout.cxx
@@ -425,6 +425,22 @@ bool WinFontInstance::AddChunkOfGlyphs(bool 
bRealGlyphIndices, int nGlyphIndex,
 
     pTxt->BindFont(hDC);
 
+    // Bail for vertical text.
+    {
+        wchar_t sFaceName[200];
+        int nFaceNameLen = GetTextFaceW(hDC, SAL_N_ELEMENTS(sFaceName), 
sFaceName);
+        SelectObject(hDC, hOrigFont);
+        DeleteDC(hDC);
+
+        if (!nFaceNameLen)
+            SAL_WARN("vcl.gdi", "GetTextFace failed: " << 
WindowsErrorString(GetLastError()));
+
+        if (sFaceName[0] == '@')
+        {
+            pTxt->ReleaseFont();
+            return false;
+        }
+    }
     // Fetch the ink boxes and calculate the size of the atlas.
     if (!bRealGlyphIndices)
     {
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to