Lifelines: Rapport ps-pedigree-pt.ll

La question :

Bonjour à tous,

Ce rapport permet de tracer un arbre généalogique très lisible;
toutefois l'index qu'il produit (pour le format A4 au moins) place le
texte en tout haut de page et cause problème à l'impression (en partie
tronqué).
Je n'arrive pas à trouver où il faut jouer pour corriger ce défaut; si
quelqu'un a déjà traité ce problème, je serais preneur de sa manip.
Par avance merci,

Cordialement.
--
Thierry Houx ()
Météo Fontaine le Dun: http://thierry.houx.free.fr/meteoWEB
Webmestre du site http://www.geneacaux.org/
Membre CGPCSM N°72-2576

Poser votre question sur le forum Logiciels

Les 2 réponses :

Le 08/03/2015 11:01, Thierry Houx a écrit :


Bonjour à tous,

Ce rapport permet de tracer un arbre généalogique très lisible;
toutefois l'index qu'il produit (pour le format A4 au moins) place le
texte en tout haut de page et cause problème à l'impression (en partie
tronqué).
Je n'arrive pas à trouver où il faut jouer pour corriger ce défaut; si
quelqu'un a déjà traité ce problème, je serais preneur de sa manip.
Par avance merci,

Cordialement.


Finalement, je me réponds à moi-même:
Editer le fichier ps-pedi.ps
Rechercher: /indexpagesetup
remplacer la ligne: xoffset inch yoffset inch translate
par: xoffset inch yoffset -0.5 inch translate

Par contre il reste un problème: Mon fichier Gedcom est en UTF-8 (généré
par Gramps). Le programme ps-pedigree-pt.ll génère donc un fichier
ISO-8859-15 avec des données en UTF-8 (C'est un casse-tête ces
encodages); je résouds simplement le problème par une commande:
iconv -f UTF8 -t ISO8859-15 fichier.ps > iso-fichier.ps
Je n'ai plus de problème d'accents, mais les espacements dans l'index ne
sont plus bons, un caractère UTF-8 occupant 2 octets là ou en 8859-15 on
n'en utilise qu'un.
Si quelqu'un a une idée?

Cordialement.
--
Thierry Houx ()
Météo Fontaine le Dun: http://thierry.houx.free.fr/meteoWEB
Webmestre du site http://www.geneacaux.org/
Membre CGPCSM N°72-2576

Le 11/03/2015 06:20, Thierry Houx a écrit :


Le 08/03/2015 11:01, Thierry Houx a écrit :


Bonjour à tous,

Ce rapport permet de tracer un arbre généalogique très lisible;
toutefois l'index qu'il produit (pour le format A4 au moins) place le
texte en tout haut de page et cause problème à l'impression (en partie
tronqué).
Je n'arrive pas à trouver où il faut jouer pour corriger ce défaut; si
quelqu'un a déjà traité ce problème, je serais preneur de sa manip.
Par avance merci,

Cordialement.


Finalement, je me réponds à moi-même:
Editer le fichier ps-pedi.ps
Rechercher: /indexpagesetup
remplacer la ligne: xoffset inch yoffset inch translate
par: xoffset inch yoffset -0.5 inch translate

Par contre il reste un problème: Mon fichier Gedcom est en UTF-8 (généré
par Gramps). Le programme ps-pedigree-pt.ll génère donc un fichier
ISO-8859-15 avec des données en UTF-8 (C'est un casse-tête ces
encodages); je résouds simplement le problème par une commande:
iconv -f UTF8 -t ISO8859-15 fichier.ps > iso-fichier.ps
Je n'ai plus de problème d'accents, mais les espacements dans l'index ne
sont plus bons, un caractère UTF-8 occupant 2 octets là ou en 8859-15 on
n'en utilise qu'un.
Si quelqu'un a une idée?

Cordialement.


Je me re-répond, vu le désert ...
En résumé:
- Le Gedcom importé est en UTF-8
- Le rapport ps-pedigree-pt.ll génère de l'ISO-8859-15 et y met des
données contenant de l'UTF-8 (beau mélange!).
- Le traitement iconv permet d'avoir un fichier bien traduit, mais un
mauvais espacement dans l'index.
- Les outils standards ne permettent pas d'aller plus loin (à ma
connaissance)

La solution: Ecrire un script qui permette de corriger ça.
Le choix du langage: Python (celui de Gramps).

