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

Lazarus Pascal Discussion :

components/fpvectorial/examples : rendu des documents différent selon la cible


Sujet :

Lazarus Pascal

  1. #1
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 719
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut components/fpvectorial/examples : rendu des documents différent selon la cible
    Bonjour,

    toujours dans ma recherche pour faire fonctionner une police pour jeu d'échecs dans un programme écrit avec Lazarus, j'ai un peu regardé les exemples qui se trouvent dans le dossier cité en titre, et plus particulièrement le projet fpvtextwritetest2.lpi qui compile sans aucun problème et s'exécute sans souci sauf au niveau du résultat...

    Le seul changement apporté au code est la déclaration de la police comme on peut le voir ici :
    Nom : fpvtextwritetest2-change.png
Affichages : 399
Taille : 12,4 Ko

    L'engin est censé produire un .odt et un .docx, je vous laisse juger du résultat avec la copie d'écran ci-dessous où l'on a le .docx à gauche et le .odt à droite.
    Les deux documents sont ouverts avec LibreOffice Writer, n'ayant pas de Word 2003 ou 2010 sous la main :
    Nom : compar_odt-docx.jpg
Affichages : 443
Taille : 185,4 Ko

    On constatera que le .docx incorpore l'entête (et le pied de page, non visible ici), champs qui ont disparu dans le .odt...
    Par ailleurs le .docx supporte la police de jeu d'échec (on distingue certaines figures), ce qui n'est pas le cas du .odt et c'est un grand mystère que ce code d'exemple parce que si je crée un document avec Writer en sélectionnant cette police je peux faire afficher les figures.
    Ayant cliqué dans les deux documents au même endroit (juste avant le W de la première liste de la liste à puces), on peut voir que le docx a bien reconnu la police, ce qui n'est pas le cas de l'odt. Pourquoi ?
    Le document fait trois pages, la démo joue avec la mise en page portrait vs paysage, il y a des listes à puces, il y a des tableaux et certains sont en vrac et d'autres non, c'est du lourd et c'est inconstant...

    Si quelqu'un avait 5 minutes pour faire la manip sous Windows et nous raconter comment ça sort, ça serait cool !
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  2. #2
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut
    Citation Envoyé par Jipété Voir le message
    On constatera que le .docx incorpore l'entête (et le pied de page, non visible ici), champs qui ont disparu dans le .odt...
    Par ailleurs le .docx supporte la police de jeu d'échec (on distingue certaines figures), ce qui n'est pas le cas du .odt et c'est un grand mystère que ce code d'exemple parce que si je crée un document avec Writer en sélectionnant cette police je peux faire afficher les figures.
    Bonjour,

    J'ai fait l'expérience avec Word 2010 et OpenOffice 4.1.1 sous Windows 8.1. Les résultats sont identiques à ceux décrits : résultats satisfaisants avec Word et très partiels avec OpenOffice (en particulier, pas de police modifiée). (N.B. : n'ayant pas la police Chess, j'ai utilisé Wingdings.)

    Ayant cliqué dans les deux documents au même endroit (juste avant le W de la première liste de la liste à puces), on peut voir que le docx a bien reconnu la police, ce qui n'est pas le cas de l'odt. Pourquoi ?
    Je n'ai pas la réponse, mais la solution est sans doute à chercher dans la bibliothèque elle-même. Trop souvent, les composants livrés avec Lazarus sont anciens et bogués : on ne peut pas leur faire confiance ! Je préfère me servir de ceux dont l'équipe de conception est active. Ici, on peut aussi supposer que le format choisi pour odt n'est pas *exactement* celui retenu par OpenOffice.

    Bon courage,

    Gilles
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  3. #3
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut
    En parcourant le code de odtvectorialwrite.pas, j'ai trouvé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // TODO:  Parse Styles for Fonts not included in the list below...
      FStyles := FStyles +
       '<office:font-face-decls>' + LineEnding +
       '  <style:font-face style:name="Mangal1" svg:font-family="Mangal" />' + LineEnding +
       '  <style:font-face style:name="OpenSymbol" svg:font-family="OpenSymbol" />' + LineEnding +
       '  <style:font-face style:name="Times New Roman" svg:font-family="Times New Roman" style:font-family-generic="roman" style:font-pitch="variable" />' + LineEnding +
       '  <style:font-face style:name="Arial" svg:font-family="Arial" />' + LineEnding +
       '  <style:font-face style:name="Verdana" svg:font-family="Verdana" />' + LineEnding +
       '  <style:font-face style:name="Mangal" svg:font-family="Mangal" style:font-family-generic="system" style:font-pitch="variable" />' + LineEnding +
       '  <style:font-face style:name="Microsoft YaHei" svg:font-family="''Microsoft YaHei''" style:font-family-generic="system" style:font-pitch="variable" />' + LineEnding +
       '  <style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable" />' + LineEnding +
       '</office:font-face-decls>' + LineEnding;
    Moralité : la bibliothèque ne connaît pas, à l'heure actuelle, d'autres polices que celles référencées ci-dessus...
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  4. #4
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut
    Suite des expériences

    J'ai remplacé la police Verdana par Wingdings dans la portion de code fourni avec le message précédent. J'obtiens à présent le bon affichage de la police avec OpenOffice : le problème concernant la police vient par conséquent du caractère inachevé de la bibliothèque
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  5. #5
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 719
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Bonjour,
    Citation Envoyé par gvasseur58 Voir le message
    Suite des expériences

    J'ai remplacé la police Verdana par Wingdings dans la portion de code fourni avec le message précédent. J'obtiens à présent le bon affichage de la police avec OpenOffice : le problème concernant la police vient par conséquent du caractère inachevé de la bibliothèque
    J'ai remplacé la police Verdana [...] dans la portion de code fourni avec le message précédent
    Euh, Arial tu voulais dire ?

    En tout cas, merci pour tes tests et ton retour ; je n'ai donc pas rêvé : les logiciels peuvent afficher ces satanées polices pour échiquier, mais nos outils ne nous permettent pas de créer un programme pouvant l'utiliser,

    Citation Envoyé par gvasseur58 Voir le message
    En parcourant le code de odtvectorialwrite.pas, j'ai trouvé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // TODO:  Parse Styles for Fonts not included in the list below...
      FStyles := FStyles +
       '<office:font-face-decls>' + LineEnding +
       '  <style:font-face style:name="Mangal1" svg:font-family="Mangal" />' + LineEnding +
       '  <style:font-face style:name="OpenSymbol" svg:font-family="OpenSymbol" />' + LineEnding +
       '  <style:font-face style:name="Times New Roman" svg:font-family="Times New Roman" style:font-family-generic="roman" style:font-pitch="variable" />' + LineEnding +
       '  <style:font-face style:name="Arial" svg:font-family="Arial" />' + LineEnding +
       '  <style:font-face style:name="Verdana" svg:font-family="Verdana" />' + LineEnding +
       '  <style:font-face style:name="Mangal" svg:font-family="Mangal" style:font-family-generic="system" style:font-pitch="variable" />' + LineEnding +
       '  <style:font-face style:name="Microsoft YaHei" svg:font-family="''Microsoft YaHei''" style:font-family-generic="system" style:font-pitch="variable" />' + LineEnding +
       '  <style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable" />' + LineEnding +
       '</office:font-face-decls>' + LineEnding;
    Moralité : la bibliothèque ne connaît pas, à l'heure actuelle, d'autres polices que celles référencées ci-dessus...
    En espérant qu'ils se souviendront que 360 lignes plus loin il y a la même construction avec une ligne en moins !
    Ton extrait vient de la procédure WriteStyles et ce dont je parle se trouve dans WriteDocument, sans TODO devant pour pouvoir le retrouver...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      sPrefix := sPrefix +
         '  <office:font-face-decls>' + LineEnding +
         '    <style:font-face style:name="Mangal1" svg:font-family="Mangal" />' + LineEnding +
         '    <style:font-face style:name="OpenSymbol" svg:font-family="OpenSymbol" />' + LineEnding +
         '    <style:font-face style:name="Times New Roman" svg:font-family="''Times New Roman''" style:font-family-generic="roman" style:font-pitch="variable" />' + LineEnding +
         '    <style:font-face style:name="Arial" svg:font-family="Arial" style:font-family-generic="swiss" style:font-pitch="variable" />' + LineEnding +
         '    <style:font-face style:name="Mangal" svg:font-family="Mangal" style:font-family-generic="system" style:font-pitch="variable" />' + LineEnding +
         '    <style:font-face style:name="Microsoft YaHei" svg:font-family="''Microsoft YaHei''" style:font-family-generic="system" style:font-pitch="variable" />' + LineEnding +
         '    <style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable" />' + LineEnding +
         '  </office:font-face-decls>' + LineEnding;
    Pour faire vite, il manque ici la ligne concernant 'Verdana'.

    Bonne journée,
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  6. #6
    Responsable Lazarus & Pascal

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    Février 2013
    Messages
    1 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 1 436
    Points : 20 855
    Points
    20 855
    Billets dans le blog
    84
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Bonjour,

    J'ai remplacé la police Verdana [...] dans la portion de code fourni avec le message précédent
    Euh, Arial tu voulais dire ?
    Non, non, j'ai bien remplacé Verdana, pensant qu'elle ne serait pas trop utilisée par la suite... En fait, j'ai choisi ma victime au hasard

    En tout cas, merci pour tes tests et ton retour ; je n'ai donc pas rêvé : les logiciels peuvent afficher ces satanées polices pour échiquier, mais nos outils ne nous permettent pas de créer un programme pouvant l'utiliser,
    On va dire pudiquement que l'utilisation des polices avec ce genre de bibliothèque peut poser problème
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

  7. #7
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 070
    Points : 15 454
    Points
    15 454
    Billets dans le blog
    9
    Par défaut
    Bonjour tout le monde !

    @Jipété

    J'aimerais bien aider mais je t'avoue que je manque un peu de motivation. Le code est très compliqué, et il ne répond même pas exactement au besoin, qui est d'afficher les pièces du jeu d'échecs dans une fenêtre, n'est-ce pas ? et pas dans un document Word ou LibreOffice. Enfin, sous Windows, qui est le seul système que je connaisse et utilise, le code suivant suivant fonctionne très bien (après avoir sélectionné la police Chess Alpha dans les propriétés du label) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      Label1.Caption := 't+nWlNjT5';
    end;
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  8. #8
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 719
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 719
    Points : 15 105
    Points
    15 105
    Par défaut
    Citation Envoyé par Roland Chastain Voir le message
    Bonjour tout le monde !

    @Jipété

    J'aimerais bien aider mais je t'avoue que je manque un peu de motivation. Le code est très compliqué, et il ne répond même pas exactement au besoin, qui est d'afficher les pièces du jeu d'échecs dans une fenêtre, n'est-ce pas ? et pas dans un document Word ou LibreOffice.
    Ça c'est pour tester !
    Si je peux faire afficher les pièces dans LibreOffice je dois pouvoir les faire afficher dans d'autres systèmes d'affichage comme un RichText ou une StringGrid, le tout piloté par Lazarus.
    Et on en revient à l'autre topic,

    Mais comme le dit très justement gvasseur,
    Citation Envoyé par gvasseur58 Voir le message
    On va dire pudiquement que l'utilisation des polices avec ce genre de bibliothèque peut poser problème
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

Discussions similaires

  1. [AC-2003] Requête SQL retournant des champs différents selon une condition
    Par lucmorin dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 23/10/2009, 16h13
  2. Rendu d'affichage des bordures différents selon navigateurs
    Par Arnaud F. dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 15/07/2009, 15h32
  3. Rendu des polices différent PC/MAC
    Par frog43 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 20/03/2008, 08h53
  4. Réponses: 2
    Dernier message: 07/06/2007, 16h07

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