Skip to content

Commit

Permalink
Fix bug: OS-495 Pictures not included on PDF export.
Browse files Browse the repository at this point in the history
FOP 2.x issue with URI standard - All base.xml.ftl sheets updated to use freemarker conversion utility to proper URI standard.
  • Loading branch information
LegacyKing committed Sep 15, 2017
1 parent 18cd908 commit 5cb3e43
Show file tree
Hide file tree
Showing 19 changed files with 156 additions and 242 deletions.
4 changes: 2 additions & 2 deletions outputsheets/base.xml.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -177,8 +177,8 @@
<trait>${pcstring('PERSONALITY2')}</trait>
</personality>
<portrait>
<portrait>${pcstring('PORTRAIT')}</portrait>
<portrait_thumb>${pcstring('PORTRAIT.THUMB')}</portrait_thumb>
<portrait>${pcstring('PORTRAIT')?url_path('utf-8')}</portrait>
<portrait_thumb>${pcstring('PORTRAIT.THUMB')?url_path('utf-8')}</portrait_thumb>
</portrait>
<phobias>${pcstring('PHOBIAS')}</phobias>
<#if (pcstring("ABILITYALL.ANY.0.TYPE=RaceName.HASASPECT.RaceName") = "Y")>
Expand Down
4 changes: 2 additions & 2 deletions outputsheets/d20/5e/htmlxml/csheet_5e_xml_generic.html.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -159,8 +159,8 @@
<trait>${pcstring('PERSONALITY2')}</trait>
</personality>
<portrait>
<portrait>${pcstring('PORTRAIT')}</portrait>
<portrait_thumb>${pcstring('PORTRAIT.THUMB')}</portrait_thumb>
<portrait>${pcstring('PORTRAIT')?url_path('utf-8')}</portrait>
<portrait_thumb>${pcstring('PORTRAIT.THUMB')?url_path('utf-8')}</portrait_thumb>
</portrait>
<phobias>${pcstring('PHOBIAS')}</phobias>
<#if (pcstring("ABILITYALL.ANY.0.TYPE=RaceName.HASASPECT.RaceName") = "Y")>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,8 @@
<trait>${pcstring('PERSONALITY2')}</trait>
</personality>
<portrait>
<portrait>${pcstring('PORTRAIT')}</portrait>
<portrait_thumb>${pcstring('PORTRAIT.THUMB')}</portrait_thumb>
<portrait>${pcstring('PORTRAIT')?url_path('utf-8')}</portrait>
<portrait_thumb>${pcstring('PORTRAIT.THUMB')?url_path('utf-8')}</portrait_thumb>
</portrait>
<phobias>${pcstring('PHOBIAS')}</phobias>
<#if (pcstring("ABILITYALL.ANY.0.TYPE=RaceName.HASASPECT.RaceName") = "Y")>
Expand Down
114 changes: 12 additions & 102 deletions outputsheets/d20/starfinder/htmlxml/csheet_fantasy_std.htm.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -605,101 +605,7 @@ Wisdom
<td align="center" class="font7"><b>+</b></td>
<td align="center" class="tempborder"><br /></td>
</tr>
<#if (pcvar("UseCombatManueverBonus") = 1)>
<tr>
<td align="center" bgcolor="black"><font style="font-size:10pt" color="white"><b>CMB</b></font><font style="font-size:5pt" color="white"><br />ATTACK BONUS</font></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB.INTVAL.SIGN')}</b></td>
<td align="center" class="font7"><b>=</b></td>
<td align="center" class="border10"><b>${pcstring('ATTACK.MELEE.BASE')}<br /></b></td>
<td align="center" class="font7"><b>+</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_STAT.INTVAL.SIGN')}</b></td>
<td align="center" class="font7"><b>+</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CM_SizeMod.INTVAL.SIGN')}<br /></b></td>
<td align="center" class="font7"><b>+</b></td>
<td align="center" class="border10 epic"><b>+0<br /></b></td>
<td align="center" class="font7 epic"><b>+</b></td>
<td align="center" class="border10"><b>+0<br /></b></td>
<td align="center" class="font7"><b>+</b></td>
<td align="center" class="tempborder"><br /></td>
</tr>
</table>
<table width="100%" summary="CMB block">
<#if (pcvar("CMD") > 0)>
<tr>
<td align="center" bgcolor="black"><font style="font-size:10pt" color="white"><b>CMB</b></font></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Grapple.INTVAL.SIGN')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Trip.INTVAL.SIGN')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Disarm.INTVAL.SIGN')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Sunder.INTVAL.SIGN')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_BullRush.INTVAL.SIGN')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Overrun.INTVAL.SIGN')}</b></td>
</tr>
<tr>
<td align="center" bgcolor="black"><font style="font-size:10pt" color="white"><b>CMD</b></font></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMD_Grapple.INTVAL')}</b></td>
<td align="center" class="border10"><b>
<#if (pcvar("CantBeTripped") != 0)>
Immune
<#else>
${pcstring('VAR.CMD_Trip.INTVAL')}
</#if>
</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMD_Disarm.INTVAL')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMD_Sunder.INTVAL')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMD_BullRush.INTVAL')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMD_Overrun.INTVAL')}</b></td>
</tr>
<#else>
<tr>
<td align="center" bgcolor="black"><font style="font-size:10pt" color="white"><b>OFFENSE</b></font></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Grapple.INTVAL.SIGN')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Trip.INTVAL.SIGN')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Disarm.INTVAL.SIGN')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Sunder.INTVAL.SIGN')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Bull.INTVAL.SIGN')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Overrun.INTVAL.SIGN')}</b></td>
</tr>
<tr>
<td align="center" bgcolor="black"><font style="font-size:10pt" color="white"><b>DEFENSE</b></font></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Grapple_DEF.INTVAL')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Trip_DEF.INTVAL')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Disarm_DEF.INTVAL')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Sunder_DEF.INTVAL')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Bull_DEF.INTVAL')}</b></td>
<td align="center" class="border10"><b>${pcstring('VAR.CMB_Overrun_DEF.INTVAL')}</b></td>
</tr>
</#if>
<tr>
<td align="center" width="28%"></td>
<td align="center" width="12%" valign="bottom" class="font6">GRAPPLE</td>
<td align="center" width="12%" valign="bottom" class="font6">TRIP</td>
<td align="center" width="12%" valign="bottom" class="font6">DISARM</td>
<td align="center" width="12%" valign="bottom" class="font6">SUNDER</td>
<td align="center" width="12%" valign="bottom" class="font6">BULL RUSH</td>
<td align="center" width="12%" valign="bottom" class="font6">OVERRUN</td>
</tr>
</table>
<br />
<#else>
<tr>
<td align="center" bgcolor="black"><font style="font-size:10pt" color="white"><b>GRAPPLE</b></font><font style="font-size:5pt" color="white"><br />ATTACK BONUS</font></td>
<td align="center" class="border10"><b>${pcstring('ATTACK.GRAPPLE.TOTAL')}</b></td>
<td align="center" class="font7"><b>=</b></td>
<td align="center" class="border10"><b>${pcstring('ATTACK.GRAPPLE')}<br /></b></td>
<td align="center" class="font7"><b>+</b></td>
<td align="center" class="border10"><b>${pcstring('ATTACK.GRAPPLE.STAT')}</b></td>
<td align="center" class="font7"><b>+</b></td>
<td align="center" class="border10"><b>${pcstring('ATTACK.GRAPPLE.SIZE')}<br /></b></td>
<td align="center" class="font7"><b>+</b></td>
<td align="center" class="border10 epic"><b>${pcstring('ATTACK.GRAPPLE.EPIC')}<br /></b></td>
<td align="center" class="font7 epic"><b>+</b></td>
<td align="center" class="border10"><b>${pcstring('ATTACK.GRAPPLE.MISC')}<br /></b></td>
<td align="center" class="font7"><b>+</b></td>
<td align="center" class="tempborder"><br /></td>
</tr>
<tr><td></td></tr>
</table>
</#if>
<table width="100%" summary="Saving Throws">
<tr>
<td align="left" valign="top" class="border8"><div class="font6">CONDITIONAL MODIFIERS:</div>
Expand Down Expand Up @@ -1695,17 +1601,21 @@ ${pcstring('FOLLOWERTYPE.FOLLOWERS.${follower}.NAME')},&nbsp;
</table>
<!-- STOP Language Table -->
<!-- Start Proficiency Table -->
<#if (pcstring("WEAPONPROFS") != "") >
<table width="100%" cellspacing="0" cellpadding="3" summary="Proficiency Table">
<tr>
<td bgcolor="black" align="center" colspan="1"><font color="white" style="font-size: small"><b>PROFICIENCIES</b></font></td>
</tr>
<!-- START Afflictions Table -->
<#if (pcvar('count("ABILITIES","CATEGORY=Proficiency","TYPE=Proficiency","VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY")') > 0)>
<table width="100%" cellspacing="0" cellpadding="2" summary="Proficiency">
<tr>
<td valign="top" width="100%" class="border8">${pcstring('WEAPONPROFS')}<br /></td>
<th bgcolor="black" align="center" class="ab" colspan="2"><b>Proficiencies</b></th>
</tr>
</table>
<!-- STOP Proficiency Table -->
<@loop from=0 to=pcvar('count("ABILITIES","CATEGORY=Proficiency","TYPE=Proficiency","VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY")-1') ; proficiency , proficiency_has_next>
<#if (proficiency % 2 = 0)><tr bgcolor="#DDDDDD"><#else><tr bgcolor="white"></#if>
<td valign="top" class="font8" width="70%"><b>${pcstring('ABILITYALL.Proficiency.VISIBLE.${proficiency}.TYPE=Proficiency')}</b></td>
<td valign="top" class="font8" width="30%" align="right">[${pcstring('ABILITYALL.Proficiency.VISIBLE.${proficiency}.TYPE=Proficiency.SOURCE')}]</td>
</@loop>
</table>
</#if>
<!-- STOP Proficiency Table -->

