private boolean isBold(PDFontDescriptor descriptor) { if (descriptor.isForceBold()) { return true; } return descriptor.getFontName().contains("Bold"); }
@Override public boolean isForceBold() { return descriptor.isForceBold(); }
@Override Object[][] getFlagBits() { PDFontDescriptor fontDesc = new PDFontDescriptor(fontDescriptor); return new Object[][]{ new Object[]{1, "FixedPitch", fontDesc.isFixedPitch()}, new Object[]{2, "Serif", fontDesc.isSerif()}, new Object[]{3, "Symbolic", fontDesc.isSymbolic()}, new Object[]{4, "Script", fontDesc.isScript()}, new Object[]{6, "NonSymbolic", fontDesc.isNonSymbolic()}, new Object[]{7, "Italic", fontDesc.isItalic()}, new Object[]{17, "AllCap", fontDesc.isAllCap()}, new Object[]{18, "SmallCap", fontDesc.isSmallCap()}, new Object[]{19, "ForceBold", fontDesc.isForceBold()} }; } }
private boolean isBold(PDFontDescriptor descriptor) { if (descriptor.isForceBold()) { return true; } return descriptor.getFontName().contains("Bold"); }
/** * Checks if is bold. * * @param font * the font * @param graphicsState * the graphics state * @return true, if is bold */ private static boolean isBold(PDFont font, PDGraphicsState graphicsState) { String lowerCaseName = font.getName().toLowerCase(Locale.ROOT); boolean boldName = lowerCaseName.contains("black") || lowerCaseName.contains("bold") || lowerCaseName.contains("heavy"); PDFontDescriptor fontDescriptor = font.getFontDescriptor(); boolean forceBold = fontDescriptor.isForceBold(); boolean boldWeight = fontDescriptor.getFontWeight() >= 700; PDTextState textState = graphicsState.getTextState(); RenderingMode renderingMode = textState.getRenderingMode(); boolean boldLineStroke = graphicsState.getLineWidth() > 1.0f && renderingMode.isStroke(); return forceBold || boldWeight || boldLineStroke || boldName; }