PDA

Afficher la version complète : polices japonaises et graphismes sous PHP



arunosan
10/08/2005, 13h10
Bonjour tout le monde,

J'ai une question. Je l'ai déjà soulevé dans un autre sujet (mais de manière peu appropriée, je pense) et j'ai cherche des infos depuis... Malheureusement, je ne suis pas sur que ca marche.
Voici le problème: Je souhaite générer des fichiers graphiques sous PHP avec une police japonaise. Pour le moment, les fichiers générés sortent directement le texte en ISO-8859 au lieu du Shift-JS sous lequel ils sont codés originellement.

Je recherche donc le moyen de pouvoir afficher ce code avec une police japonaise... Visiblement, il me suffit de trouver la bonne police. Je n'ai pas encore essaye mais j'aurais aime avoir des avis/retours de la part de ceux qui ont ete confrontes a ce probleme (ou un similaire)...

Merci d'avance!

icebreak
11/08/2005, 03h12
Fait en sorte que ton graphique sorte du Shift-JS en lui faisant envoyer un header() par exemple.

arunosan
11/08/2005, 09h25
en lui faisant envoyer un header() par exemple.

Qu'est ce que tu entends par la?

icebreak
11/08/2005, 10h28
ben cherche sur la documentation PHP.
Décris plus en profondeur ton problème et ton code aussi.

arunosan
11/08/2005, 10h56
Ben, je connais bien la fonction header mais je ne comprenais pas comment specifier a une image qu'elle doit etre affiche en Shift_JIS...

Sinon, voici le code -simplifié- en question:
Il faut savoir que dans le code en question, le tableau $tabMoisAbb[] contient les mois abbreges dans une langue (FR, EN, JA-JP)



$image=imageCreate($largeur, $hauteur);

$colorFond=imageColorAllocate($image, 220, 220, 220);
$colorGraphe=imageColorAllocate($image, 255, 255, 255);
$colorText=imageColorAllocate($image, 0, 0, 0);

$chartFontLegende=3;

imageFill($image, 0, 0, $colorText);
imageFilledRectangle($image, 1,1, $largeur, $hauteur, $colorFond);

//legendes horizontales (mois)
for&#40;$cpt=0; $cpt<$increment_nbFichiers; $cpt++&#41;
&#123;
imageline&#40;$image, $depart_x, $depart_y, $arrivee_x, $arrivee_y, $colorText&#41;;

imageStringUp&#40;$image, $chartFontLegende, $position_x, $position_y, $tabMoisAbb&#91;intVal&#40;$Resume&#91;&#40;$cpt&#41;&#93;&#91;0&#93;&#41;&#93;, $colorText&#41;;
&#125;


header&#40;"Content-type&#58; image/png"&#41;;
imagePng&#40;$image&#41;;



et le resultat est la:
http://arunosan.free.fr/Arunosan_v2/stats/graphes/totaux.php?y=2005&type=1&lang=nihongo

On voit bien les equivalents Shift_JIS en ISO sur le graphe, a la place du titre et des mois...

J'espere que cela aura eclaire tout le monde (J'aurais d'ailleurs du commencer par la). Sinon, dites le moi, je vais tacher de m'expliquer un peu plus.

icebreak
12/08/2005, 03h11
Je vois pas ton image.
Mais fait en sorte que ton fichier de programmation soit bien en Shift-JS.

arunosan
12/08/2005, 08h24
Effectivement pour l'image, c'est ma faute. Il y a des variables de SESSION necessaires pour la voir. Enfin, bon, le lien direct vers la page o sont ces graphes, c'est: http://arunosan.free.fr/Arunosan_v2/stats/annuel.php?lang=nihongo

Mettre mon fichier de programmation en shift_JIS? Je pense qu'il y a quelque chose qui m'echappe totalement, la. Comment peux-tu mettre un fichier de programmation en Shift_JIS ou n'importe quel autre format? 8O

Je suis desole si je suis lourd mais la, je ne comprends pas... Tu peux m'expliquer comment tu fais ca? Merci d'avance. :wink:

icebreak
16/08/2005, 03h40
Ben tu l'enregistre sous ce format pardi. Tu peux meme le faire avec le notepad.
J'ai eu bcp de mal a une époque avec mes fichiers UTF-8. Ceux-ci généraient une BOM qui foirait mes scripts PHP avec session.

Et puis avec le nouveau Dreamweaver j'ai pu faire sauter la BOM. Mais rien qu'avec Dreamweaver, tu peux choisir le format de ton fichier dans les préférences, et je te parle pas d'ajouter un META hein, mais bien de changer le format. Ultra-Edit fait ca aussi. Dreamweaver te permet beaucoup de codage différent. essaye

arunosan
16/08/2005, 08h49
Ah ok. Je n'y avais jamais pense. Je vais tacher de faire ca. Je te tiens au courant.

arunosan
07/09/2005, 11h28
Bon, je reviens avec mon petit probleme. J'ai essaye ce week-end: j'ai converti mon fichier PHP en format Shift-JIS. Rien n'y a fait...

Je vais tenter (sitot que j'aurais le temps; pas facile avec le demenagement et les tournees de depart :wink: ) d'utiliser une police perso japonaise.... Je te tiens au courant. Si quelqu'un a des idees. Qu'il en fasse part, je suis toujours ouvert.

En tout cas, merci encore.

icebreak
08/09/2005, 03h46
Bah écoute ça m'étonne que ça aipas marché.
On peut coder en Shift-js bien que sur le guide PHP c'est pas conseillé sauf si tu connais bien les problèmes que ça peut impliquer, notamment les retours chariots. Mais ta essayer de faire ton fichier en shift-js qui lui fais une include sur ton code php ?

arunosan
08/09/2005, 10h54
En fait, le fichier qui contient toutes mes variables etait deja en Shift-JIS (je le tape sous JWPce et sauve sous ce format)...

Mais bon, je vais faire des essais chez moi quand j'aurai le temps pour m'assurer que c'est bien le cas. Etre sur souvent implique de se tromper...

Mais j'y crois. Merci, en tout cas.

icebreak
10/09/2005, 00h24
JWPce c'est quand meme pas l'idéal.
T'aurais pas Dreamweaver ou un éditeur style Ultra-edit ?

arunosan
12/09/2005, 08h48
Non, je n'ai plus DreamWeaver (je code tout sous PHPCoder). Et pas non plus eu d'Ultra-Edit. Je vais regarder de ce cote-la, du coup...