#1 Mon 06 March 2017 11:02
- Fanny12
- Participant occasionnel
- Date d'inscription: 11 Jun 2014
- Messages: 16
MapServer : FONTSET non pris en compte dans le Mapfile
Bonjour à tous,
je suis en train de migrer une vieille application qui était sur un serveur Windows avec PHP 5.2.6 et Mapserver 5.2 vers un nouveau serveur ubuntu avec PHP 5.5.12 et Mapserver 6.4.1.
je me trouve confrontée à un problème tout bête que je n'arrive pas à résoudre. On dirait que le mapfile n'en a rien à faire du paramètre FONTSET.
Mon fichier map se trouve dans un répertoire, dans celui-ci se trouve un sous-répertoire font dans lequel se trouvent tous les fichiers ttf et le fichier fonts.list (même arborescence que sous Windows). or que je fasse appel ou non au fichier fonts.list, j'ai toujours le même message d'erreur dans les logs mapserver
[Mon Mar 6 10:16:19 2017].753332 loadStyle(): Unknown identifier. Parsing error near (FONT):(line 281)
La ligne 281 fait référence à mon premier appel au paramètre FONT.
Voilà le début de mon fichier map
Code:
MAP NAME "appli" STATUS ON SIZE 720 540 IMAGECOLOR 255 255 255 EXTENT 550000 1850000 700000 1999000 #UNITS DD RESOLUTION 72 FONTSET /var/www/appli/font/fonts.list OUTPUTFORMAT NAME "png" MIMETYPE "image/png" DRIVER "GD/PNG" EXTENSION "png" IMAGEMODE PC256 TRANSPARENT FALSE END CONFIG "MS_ERRORFILE" "/tmp/ms_error.txt" # Needed for MapServer v4. Please comment the following line if you are using MapServer v3.6 or earlier #TEMPLATEPATTERN "printable.html|loader.html" SHAPEPATH "SHP" # SYMBOLSET "symbols/symbol.sym" WEB TEMPLATE "printable.html" #EMPTY "../mapsurfer/info.html" # path relative to cgi-bin EMPTY "testImage.html" # path relative to cgi-bin MINSCALE 100 MAXSCALE 900000 IMAGEPATH "/var/www/appli/TMP/" # full path to image tmp dir, so cgi can find it IMAGEURL "/appli/tmp/" # url location of image tmp dir, so web browser can find it END # Web Interface Options LEGEND STATUS ON IMAGECOLOR 255 255 255 POSITION UL KEYSIZE 28 22 #key boxes KEYSPACING 5 15 LABEL TYPE BITMAP SIZE MEDIUM COLOR 0 0 0 END END # Legend REFERENCE IMAGE refmap.png EXTENT 550000 1850000 700000 1999000 SIZE 200 200 STATUS ON COLOR -1 -1 -1 OUTLINECOLOR 255 0 0 END QUERYMAP STATUS OFF STYLE SELECTED COLOR 255 255 0 END SCALEBAR STATUS ON LABEL SIZE tiny COLOR 0 0 0 OUTLINECOLOR 255 255 255 END # STYLE 0 INTERVALS 3 SIZE 200 6 COLOR 0 0 0 BACKGROUNDCOLOR 255 255 255 IMAGECOLOR 255 255 255 OUTLINECOLOR 0 0 0 UNITS KILOMETERS POSITION LL # TRANSPARENT ON END # Scalebar
j'ai essayé également en entourant avec des guillemets
Code:
FONTSET "/var/www/appli/font/fonts.list"
en mettant le chemin relatif
Code:
FONTSET "font/fonts.list"
Mais j'ai toujours la même erreur.
D'ailleurs j'ai le problème aussi avec SYMBOLSET.
Si quelqu'un peut m'aider ? Merci
Hors ligne
#2 Mon 06 March 2017 14:58
- Blaise Picinbono
- Participant actif
- Date d'inscription: 8 Jan 2015
- Messages: 70
- Site web
Re: MapServer : FONTSET non pris en compte dans le Mapfile
Bonjour Fanny;
Sans en être certrain, je penche pour un problème de chemin.
Quelle version d'Ubuntu ? Dans les versions récentes de Debian, le répertoire web se trouve dans /var/www/html/ et non plus dans /var/www/ (chemin dans les anciennes versions de Debian). Ubuntu étant dérivé de Debian, je suppose que l'évolution de l'arborescence a suivi.
Dans les exemples de Mapserver, les polices de caractères sont placées en général dans le sous répertoire "fonts" et non "font" ("fonts" avec un "s" à la fin).
Dans un mapfile d'une application tournant avec Mapserver 7.0 sous Debian, j'utilise la déclaration suivante du FONTSET:
Code:
FONTSET "fonts/fonts.list"
Je pense donc que ça peut très bien fonctionner avec un chemin relatif.
Si en essayant de contrôler et au besoin d'adapter les chemins pour qu'ils correspondent bien à l'arborescence ça ne fonctionne toujours pas, ce serait sans doute utile d'utiliser Firebug, notamment l'onglet "Réseau", pour essayer de comprendre ce qui cloche.
La déclaration de SYMBOLSET est commentée dans le mapfile, elle n'est donc pas prise en compte...
Dernière modification par Blaise Picinbono (Mon 06 March 2017 15:03)
Hors ligne
#3 Mon 20 March 2017 15:26
- Fanny12
- Participant occasionnel
- Date d'inscription: 11 Jun 2014
- Messages: 16
Re: MapServer : FONTSET non pris en compte dans le Mapfile
Bonjour Blaise,
Désolée pour la réponse tardive, mais je n'ai pas eu de mail m'indiquant ta réponse (je vais vérifier mes paramètres).
Merci beaucoup en tout cas de m'avoir répondu.
C'est Ubuntu 14.
Mon chemin vers le fichier fonts.list est bien correct. En fait mon problème était dans la définition de la couche. Il y avait le mot clé STYLE tout seul, sans le END. Le message d'erreur Mapserver n'est pas tout explicite.
En tout cas Mapserver 6.4.1 est beaucoup moins permissif que la version 5.2 ! L'erreur était également présente, mais cela ne le gênait pas.
Concernant le problème du SYMBOLSET, le problème venait du fichier symbol.sym qui ne se clôturait pas par un END. Encore une fois cela fonctionnait avec Mapserver 5.2
Hors ligne