[Résolu] Afficher texte grec indépendamment de la police

Discussions à propos du traitement de textes Writer mais également sur l'éditeur HTML.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur: Vilains modOOs

[Résolu] Afficher texte grec indépendamment de la police

Messagepar Lafricain » 15 Mars 2019 17:18

Bonjour,
J'ai un fichier dictionnaire à la base en rtf qui contient un dictionnaire grec-italien. Pour que la police grec s'affiche bien en caractères grecs j'ai du installer la police Greek. Sans quoi ces parties du fichier étaient translittéré en caractères latin. Je voudrais convertir ce fichier en .dic pour stardict par exemple. Le problème c'est que quand je veux l'enregistrer en txt je perds les caractères grecs!!! Avec le format html ça va, mais je suppose que mon navigateur comme Libreoffice utilise la police installée.
Comment faire donc pour qu'en texte brut la police apparaisse en caractère grec sans dépendances avec la police?
En pièce-jointe un fichier avec un peu de contenu. La police je l'ai téléchargée ici : http://www.laparola.net/vocab/greek.ttf.
Merci pour votre aide.
Pièces jointes
text_grec.odt
(14.79 Kio) Téléchargé 13 fois
Dernière édition par micmac le 18 Mars 2019 15:38, édité 4 fois.
Raison: [Résolu] remplace (Résolu) + ajout de la coche
LibreOffice 6.0.3.2 Ubuntu 18.04
Lafricain
Membre lOOyal
Membre lOOyal
 
Message(s) : 49
Inscrit le : 26 Mai 2018 16:57

Re: Afficher texte grec indépendamment de la police

Messagepar OlivierR » 16 Mars 2019 10:19

Bonjour,

Votre texte ne contient réellement aucun caractère grec. Votre police de caractères ne fait qu’afficher des caractères grecs en lieu et place des caractères latins qui sont utilisés (c’est une substitution à l’affichage seulement). Il est donc normal que les caractères que vous voyez au format txt soient des caractères latins.

La solution est donc simple : il faut cesser d’utiliser une police de caractères sans effet sur le texte réel, mais une police qui contient les caractères grecs aux emplacements Unicode prévus, puis il suffit de remplacer les caractères latins par les véritables caractères grecs (avec la fonction Chercher/Remplacer).

Table Unicode : https://unicode-table.com/fr/
LibreOffice 6.2Windows 10Grammalecte, correcteur grammatical et orthotypographique
OlivierR
SuppOOrter
SuppOOrter
 
Message(s) : 1022
Inscrit le : 24 Mai 2006 21:34
Localisation : Lorraine, France

Re: Afficher texte grec indépendamment de la police

Messagepar Lafricain » 16 Mars 2019 10:23

Merci Olivier pour cette réponse.
Oui j'ai compris qu'en fait ce n'était qu'une substitution "graphique". Justement je ne sais pas comment faire pour remplacer les lettre qui s'affichent en grec par des vrais caractères unicode. Car le problème c'est qu'il y a aussi de l'italien dans le fichier et donc des caractères latins :)
J'avais déjà essayé la substitution, mais j'avais rencontré ce problème.
Pour info, je ne suis pas l'auteur de ce texte qui date et à été composé sous Windows.
LibreOffice 6.0.3.2 Ubuntu 18.04
Lafricain
Membre lOOyal
Membre lOOyal
 
Message(s) : 49
Inscrit le : 26 Mai 2018 16:57

Re: Afficher texte grec indépendamment de la police

Messagepar jeanmimi » 16 Mars 2019 10:50

Bonjour,
Lafricain a écrit:Car le problème c'est qu'il y a aussi de l'italien dans le fichier et donc des caractères latins

Lorsqu'on veut des mots avec une Police différente de celle du paragraphe, il faut passer par un Style de caractère, qui sera ici à créer avec une Police grecque, différent.
LibreOffice Version : Version: 6.2.3.2 (x64) (28 avril 2019)
Java (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 14841
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte

Re: Afficher texte grec indépendamment de la police

Messagepar Lafricain » 16 Mars 2019 10:56

Lorsqu'on veut des mots avec une Police différente de celle du paragraphe, il faut passer par un Style de caractère

Oui tout à fait, mais dans mon cas (ce n'est pas moi qui ai rédigé le texte), comment faire puisqu'il n'y a pas de styles et uniquement une police qui permet d'identifier le contenu en grec.
Peut-être n'aurais-je pas d'autre solution que de scripter ça direcetement sur un fichier xml?
LibreOffice 6.0.3.2 Ubuntu 18.04
Lafricain
Membre lOOyal
Membre lOOyal
 
Message(s) : 49
Inscrit le : 26 Mai 2018 16:57

Re: Afficher texte grec indépendamment de la police

Messagepar OlivierR » 16 Mars 2019 17:18

À ma connaissance, il n’y a pas de solution miracle.
La fonction Chercher/Remplacer peut être lancée sur la sélection active seulement. Il faut donc sélectionner le texte à modifier, puis lancer les remplacements successifs.
Notez que la fonction de sélection possède un mode “Ajout” pour sélectionner différentes zones les unes à la suite des autres.
LibreOffice 6.2Windows 10Grammalecte, correcteur grammatical et orthotypographique
OlivierR
SuppOOrter
SuppOOrter
 
Message(s) : 1022
Inscrit le : 24 Mai 2006 21:34
Localisation : Lorraine, France

Re: Afficher texte grec indépendamment de la police

Messagepar Scrat » 16 Mars 2019 18:41

Bonjour.

Je ne vois pas non plus de solution simple.
Mais s'il suffit d'un décalage constant dans la table des caractères pour passer des caractères latins aux caractères grecs, on pourrait peut-être écrire un petit programme C ou Java pour traiter le fichier au format txt. Je peux essayer de regarder, mais je ne promets rien (pas trop le temps en ce moment).

A+
Libre Office 6.0.7.3 Linux Mint 19.1 x64 (version des dépôts)
Utilisez l'extension de Sauvegarde incrémentale pour ne pas perdre de document !
Avatar de l’utilisateur
Scrat
HédOOniste
HédOOniste
 
Message(s) : 1814
Inscrit le : 06 Juin 2014 11:39
Localisation : Île d'Oléron

Re: Afficher texte grec indépendamment de la police

Messagepar Lafricain » 16 Mars 2019 18:53

Ok merci à vous !
@Scrat: Merci pour la proposition du programme en C. Au besoin je peux t'envoyer le fichier complet.
LibreOffice 6.0.3.2 Ubuntu 18.04
Lafricain
Membre lOOyal
Membre lOOyal
 
Message(s) : 49
Inscrit le : 26 Mai 2018 16:57

Re: Afficher texte grec indépendamment de la police

Messagepar Jean-Louis Cadeillan » 16 Mars 2019 20:05

Bonsoir,
Un exemple ci-joint du décalage proposé par Scrat (que je salue :wink: ) avec Calc.
À tester.
Cordialement,
Jean-Louis
Pièces jointes
Lafricain_20190316_JLC01.ods
(19.91 Kio) Téléchargé 5 fois
LibreOffice 6.1.6.3 (x64) et Apache OpenOffice 4.1.5, Windows 7 Édition Intégrale 64 SP1, Java (x64) 1.8.0_211 (Domicile)
LibreOffice 5.4.1.2 (x86) sous Linux Karoshi 5.0 (Ubuntu LTS 16.04.1, noyau 4.4.0-93) et Xfce 4.12, Java (x86) 1.8.0_131 (Travail)
Avatar de l’utilisateur
Jean-Louis Cadeillan
ManitOOu
ManitOOu
 
Message(s) : 4329
Inscrit le : 03 Jan 2009 00:56

Re: Afficher texte grec indépendamment de la police

Messagepar Lafricain » 16 Mars 2019 20:14

Un décale horizontal donc. Mais je comprends pourquoi?
LibreOffice 6.0.3.2 Ubuntu 18.04
Lafricain
Membre lOOyal
Membre lOOyal
 
Message(s) : 49
Inscrit le : 26 Mai 2018 16:57

Re: Afficher texte grec indépendamment de la police

Messagepar Jean-Louis Cadeillan » 16 Mars 2019 20:56

Je précise l'usage que tu peux faire du fichier Calc : sur la Feuille1, tu colles le texte à traiter (collage spécial > texte non formaté), tu vas sur Feuille2, tu copies tout (Ctrl A, Ctrl C), puis tu colles sur un logiciel type Notepad++ et tu enregistres en txt.
Je précise la logique de la formule (en colonne A de Feuille2) : je repère les lignes où il y a du grec quand le premier caractère est un '. Je repère la fin du mot en grec quand il y a un : ou une (. Je décompose le mot en caractères avec STXT(), puis je cherche le code de chaque caractère (UNICODE()), j'y ajoute 848 (le fameux décalage), puis je trouve le caractère grec correspondant (UNICAR()), puis je concatène de nouveau le mot et j'ajoute le reste de la ligne qui n'était pas en caractères grecs (JOINDRE.TEXTE()).
Cordialement,
Jean-Louis
LibreOffice 6.1.6.3 (x64) et Apache OpenOffice 4.1.5, Windows 7 Édition Intégrale 64 SP1, Java (x64) 1.8.0_211 (Domicile)
LibreOffice 5.4.1.2 (x86) sous Linux Karoshi 5.0 (Ubuntu LTS 16.04.1, noyau 4.4.0-93) et Xfce 4.12, Java (x86) 1.8.0_131 (Travail)
Avatar de l’utilisateur
Jean-Louis Cadeillan
ManitOOu
ManitOOu
 
Message(s) : 4329
Inscrit le : 03 Jan 2009 00:56

Re: Afficher texte grec indépendamment de la police

Messagepar Lafricain » 16 Mars 2019 21:30

Ça dépasse mes compétences!
Mais le problème c'est surtout le copier coller, il y a 2500 pages...
LibreOffice 6.0.3.2 Ubuntu 18.04
Lafricain
Membre lOOyal
Membre lOOyal
 
Message(s) : 49
Inscrit le : 26 Mai 2018 16:57

Re: Afficher texte grec indépendamment de la police

Messagepar Scrat » 16 Mars 2019 22:07

J'ai fait un petit essai avec un programme Java, et je peux recoder tous les mots grecs qui sont compris entre les caractères ' au début et : (ou espace) à la fin en ajoutant 848 à la valeur entière des caractères. Apparemment, c'est ce qu'a fait Jean-Louis avec Calc !

Mais pas de bol : le décalage n'est pas constant ! Ce qu'on obtient pour Abilene Jean-Louis et moi, c'est:
Code : Tout sélectionner   AgrandirRéduire
'ΑβιμθξЋ


alors que ça devrait être:
Code : Tout sélectionner   AgrandirRéduire
Αβιληνή


Il faudrait donc soit établir une table de correspondance, soit déterminer le calage variable en fonction de la valeur du caractère.

A suivre, mais ne sois pas trop pressé... :wink:

A+
Libre Office 6.0.7.3 Linux Mint 19.1 x64 (version des dépôts)
Utilisez l'extension de Sauvegarde incrémentale pour ne pas perdre de document !
Avatar de l’utilisateur
Scrat
HédOOniste
HédOOniste
 
Message(s) : 1814
Inscrit le : 06 Juin 2014 11:39
Localisation : Île d'Oléron

Re: Afficher texte grec indépendamment de la police

Messagepar Lafricain » 16 Mars 2019 23:03

A suivre, mais ne sois pas trop pressé... :wink:

Pour ça ça ira :D Par contre pour le reste je comprends rien :marto: mais je suis très curieux d'apprendre...
LibreOffice 6.0.3.2 Ubuntu 18.04
Lafricain
Membre lOOyal
Membre lOOyal
 
Message(s) : 49
Inscrit le : 26 Mai 2018 16:57

Re: Afficher texte grec indépendamment de la police

Messagepar Scrat » 17 Mars 2019 15:17

Bonjour.

J'ai établi une table de correspondance entre les caractères latins de la police Greek et les codes des caractères grecs correspondants dans les polices classiques, par exemple Liberation.

Je joins un fichier Calc avec deux feuilles, une pour les majuscules, une pour les minuscules:
- colonne A: caractère latin associé à une graphie grecque dans la police Greek
- colonne B: code décimal du caractère latin
- colonne C: Nom du caractère grec associé au caractère latin
- colonne D: index du caractère dans un tableau, de 0 à 25 (ici égal au numéro de ligne - 2)
- colonne F: code décimal du caractère grec
- colonne G: vérification avec la fonction UNICAR pour afficher le caractère grec correspondant au code de la colonne F.

Ça me parait correct, mais à vérifier quand même.
 Ajout : c'est incomplet, voir ajout en fin de message 


Peut-être que Jean-Louis pourra introduire ces tableaux de correspondance dans son fichier Calc. Bon courage, Jean-Louis :wink:
Mais à mon avis, s'il y a 2500 pages à traiter, il sera peut-être préférable de passer par un code.

De mon côté j'introduirai ces tableaux de correspondance dans mon code Java dans quelques jours. Pour aujourd'hui, après cet immense effort, c'est canapé-télé ! :mrgreen:

 Ajout : Les lignes en jaune pour les caractères latins j et v correspondent à du Grec étendu quand on utilise Insertion->Caractères spéciaux.

De plus, je crois que mes tableaux sont incomplets. Il doit manquer un ou deux caractères non alphabétiques, comme celui qui correspond à la dernière lettre de Abilene, un eta minuscule avec une virgule au-dessus. Je compléterai ça dans quelques jours. 


A+
Pièces jointes
TABLE_GREEK.ods
Tableaux de correspondance latin-grec pour la police Greek
(16.31 Kio) Téléchargé 7 fois
Libre Office 6.0.7.3 Linux Mint 19.1 x64 (version des dépôts)
Utilisez l'extension de Sauvegarde incrémentale pour ne pas perdre de document !
Avatar de l’utilisateur
Scrat
HédOOniste
HédOOniste
 
Message(s) : 1814
Inscrit le : 06 Juin 2014 11:39
Localisation : Île d'Oléron

Re: Afficher texte grec indépendamment de la police

Messagepar Jean-Louis Cadeillan » 18 Mars 2019 02:51

Bonsoir,
Une approche en Feuille3 par table de correspondance (la table est en Feuille4). J'ai fait ma table avec la démarche suivante : comme le texte initial a été écrit en police Greek pour les mots grecs, j'ai regardé quels étaient les codes utilisés par cette police, c'est pour ça que je mets en première colonne les codes de 33 à 256. La deuxième colonne est la traduction de ce code dans une police standard (type Liberation), la troisième sert à visualiser le bon caractère en police Greek et la dernière donne ce caractère dans la police standard. Donc la correspondance se fait entre la colonne 2 et la colonne 4. Si on visualise les codes de la quatrième colonne, on se rend compte que c'est un ordre très différent de celui de la police Greek : la méthode par décalage n'était ici vraiment pas adaptée...
J'ai eu du mal à trouver une formule correcte, car RECHERCHEV() est tout à fait insensible à la casse et les minuscules se retrouvaient en majuscules : je suis finalement passé par un bon vieux SI() associé à JOINDRE.TEXTE().

Bon, pour l'instant, la méthode consistant à récupérer le texte en Feuille3 du texte copié en Feuille1 n'est pas encore satisfaisante, car des mots grecs se nichent à des endroits difficiles à trouver (voir ligne 49 de Feuille1), peut-être tester sur « da » ou « di », mais on risque de créer des faux positifs... à moins qu'il soit possible de tester simplement la police de chaque caractère dans le texte rtf d'origine, mais ça je ne sais pas faire avec Calc.
Et pour couronner la vanité de tout cela (Ecclésiaste...), la recopie de la formule sur un nombre de lignes suffisant pour un ouvrage de 2500 pages, donc peut-être 100 000 lignes... risque de faire exploser l'objet en vol !
Je passe donc la balle (le gland, la noisette :mrgreen: ) à Scrat... perfidement.
Cordialement,
Jean-Louis
Pièces jointes
Lafricain_20190316_JLC02.ods
(26.63 Kio) Téléchargé 3 fois
LibreOffice 6.1.6.3 (x64) et Apache OpenOffice 4.1.5, Windows 7 Édition Intégrale 64 SP1, Java (x64) 1.8.0_211 (Domicile)
LibreOffice 5.4.1.2 (x86) sous Linux Karoshi 5.0 (Ubuntu LTS 16.04.1, noyau 4.4.0-93) et Xfce 4.12, Java (x86) 1.8.0_131 (Travail)
Avatar de l’utilisateur
Jean-Louis Cadeillan
ManitOOu
ManitOOu
 
Message(s) : 4329
Inscrit le : 03 Jan 2009 00:56

Re: Afficher texte grec indépendamment de la police

Messagepar Lafricain » 18 Mars 2019 07:41

Salut salut,
Un grand merci pour votre enthousiasme pour mon problème tout de même particulier... Alors pour ce qui est de la taille du fichier on pourrait éventuellement le spliter. Si on le converti en txt on pourra toujours appliquer ta méthode Jean-Louis? Vu qu'on perd les polices?
LibreOffice 6.0.3.2 Ubuntu 18.04
Lafricain
Membre lOOyal
Membre lOOyal
 
Message(s) : 49
Inscrit le : 26 Mai 2018 16:57

Re: Afficher texte grec indépendamment de la police

Messagepar Hubert Lambert » 18 Mars 2019 08:04

Bonjour à tous, et désolé d'intervenir un peu tard.
Il existe ce petit programme qui, avec peu de chance, pourrait aider : greektranscoder.
Et pour la suite éventuellement : viewtopic.php?f=3&t=58586.
Cordialement.
AOOo 4.1.2 sur Win7
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
 
Message(s) : 1084
Inscrit le : 06 Avr 2016 08:26

Re: Afficher texte grec indépendamment de la police

Messagepar Lafricain » 18 Mars 2019 11:05

Merci pour le lien Hubert vers greektranslate. C'est le comble qu'il y ai développé une macro sous licence gpl pours MSoffice et pas pour LO :sniff:
LibreOffice 6.0.3.2 Ubuntu 18.04
Lafricain
Membre lOOyal
Membre lOOyal
 
Message(s) : 49
Inscrit le : 26 Mai 2018 16:57

Re: Afficher texte grec indépendamment de la police

Messagepar Scrat » 18 Mars 2019 13:04

Bonjour.

Il y a du boulot pour compléter la table de correspondance avec tous les caractères grecs agrémentés de virgules ou apostrophes.

Autre problème : repérer les caractères grecs au milieu de phrases en italien. Je pense que la solution, c'est de travailler sur le fichier RTF d'origine our sur le XML du fichier odt. Là, on doit pouvoir identifier facilement les blocs avec L'attribut de police Greek.

A suivre...
Libre Office 6.0.7.3 Linux Mint 19.1 x64 (version des dépôts)
Utilisez l'extension de Sauvegarde incrémentale pour ne pas perdre de document !
Avatar de l’utilisateur
Scrat
HédOOniste
HédOOniste
 
Message(s) : 1814
Inscrit le : 06 Juin 2014 11:39
Localisation : Île d'Oléron

Re: Afficher texte grec indépendamment de la police

Messagepar Jean-Louis Cadeillan » 18 Mars 2019 13:27

Bonjour,
Scrat a écrit: compléter la table de correspondance avec tous les caractères grecs agrémentés de virgules ou apostrophes.
La table de correspondance que j'ai mise dans mon dernier fichier mis en ligne est complète... à quelques iotas près :wink:
Cordialement,
Jean-Louis
LibreOffice 6.1.6.3 (x64) et Apache OpenOffice 4.1.5, Windows 7 Édition Intégrale 64 SP1, Java (x64) 1.8.0_211 (Domicile)
LibreOffice 5.4.1.2 (x86) sous Linux Karoshi 5.0 (Ubuntu LTS 16.04.1, noyau 4.4.0-93) et Xfce 4.12, Java (x86) 1.8.0_131 (Travail)
Avatar de l’utilisateur
Jean-Louis Cadeillan
ManitOOu
ManitOOu
 
Message(s) : 4329
Inscrit le : 03 Jan 2009 00:56

Re: Afficher texte grec indépendamment de la police

Messagepar Lafricain » 18 Mars 2019 14:15

Resalut à tous!
Problème résolu!! Cette macro pour Word a réussi à faire le boulot, quelle dommage qu'elle est pas pour LibreOffice quel outil incroyable!! Je vais peut-être écrire à l'auteur pour l'encourager à publier pour LO sauf si quelqu'un sait comment la "convertir"?
Merci à tous pour votre aide.
LibreOffice 6.0.3.2 Ubuntu 18.04
Lafricain
Membre lOOyal
Membre lOOyal
 
Message(s) : 49
Inscrit le : 26 Mai 2018 16:57

Re: [Résolu] Afficher texte grec indépendamment de la police

Messagepar Scrat » 18 Mars 2019 18:18

Bonjour.

Heureux que le problème soit résolu par une macro... parce que je n'avais pas trop envie de bricoler un nouveau code. :wink:
Jean-Louis, je te rends la noisette. :lol:

A+
Libre Office 6.0.7.3 Linux Mint 19.1 x64 (version des dépôts)
Utilisez l'extension de Sauvegarde incrémentale pour ne pas perdre de document !
Avatar de l’utilisateur
Scrat
HédOOniste
HédOOniste
 
Message(s) : 1814
Inscrit le : 06 Juin 2014 11:39
Localisation : Île d'Oléron


Retour vers Traitement de textes

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Google [Bot], gric et 19 invité(s)