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.
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.
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.
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.
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, ...).
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.
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
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.
Le service ouvre sa propre fenêtre :
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
- 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...
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.
- 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.
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.