JAL-1654 allow font to be specified without modifying column width
[jalview.git] / src / jalview / gui / AlignViewport.java
index c4ac828..feeb694 100644 (file)
@@ -275,7 +275,7 @@ public class AlignViewport extends AlignmentViewport implements
       style = 2;
     }
 
-    setFont(new Font(fontName, style, Integer.parseInt(fontSize)));
+    setFont(new Font(fontName, style, Integer.parseInt(fontSize)), true);
 
     alignment
             .setGapCharacter(Cache.getDefault("GAP_SYMBOL", "-").charAt(0));
@@ -468,8 +468,11 @@ public class AlignViewport extends AlignmentViewport implements
   /**
    * update view settings with the given font. You may need to call
    * alignPanel.fontChanged to update the layout geometry
+   * 
+   * @param setGrid
+   *          when true, charWidth/height is set according to font mentrics
    */
-  public void setFont(Font f)
+  public void setFont(Font f, boolean setGrid)
   {
     font = f;
 
@@ -478,8 +481,11 @@ public class AlignViewport extends AlignmentViewport implements
     java.awt.FontMetrics fm = c.getFontMetrics(font);
     int w = viewStyle.getCharWidth(), ww = fm.charWidth('M'), h = viewStyle
             .getCharHeight();
-    setCharHeight(fm.getHeight());
-    setCharWidth(ww);
+    if (setGrid)
+    {
+      setCharHeight(fm.getHeight());
+      setCharWidth(ww);
+    }
     viewStyle.setFontName(font.getName());
     viewStyle.setFontStyle(font.getStyle());
     viewStyle.setFontSize(font.getSize());
@@ -492,7 +498,7 @@ public class AlignViewport extends AlignmentViewport implements
   {
     super.setViewStyle(settingsForView);
     setFont(new Font(viewStyle.getFontName(), viewStyle.getFontStyle(),
-            viewStyle.getFontSize()));
+            viewStyle.getFontSize()), false);
 
   }
   /**