Настройка шрифтов в mapserver (mapserver fonts howto)

Настройка шрифтов в 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


Add a Comment