[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

Avatar de l’utilisateur
Lafricain
Membre OOrganisé
Membre OOrganisé
Messages : 74
Inscription : 26 mai 2018 15:57

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

Message par Lafricain »

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.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 18 mars 2019 14:38, modifié 4 fois.
Raison : [Résolu] remplace (Résolu) + ajout de la coche
LibreOffice 7.2.2 Ubuntu 20.04
OlivierR
SuppOOrter
SuppOOrter
Messages : 1037
Inscription : 24 mai 2006 20:34
Localisation : Lorraine, France

Re: Afficher texte grec indépendamment de la police

Message par OlivierR »

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 7.1Windows 10Grammalecte, correcteur grammatical et orthotypographique
Avatar de l’utilisateur
Lafricain
Membre OOrganisé
Membre OOrganisé
Messages : 74
Inscription : 26 mai 2018 15:57

Re: Afficher texte grec indépendamment de la police

Message par Lafricain »

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 7.2.2 Ubuntu 20.04
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Afficher texte grec indépendamment de la police

Message par jeanmimi »

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 : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
Lafricain
Membre OOrganisé
Membre OOrganisé
Messages : 74
Inscription : 26 mai 2018 15:57

Re: Afficher texte grec indépendamment de la police

Message par Lafricain »

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 7.2.2 Ubuntu 20.04
OlivierR
SuppOOrter
SuppOOrter
Messages : 1037
Inscription : 24 mai 2006 20:34
Localisation : Lorraine, France

Re: Afficher texte grec indépendamment de la police

Message par OlivierR »

À 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 7.1Windows 10Grammalecte, correcteur grammatical et orthotypographique
Scrat
HédOOniste
HédOOniste
Messages : 2051
Inscription : 06 juin 2014 10:39

Re: Afficher texte grec indépendamment de la police

Message par Scrat »

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+
Ne contribue plus au forum
Avatar de l’utilisateur
Lafricain
Membre OOrganisé
Membre OOrganisé
Messages : 74
Inscription : 26 mai 2018 15:57

Re: Afficher texte grec indépendamment de la police

Message par Lafricain »

Ok merci à vous !
@Scrat: Merci pour la proposition du programme en C. Au besoin je peux t'envoyer le fichier complet.
LibreOffice 7.2.2 Ubuntu 20.04
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5752
Inscription : 02 janv. 2009 23:56

Re: Afficher texte grec indépendamment de la police

Message par Jean-Louis Cadeillan »

Bonsoir,
Un exemple ci-joint du décalage proposé par Scrat (que je salue :wink: ) avec Calc.
À tester.
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Avatar de l’utilisateur
Lafricain
Membre OOrganisé
Membre OOrganisé
Messages : 74
Inscription : 26 mai 2018 15:57

Re: Afficher texte grec indépendamment de la police

Message par Lafricain »

Un décale horizontal donc. Mais je comprends pourquoi?
LibreOffice 7.2.2 Ubuntu 20.04
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5752
Inscription : 02 janv. 2009 23:56

Re: Afficher texte grec indépendamment de la police

Message par Jean-Louis Cadeillan »

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
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Avatar de l’utilisateur
Lafricain
Membre OOrganisé
Membre OOrganisé
Messages : 74
Inscription : 26 mai 2018 15:57

Re: Afficher texte grec indépendamment de la police

Message par Lafricain »

Ça dépasse mes compétences!
Mais le problème c'est surtout le copier coller, il y a 2500 pages...
LibreOffice 7.2.2 Ubuntu 20.04
Scrat
HédOOniste
HédOOniste
Messages : 2051
Inscription : 06 juin 2014 10:39

Re: Afficher texte grec indépendamment de la police

Message par Scrat »

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

'ΑβιμθξЋ 
alors que ça devrait être:

Code : Tout sélectionner

Αβιληνή
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+
Ne contribue plus au forum
Avatar de l’utilisateur
Lafricain
Membre OOrganisé
Membre OOrganisé
Messages : 74
Inscription : 26 mai 2018 15:57

Re: Afficher texte grec indépendamment de la police

Message par Lafricain »

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 7.2.2 Ubuntu 20.04
Scrat
HédOOniste
HédOOniste
Messages : 2051
Inscription : 06 juin 2014 10:39

Re: Afficher texte grec indépendamment de la police

Message par Scrat »

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+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Ne contribue plus au forum
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5752
Inscription : 02 janv. 2009 23:56

Re: Afficher texte grec indépendamment de la police

Message par Jean-Louis Cadeillan »

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
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Avatar de l’utilisateur
Lafricain
Membre OOrganisé
Membre OOrganisé
Messages : 74
Inscription : 26 mai 2018 15:57

Re: Afficher texte grec indépendamment de la police

Message par Lafricain »

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 7.2.2 Ubuntu 20.04
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
Messages : 1214
Inscription : 06 avr. 2016 07:26

Re: Afficher texte grec indépendamment de la police

Message par Hubert Lambert »

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 : https://forum.openoffice.org/fr/forum/v ... =3&t=58586.
Cordialement.
AOOo 4.1.7 sur Win10
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
Lafricain
Membre OOrganisé
Membre OOrganisé
Messages : 74
Inscription : 26 mai 2018 15:57

Re: Afficher texte grec indépendamment de la police

Message par Lafricain »

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 7.2.2 Ubuntu 20.04
Scrat
HédOOniste
HédOOniste
Messages : 2051
Inscription : 06 juin 2014 10:39

Re: Afficher texte grec indépendamment de la police

Message par Scrat »

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...
Ne contribue plus au forum
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5752
Inscription : 02 janv. 2009 23:56

Re: Afficher texte grec indépendamment de la police

Message par Jean-Louis Cadeillan »

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
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Avatar de l’utilisateur
Lafricain
Membre OOrganisé
Membre OOrganisé
Messages : 74
Inscription : 26 mai 2018 15:57

Re: Afficher texte grec indépendamment de la police

Message par Lafricain »

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 7.2.2 Ubuntu 20.04
Scrat
HédOOniste
HédOOniste
Messages : 2051
Inscription : 06 juin 2014 10:39

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

Message par Scrat »

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+
Ne contribue plus au forum