snowwhite: XSL-FO / externe Schrift einbinden

Hallo,
ich möchte für meinen PDF-Output eine externe Schrift verwenden.
Das klappt auch teilweise an manchen Stellen im Stylesheet ganz gut.
Aber zum Beispiel bei folgendem Fall, weiß ich nicht, warum ich dem Block-Elemente nicht das Attribute mit der Schrift <xsl:attribute name="font-family">
<xsl:value-of select="$schrift" />
</xsl:attribute>
übergeben kann:
...
<fo:block font-size="15pt">
<!-- Funktioniert leider nicht -->
<xsl:attribute name="font-family">
<xsl:value-of select="$schrift" />
</xsl:attribute>
<xsl:call-template name="Aufruf">
<xsl:with-param name="title">
Titel
</xsl:with-param>
</xsl:call-template>
</fo:block>
...
Ich möchte gern, dass der Titel im Parameter mit der richtigen Schrift im PDF-Output ausgegeben wird.
Was mache ich falsch?
Vielen Dank im voraus.
Viele Grüße
snowwhite

  1. Hallo,

    ich möchte für meinen PDF-Output eine externe Schrift verwenden.
    Das klappt auch teilweise an manchen Stellen im Stylesheet ganz gut.
    Aber zum Beispiel bei folgendem Fall, weiß ich nicht, warum ich dem Block-Elemente nicht das Attribute mit der Schrift <xsl:attribute name="font-family">
    <xsl:value-of select="$schrift" />
    </xsl:attribute>
    übergeben kann:
    ...
    <fo:block font-size="15pt">
    <!-- Funktioniert leider nicht -->
    <xsl:attribute name="font-family">
    <xsl:value-of select="$schrift" />
    </xsl:attribute>

    <fo:block font-size="15pt" font-family="{$schrift}"> würde auch reichen.

    Was mache ich falsch?

    Kann man dir so nicht sagen, am Wahrscheinlichsten ist: die Schrift steht im PDF nicht zur Verfügung.
    Oft musst du Schriften ins PDF einbinden: das geht je nach FO-Software anders. PDF (reader) müssen von Haus aus nur: Times, Helvetica, Courier, Symbol und ZapfDingbats können.

    Grüße
    Thomas

    1. Hallo Thomas,
      vielen Dank für Deine schnelle Antwort.

      <fo:block font-size="15pt" font-family="{$schrift}"> würde auch

      Ok, ich probiere das aus. :o)

      Kann man dir so nicht sagen, am Wahrscheinlichsten ist: die Schrift steht im PDF nicht zur Verfügung.
      Oft musst du Schriften ins PDF einbinden: das geht je nach FO-Software anders. PDF (reader) müssen von Haus aus nur: Times, Helvetica, Courier, Symbol und ZapfDingbats können.

      Als Prozessor benutze ich XEP. Ich habe die Schrift nach folgender Anleitung abgelegt:
      http://www.sagehill.net/docbookxsl/AddFont.html

      Viele Grüße
      snowwhite

      1. Hallo,

        Als Prozessor benutze ich XEP. Ich habe die Schrift nach folgender Anleitung abgelegt:
        http://www.sagehill.net/docbookxsl/AddFont.html

        Besser wäre vielleicht:
        http://www.renderx.com/reference.html#Fonts_Configuration bzw http://www.renderx.com/reference.html#Fonts gewesen.

        "Embedding of a font is controlled by embed attribute of the <font> element describing the font."
        ...
        "Note: TrueType and OpenType fonts may contain internal flags that prohibit their embedding or subsetting. XEP honors these flags, and may refuse to embed or subset your font if the respective action is not authorized by the flags inside it. "

        Wenn sonst alles richtig ist, solltest du vielleicht nachsehen wie die Schriftart wirklich heisst (Ob da wirklich leerzeichen im Namen erhalten sind etc.)

        Weiter kann ich dir da leider auch nicht mehr helfen.

        Grüße
        Thomas