Instead of a partial match for the name you could compile a list of all the names of the bold variants of your fonts, and then compare the font name to that list.
On Mon, Mar 18, 2019 at 11:13 AM Hesham Gneady <[email protected]> wrote: > Hello , > > > > I am trying to extract the bold text for some PDF files, but some fail like > this one: > > https://www.dropbox.com/s/gh2zwdh3sl3isck/Bold%20Font%20Sample.pdf?dl=0 > > > > I am overriding the processTextPosition (.) method to do this, and i have > tried all these options, but none has worked for me: > > 1. if( > text.getFont().getFontDescriptor().getFontName().toLowerCase().contains( > "bold" ) ) {.} // returns false. > 2. if( text.getFont().getName().toLowerCase().contains( "bold" ) {.} > // returns false. > 3. System.out.println( > text.getFont().getFontDescriptor().getFontWeight() ); // returns 0.0. > 4. System.out.println( getGraphicsState().getLineWidth() ); // > returns > 1.0. > 5. System.out.println( > getGraphicsState().getTextState().getRenderingMode() ); // returns FILL > > > > Note: The font name for the bold text in the PDF file is > "frutigernextlt-heavycn". It has the word "heavy". I could detect it this > way, but I think this is not a right procedure, as I have other PDF files > with font names that have the "heavy" word while they're not bold. > > > > Best regards, > > Hesham > > > > > > > > > > > > --- > This email has been checked for viruses by Avast antivirus software. > https://www.avast.com/antivirus >