<!-- START Archetypes Table -->
<#if (pcvar('count("ABILITIES","CATEGORY=Archetype","TYPE=Archetype","VISIBILITY=DEFAULT[or]VISIBILITY=OUTPUT_ONLY")') > 0)>
<table width="100%" cellspacing="0" cellpadding="2" summary="Archetype Table">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,12 +90,6 @@
<fo:table-cell><fo:block/></fo:table-cell>

</fo:table-row>
<xsl:apply-templates select="grapple" mode="to_hit">
<xsl:with-param name="title" select="'GRAPPLE'"/>
</xsl:apply-templates>
<xsl:apply-templates select="cmb" mode="to_hit">
<xsl:with-param name="title" select="'CMB'"/>
</xsl:apply-templates>
</fo:table-body>
</fo:table>
<xsl:apply-templates select="cmb" mode="moves"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
<xsl:with-param name="RunningTotal" select="0"/>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="format-number($TotalValue, '##,##0.#')"/>gp
<xsl:value-of select="format-number($TotalValue, '##,##0.#')"/> cr
</fo:block>
</fo:table-cell>
</fo:table-row>
Expand Down Expand Up @@ -335,9 +335,9 @@
<xsl:with-param name="RunningTotal" select="0"/>
</xsl:call-template>
</xsl:variable>
Total= <xsl:value-of select="format-number($TotalValue, '##,##0.#')"/> gp
Total= <xsl:value-of select="format-number($TotalValue, '##,##0.#')"/> cr
<xsl:if test="misc/gold != 0">
[Unspent Funds = <xsl:value-of select="misc/gold"/> gp]
[Unspent Funds = <xsl:value-of select="misc/gold"/> cr]
</xsl:if>
</fo:block>
</fo:table-cell>
Expand Down
18 changes: 10 additions & 8 deletions outputsheets/d20/starfinder/pdf/common_sheet/block_misc.xslt
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,16 @@
TEMPLATE - WEAPON PROFICIENCIES
====================================
====================================-->
<xsl:template match="weapon_proficiencies">
<!-- BEGIN weapon_proficiencies Table -->
<xsl:call-template name="list">
<xsl:with-param name="attribute" select="'proficiencies'"/>
<xsl:with-param name="title" select="'Proficiencies'"/>
<xsl:with-param name="value" select="." />
</xsl:call-template>
<!-- END weapon_proficiencies Table -->
<xsl:template match="scr_proficiencies">
<xsl:if test="count(scr_proficiency) &gt; 0">
<xsl:call-template name="nosource.list">
<xsl:with-param name="attribute" select="'feats'" />
<xsl:with-param name="title" select="'Weapon Proficiencies'" />
<xsl:with-param name="list" select="scr_proficiency"/>
<xsl:with-param name="name.tag" select="'name'"/>
<xsl:with-param name="desc.tag" select="'description'"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<!--
====================================
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@
</xsl:call-template>
<fo:block>
<xsl:variable name="portrait_file" select="portrait/portrait_thumb"/>
<fo:external-graphic src="file:{$portrait_file}" content-width="22mm" content-height="scale-to-fit" scaling="uniform">
<fo:external-graphic src="file:/{$portrait_file}" content-width="22mm" content-height="scale-to-fit" scaling="uniform">
<xsl:attribute name="column-width"><xsl:value-of select="($pagePrintableWidth - 14) div 8" />mm</xsl:attribute>
</fo:external-graphic>
</fo:block>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@

