IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XSL-FO] Charger une police dans FOP


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 11
    Points : 11
    Points
    11
    Par défaut [XSL-FO] Charger une police dans FOP
    Bonjour,

    je me tire les cheveux depuis ce matin car je n'arrive pas à charger une police dans fop. Je lis la doc en large et en travers mais je ne vois pas ce qu'il me manque ou ce que je fais de travers.

    J'ai créé un jar contenant ma font "morpheus" que j'ai mis dans le répertoire le contenu du jar :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    font/
         morpheus.ttf
    META-INF/
         MANIFEST.MF
    le MANIFEST.MF
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Manifest-Version: 1.0
    Name: font/morpheus.ttf
    Content-Type: application/x-font
    Dans mon code, je charge mon fichier de config comme ça :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    fopFactory.setUserConfig(new File("C:/temp/mycfg.xml"));

    Mon fichier de configuration ressemble à ça :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?xml version="1.0"?>
    <fop version="1.0">
        <renderers>
            <renderer mime="application/pdf">
            <configuration>        
                <fonts>
                    <!-- register all the fonts found in a directory -->
                    <directory>C:\temp\fonts</directory>  
     
                    <!-- automatically detect operating system installed fonts -->
                    <auto-detect/>  
                </fonts>
                </configuration>
           </renderer>
        </renderers>
    </fop>

    J'ai même essayé de mettre directement le fichier morpheus.ttf dans le répertoire c:\temps\fonts.

    Si quelqu'un voit ce qui ne va pas, je lui en serait très reconnaissant,
    Merci d'avance.

  2. #2
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    Avez-vous bien fait calculer les métriques de la police ? http://xmlgraphics.apache.org/fop/0....uetype-metrics

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Non, j'avoue que j'ai récupéré une police sur dafont.com et utilisé tel quelle.
    Mais j'ai cru comprendre que générer les métriques de la police n'était nécessaire que dans des cas très particuliers. Je me trompe ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    J'ai donc généré le fichier métrique de la police et modifié mon fichier de configuration ainsi :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?xml version="1.0"?>
     
    <fop version="1.0">
        <renderers>
            <renderer mime="application/pdf">
            <configuration>        
                <fonts>
     
                  <!-- register a particular font -->
                  <font metrics-url="file:///C:/temp/fonts/morpheus.xml" kerning="yes"
                      embed-url="file:///C:/temp/fonts/morpheus.ttf">
                     <font-triplet name="Morpheus" style="normal" weight="normal"/>
                  </font>
     
                </fonts>
                </configuration>
           </renderer>
        </renderers>
    </fop>

    le résultat est toujours le même, la police n'est pas chargée dans mon pdf

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Finalement, pas de jar ni de calcule métrique de police.
    J'ai tout simplement mis mes fichiers .ttf dans un répertoire (C:\temp\fonts) et défini ce répertoire dans mon fichier de configuration.
    Je suis donc revenu à mon premier fichier de configuration :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?xml version="1.0"?>
    <fop version="1.0">
        <renderers>
            <renderer mime="application/pdf">
            <configuration>        
                <fonts>
                    <!-- register all the fonts found in a directory -->
                    <directory>C:\temp\fonts</directory>  
     
                    <!-- automatically detect operating system installed fonts -->
                    <auto-detect/>  
                </fonts>
                </configuration>
           </renderer>
        </renderers>
    </fop>
    Par contre, il faut bien faire attention à la casse pour le nom des polices lorsqu'on les utilises.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2007] Charger une police dans WORD
    Par constant_op dans le forum Word
    Réponses: 3
    Dernier message: 28/06/2012, 12h48
  2. FOP : comment inclure une police dans le PDF ?
    Par vbrabant dans le forum Documents
    Réponses: 0
    Dernier message: 20/10/2008, 23h49
  3. [BCB6]Inclure une police dans un exécutable
    Par Bodom-Child dans le forum C++Builder
    Réponses: 8
    Dernier message: 20/08/2004, 12h18
  4. [ServletContext]Charger une ressource dans la servletContext
    Par lalou33 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 25/06/2004, 15h37
  5. [GNU Pascal] [GRX] Charger une police en mode graphique
    Par seedle-san dans le forum Autres IDE
    Réponses: 2
    Dernier message: 17/04/2004, 04h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo