Dane Springmeyer
1f29ce7d3d
back to using shared_ptr for holding text_placement_info
2014-10-08 16:28:07 -07:00
Dane Springmeyer
a24b29624a
remove unused include
2014-10-08 16:27:38 -07:00
Dane Springmeyer
65438f17aa
further tests of path expressions for shields
2014-10-08 08:00:59 -07:00
Dane Springmeyer
7ce776a79c
fix handling of shield-text-opacity/text-opacity - closes #2507
2014-10-06 21:52:29 -07:00
Dane Springmeyer
737c299341
fix back compat for text-placement-type:dummy - closes #2502
2014-10-06 11:37:39 -07:00
artemp
e8b3083a6a
remove std::function usage in text_properties
2014-10-03 16:00:05 +01:00
Dane Springmeyer
f81fc53cbc
fix compile on windows of font_feature_settings.cpp - refs #2489
2014-10-02 16:31:16 -07:00
Jiri Drbalek
5861980f91
add wrap-character support to Layout node of TextSymbolizer
2014-10-02 18:34:37 +00:00
artemp
2bab0512ff
refactor vertex_cache to use unique_ptr's and less copying
2014-10-02 16:36:50 +01:00
artemp
a04276d90a
use c++11 features over boost when available
2014-10-02 15:09:17 +01:00
Jiri Drbalek
667b6e3adc
fix compile on ubuntu precise
2014-10-02 12:18:39 +00:00
Dane Springmeyer
d29add9db3
use face_manager_freetype typedef everywhere
2014-10-01 18:54:11 -07:00
Dane Springmeyer
767c51cea2
add missing stdexcept include
2014-10-01 18:51:17 -07:00
Dane Springmeyer
e6fe3cd8a6
new font_library raii class
2014-10-01 18:19:26 -07:00
artemp
745d45bb68
remove std::function from placement loop
...
(std::function incurs overhead of polymorphic dispatch internally and relatively expensive - avoid using in performance critic code)
2014-10-01 11:26:14 +01:00
Dane Springmeyer
822d3a5bce
break apart symbolizer.hpp + fwd declars + svg output grammar impl
2014-09-30 12:50:08 -07:00
Dane Springmeyer
aaec8058fa
fix property name in error message
2014-09-29 16:32:46 -07:00
Dane Springmeyer
aa239a65ed
remove unneeded include
2014-09-24 12:23:54 -07:00
Jiri Drbalek
31607cb3f4
add text attribute horizontal-alignment="adjust"
2014-09-23 08:49:27 +00:00
Dane Springmeyer
d59529d22f
map ExpressionFormat -> Format for 2.3.x back compat - refs #2429
2014-09-22 23:34:36 -07:00
Dane Springmeyer
69dd74e079
rename wrap-char -> wrap-character to match Mapnik 2.3.x - refs #2333
2014-09-19 16:53:03 -07:00
Dane Springmeyer
0c901f790e
respect halo-transform in grid_renderer
2014-09-19 15:37:13 -07:00
Dane Springmeyer
9e78712dc4
Merge pull request #2377 from mapycz/3.x-fix-text-on-line-glyph-distance
...
text rendering with line placement on corners in 3.x
2014-09-19 15:12:32 -07:00
Dane Springmeyer
98adcc2d58
fix compile with clang++ after #2416
2014-09-19 14:51:27 -07:00
Jiri Drbalek
57be44d815
text ligatures off when character-spacing > 0
2014-09-17 19:22:14 +00:00
Jiri Drbalek
2dcfa9e4b7
add font-feature-settings
2014-09-17 19:22:07 +00:00
artemp
e545b68699
revert accidental removal of 'wrap-before' expression
2014-09-11 10:14:36 +01:00
artemp
246336d2b1
Merge branch 'min-dist-compatibility' of git://github.com/MapQuest/mapnik into MapQuest-min-dist-compatibility
2014-09-10 16:20:36 +01:00
artemp
f8dc7b023a
text - add ``repeat-wrap-char
`` parameter default:false ( #2333 )
2014-09-10 16:08:41 +01:00
Jordan Hollinger
9b5a9dfe3e
Change text-margin option to margin.
2014-09-10 07:45:41 -04:00
artemp
b441586acf
text-symbolizer: revive 'wrap-char' property which uses special (naive) line_breaker - ref #2333
2014-09-09 17:30:01 +01:00
artemp
635c3728f2
wrap BreakIterator into std::unique_ptr to avoid leaking memory
...
(per ICU docs: "The caller owns the returned object and is responsible for deleting it.")
2014-09-08 12:01:22 +01:00
Dane Springmeyer
479b9e13d0
Merge pull request #2383 from MapQuest/min-dist-compatibility
...
3.x -> 2.3.x compatibility for minimum-distance
2014-09-06 22:50:13 -07:00
Jiri Drbalek
b7e7e29781
fix text rendering with line placement on corners
2014-09-05 10:46:46 +00:00
Jiri Drbalek
1af6f5db10
format
2014-09-05 10:46:46 +00:00
Dane Springmeyer
7d5d02e031
Merge branch 'master' of github.com:mapnik/mapnik into 3x-msvs
2014-09-04 09:22:53 -07:00
Jiri Drbalek
67d8f41a1b
fix angle calculation
...
Conflicts:
src/text/vertex_cache.cpp
2014-09-03 11:53:23 -07:00
Dane Springmeyer
603ea3811f
Merge branch 'master' of github.com:mapnik/mapnik into 3x-msvs
2014-08-30 20:05:33 -07:00
Dane Springmeyer
a8017ddae6
fix std:: prefixing for cmath
2014-08-30 15:13:34 -07:00
Dane Springmeyer
3f6a5ae246
re-enable harfbuzz shaper
2014-08-29 00:05:34 -07:00
Dane Springmeyer
3c66054524
Merge branch 'master' of github.com:mapnik/mapnik into 3x-msvs
2014-08-28 17:23:59 -07:00
artemp
ecfaec1027
rename ctrans.hpp to view_transform.hpp
2014-08-28 10:29:04 +01:00
artemp
de22d5900c
rename CoordTransform to view_transform to better reflect its purpose and be consistent
2014-08-28 10:17:15 +01:00
Dane Springmeyer
ee1c2aec47
use icu shaper to avoid needing to build harfbuzz right now - refs #2396
2014-08-26 19:24:06 -07:00
Dane Springmeyer
5789777199
fix issue 7 from #2396
2014-08-26 19:23:24 -07:00
Jordan Hollinger
688dfcabc9
Disallow use of minimum-distance with either repeat-distance or text-margin.
2014-08-22 08:52:45 -04:00
Jordan Hollinger
a28d3dd99c
Handle text-margin, repeat-distance, and backward compatible minimum-distance in placement_finder. Update visual tests.
2014-08-21 20:49:00 -04:00
Jordan Hollinger
c8c792277d
Add attribute text-margin in place of minimum-distance.
2014-08-20 19:43:36 -04:00
artemp
801848ac97
Merge branch 'jh-min-repeat-distance' of git://github.com/MapQuest/mapnik into MapQuest-jh-min-repeat-distance
...
Conflicts:
include/mapnik/renderer_common/process_group_symbolizer.hpp
src/text/text_properties.cpp
2014-08-18 14:05:14 +01:00
artemp
95cea92a4a
convert all boost::variant to util::variant
...
apart from topojson (TODO)
2014-08-12 13:40:45 +01:00
Jordan Hollinger
726274c2c9
Merge branch 'master' of github.com:mapnik/mapnik into jh-min-repeat-distance
2014-08-11 09:48:04 -04:00
artemp
9bfb41a39f
convert symbolizer properties to use util::variant
2014-08-11 13:24:53 +01:00
Dane Springmeyer
8f183ac63a
Merge pull request #2345 from mapnik/emplace
...
use emplace/emplace_back over insert/push_back - refs #2336
2014-08-08 11:30:14 -07:00
artemp
0490b7887c
text_symbolizer - ``geometry-transform
`` support
2014-08-06 14:54:38 +01:00
artemp
9835057b0f
Use vertex_converters in text placement
2014-08-06 13:10:24 +01:00
Dane Springmeyer
ce8aee1994
be explicit about copy needed to safely pass glyph_info into text_line - closes #2337
2014-08-05 17:03:30 -07:00
Dane Springmeyer
d27b45553a
use emplace/emplace_back over insert/push_back - refs #2336
2014-08-05 15:19:37 -07:00
Dane Springmeyer
7a013e8151
switch glyph_info cache to an unordered_map (but no perf diff on osx)
2014-08-05 14:31:29 -07:00
Dane Springmeyer
2c9e089317
move harfbuzz_shaper inc + other iwyu fixups
2014-08-05 11:10:49 -07:00
Dane Springmeyer
99a46f6910
re-enable glyph_info caching - refs #2326 , #2265 , #2334
2014-08-04 19:50:16 -07:00
Dane Springmeyer
75248e3376
remove obsolete wrap-character option for text symbolizer - closes #2333
2014-08-04 12:52:46 -07:00
jhollinger2
0aad860a75
Add repeat-distance to text symbolizer properties.
...
Update collision detector to handle minimum-distance and repeat-distance seperately.
Update placement_finder to use repeat-distance.
Update group symbolizer to handle minimum-distance and repeat-distance.
2014-08-03 16:10:21 -04:00
Dane Springmeyer
b7ecd00c31
complete support for face-name/fontset-name in <Format> node - closes #1900
2014-07-30 14:16:32 -07:00
Dane Springmeyer
da457eba81
Merge branch 'master' of github.com:mapnik/mapnik
2014-07-30 08:42:03 -07:00
artemp
a6272fc16d
fix symbolizer helper
2014-07-30 14:09:15 +01:00
Dane Springmeyer
8646ccc83f
start passing fontsets down to format and layout - refs #1900
2014-07-29 18:29:20 -07:00
Dane Springmeyer
1fa31d5d20
remove force-odd-labels - refs #2120
2014-07-29 14:37:29 -07:00
artemp
08c3dd1f88
convert remaining text properties to expressions
2014-07-29 14:43:26 +01:00
artemp
97f87b1946
aggregate text symbolizer properties loading
2014-07-29 10:09:54 +01:00
artemp
9d91f3ca82
c++11 : cleanup crufty code
2014-07-29 10:09:21 +01:00
Dane Springmeyer
cdb075f75f
make clipping off by default - closes #2146
2014-07-28 20:31:10 -07:00
Dane Springmeyer
8feedd94cd
rename mapnik::boolean to mapnik::boolean_type - closes #1899
2014-07-28 19:46:49 -07:00
artemp
f338028802
fix init order
2014-07-28 17:50:44 +01:00
artemp
0cf6e47006
c++ char_properties -> evaluated_format_properties
2014-07-28 17:22:32 +01:00
artemp
72fd012221
c++ style
2014-07-28 15:16:59 +01:00
artemp
fb3d9cd7b6
convert horizontal/vertical/justify_alignment properties to expressions
2014-07-28 15:09:29 +01:00
artemp
c93b7fd632
cleanup
2014-07-28 12:20:14 +01:00
artemp
51cf60125e
rename source files to reflect class name e.g layout -> text_layout
2014-07-28 12:10:34 +01:00
artemp
70059cc346
remove redundant ExpressionFormat node
2014-07-25 14:26:13 +01:00
artemp
37245fdde1
text properties : add framework to handle expressions in enumerations
...
+ make text-transform an expression
2014-07-25 14:19:41 +01:00
artemp
ff96af0480
tex/formatting/format fix add_expressions
2014-07-24 14:51:34 +01:00
artemp
b53572ab9c
update text/formatting/format
2014-07-24 14:45:02 +01:00
artemp
a65239bf4b
fix format_node::to_xml - attach format_properties to new_node
2014-07-24 12:13:34 +01:00
artemp
9c39d4ebd2
collect expressions from format_properties
2014-07-24 12:00:46 +01:00
artemp
1927a00ee0
text-properties : make fill and halo-fill expressions
2014-07-24 11:37:16 +01:00
artemp
8502019310
more format_properties expessions
2014-07-23 18:09:18 +01:00
artemp
e67f046a0e
start re-factoring char_property (TODO: change name!)
2014-07-23 16:19:14 +01:00
Dane Springmeyer
64e70fb374
iwyu
2014-07-22 22:40:39 -07:00
Dane Springmeyer
28a05c96ef
iwyu + faster compile
2014-07-22 19:36:39 -07:00
artemp
498bba7cf8
c++ : pass arg by const ref
2014-07-22 16:09:10 +01:00
artemp
bfc6c61d62
c++ - pass by const ref etc.
2014-07-21 14:46:54 +01:00
artemp
eacde4fe43
remove dummy_shaper
2014-07-21 12:41:31 +01:00
artemp
3c2dd839e4
serialize color properties
2014-07-21 12:28:27 +01:00
artemp
a9062fe112
restore serialization in text_properties and text/formattin/layout
2014-07-21 11:43:59 +01:00
artemp
ee58762bd9
add property_serializer impl
2014-07-21 11:19:26 +01:00
artemp
93d40323c5
orientation -> symbolizer_base::value_type
2014-07-18 15:48:56 +01:00
artemp
594470ee17
expressions in text/formatting/layout (work-in-progress)
2014-07-18 11:18:54 +01:00
artemp
efe0cf57b4
move set_property_from_xml into separate header for re-use
2014-07-18 11:14:28 +01:00
artemp
dcb60d5842
make add_expressions pure virtual in base class
2014-07-17 17:26:54 +01:00
artemp
18d1d0b8d5
fix path_move_dx
2014-07-17 17:26:20 +01:00
artemp
620aa62ab5
remove unused member variable
2014-07-17 17:01:03 +01:00
artemp
21986e5d4a
refactor pass
2014-07-17 16:55:22 +01:00
artemp
79c1ac96b4
avoid captures in displacement_evaluator
2014-07-17 16:55:22 +01:00
artemp
8a01cce2f7
move displacement_evaluator_ initialisation
...
c++ style fixes
2014-07-16 16:34:42 +01:00
artemp
4166fcdd5d
store displacement logic in std::function and delay calc until dx/dy are evaluated (layout)
2014-07-16 14:24:00 +01:00
artemp
562058aff6
remove printing to cerr
2014-07-15 16:35:11 +01:00
artemp
6c03a617a5
text displacement expr : more re-factoring and various fixes
2014-07-15 16:31:43 +01:00
artemp
1f17620e18
make methods pure virtual where appropriate
...
pass std::string by const ref (!)
c++ style
2014-07-15 11:15:26 +01:00
artemp
72bae0d6b8
text properties : displacement expr
2014-07-15 10:15:56 +01:00
artemp
f8fc104e7d
more meaningful names
2014-07-14 16:55:57 +01:00
artemp
a66c1ddb06
convert to expressions: text-ratio, wrap-before, rotate-displacement
2014-07-14 16:51:11 +01:00
artemp
24e21cd387
set_property_from_xml helper function
2014-07-14 16:08:58 +01:00
artemp
73bda71710
text_properties : add expression_ptr's to the expression_set
2014-07-14 14:15:36 +01:00
artemp
e066aa924f
text_properties : wrap-width
2014-07-11 15:44:44 +01:00
artemp
4afd98a34a
text_properties : store 'orientation' parameter in symbolizer_base::value_type
2014-07-11 14:43:56 +01:00
artemp
61c54b3943
c++ style
2014-07-11 10:12:33 +01:00
artemp
c79e74116d
cleanups
2014-07-11 09:51:34 +01:00
artemp
9e84b6101b
store const* in glyph_t
2014-07-10 12:46:42 +01:00
artemp
203a2c55e6
fix missing make_unique on c++11 compilers
2014-07-10 12:45:51 +01:00
artemp
6cd7026aac
pass text_placement_info by ref to placement_finder + formatting
2014-07-10 11:44:46 +01:00
artemp
8c6015ec60
first take at cleaning-up text placement code
...
(NOTE: get_text_info is temp disabled in python bindings)
2014-07-09 11:31:03 +01:00
artemp
fb1ec4cee0
remove dead code
2014-07-09 10:28:00 +01:00
artemp
04facd3542
mode range ``for loops
``
2014-07-08 17:02:22 +01:00
artemp
fe215a684e
c++11 style : replace (almost) all typedef with type alias's
2014-07-07 18:23:15 +01:00
artemp
3c72aedba0
moving instead of copying mapnik::glyph_info
2014-06-18 14:15:12 +01:00
artemp
a5547b0473
Merge branch 'master' into unscaled-glyphs
2014-06-18 10:18:16 +01:00
Mike Morris
f797c320ff
remove unecessary x_scale/y_scale multiplication
2014-06-17 15:57:11 -04:00
artemp
2c3173c1aa
support halo-comp-op property ( #2267 )
2014-06-17 15:11:34 +01:00
artemp
8bd044ec13
+ serialize halo-opacity
2014-06-17 14:24:31 +01:00
artemp
cbab56fa79
text symbilizer : add halo-opactity property ( #2268 )
2014-06-16 11:24:16 +01:00
artemp
7eb8e25110
better namings + cleanup
2014-06-16 11:00:19 +01:00
Mike Morris
a99905cff5
fix char_height zero
2014-06-12 19:10:18 -04:00
Mike Morris
38966674f1
line_height, ymin, ymax and advance all look right now
2014-06-12 16:16:02 -04:00
Mike Morris
2b843ec6a9
first attempt at unscaled glyph dimensions
2014-06-11 19:56:55 -04:00
artemp
4ef9cd8b45
use math functions from std::
2014-05-28 10:59:01 +01:00
Dane Springmeyer
2c661ed3d5
support for render time variables
2014-05-11 13:08:24 -07:00
Dane Springmeyer
01d580d747
fix variable shadowing
2014-05-06 18:38:04 -07:00
Jordan Hollinger
533820c63f
Merge branch 'expr-v2' of github.com:mapnik/mapnik into expr-v2-group-symbolizer
...
Conflicts:
src/text/placement_finder.cpp
tests/visual_tests/test.py
2014-02-25 14:21:51 -05:00
Dane Springmeyer
14c02e76a7
Merge pull request #2138 from MapQuest/jmh-text-layouts
...
Multiple text layouts in text symbolizer
2014-02-18 17:59:56 -08:00
Jordan Hollinger
07dc6e37a2
Merge branch 'expr-v2' of github.com:mapnik/mapnik into expr-v2-group-symbolizer
...
Conflicts:
include/mapnik/attribute_collector.hpp
2014-02-18 18:22:01 -05:00
Jordan Hollinger
76329028d2
Find placements and render in process_group_symbolizer.
...
Create a group_symbolizer_helper for group placments, and extract some code from
text_symbolizer_helper into a base class to share with group_symbolizer_helper.
Also, move tolerance_iterator into its own header file. Use helper in
process_group_symbolizer to find placement positions.
2014-02-18 14:01:04 -05:00
Jordan Hollinger
fbc2a0d1e3
Framework for group symbolizer.
...
This includes XML parsing of group symbolizer and related objects and
process_group_symbolizer method in the AGG renderer. This also includes
code to collect group symbolizer indexed columns, create sub features,
and match them to group rules.
2014-02-18 11:07:52 -05:00
Dane Springmeyer
1c30683f23
fix round tripping of max-char-angle-delta value
2014-02-10 19:37:40 -08:00
Jordan Hollinger
489168d529
Use make_shared to create shared_ptr.
2014-02-10 11:48:33 -05:00
Jordan Hollinger
d8eda4898e
Merge branch 'expr-v2' of github.com:mapnik/mapnik into jmh-text-layouts
...
Conflicts:
tests/visual_tests/test.py
2014-02-10 07:38:25 -05:00
Jordan Hollinger
658d7e8888
Replace tabs with spaces. Remove unused method prototype.
2014-02-07 18:11:54 -05:00
Jordan Hollinger
6aa25090c0
Parse and support placement of multiple text layouts within a single text symbolizer.
2014-01-30 06:31:47 -05:00
Jordan Hollinger
269b038147
Extract text layout related properties (e.g. displacement, alignments) into seperate object from other placement related text symbolizer properties.
2014-01-30 06:01:57 -05:00
Matt Amos
944f34b3df
Fix unaligned multi-line labels.
...
This forces offset lines to be aligned to the closest point to
the anchor point on the original line, meaning that they are
aligned where the offset line and original run parallel, or nearly
so.
2014-01-28 20:33:42 +00:00
Dane Springmeyer
a98de6a348
Merge branch 'master' of github.com:mapnik/mapnik into expr-v2
...
Conflicts:
include/mapnik/expression_grammar_impl.hpp
src/expression.cpp
2014-01-27 13:56:36 -08:00
Dane Springmeyer
87e0ae8124
adapt build to use BOOST_SPIRIT_NO_PREDEFINED_TERMINALS
2014-01-26 14:00:58 -08:00
artemp
3628b5f237
halo-transform initial impl
2014-01-17 11:47:18 +00:00
Dane Springmeyer
e9ca9c8790
symbolizer-expressions replayed against latest master
2013-11-27 22:50:15 -08:00
artemp
eb3da7d32d
c++11 : use nullptr instead of NULL
2013-11-27 15:54:16 +00:00
Dane Springmeyer
64d5153aea
Improved support for international text
...
- Implementation by @herm for GSOC 2012 (http://mapnik.org/news/2012/10/06/gsoc2012-status9/ )
- C++11 port, improvements, optimizations by @artemp
- Testing and integration with master by @springmeyer
- Thank you to all the support from @behdad along the way
- Thanks for help testing @toton6868, @stephankn, @nirvn, @mfrasca, @simonsonc and many others
Refs: #2073,#2070,#2038,#2037,#1953,#1820,#1819,#1714,#1634,#1547,#1532,#1319,#1208,#1154,#1146
2013-11-22 00:06:32 -08:00
Dane Springmeyer
c7a6265869
organize text code in subdirectory
2013-11-07 20:09:22 -08:00