Настройка шрифтов в mapserver (mapserver fonts howto)
Статистика сайта мне подсказывает, что этот вопрос интересует посетителей. Интересно, почему, ведь в этом нет ничего сложного. Впрочем, не все могут иметь опыт наступания на грабли в давних версиях библиотеки GD и не приучены оные [грабли] обходить. Требуемые действия не зависят от платформы, будь то Linux, Unix или клоны BSD. Итак, по порядку.
1. Нужно использовать юникодные шрифты. Можно даже виндовые, из XP. Вот такой набор будет достаточным на первое время:
arialbd.ttf
arialbi.ttf
ariali.ttf
arial.ttf
ariblk.ttf
comic.ttf
courbd.ttf
courbi.ttf
couri.ttf
cour.ttf
FreeMonoBoldOblique.ttf
FreeMonoBold.ttf
FreeMonoOblique.ttf
FreeMono.ttf
FreeSansBoldOblique.ttf
FreeSansBold.ttf
FreeSansOblique.ttf
FreeSans.ttf
FreeSerifBoldItalic.ttf
FreeSerifBold.ttf
FreeSerifItalic.ttf
FreeSerif.ttf
symbols.ttf
verdana.ttf
2. Пишем конфигурационный файл для используемых шрифтов (fonts.list):
mono ../fonts/FreeMono.ttf
sans ../fonts/FreeSans.ttf
sansb ../fonts/FreeSansBold.ttf
vera ../fonts/FreeVera.ttf
serif ../fonts/FreeSerif.ttf
arial ../fonts/arial.ttf
arialbd ../fonts/arialbd.ttf
arialblk ../fonts/ariblk.ttf
cour ../fonts/cour.ttf
symbols ../fonts/symbols.ttf
Пути указываются относительно расположения главного файла конфигурации (map-файла).
3. В конфигурационном файле указываем размещение файла конфигурации шрифтов следующей директивой
FONTSET “fonts.list”
4. Необходимо указать кодировку данных, в случае использования ESRI shapefiles это будет cp1251. Для этого конфигурационном файле карты в секцию LABEL нужно добавить директиву ENCODING CP1251.
P.S. Я пользуюсь вот такой структурой каталогов:
$ ls -R
.:
bin fonts maps
./bin:
mapdraw.py
mapinfo.py
./fonts:
arialbd.ttf
arialbi.ttf
ariali.ttf
arial.ttf
ariblk.ttf
comic.ttf
courbd.ttf
courbi.ttf
couri.ttf
cour.ttf
FreeMonoBoldOblique.ttf
FreeMonoBold.ttf
FreeMonoOblique.ttf
FreeMono.ttf
FreeSansBoldOblique.ttf
FreeSansBold.ttf
FreeSansOblique.ttf
FreeSans.ttf
FreeSerifBoldItalic.ttf
FreeSerifBold.ttf
FreeSerifItalic.ttf
FreeSerif.ttf
symbols.ttf
verdana.ttf
./maps:
fonts.list
map_ru_52_nn.map
map_ru_52_nn
symbols.list
В папке map_ru_52_nn располагается карта Нижнего Новгорода в формате шейпфайлов. Как показывает практика, именно шейпфайлы позволяют добиться максимальной производительности. Только не забудьте их проиндексировать!
автор: Печников Алексей Олегович
e-mail: [email protected]
сайт: http://mobigroup.ru
——————————————————————————–
Cтатья является собственностью GPSClub.ru, все права на материал принадлежат GPS Club. ru (c)
При полной или частичной перепечатке материала обязательна гиперссылка на www.gps-club.ru
09.08.2007