2013-07-19 26 views

Odpowiedz

13

Jeśli chcesz ustawić domyślną czcionkę dla całego dokumentu można ustawić go w fo: root. Powinien być dziedziczony przez każdy węzeł-dziecko bez określonej rodziny czcionek.

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

dla: element root nie ma właściwości font-family. Zobacz specyfikację (http://www.w3.org/TR/2001/REC-xsl-20011015/slice6.html#fo_root) – celbos

+2

Chociaż może nie być w specyfikacji, mogę sprawdzić, czy działa dla mnie w Apache FOP – Ryan

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

LUB

<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

pierwszy sposób nie wydaje się działać, a drugi .. jak to jest inne od tego co ja napisałem w moim pytaniu? (lokalna rodzina czcionek)? –

+0

Oto link do oryginalnej dokumentacji Apache [FOP] (http://xmlgraphics.apache.org/fop/trunk/fonts.html) Użyłem jej w konfiguracjach mojego projektu. Działa całkiem nieźle. – stanlyF

+0

Należy pamiętać, że osadzam czcionkę –

0

Nie ma sposobu, aby zrobić to sposób, w jaki odbywa się w CSS, jeśli nie mamy element pasujący do konkretnej czcionki. Jeśli wszystko, czego chcesz, to ustawić czcionkę dla wszystkiego oprócz wyjątku, ustawiając go na < dla: root >, a następnie zmieniając go, kiedy potrzebujesz, aby to zrobić. To, czy czcionka jest czcionką domyślną, czy zdefiniowane w pliku konfiguracyjnym, nie ma znaczenia.

Edit:

Równowartość

body { font-family: "Tahoma"; } 

byłoby

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

i zakładam, że "Treść" jest ciałem, tj. Muszę umieścić tam cały mój dokument? –

3

można użyć węzeł fo: wrapper dziedziczyć właściwości do jego treści-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> 
Powiązane problemy