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]