2013-07-19 17 views

risposta

13

Se si desidera impostare font di default per intero documento è possibile impostare in fo: root. Dovrebbe essere ereditato da ogni nodo figlio senza la famiglia di caratteri specificata.

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

fo: l'elemento radice non ha la proprietà della famiglia di caratteri. Vedere le specifiche (http://www.w3.org/TR/2001/REC-xsl-20011015/slice6.html#fo_root) – celbos

+2

Anche se potrebbe non essere nelle specifiche, posso verificare che funzioni per me in Apache FOP – Ryan

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

O

<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

il primo modo non sembra funzionare e la seconda .. come è diverso da quello che ho hai scritto nella mia domanda? (una famiglia di font locale)? –

+0

Ecco un link alla documentazione originale di Apache su [FOP] (http://xmlgraphics.apache.org/fop/trunk/fonts.html) l'ho usata nelle configurazioni del mio progetto. Funziona molto bene. – stanlyF

+0

Nota che sto incorporando il carattere –

0

Non v'è alcun modo per fare questo il modo in cui si è fatto in CSS, se non si fa in realtà hanno un elemento da abbinare per il tuo font particolare. Se tutto quello che vuoi è impostare un font per tutto tranne alcune eccezioni, impostandolo su < per: root > quindi modificandolo quando è necessario eseguire il trucco. Se il carattere è un carattere predefinito o definito tramite il file di configurazione non fa differenza.

Edit:

L'equivalente di

body { font-family: "Tahoma"; } 

sarebbe

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

e presumo che 'Content' è il corpo in cui devo posizionare il mio intero documento lì? –

3

è possibile utilizzare il nodo fo: involucro di ereditare le proprietà al suo contenuto-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>