Commit graph

4307 commits

Author SHA1 Message Date
artemp
e75db3aa18 make box2d<T> adapters more generic. 2017-04-10 13:18:00 +01:00
artemp
20824cce79 add const_interior_rings type and stop abusing type system. (NOTE: iterator/const_iterator types are required by boost::range_iterator) 2017-04-03 13:00:35 +01:00
artemp
53a32b59b9 add boost::geometry::traits::push_back specialisation for mapnik::interior_rings<CoordinateType> 2017-03-30 14:04:57 +01:00
artemp
d96e6abe81 const correctness via @flippmoke 2017-03-30 09:54:12 +01:00
artemp
ef7da04cc9 cleanup 2017-03-30 09:23:58 +01:00
artemp
e3bf8cb558 use range based loop via @flippmoke 2017-03-30 09:23:11 +01:00
artemp
c28bf77d5d Merge branch 'master' into geometry.hpp 2017-03-30 08:23:56 +01:00
artemp
dd079183c5 add boost::geometry::resize and boost::geometry::clear traits specialisations for mapnik::interior_rings<CoordinateType> 2017-03-29 17:44:07 +01:00
artemp
3e803b52bb remove has_empty + fix is_empty implementaion to work with geometry.hpp 2017-03-29 11:39:04 +01:00
artemp
064b99168b geometry.hpp 2017-03-27 16:14:51 +01:00
artemp
60e6f5a9ff geojson - fix geometry generator grammar. 2017-03-22 15:09:15 +00:00
artemp
38b4b65911 GeoJSON - refactor geometry generator to preserve geometry type in output (ref https://github.com/mapnik/python-mapnik/issues/139) 2017-03-21 16:48:41 +00:00
artemp
b4b5e33b05 refactor WKT generator to retain geometry type for empty geometries (avoid short-cutting to POINT EMPTY)
For example:

| in |   | out   |
|`POINT EMPTY` |  <--> | 'POINT EMPTY`|
|`LINESTRING EMPTY` |  --> | 'POINT EMPTY`|

| in |   | out   |
|`POINT EMPTY` |  <--> | 'POINT EMPTY`|
|`LINESTRING EMPTY` |  <--> | 'LINESTRING EMPTY`|
etc.
2017-03-21 12:43:42 +00:00
artemp
d9063db0a0 GeoJSON - make geometry element stricter and throw on invalid input. 2017-03-21 12:40:58 +00:00
artemp
5450255c5b revert back to separate tests #if HB_VERSION_MAJOR > 0 #if HB_VERSION_ATLEAST(1, 0 , 5) ref #3642 2017-03-20 14:24:34 +00:00
Jiri Drbalek
d7ba7dc0db agg renderer: recycle internal buffers 2017-03-16 06:54:16 +00:00
Jiri Drbalek
03929b5c76 nested layers, layer level comp-op and opacity 2017-03-16 06:54:16 +00:00
artemp
1d06afeea2 Merge branch 'postgis-quoting' of https://github.com/lightmare/mapnik into lightmare-postgis-quoting 2017-03-14 12:29:32 +00:00
artemp
c1053181f5 Merge branch 'text-extend' of https://github.com/mapycz/mapnik into mapycz-text-extend 2017-03-14 11:53:52 +00:00
artemp
0dff423c44 cleanup 2017-03-14 11:22:11 +00:00
artemp
203d767e73 follow up from 32f5703ed1 - more generic specialisation 2017-03-14 10:26:09 +00:00
artemp
32f5703ed1 provide is_substitute specialisation for mapnik::geometry::linear_ring<double> const& (gcc6) 2017-03-14 11:05:33 +01:00
artemp
a50efcb2bb refactor unicode string grammar - add escaped_unicode rule + use it in expressions. 2017-03-03 15:41:46 +01:00
artemp
fb7139bc63 expressions - only import escaped rule from unicode_string_grammar and construct single/double quoted string rules locally to match expression grammar. NOTE: single quoted strings don't accept unicode encodings 2017-03-03 15:14:01 +01:00
artemp
92f07b7a7a handle utf16 encoding correctly by parsing as sequence and applying utf16->utf32->utf8 conversion. 2017-03-01 18:46:48 +01:00
artemp
04dd05c971 minimise shared_ptr assignments and simplify code 2017-03-01 12:59:34 +01:00
artemp
d29be8a689 If I'm reading docs correctly \uNNNN + \UNNNNNNNN are correct
Revert "relax hex4 parser to allow 5 character \unnnnn code points"

This reverts commit 378fa41db6.
2017-03-01 12:08:22 +01:00
artemp
2d2c5a191b expression_grammar: re-use unicode_string_grammar and add initial support for \uNNNNN code points (TODO) 2017-03-01 11:58:18 +01:00
artemp
378fa41db6 relax hex4 parser to allow 5 character \unnnnn code points 2017-03-01 11:53:27 +01:00
artemp
571b2a0d6a Merge branch 'harfbuzz-shaper' into color-emoji 2017-03-01 11:30:33 +01:00
artemp
7cb587a901 Merge branch 'master' into harfbuzz-shaper 2017-03-01 11:30:08 +01:00
artemp
131f785dce Make parsing \xXX format strict via hex2 parser + append UTF8 encoded \xXX characters directly (fixes #3631) 2017-03-01 11:25:43 +01:00
artemp
e95b16c5ca make hex parser strict (expecting two characters after \x) to avoid greedy parsing of trailing characters as in
"\xF0\x9F\x8D\xB7abc" ==>  ... + "\xB7" +  "abc" not "\xB7abc"
2017-03-01 10:35:39 +01:00
artemp
0076a5a916 make hex parser strict (expecting two characters after \x) to avoid greedy parsing of trailing characters as in
"\xF0\x9F\x8D\xB7abc" ==>  ... + "\xB7" +  "abc" not "\xB7abc"
2017-03-01 10:34:16 +01:00
artemp
570126bd76 make hex parser strict (expecting two characters after \x) to avoid greedy parsing of trailing characters as in
"\xF0\x9F\x8D\xB7abc" ==>  ... + "\xB7" +  "abc" not "\xB7abc"
2017-03-01 10:27:12 +01:00
artemp
cbacaaf0c5 initialize to reasonable values. 2017-02-28 15:05:37 +01:00
artemp
1b67779290 implement color bitmap extraction/scaling/compositing into target pixmap 2017-02-28 15:04:49 +01:00
artemp
7c93514fbc avoid division by zero (units_per_EM is set to 0 for bitmap fonts) 2017-02-28 15:01:46 +01:00
artemp
8e97803e81 add color_font_ member 2017-02-28 14:59:14 +01:00
artemp
32e592fb7a use explicit const& 2017-02-22 12:33:18 +01:00
artemp
d9c81d46fd use else if 2017-02-20 12:12:22 +01:00
artemp
86e5f9305b quarantee glyphinfos has enough capacity to hold cluster 2017-02-17 17:16:36 +01:00
artemp
fbdff42d47 use std::vector<std::vector<T>> instead of std::map<unsigned,std::vector> to simplify lookups 2017-02-17 16:52:31 +01:00
artemp
20cafae780 ensure insert has worked 2017-02-17 15:40:37 +01:00
artemp
e55918788c fix test logic 2017-02-17 15:32:03 +01:00
artemp
302e4c75dd simplify further 2017-02-17 15:28:13 +01:00
artemp
fe7d1e2f53 simplify logic 2017-02-17 15:23:00 +01:00
artemp
49c28cb6ad new font fallback implementation - it is rather inefficient but attempting to do a right thing.
(NOTE: some visual text failures need further look to see if latest implementation is correct)
2017-02-17 14:20:32 +01:00
Mickey Rose
2587bb3a1d sql_utils: improved table_from_sql 2017-02-10 18:55:22 +01:00
Mickey Rose
a4e8ea21be sql_utils: deprecate flawed un-quote functions
unquote* just strip all quotes from both ends of the string,
and don't collapse inner quotes.

quote_attr doesn't duplicate inner quotes.
2017-02-10 18:55:22 +01:00