diff --git a/src/main/java/com/rackspace/cloud/api/docs/PDFMojo.java b/src/main/java/com/rackspace/cloud/api/docs/PDFMojo.java index 2edd37d..3423139 100644 --- a/src/main/java/com/rackspace/cloud/api/docs/PDFMojo.java +++ b/src/main/java/com/rackspace/cloud/api/docs/PDFMojo.java @@ -228,11 +228,24 @@ public abstract class PDFMojo extends AbstractFoMojo { private String draftStatus; /** - * - * - * @parameter expression="${generate-webhelp.draft.status}" default-value="" + * @parameter expression="${generate-pdf.statusBarText}" */ private String statusBarText; + + /** + * @parameter expression="${generate-pdf.bodyFont}" + */ + private String bodyFont; + + /** + * @parameter expression="${generate-pdf.monospaceFont}" + */ + private String monospaceFont; + + /** + * @parameter expression="${generate-pdf.localFontPath}" + */ + private String localFontPath; protected void setImageDirectory (File imageDirectory) { this.imageDirectory = imageDirectory; @@ -365,7 +378,7 @@ public abstract class PDFMojo extends AbstractFoMojo { protected Configuration loadFOPConfig() throws MojoExecutionException { System.out.println ("At load config"); - File fontPath = new File(getTargetDirectory().getParentFile(), "fonts"); + File fontPath = (null != localFontPath && localFontPath != "")?new File(localFontPath):new File(getTargetDirectory().getParentFile(), "fonts"); StringTemplateGroup templateGroup = new StringTemplateGroup("fonts", fontPath.getAbsolutePath()); StringTemplate template = templateGroup.getInstanceOf("fontconfig"); DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder(); @@ -435,8 +448,16 @@ public abstract class PDFMojo extends AbstractFoMojo { if(null!=sysStatusBarText && !sysStatusBarText.isEmpty()){ statusBarText=sysStatusBarText; } - transformer.setParameter("statusBarText", statusBarText); - + if(statusBarText != null){ + transformer.setParameter("statusBarText", statusBarText); + } + if(bodyFont != null){ + transformer.setParameter("bodyFont", bodyFont); + } + if(monospaceFont != null){ + transformer.setParameter("monospaceFont", monospaceFont); + } + transformer.setParameter("project.build.directory", projectBuildDirectory.toURI().toString()); String sysSecurity=System.getProperty("security"); @@ -561,6 +582,8 @@ public abstract class PDFMojo extends AbstractFoMojo { map.put("outputType", "pdf"); map.put("strictImageValidation", String.valueOf(this.strictImageValidation)); map.put("status.bar.text", getProperty("statusBarText")); + map.put("bodyFont", getProperty("bodyFont")); + map.put("monospaceFont", getProperty("monospaceFont")); map.put("draft.status", getProperty("draftStatus")); // Profiling attrs: diff --git a/src/main/java/com/rackspace/cloud/api/docs/WebHelpMojo.java b/src/main/java/com/rackspace/cloud/api/docs/WebHelpMojo.java index 54969c9..ff92961 100644 --- a/src/main/java/com/rackspace/cloud/api/docs/WebHelpMojo.java +++ b/src/main/java/com/rackspace/cloud/api/docs/WebHelpMojo.java @@ -411,7 +411,24 @@ public abstract class WebHelpMojo extends AbstractWebhelpMojo { * @parameter expression="${generate-webhelp.draft.status}" default-value="" */ private String statusBarText; + + /** + * + * @parameter expression="${generate-webhelp.bodyFont}" + */ + private String bodyFont; + /** + * + * @parameter expression="${generate-webhelp.monospaceFont}" + */ + private String monospaceFont; + + /** + * + * @parameter expression="${generate-webhelp.localFontPath}" + */ + private String localFontPath; /** * DOCUMENT ME! @@ -520,7 +537,6 @@ public abstract class WebHelpMojo extends AbstractWebhelpMojo { transformer.setParameter("legal.notice.url", legalNoticeUrl); } - String sysWebhelpWar=System.getProperty("webhelp.war"); if(null!=sysWebhelpWar && !sysWebhelpWar.isEmpty()){ webhelpWar=sysWebhelpWar; @@ -548,6 +564,13 @@ public abstract class WebHelpMojo extends AbstractWebhelpMojo { if(null != statusBarText){ transformer.setParameter("status.bar.text", statusBarText); } + if(null != bodyFont){ + transformer.setParameter("bodyFont", bodyFont); + } + if(null != monospaceFont){ + transformer.setParameter("monospaceFont", monospaceFont); + } + if(canonicalUrlBase != null){ transformer.setParameter("canonical.url.base",canonicalUrlBase); @@ -795,6 +818,8 @@ public abstract class WebHelpMojo extends AbstractWebhelpMojo { map.put("strictImageValidation", String.valueOf(this.strictImageValidation)); map.put("trim.wadl.uri.count", this.trimWadlUriCount); map.put("status.bar.text", getProperty("statusBarText")); + map.put("bodyFont", getProperty("bodyFont")); + map.put("monospaceFont", getProperty("monospaceFont")); map.put("draft.status", getProperty("draftStatus")); // Profiling attrs: @@ -903,6 +928,9 @@ public abstract class WebHelpMojo extends AbstractWebhelpMojo { pdfBuilder.setSecurity(security); pdfBuilder.setDraftStatus(draftStatus); pdfBuilder.setStatusBarText(statusBarText); + pdfBuilder.setBodyFont(bodyFont); + pdfBuilder.setMonospaceFont(monospaceFont); + pdfBuilder.setLocalFontPath(localFontPath); pdfBuilder.setTrimWadlUriCount(trimWadlUriCount); pdfBuilder.setComputeWadlPathFromDocbookPath(computeWadlPathFromDocbookPath); diff --git a/src/main/java/com/rackspace/cloud/api/docs/builders/PDFBuilder.java b/src/main/java/com/rackspace/cloud/api/docs/builders/PDFBuilder.java index 9b300c3..4c6508f 100644 --- a/src/main/java/com/rackspace/cloud/api/docs/builders/PDFBuilder.java +++ b/src/main/java/com/rackspace/cloud/api/docs/builders/PDFBuilder.java @@ -126,6 +126,9 @@ public class PDFBuilder { private String draftStatus; private String statusBarText; + private String bodyFont; + private String monospaceFont; + private String localFontPath; private String trimWadlUriCount; private String computeWadlPathFromDocbookPath; private String pdfFilenameBase; @@ -427,6 +430,13 @@ public class PDFBuilder { if(null != statusBarText){ transformer.setParameter("status.bar.text", statusBarText); } + if(null != bodyFont){ + transformer.setParameter("bodyFont", bodyFont); + } + if(null != monospaceFont){ + transformer.setParameter("monospaceFont", monospaceFont); + } + if(trimWadlUriCount != null){ transformer.setParameter("trim.wadl.uri.count",trimWadlUriCount); } @@ -506,7 +516,7 @@ public class PDFBuilder { } protected Configuration loadFOPConfig() throws MojoExecutionException { - String fontPath = (new File(getAutopdfTargetDirectory().getParentFile(), "fonts")).getAbsolutePath(); + String fontPath = (null != localFontPath && localFontPath != "") ? localFontPath : (new File(getAutopdfTargetDirectory().getParentFile(), "fonts")).getAbsolutePath(); StringTemplateGroup templateGroup = new StringTemplateGroup("fonts", fontPath); StringTemplate template = templateGroup.getInstanceOf("fontconfig"); DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder(); @@ -764,6 +774,29 @@ public class PDFBuilder { this.statusBarText = statusBarText; } + public void setBodyFont(String bodyFont) { + this.bodyFont = bodyFont; + } + + public String getBodyFont() { + return bodyFont; + } + + public void setMonospaceFont(String monospaceFont) { + this.monospaceFont = monospaceFont; + } + + public String getMonospaceFont() { + return monospaceFont; + } + + public void setLocalFontPath(String localFontPath) { + this.localFontPath = localFontPath; + } + + public String getLocalFontPath() { + return localFontPath; + } public String getTrimWadlUriCount() { return trimWadlUriCount; diff --git a/src/main/resources/cloud/fo/docbook.xsl b/src/main/resources/cloud/fo/docbook.xsl index 0630e8a..109ce5a 100644 --- a/src/main/resources/cloud/fo/docbook.xsl +++ b/src/main/resources/cloud/fo/docbook.xsl @@ -28,7 +28,9 @@ - + + + AR-PL-New-Sung TakaoGothic @@ -38,6 +40,7 @@ + AR-PL-New-Sung TakaoGothic monospace @@ -183,7 +186,7 @@ set toc,title - + - + 10.5pt - + rgb(196,0,34) rgb(196,0,34) - + - + - + rgb(176,0,14) - + rgb(196,0,34) - +