Move string hash function into String class.

Change-Id: If229f3a8c4b4fd1e5f0c28618e29eded7b7853da
n#757432: Styles (rename &) copy to different decks.

Ported from: a4cd841541a729d7b8126d27d91fa28e30b01403

Change-Id: I73ebaec651a195afbf60f5338c487c7750298fef
String cleanups.

Change-Id: Ia4a9630822678a7b9ea6e5af87e58cfd0ebacff3
Stick to a single O[U]String hash function

Ported from: 042725a5dadc9f2c6368ca451b6d20046129b8af

Change-Id: I87f11d9101e21bdadaaffb719a762d0030639cb1
n#821567: Import PPTX background images with table-name.

Ported from 2ec4d410de5bd98527336a9dc49abb76656373df
n#821567: Use BitmapURL only if its valid.

Ported from bf2ff0468e06770f9320c652a2332f7ec137d061
n#862510: Ignore baseline attributes with zero.

Ported from 19abfaffe74b925e4428943d14187a7008797982

Change-Id: I5447c16193f7c3e619ce10658c9696014d3d5a22
n#862510: Fix text rotation.

Fix breaks document in n#783433 - the one there is
damaged - resaving it using mso 2010 should fix the problem there.
Ported from: e3e12b1d1e36e1a0d4fc4c6423b584d677693897

Change-Id: I56fbefa9de6b0714592cc64dffc011b27d1907f4
n#862510: anchorCtr controls the anchoring as well.

Ported from: c17eb67460293fbe72ffa8e80cd10743df493afa

Change-Id: I7b5885c3ac9ec30970bdb8b2c9318dc181dda5bd
n#870234: Import gradfill for text colors.

Uses the first color from the gradfill list.
(Which is better than plain black!)

Ported from: cfc76de83e3c0a56abd30a8f3bd7c69d3500d223

Change-Id: I57a3a54a8053a8ce320acbd02940f10941165d1c
valgrind: Conditional jump or move depends on uninitialised value

(cherry picked from commit e3dad060929de9beeeed2978f1b1427a91152073)

Conflicts:
	vcl/source/gdi/metaact.cxx

Change-Id: Ia0b22f7c394d1c2387d1cad7e3d99c79eaeca81a
(cherry picked from commit a37f474a2272c505778774cd1d92897d8a744863)
detect add to table beyond MAX_TABLE_SIZE

Change-Id: I9b1357e583620c59898cd7a649a5b39a6d7e3739
(cherry picked from commit e326b5e06d74685b1853d61c465e5be0b5bf1595)
(cherry picked from commit 4e2c5ffa89b77e4d6b0a1dc964d330d2ae3636d6)
valgrind: Conditional jump or move depends on uninitialised value

Change-Id: I1939d376afe5dd5c67f378ffb2520a066dc99077
(cherry picked from commit 6efbc4598aea1e87c1569c7beef13d44b1a4202c)
(cherry picked from commit 1742008dd0d83f3e69b6e09d9e3223d0c5d28096)
init a few more stream-read svm elements

(cherry picked from commit 67c6ea0c426c2796fc1b80cbe2cb0347686db90d)

Conflicts:
	vcl/source/gdi/metaact.cxx

Change-Id: I3dfa2485afbe66131b86764374d53181b55c2346
(cherry picked from commit 21212a65c5653bdc38cea426710e68ed40c66eb8)
Resolves: #i124453# check if the resulting polygon...

has already exceeded the number of points (2^16) that can be handled by a tools
polygon

(cherry picked from commit 804e547d70552fd64e1344d538427f8898824b43)

Change-Id: I437a84493e264f7b650561599170e831da20c9aa
(cherry picked from commit a9582c05f854cad02710178ab7fa79498573269e)
(cherry picked from commit ab71a4512557b7290cd7b1b4923463052acf164e)
Related: #i124516# handle bad surrogate pairs gracefully on Windows

When running into invalid Unicode surrogate pairs the text layout code on
Windows ran into massive problems like crashes. This change detects the
situation of an invalid surrogate pair and falls back to treat it as
a simple character instead of requesting a complex glyph fallback.

(cherry picked from commit 913f1fc4b1362f6e91595af5ae10c4cba79fd355)

Change-Id: I2988f4b64061d0a5df211f6f0f04b1f235fcd6a5
(cherry picked from commit 67688d3118b1a361d5dbdaa78e918815c163d75c)
Bump for 4.0-23

Change-Id: I0b147a43b85de8f0c025abf6abc176e8e185d902