バーコードのフォントを設定し、 BarcodeのcalculateSize()メソッドを上書きする Grails でこの問題を修正しました。
private Dimension calculateSize(){
Dimension d = new Dimension();
if(EnvironmentFactory.getEnvironment() instanceof HeadlessEnvironment)
try
{
if(font == null)
{
d = draw(new SizingOutput(font, getForeground(), getBackground()), 0, 0, barWidth, barHeight);
} else
{
java.awt.FontMetrics fontMetrics = getFontMetrics(font);
d = draw(new SizingOutput(font, fontMetrics, getForeground(), getBackground()), 0, 0, barWidth, barHeight);
}
}
catch(OutputException e)
{
e.printStackTrace();
}
else
try
{
java.awt.FontMetrics fontMetrics = null;
if(font != null)
fontMetrics = getFontMetrics(font);
d = draw(new SizingOutput(font, fontMetrics, getForeground(), getBackground()), 0, 0, barWidth, barHeight);
}
catch(OutputException e) { }
return d;
}
sourceforge のこのスレッドは、この問題をさらに明らかにすることができます。