Browse Source

Merge pull request #318 in CORE/base-third from ~HUGH.C/base-third:bugfix/10.0 to bugfix/10.0

* commit '72ee15206300064f37b2217c41b30849d5cb1066':
  REPORT-24915 REPORT-24809 PDF导出粗体字体过粗;html显示 数据导出pdf没有加粗
bugfix/10.0
neil 5 years ago
parent
commit
756220ecdc
  1. 14
      fine-itext-old/src/com/fr/third/com/lowagie/text/pdf/PdfGraphics2D.java

14
fine-itext-old/src/com/fr/third/com/lowagie/text/pdf/PdfGraphics2D.java

@ -382,7 +382,10 @@ public class PdfGraphics2D extends Graphics2D {
// value. When they are the same value then we are normally dealing // value. When they are the same value then we are normally dealing
// with a single font that has been made into an italic or bold // with a single font that has been made into an italic or bold
// font. // font.
if (font.isItalic() && font.getFontName().equals(font.getName())) { if (font.isItalic())
//awt.font只要样式,不验证是否安装,真实绘制的字体是 baseFont
// && font.getFontName().equals(font.getName()))
{
float angle = baseFont.getFontDescriptor(BaseFont.ITALICANGLE, 1000); float angle = baseFont.getFontDescriptor(BaseFont.ITALICANGLE, 1000);
float angle2 = font.getItalicAngle(); float angle2 = font.getItalicAngle();
// We don't have an italic version of this font so we need // We don't have an italic version of this font so we need
@ -419,10 +422,13 @@ public class PdfGraphics2D extends Graphics2D {
weight = (font.isBold()) ? TextAttribute.WEIGHT_BOLD weight = (font.isBold()) ? TextAttribute.WEIGHT_BOLD
: TextAttribute.WEIGHT_REGULAR; : TextAttribute.WEIGHT_REGULAR;
} }
if ((font.isBold() || (weight.floatValue() >= TextAttribute.WEIGHT_SEMIBOLD.floatValue())) if ((font.isBold() || (weight.floatValue() >= TextAttribute.WEIGHT_SEMIBOLD.floatValue())))
&& (font.getFontName().equals(font.getName()))) { //awt.font只要样式,不验证是否安装,真实绘制的字体是 baseFont
// && (font.getFontName().equals(font.getName())))
{
// Simulate a bold font. // Simulate a bold font.
float strokeWidth = font.getSize2D() * (weight.floatValue() - TextAttribute.WEIGHT_REGULAR.floatValue()) / 30f; // 30有点粗 ,换成40
float strokeWidth = font.getSize2D() * (weight.floatValue() - TextAttribute.WEIGHT_REGULAR.floatValue()) / 40f;
if (strokeWidth != 1) { if (strokeWidth != 1) {
if(realPaint instanceof Color){ if(realPaint instanceof Color){
cb.setTextRenderingMode(PdfContentByte.TEXT_RENDER_MODE_FILL_STROKE); cb.setTextRenderingMode(PdfContentByte.TEXT_RENDER_MODE_FILL_STROKE);

Loading…
Cancel
Save