diff --git a/README.md b/README.md index 1454e10f57..c306569e08 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ node (development headers) >= v0.2.3 - mapnik 2.0 / (latest trunk >= r3023) + mapnik 2.0 / (latest trunk >= r3055) node-pool for some examples (npm install -g generic-pool) diff --git a/src/mapnik_fonts.hpp b/src/mapnik_fonts.hpp index 9810261e5e..2f087d9cb6 100644 --- a/src/mapnik_fonts.hpp +++ b/src/mapnik_fonts.hpp @@ -77,6 +77,20 @@ static inline Handle available_font_faces(const Arguments& args) return scope.Close(a); } +static inline Handle available_font_files(const Arguments& args) +{ + HandleScope scope; + std::map const& mapping = mapnik::freetype_engine::get_mapping(); + Local obj = Object::New(); + std::map::const_iterator itr; + for (itr = mapping.begin();itr!=mapping.end();++itr) + { + obj->Set(String::NewSymbol(itr->first.c_str()),String::New(itr->second.c_str())); + } + return scope.Close(obj); +} + + } #endif // __NODE_MAPNIK_FONTS_H__ \ No newline at end of file diff --git a/src/node_mapnik.cpp b/src/node_mapnik.cpp index a6643772c1..5d5fb3482f 100644 --- a/src/node_mapnik.cpp +++ b/src/node_mapnik.cpp @@ -73,6 +73,7 @@ extern "C" { NODE_SET_METHOD(target, "datasources", node_mapnik::available_input_plugins); NODE_SET_METHOD(target, "register_fonts", node_mapnik::register_fonts); NODE_SET_METHOD(target, "fonts", node_mapnik::available_font_faces); + NODE_SET_METHOD(target, "fontFiles", node_mapnik::available_font_files); NODE_SET_METHOD(target, "gc", gc); // Classes diff --git a/wscript b/wscript index d8c2f480c3..eb2f46880f 100644 --- a/wscript +++ b/wscript @@ -34,7 +34,7 @@ if os.environ.has_key('JOBS'): def write_mapnik_settings(fonts='',input_plugins=''): open(settings,'w').write(settings_template % (fonts,input_plugins)) -def ensure_min_mapnik_revision(conf,revision=2397): +def ensure_min_mapnik_revision(conf,revision=3055): # mapnik-config was basically written for node-mapnik # so a variety of kinks mean that we need a very # recent version for things to work properly