J'utilise PhantomJs 1.8.1 sur Centos 6.3 pour des tests automatisés de l'interface utilisateur. Lorsqu'un test échoue, les captures d'écran sont enregistrées dans le système de fichiers.
Mon problème est que même si les captures d'écran sont enregistrées, elles ne contiennent pas de polices lisibles.
Donc, si le site Web se lit comme ceci:
Bonjour le monde!
la capture d'écran du site ressemblera à ceci:
Ainsi, au lieu des lettres, il restitue et enregistre de petites cases.
Le système est centos 6.3 . Freetype et Fontconfig sont également installés.
Comment pourrais-je résoudre ce problème?
THX!
J'ai eu un problème similaire avec les polices japonaises. (PhantomJS 1.9.1, Redhat sur Amazon EC2)
Les caractères anglais se sont bien comportés, mais les caractères japonais ont été rendus sous forme de boîtes.
1) Installation des polices IPA (japonaises) (Mincho et Gothic) avec yum install
.
(Utilisez yum list
pour vérifier les noms exacts du paquet.)
2) Les fichiers IPA .ttf
ont été installés pour:
/usr/share/fonts/IPA-Gothic/
/usr/share/fonts/IPA-Mincho/
3) Déplacez les deux fichiers .ttf
téléchargés dans ce répertoire: (Créez-le)
/usr/share/fonts/ipa/
4) Faites une sauvegarde de /etc/fonts/fonts.conf
5) Éditez le /etc/fonts/fonts.conf
original et remplissez-le avec ceci:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/usr/share/fonts/ipa</dir>
<cachedir>/var/cache/fontconfig</cachedir>
<cachedir>~/.fontconfig</cachedir>
<alias>
<family>serif</family>
<prefer>
<family>IPAP Mincho</family>
</prefer>
</alias>
<alias>
<family>sans serif</family>
<prefer>
<family>IPAP Gothic</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>IPA Gothic</family>
</prefer>
</alias>
</fontconfig>
6) Actualisez votre cache de polices avec fc-cache -vf
7) Profitez de vos nouvelles polices de travail.
Si vous obtenez no caractères (espace vide), votre cache de polices est probablement obsolète .Essayez fc-cache -vf
pour le régénérer.
La version 1.9.1 contient un correctif pour les caractères japonais/chinois/coréen. Pas sûr que ça fasse une différence, mais ça vaut probablement la peine de passer de 1.9.0.
J'ai eu le même problème.
L'installation du paquetage urw-fonts l'a résolu pour moi:
miam installer urw-fonts
Pour la police chinoise, je l’ai résolu en procédant comme suit:
Sudo apt-get install language-pack-zh-hans
Sudo apt-get install ttf-arphic-uming
Sudo apt-get install ttf-dejavu ttf-wqy-microhei
Sudo fc-cache -f -v
OS est Ubuntu 12.04 LTS
J'ai le même problème sur Amazon ec2 Je le fixe comme suit:
yum install cjkuni-ukai-fonts
Aussi, vous pouvez essayer d’installer des dépendances - FontConfig & FreeType
yum install fontconfig
yum install freetype*
Vous pouvez exécuter le script avec des paramètres de ligne de commande:
phanthomjs --output-encoding=cp866 [params] [filename]
Ajouter une section de style à votre section HTML
<style type="text/css">
@font-face
{
font-family:MyFont;
src: url('MyFont.ttf') format('truetype');
}
#barcodefont
{
font-family:MyFont;
font-size: 42px;
color:black;
}
</style>
Ensuite, pour utiliser la police dans le code HTML principal, procédez comme suit:
<div id="MyFont">Your text using MyFont</div>
Pour que cela fonctionne, votre fichier HTML et votre fichier MyFont.ttf doivent tous deux se trouver dans le répertoire PhantomJS dans lequel vous effectuez la conversion.
J'ai rencontré le même problème avec les polices arabes. C'est ce que j'ai fait.
yum groupinstall 'Arabic Support'.
L'installation de l'assistance en arabe a résolu le problème pour moi.
laissez le fichier /etc/fonts/fonts.conf seul. l'exemple ci-dessus ne fait que travailler en japonais
miam installer -y ipa-gothic-fonts.noarch ipa-mincho-fonts.noarch cjkuni-ukai-fonts.noarch bitmap-fonts bitmap-fonts-cjk urw-fonts
yum groupinstall -y 'Support coréen' 'Support chinois' 'Support japonais' 'Support kannada' 'Support hindi' 'Support arabe'
fc-cache -vf
Essayez ceci pour le chinois.
yum install bitmap-fonts bitmap-fonts-cjk