Author: kiwiwings
Date: Mon Jul 31 12:25:23 2017
New Revision: 1803528

URL: http://svn.apache.org/viewvc?rev=1803528&view=rev
Log:
Fix further Windows JVM 6 font rendering errors - OOM and 
EXCEPTION_ACCESS_VIOLATION

Modified:
    poi/trunk/src/java/org/apache/poi/sl/draw/DrawFactory.java
    poi/trunk/src/java/org/apache/poi/sl/draw/DrawTextParagraph.java
    poi/trunk/src/java/org/apache/poi/util/JvmBugs.java

Modified: poi/trunk/src/java/org/apache/poi/sl/draw/DrawFactory.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/sl/draw/DrawFactory.java?rev=1803528&r1=1803527&r2=1803528&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/sl/draw/DrawFactory.java (original)
+++ poi/trunk/src/java/org/apache/poi/sl/draw/DrawFactory.java Mon Jul 31 
12:25:23 2017
@@ -228,7 +228,12 @@ public class DrawFactory {
             graphics.setRenderingHint(Drawable.FONT_MAP, fontMap);
         }
         
-        String fonts[][] = { { "Calibri", "Lucida Sans" }, { "Cambria", 
"Lucida Bright" } };
+        String fonts[][] = {
+            { "Calibri", "Lucida Sans" },
+            { "Cambria", "Lucida Bright" },
+            { "Times New Roman", "Lucida Bright" },
+            { "serif", "Lucida Bright" }
+        };
 
         for (String f[] : fonts) {
             if (!fontMap.containsKey(f[0])) {

Modified: poi/trunk/src/java/org/apache/poi/sl/draw/DrawTextParagraph.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/sl/draw/DrawTextParagraph.java?rev=1803528&r1=1803527&r2=1803528&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/sl/draw/DrawTextParagraph.java (original)
+++ poi/trunk/src/java/org/apache/poi/sl/draw/DrawTextParagraph.java Mon Jul 31 
12:25:23 2017
@@ -254,6 +254,7 @@ public class DrawTextParagraph implement
         lines.clear();
 
         DrawFactory fact = DrawFactory.getInstance(graphics);
+        fact.fixFonts(graphics);
         StringBuilder text = new StringBuilder();
         AttributedString at = getAttributedString(graphics, text);
         boolean emptyParagraph = ("".equals(text.toString().trim()));

Modified: poi/trunk/src/java/org/apache/poi/util/JvmBugs.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/util/JvmBugs.java?rev=1803528&r1=1803527&r2=1803528&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/util/JvmBugs.java (original)
+++ poi/trunk/src/java/org/apache/poi/util/JvmBugs.java Mon Jul 31 12:25:23 2017
@@ -25,7 +25,7 @@ public class JvmBugs {
      * The LineBreakMeasurer is used for calculating text bounds.
      * The last official JDK 6 version (1.6.0_45) and also JDK 7 (1.7.0_21)
      * for Windows are affected. For JDK 7 - update to a more recent version.
-     * For JDK 6 - replace the fontmanager.dll with the previous release.
+     * For JDK 6 - replace the fontmanager.dll with the previous release 
(1.6.0_43).
      * 
      * For performance reasons, this method only checks for a windows jvm
      * with version 1.6.0_45 and 1.7.0_21.
@@ -40,6 +40,7 @@ public class JvmBugs {
      * @see <a 
href="http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ss/usermodel/BaseTestSheetAutosizeColumn.java?view=markup";>Workaround
 for XSSF and HSSF</a>
      * @see <a 
href="https://issues.apache.org/bugzilla/show_bug.cgi?id=54904";>POI Bug 
#54904</a>
      * @see <a href="http://bugs.java.com/view_bug.do?bug_id=6501991";>JDK Bug 
#6501991</a>
+     * @see <a href="http://bugs.java.com/view_bug.do?bug_id=8013716";>JDK Bug 
#8013716</a>
      * @see <a 
href="https://bitbucket.org/fakraemer/line-break-measurer-test";>LineBreakMeasurerTest</a>
      */
     public static boolean hasLineBreakMeasurerBug() {



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to