Jean-François ROLLAND created FOP-2665: ------------------------------------------
Summary: Bug when using the bold version of an otf font - maybe bad fullName computation in OTFFile Key: FOP-2665 URL: https://issues.apache.org/jira/browse/FOP-2665 Project: FOP Issue Type: Bug Components: unqualified Affects Versions: 2.1 Environment: Windows 7 Service Pack 1, jdk1.7.0_40, fop-2.1, fontbox-1.8.12 Reporter: Jean-François ROLLAND Fix For: 2.1 Overview I get this message when using the bold version of Noto Sans CJK JP : Font "Noto Sans CJK JP,normal,700" not found. Substituting with "Noto Sans CJK JP,normal,400". Steps to reproduce 1. Use this xconf : <fop version="1.0"> <use-cache>false</use-cache> <renderers> <renderer mime="application/pdf"> <fonts> <!-- register all the fonts found in a directory --> <directory recursive="true">path to font directory</directory> </fonts> </renderer> </renderers> </fop> 2. Set a valid path for "path to font directory", and set there the Noto Sans CJK JP fonts, that you can get from there : https://noto-website-2.storage.googleapis.com/pkgs/NotoSansCJKjp-hinted.zip 3. Use the code from this page : https://xmlgraphics.apache.org/fop/2.1/embedding.html 4. Use this "myfile.fo" as input : <?xml version="1.0" encoding="ISO-8859-1"?> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> <!-- defines the layout master --> <fo:layout-master-set> <fo:simple-page-master master-name="first" page-height="29.7cm" page-width="21cm" margin-top="1cm" margin-bottom="2cm" margin-left="2.5cm" margin-right="2.5cm"> <fo:region-body margin-top="1cm"/> <fo:region-before extent="1cm"/> <fo:region-after extent="1.5cm"/> </fo:simple-page-master> </fo:layout-master-set> <!-- starts actual layout --> <fo:page-sequence master-reference="first"> <fo:flow flow-name="xsl-region-body"> <fo:block font-family="Noto Sans CJK JP" font-size="12pt" font-weight="bold"> Some special characters: </fo:block> </fo:flow> </fo:page-sequence> </fo:root> Actual Results: I get this message : Font "Noto Sans CJK JP,normal,700" not found. Substituting with "Noto Sans CJK JP,normal,400". And my text in the generated pdf is not bold. Expected Results: The message should not appear, and the text in the generated pdf should be bold. Additional Information: If I change the OTFFile.readName() method with this code: @Override protected void readName() throws IOException { Object familyName = fileFont.getProperty("FamilyName"); if (familyName != null && !familyName.equals("")) { familyNames.add(familyName.toString()); fullName = fileFont.getName(); } else { fullName = fileFont.getName(); familyNames.add(fullName); } } More precisely : I replace fullName = familyName.toString(); by fullName = fileFont.getName(); it solves the bug. -- This message was sent by Atlassian JIRA (v6.3.4#6332)