Bon, ma programmation, c'est du bricolage étant donné que c'est mon
premier programme dans ce langage. En tous cas ça marche.
Voilà le script:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
#
# Nom: traduc.py
# Role: Traduire fichier source UTF-8 postscript en iso-8859-15
# pour ps-pedigree-pt.ll avec respect des espacements dans
# l'index, ce qui n'est pas obtenu par la simple conversion
# avec l'outil iconv
# Rev: 12/03/2015: Creation, Thierry Houx
#
#
# Recuperer parametres fourni au lancement du programme
import sys
nomfic = sys.argv[1]

# Definition variables
refindex = 'mark indexpagesetup 1 pagesetup'
index = 0
empespace = 67

# Ouverture fichier source
fichierutf = open(nomfic,'r')
# Ouverture fichier destination
fichiersortie = "iso-"+nomfic
fichieriso = open(fichiersortie,'w')

# Lecture fichier source et conversion jusqu'a l'index
NbLigne = 0
while 1:
# Lecture ligne brute du fichier en UTF-8
ligne=fichierutf.readline()
# Décodage UTF-8
sortie= ligne.decode('utf8')
# Encodage ISO-8859-15 de la chaine sortie
ligneiso = sortie.encode('iso-8859-15')
# La ligne lue est-elle le debut de l'index ?
if refindex in ligne:
index = 1
# Notre index étant trouvé, traitement des lignes suivantes
if index == 1:
# Déterminer la longueur de la chaine d'origine
longutf=len(ligne)
# Déterminer la longueur de la nouvelle chaine
newlong = len(ligneiso)
if newlong < longutf:
place = 0
# Tester si la ligne concerne un homme
place = ligneiso.find(' H ')
# Pas un homme, il faut re-tester
if place == -1:
place = ligneiso.find(' F ')
# Si le champs de la ligne n'est pas a sa
# place, il faut corriger.
if place <> 66:
# couper la chaine en 2 pour inserer espaces
gauche = ligneiso[0:place]
droite = ligneiso[place:len(ligneiso)]
# Nombre d'espaces a ajouter
n = 66 - place
for i in range(n):
gauche = gauche+" "
ligneiso = gauche+droite
longueur = len(ligne)
NbLigne += 1
if ligne =='':break
# Ecriture ligne convertie dans fichier destination
fichieriso.write(ligneiso)

# Fin des operations, on clos les fichiers
fichierutf.close()
fichieriso.close()
# On quitte le programme
sys.exit(0)

Voilà, en espérant que ça puisse aider.

Cordialement.
--
Thierry Houx ()
Météo Fontaine le Dun: http://thierry.houx.free.fr/meteoWEB
Webmestre du site http://www.geneacaux.org/
Membre CGPCSM N°72-2576

Poser votre question sur le forum Logiciels

Questions similaires :

[Lifelines] rapport ps-anc8 et nombre de générations de cousins

Le 13/03/2015 16:19, a écrit : OK, Comme tu as pu voir, je rencontre quelques problèmes avec les encodages. C'est aussi le cas avec ce rapport; heureusement, le problème se résout avec le petit programme python que j'ai posté dans le fil précédent. Est-ce que tu rencontres aussi ces problèmes ?...

Lifelines et UTF-8

Thierry Houx avait écrit le 03/08/2013 : Bonjour, Comme je dis souvent "google est ton ami", une recherche sur "patrick texier" et le deuxième résultat est ... rubrique logiciels, les deux rapports y figurent. Cordialement -- Enlever YFAUTVIRER AUTVIRER

Soundex français pour Lifelines

Bonjour Patrick, bonjour à tous, Je crois me souvenir qu'un travail avait été fait pour adapter le "soundex" de Tom Wetmore, pour qu'il convienne aux prononciations francophones. Où trouver les librairies et programmes qui conviennent ? Où trouver une doc pour l'installation ? J'utilise Lifelines...

lifelines avec book-latex, défauts dans la sortie

Dans book-latex-pt.ll français l'invocation d'un métier n'a pas été traduit, on obtient un "was a member of Caste; la ligne suivante est un exemple de reprise: cat monlatex.tex |sed -e "s/was\ a\ member\ of\ Caste/\\\\'etait\ dans \ la\ vie\ active/g" >monlatex2.tex Les Notes font insèrer des...

lifelines et UTF-8

Bonjour, J'utilise lifelines surtout pour ces possibilités de belles sorties. J'ai des ennuis avec le codage UTF-8. j'utilise le .linesrc suivant codeset=UTF-8 GuiCodeset=UTF-8 ReportCodeset=UTF-8 EditorCodeset=UTF-8 GedcomCodeset=UTF-8 NewDbProps=codeset=UTF-8 J'ai importé ma généalogie à...