<!-- For now, just make it 3 weapons max. -->

<xsl:value-of select="3"/>
<xsl:value-of select="4"/>
</xsl:template>


Expand Down
78 changes: 78 additions & 0 deletions outputsheets/d20/starfinder/pdf/fantasy_common.xsl
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,84 @@

<!--
====================================
====================================
TEMPLATE - No Source LIST
====================================
====================================-->
<xsl:template name="nosource.list">
<xsl:param name="attribute"/>
<xsl:param name="title" />
<xsl:param name="list" />
<xsl:param name="name.tag" />
<xsl:param name="desc.tag" select="''" />
<xsl:param name="benefit.tag" select="''" />

<fo:table table-layout="fixed" width="100%" space-before="2mm" border-collapse="collapse">
<xsl:call-template name="attrib"><xsl:with-param name="attribute" select="concat($attribute, '.border')"/></xsl:call-template>
<fo:table-column>
<xsl:attribute name="column-width"><xsl:value-of select="($pagePrintableWidth - 2) div 6" />mm</xsl:attribute>
</fo:table-column>
<fo:table-column>
<xsl:attribute name="column-width"><xsl:value-of select="($pagePrintableWidth - 2) div 6" />mm</xsl:attribute>
</fo:table-column>
<fo:table-column>
<xsl:attribute name="column-width"><xsl:value-of select="($pagePrintableWidth - 2) div 6" />mm</xsl:attribute>
</fo:table-column>
<fo:table-body>
<fo:table-row keep-with-next.within-column="always">
<fo:table-cell padding-top="1pt" number-columns-spanned="3">
<xsl:call-template name="attrib"><xsl:with-param name="attribute" select="concat($attribute, '.title')"/></xsl:call-template>
<fo:block font-size="9pt"><xsl:value-of select="$title"/></fo:block>
</fo:table-cell>
</fo:table-row>
<xsl:for-each select="$list">
<xsl:variable name="shade">
<xsl:choose>
<xsl:when test="position() mod 2 = 0">darkline</xsl:when>
<xsl:otherwise>lightline</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="string-length(./*[name()=$name.tag]) &gt; 1">
<fo:table-row> <!-- keep-with-next.within-column="always" -->
<xsl:call-template name="attrib"><xsl:with-param name="attribute" select="concat($attribute, '.', $shade)"/></xsl:call-template>
<fo:table-cell number-columns-spanned="3" padding="0pt">
<xsl:call-template name="attrib"><xsl:with-param name="attribute" select="concat($attribute, '.', $shade)"/></xsl:call-template>
<fo:block font-size="7pt" font-weight="bold"><xsl:value-of select="./*[name()=$name.tag]"/></fo:block>
</fo:table-cell>
</fo:table-row>

