Home>Programmation>Cordial

Projet : Cordial sur Mac OS



Présentation :

Cordial est un correcteur orthographique et grammatical pour la langue française, qui existe sur PC depuis 1992, et a été de nombreuses fois élu produit de l'année. Je suis très fier de porter sur Mac OS cet excellent produit. Cordial est développé et édité par Synapse Développement.

Avertissement :

Il s'agit ici d'un blog technique sur l'avancée du projet et les difficultés rencontrées. Vous trouverez les informations sur le produit lui même, en suivant les liens en bas de page.

Projet :

Le projet est développé sur XCode 4 essentiellement en C/C++ pour le moteur, et en Objective-C pour les éléments d'interface.
Une partie du code une moteur a du être adaptée pour être compatible avec les Mac OS. Pour l'interface les modifications ont été radicales puisque les MFC étaient employées.
Le code est multi plateforme, et certains éléments ont été également portés sur Linux. L'usage de #if est assez courant.

Certains éléments sont développés en Java/JNI (intégration OpenOffice, Mozilla...) ou Qt.

Compatibilité :

Les différentes solutions ont été testées sur Mac OS X.6 (Snow Leopard) et X.7 (Lion), processeur Intel, 32 ou 64 bits.

Avancée du projet :

Word :

Cordial remplace les correcteurs d'origine, et inclut l'orthographe, la grammaire et les synonymes.
On l'appelle par F7 ou "Outils>Grammaire et orthographe..."

Cette correction fonctionne sur Word 2011 et Word 2008. Elle respecte la mise en page (style, liste, tableaux...) et la typographie (gras, souligné, taille, fonte, ...).

Correction Cordial dans Word

SynapseSpellServer

Le Spell Server est une application invisible, au format des services Apple, dont l'appel est géré par la plupart des applications.

Il suffit d'appeler la correction et de choisir la langue : "Français (Synapse)".

Comme dans Word, on peut activer la "Correction pendant la saisie" qui souligne les fautes d'orthographe en rouge, et de grammaire en vert.

Cordial dans TextEdit

La correction respecte la mise en page et la typographie.

Les applications compatibles (appelant le SpellServer) pour l'orthographe et la grammaire sont :

- Apple : iCal, iChat, iWork (Keynote, Numbers, Pages), Mail, TextEdit
- Adium, Aide-mémoire, Bean, Carnet d'adresses, Evernote, iCompta, MSN, Outlook
- RapidWeaver, Safari, skype, Smultron, SubEthaEdit, Twitter

Les applications compatibles mais n’appelant que l’orthographe sont :

- Apple iWeb, BBEdit, Google Chrome, Mail Smith, Mariner Write, Mellel, Nissus Writer Express, Nissus Writer Pro, PowerMail

Menu Services

Dans la plupart des applications Mac OS X, un sous-menu "Services" apparaît dans le deuxième menu à gauche, celui qui porte le nom de l’application.

Menu Services sur Mac OS

Le service ouvre sa propre fenêtre :

FenetreCorrectionCordial dans Menu Services

L'orthographe et la grammaire sont gérées par le Service. Toutefois les applications actives lors de l'appel ne transmettent pas toutes les mêmes données, et parfois je ne récupère pas les attributs de texte. Contrairement aux deux solutions précédentes, la mise en forme n'est pas respectée..

En dehors des applications compatibles spell server, celles récupérant le texte avec ses attributs sont :

- Nissus Writer (Express, Pro), PowerMail, SubEthaEdit, Tex-Edit Plus, TextWrangler,

celles récupérant du texte seul sont :

- Apple iWeb, BBEdit, Firefox, Google Chrome, Mail Smith, NeoOffice (Writer, Calc, Impression, Draw), Microsoft Entourage (2008), Thunderbird

Autres technologies en cours :

- une palette flottante. Pour les connaisseurs elle reprend les éléments du menu affiché dans l'onglet Cordial sur Word PC. Word Mac ne permet pas de modifier le "ruban", on peut juste le personnaliser mais pas lui associer des dll externes.
Cette palette s'affiche dans les logiciels compatibles (i.e. dont je peux récupérer le texte, une liste est en cours) et doit permettre un accès aux fonctions supplémentaires de Cordial : dictionnaires, conjugaison, paramètres de correction, statistiques...

Dictionnaires

La distribution Cordial comprend de nombreux dictionnaires dont le Littré, le TLF, des dictionnaires d'analogie, de synonymes, ...

Cas particulier :
- le Littré comporte des onglets. Il est facile de les désactiver, mais selon Apple la fonction qui les fait apparaître en gris dans ce cas, est obsolète à partir de Mac OS X.7. La solution était de surcharger l'affichage de leut titre pour changer par exemple leur couleur.

Le Littré dans Cordial

- certains dictionnaires sont affichés en RTF (Rich Text Format), le mac est beaucoup moins tolérant que le PC à la syntaxe du RTF. Résolu.
- pour l'affichage des listes hiérarchiques (Combinaisons) j'ai utilisé des classes C++ qui en fait sont incompatibles avec l'objet graphique Cocoa NSOutlineView. Résolu.

Conclusion :

Cordial pour Mac OS ayant été publié, j'arrête le blog ici. Il se peut que cette page soit tout de même modifiée car il me reste quelques notes qu'il me faudrait mettre en page. Je travaille plus activement sur la présentation de mon offre consultant : Wan More

Liens :

Synapse Développement
Cordial sur Wikipedia
Cordial sur Facebook, notamment pour ses rubriques "Le mot du jour" et "Chasseur de perles".
Wan More, mon site Professionnel.