Certains d'entre vous ont peut-être remarqué que sous Mac OS X 10.7, le texte de certains sites était remplacé par des "A" dans un bloc, que ce soit avec Safari ou Chrome.
MacFixIt a pu en découvrir la raison et comment y remédier : il s'agit d'une incompatibilité entre les nouveaux systèmes de bac à sable de Webkit (le moteur de rendu HTML commun à Safari et Chrome), et les gestionnaires de polices. Le principe du bac à sable est un isolement du code afin de l'empêcher d'accéder à certaines ressources du système pour protéger l'utilisateur. Le système comprend un certain nombre de polices par défaut dans le dossier Système/Bibliothèque/Fonts/, dont une, intitulée Last Resort, qui est utilisée lorsque l'application n'a d'autre recours (d'où son nom). C'est celle-ci qui affiche les fameux caractères incriminés.
Deux autres dossiers contiennent des polices, /Bibliothèque/Fonts/ et /nomdutilisateur/Bibliothèque/Fonts/, qui sont les dossiers dans lesquels Webkit ira chercher les polices nécessaires à l'affichage des sites. Mais les gestionnaires de police disposent de leurs propres dossiers où ils entreposent les polices qu'ils gèrent, et Webkit n'y a par défaut pas accès, et les remplace le cas échéant par Last Resort.
MacFixIt propose trois solutions à ce problème :
- cesser d'utiliser les gestionnaires de police
- configurer le gestionnaire de police pour qu'il utilise l'un des dossiers par défaut
- modifier le fichier de configuration de Webkit
Dans ce dernier cas, il s'agit d'ajouter le dossier utilisé par votre gestionnaire de police dans la liste des chemins que Webkit a le droit d'exploiter. Pour ce faire :
- dans le Finder, sélectionnez le menu "Aller", puis "Aller au dossier…" et collez l'adresse suivante dans la boîte de dialogue :
- dans la fenêtre qui s'ouvre, vous trouverez le fichier com.apple.WebProcess.sb, dupliquez le sur le bureau et renommez l'original par sécurité
- faites un clic droit sur la copie et sélectionnez "Ouvrir avec…" puis TextEdit.
- repérez la section du fichier intitulée "Read-only preferences and data", sous laquelle vous trouverez une ligne commençant par "
- ajoutez les lignes suivantes en respectant l'indentation :
Ces chemins ne valent que pour FontExplorer X et FontAgent Pro, assurez-vous d'y ajouter le chemin utilisé par votre gestionnaire de polices s'il diffère.
- enregistrez et fermez le fichier, puis déplacez-le à l'endroit d'où vous l'avez copié (/System/Library/PrivateFrameworks/WebKit2.framework/WebProcess.app/Contents/Resources), le Finder vous demandera votre mot de passe
- lancez l'application Terminal, copiez-collez la ligne de commande suivante, suivie d'une espace, sans taper la touche entrée :
- glissez l'icône du fichier que vous venez de copier sur la fenêtre du Terminal pour y ajouter son chemin, et tapez la touche entrée, puis votre mot de passe.
En cas de problèmes, revenez à la version initiale du fichier de configuration que vous avez conservée et renommée.
MacFixIt a pu en découvrir la raison et comment y remédier : il s'agit d'une incompatibilité entre les nouveaux systèmes de bac à sable de Webkit (le moteur de rendu HTML commun à Safari et Chrome), et les gestionnaires de polices. Le principe du bac à sable est un isolement du code afin de l'empêcher d'accéder à certaines ressources du système pour protéger l'utilisateur. Le système comprend un certain nombre de polices par défaut dans le dossier Système/Bibliothèque/Fonts/, dont une, intitulée Last Resort, qui est utilisée lorsque l'application n'a d'autre recours (d'où son nom). C'est celle-ci qui affiche les fameux caractères incriminés.
Deux autres dossiers contiennent des polices, /Bibliothèque/Fonts/ et /nomdutilisateur/Bibliothèque/Fonts/, qui sont les dossiers dans lesquels Webkit ira chercher les polices nécessaires à l'affichage des sites. Mais les gestionnaires de police disposent de leurs propres dossiers où ils entreposent les polices qu'ils gèrent, et Webkit n'y a par défaut pas accès, et les remplace le cas échéant par Last Resort.
MacFixIt propose trois solutions à ce problème :
- cesser d'utiliser les gestionnaires de police
- configurer le gestionnaire de police pour qu'il utilise l'un des dossiers par défaut
- modifier le fichier de configuration de Webkit
Dans ce dernier cas, il s'agit d'ajouter le dossier utilisé par votre gestionnaire de police dans la liste des chemins que Webkit a le droit d'exploiter. Pour ce faire :
- dans le Finder, sélectionnez le menu "Aller", puis "Aller au dossier…" et collez l'adresse suivante dans la boîte de dialogue :
/System/Library/PrivateFrameworks/WebKit2.framework/WebProcess.app/Contents/Resources
- dans la fenêtre qui s'ouvre, vous trouverez le fichier com.apple.WebProcess.sb, dupliquez le sur le bureau et renommez l'original par sécurité
- faites un clic droit sur la copie et sélectionnez "Ouvrir avec…" puis TextEdit.
- repérez la section du fichier intitulée "Read-only preferences and data", sous laquelle vous trouverez une ligne commençant par "
(allow file-read*
" et suivie d'une liste des chemins et fichiers accessibles par WebKit- ajoutez les lignes suivantes en respectant l'indentation :
(home-subpath "/FontExplorer X")
(home-subpath "/FontExplorer X/Font Library")
(home-subpath "/FontAgent Pro Fonts")
(home-subpath "/Library/FontAgent Pro")
(subpath "/Library/FontAgent Pro")
Ces chemins ne valent que pour FontExplorer X et FontAgent Pro, assurez-vous d'y ajouter le chemin utilisé par votre gestionnaire de polices s'il diffère.
- enregistrez et fermez le fichier, puis déplacez-le à l'endroit d'où vous l'avez copié (/System/Library/PrivateFrameworks/WebKit2.framework/WebProcess.app/Contents/Resources), le Finder vous demandera votre mot de passe
- lancez l'application Terminal, copiez-collez la ligne de commande suivante, suivie d'une espace, sans taper la touche entrée :
sudo chown root:wheel
- glissez l'icône du fichier que vous venez de copier sur la fenêtre du Terminal pour y ajouter son chemin, et tapez la touche entrée, puis votre mot de passe.
En cas de problèmes, revenez à la version initiale du fichier de configuration que vous avez conservée et renommée.