<xsl:if test="$desc.tag!=''">
<fo:table-row> <!-- keep-with-next.within-column="always" -->
<xsl:call-template name="attrib"><xsl:with-param name="attribute" select="concat($attribute, '.', $shade)"/></xsl:call-template>
<fo:table-cell padding="1pt" number-columns-spanned="3">
<fo:block font-size="7pt" text-align="justify" text-indent="5pt">
<xsl:call-template name="paragraghlist">
<xsl:with-param name="tag" select="$desc.tag"/>
</xsl:call-template>
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:if>

<xsl:if test="$benefit.tag!=''">
<fo:table-row> <!-- keep-with-next.within-column="always" -->
<xsl:call-template name="attrib"><xsl:with-param name="attribute" select="concat($attribute, '.', $shade)"/></xsl:call-template>
<fo:table-cell padding="1pt" number-columns-spanned="3">
<fo:block font-size="7pt" text-align="justify" text-indent="5pt">
<xsl:call-template name="paragraghlist">
<xsl:with-param name="tag" select="$benefit.tag"/>
</xsl:call-template>
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:if>
</xsl:if>
</xsl:for-each>
</fo:table-body>
</fo:table>
</xsl:template>
<!--
====================================
====================================
TEMPLATE - EQUIPMENT_LIST_TO_TREE
====================================
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,7 @@
<xsl:apply-templates select="pfs_boons"/>

<xsl:apply-templates select="domains"/>
<xsl:apply-templates select="weapon_proficiencies"/>
<xsl:apply-templates select="scr_proficiencies"/>
<!--> <xsl:apply-templates select="proficiency_specials"/>-->
<xsl:apply-templates select="templates"/>
<xsl:apply-templates select="tempbonuses"/>
Expand Down
9 changes: 8 additions & 1 deletion outputsheets/fop.xconf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<fop version="1.0">

<base>.</base>
<base>./</base>
<font-base>fonts</font-base>

<strict-configuration>true</strict-configuration>
Expand All @@ -13,6 +13,13 @@
<!-- Default page-height and page-width, in case value is specified as auto -->
<default-page-settings height="11.00in" width="8.50in"/>

<image-loading>
<penalty value="10000"
class="org.apache.xmlgraphics.image.loader.impl.ImageLoaderRawCCITTFax"/>
<penalty value="INFINITE"
class="org.apache.xmlgraphics.image.loader.impl.ImageLoaderInternalTIFF"/>
</image-loading>

<renderers>
<renderer mime="application/pdf">
<filterList>
Expand Down
Loading

0 comments on commit 5cb3e43

Please sign in to comment.