]> source.dussan.org Git - poi.git/commitdiff
Bug 66632: Round char-width instead of cutting off
authorDominik Stadler <centic@apache.org>
Thu, 8 Jun 2023 08:53:15 +0000 (08:53 +0000)
committerDominik Stadler <centic@apache.org>
Thu, 8 Jun 2023 08:53:15 +0000 (08:53 +0000)
Otherwise we sometimes use a too low "default char width"
which leads to autosizing of columns with too wide columns.

We should propably return float instead of int here to
not introduce rounding errors at this point at all,
but it would need more API changes, so let's at least
make it work better for now.

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1910301 13f79535-47bb-0310-9956-ffa450edef68

poi/src/main/java/org/apache/poi/ss/util/SheetUtil.java

index 62d4cab315dc6fec0c0034b7cab9491fad8a146e..2ced5742b70c1a74c89d0beee87609a5029bbf24 100644 (file)
@@ -299,7 +299,7 @@ public class SheetUtil {
         copyAttributes(defaultFont, str, 0, 1);
         try {
             TextLayout layout = new TextLayout(str.getIterator(), fontRenderContext);
-            return (int) layout.getAdvance();
+            return Math.round(layout.getAdvance());
         } catch (UnsatisfiedLinkError | NoClassDefFoundError | InternalError e) {
             if (ignoreMissingFontSystem) {
                 return DEFAULT_CHAR_WIDTH;