Шрифт недоступен для JVM с Jasper Reports

Я пытаюсь создать отчет с помощью DynamicJasper, но получаю следующую ошибку:

net.sf.jasperreports.engine.util.JRFontNotFoundException:  
                                 Font 'Arial' is not available to the JVM.   

msttcorefonts установлен, но я предполагаю, что JVM не использует шрифты из него.

Я использую Ubuntu 10.04. size.Width = size.Width * 1.21f; уклониться от переноса слов в DrawString ()? Мне нужно решение, чтобы получить точный результат. Тот же шрифт, такой же ...

зачем мне увеличивать ширину результата MeasureString () на 21% size.Width = size.Width * 1.21f; чтобы избежать переноса слов в DrawString () ?

Мне нужно решение для получения точного результата.

Тот же шрифт, тот же формат строки, тот же текст, используемый в обеих функциях.


Из ответа автора OP:

  SizeF size = graphics.MeasureString(element.Currency, Currencyfont, new PointF(0, 0), strFormatLeft);
  size.Width = size.Width * 1.21f;
  int freespace = rect.Width - (int)size.Width;
  if (freespace < ImageSize) { if (freespace > 0) ImageSize = freespace; else ImageSize = 0; }
  int FlagY = y + (CurrencySize - ImageSize) / 2;
  int FlagX = (freespace - ImageSize) / 2;
  graphics.DrawImage(GetResourseImage(@"Flags." + element.Flag.ToUpper() + ".png"), 
         new Rectangle(FlagX, FlagY, ImageSize, ImageSize));
  graphics.DrawString(element.Currency, Currencyfont, Brushes.Black, 
       new Rectangle(FlagX + ImageSize, rect.Y, (int)(size.Width), CurrencySize), strFormatLeft);

Мой код.

9
задан Henk Holterman 28 September 2010 в 11:31
поделиться