2013-07-19 5 views

Antwort

13

sein, wenn Sie Standardschriftart für ganze Dokument festlegen möchten Sie es in fo einstellen: root. Es sollte von jedem Child-Knoten ohne angegebene Font-Familie übernommen werden.

<fo:root font-family="Tahoma"> 
    <!-- rest of document --> 
</fo:root> 
+0

fo: root-Element hat keine font-family -Eigenschaft. Siehe Spezifikation (http://www.w3.org/TR/2001/REC-xsl-20011015/slice6.html#fo_root) – celbos

+2

Während es möglicherweise nicht in der Spezifikation ist, kann ich überprüfen, ob es für mich in Apache FOP funktioniert – Ryan

0
<fonts> 
    <referenced-fonts> 
     <match font-family="Tahoma"/> 
    </referenced-fonts> 
    </fonts> 

ODER

<fo:page-sequence master-reference="A4-portrait"> 
    <fo:flow flow-name="xsl-region-body"> 
    <fo:block font-size="10pt" font-family="Tahoma"> 
     Text <xsl:value-of select="name"/> 
    </fo:block> 
    </fo:flow> 
</fo:page-sequence> 
+0

der erste Weg scheint nicht zu erben, zu arbeiten und die zweite .. wie es aus, was anders ist I habe ich in meiner Frage geschrieben? (eine lokale Schriftfamilie)? –

+0

Hier ist ein Link zur ursprünglichen Apache-Dokumentation von [FOP] (http://xmlgraphics.apache.org/fop/trunk/fonts.html) Ich habe es in den Konfigurationen meines Projekts verwendet. Es funktioniert ziemlich gut. – stanlyF

+0

Beachten Sie, dass ich die Schriftart einbetten –

0

Es gibt keine Möglichkeit, diese den Weg, es zu tun in CSS getan wird, wenn Sie nicht wirklich tun haben, ein Element, das zu Ihrer bestimmten Schriftart passt. Wenn alles, was Sie wollen, ist eine Schriftart für alles außer eine Ausnahme, setzen Sie es auf < fo: root > dann ändern Sie es, wenn Sie müssen, um den Trick zu tun. Ob die Schriftart eine Standardschriftart ist oder über Ihre Konfigurationsdatei definiert ist, spielt keine Rolle.

Edit:

Das Äquivalent

body { font-family: "Tahoma"; } 

würde

<xsl:template match="body"> 
    <fo:block font-family="Tahoma"> 
     Content 
    </fo:block> 
</xsl:template> 
+0

und ich nehme an, dass "Content" der Körper ist, d. H. Ich muss mein gesamtes Dokument dort ablegen? –

3

Sie den Knoten fo verwenden können: Wrapper Eigenschaften seines inhalt Childs

<fo:page-sequence master-reference="A4-portrait"> 
    <fo:flow flow-name="xsl-region-body"> 
     <fo:wrapper font-size="10pt" font-family="Tahoma"> 
      <fo:block> 
       Text <xsl:value-of select="name"/> 
      </fo:block> 
      <fo:block> 
       Another text 
      </fo:block> 
     </fo:wrapper> 
    </fo:flow> 
</fo:page-sequence>