[Résolu] Afficher texte grec indépendamment de la police
Modérateur : Vilains modOOs
-
- Membre OOrganisé
- Messages : 74
- Inscription : 26 mai 2018 15:57
[Résolu] Afficher texte grec indépendamment de la police
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.
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
Raison : [Résolu] remplace (Résolu) + ajout de la coche
LibreOffice 7.2.2 Ubuntu 20.04
-
- SuppOOrter
- Messages : 1037
- Inscription : 24 mai 2006 20:34
- Localisation : Lorraine, France
Re: Afficher texte grec indépendamment de la police
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/
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/
-
- Membre OOrganisé
- Messages : 74
- Inscription : 26 mai 2018 15:57
Re: Afficher texte grec indépendamment de la police
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.
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
-
- 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
Bonjour,
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.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
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
- Membre OOrganisé
- Messages : 74
- Inscription : 26 mai 2018 15:57
Re: Afficher texte grec indépendamment de la police
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.Lorsqu'on veut des mots avec une Police différente de celle du paragraphe, il faut passer par un Style de caractère
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
-
- SuppOOrter
- Messages : 1037
- Inscription : 24 mai 2006 20:34
- Localisation : Lorraine, France
Re: Afficher texte grec indépendamment de la police
À 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.
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.
-
- HédOOniste
- Messages : 2051
- Inscription : 06 juin 2014 10:39
Re: Afficher texte grec indépendamment de la police
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+
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
-
- Membre OOrganisé
- Messages : 74
- Inscription : 26 mai 2018 15:57
Re: Afficher texte grec indépendamment de la police
Ok merci à vous !
@Scrat: Merci pour la proposition du programme en C. Au besoin je peux t'envoyer le fichier complet.
@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
-
- GourOOu
- Messages : 5753
- Inscription : 02 janv. 2009 23:56
Re: Afficher texte grec indépendamment de la police
Bonsoir,
Un exemple ci-joint du décalage proposé par Scrat (que je salue ) avec Calc.
À tester.
Cordialement,
Jean-Louis
Un exemple ci-joint du décalage proposé par Scrat (que je salue ) 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
-
- Membre OOrganisé
- Messages : 74
- Inscription : 26 mai 2018 15:57
Re: Afficher texte grec indépendamment de la police
Un décale horizontal donc. Mais je comprends pourquoi?
LibreOffice 7.2.2 Ubuntu 20.04
-
- GourOOu
- Messages : 5753
- Inscription : 02 janv. 2009 23:56
Re: Afficher texte grec indépendamment de la police
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
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
-
- Membre OOrganisé
- Messages : 74
- Inscription : 26 mai 2018 15:57
Re: Afficher texte grec indépendamment de la police
Ça dépasse mes compétences!
Mais le problème c'est surtout le copier coller, il y a 2500 pages...
Mais le problème c'est surtout le copier coller, il y a 2500 pages...
LibreOffice 7.2.2 Ubuntu 20.04
-
- HédOOniste
- Messages : 2051
- Inscription : 06 juin 2014 10:39
Re: Afficher texte grec indépendamment de la police
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:
alors que ça devrait être:
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é...
A+
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
'ΑβιμθξЋ
Code : Tout sélectionner
Αβιληνή
A suivre, mais ne sois pas trop pressé...
A+
Ne contribue plus au forum
-
- Membre OOrganisé
- Messages : 74
- Inscription : 26 mai 2018 15:57
Re: Afficher texte grec indépendamment de la police
Pour ça ça ira Par contre pour le reste je comprends rien mais je suis très curieux d'apprendre...A suivre, mais ne sois pas trop pressé...
LibreOffice 7.2.2 Ubuntu 20.04
-
- HédOOniste
- Messages : 2051
- Inscription : 06 juin 2014 10:39
Re: Afficher texte grec indépendamment de la police
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.
Peut-être que Jean-Louis pourra introduire ces tableaux de correspondance dans son fichier Calc. Bon courage, Jean-Louis
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é !
A+
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
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é !
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. |
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Ne contribue plus au forum
-
- GourOOu
- Messages : 5753
- Inscription : 02 janv. 2009 23:56
Re: Afficher texte grec indépendamment de la police
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 ) à Scrat... perfidement.
Cordialement,
Jean-Louis
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 ) à 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
-
- Membre OOrganisé
- Messages : 74
- Inscription : 26 mai 2018 15:57
Re: Afficher texte grec indépendamment de la police
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?
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
-
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: Afficher texte grec indépendamment de la police
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.
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)
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)
-
- Membre OOrganisé
- Messages : 74
- Inscription : 26 mai 2018 15:57
Re: Afficher texte grec indépendamment de la police
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
-
- HédOOniste
- Messages : 2051
- Inscription : 06 juin 2014 10:39
Re: Afficher texte grec indépendamment de la police
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...
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
-
- GourOOu
- Messages : 5753
- Inscription : 02 janv. 2009 23:56
Re: Afficher texte grec indépendamment de la police
Bonjour,
Cordialement,
Jean-Louis
La table de correspondance que j'ai mise dans mon dernier fichier mis en ligne est complète... à quelques iotas prèsScrat a écrit : compléter la table de correspondance avec tous les caractères grecs agrémentés de virgules ou apostrophes.
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
-
- Membre OOrganisé
- Messages : 74
- Inscription : 26 mai 2018 15:57
Re: Afficher texte grec indépendamment de la police
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.
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
-
- HédOOniste
- Messages : 2051
- Inscription : 06 juin 2014 10:39
Re: [Résolu] Afficher texte grec indépendamment de la police
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.
Jean-Louis, je te rends la noisette.
A+
Heureux que le problème soit résolu par une macro... parce que je n'avais pas trop envie de bricoler un nouveau code.
Jean-Louis, je te rends la noisette.
A+
Ne contribue plus au forum