| Commit message (Collapse) | Author | Files | Lines |
|
|
|
- add license headers to everything
- convert a few files from public domain or LGPL2.1+ to GPL2+
- some archaeology to clarify which files are from which library
|
|
|
|
None of these functions seems to expect an actual gunichar (which is
a 32-bit type and can hold any UTF-32 or UCS-4 character code, also
known as a Unicode code point).
Instead we want UTF-8 encoded character data (i.e. gchar, which is
equivalent to char) that can be output byte-wise to form a valid
UTF-8 encoded string.
|
|
As we output UTF8 encoded strings to normal streams we can (and
should) put one byte at a time. Iterating over an ustring will give
us "unichar"s with up to four bytes, though, which is bound to fail
when written to a stream.
Using Glib::ustring::raw() gives us a std::string with the raw
(but still UTF8 encoded) character array that can be iterated
byte-wise and output to the stream as-is.
|
|
This tremendously speeds up saving long strings which previously
had to do "n!" lookups (where n is the number of chars) as
Glib::ustring::operator[] has to iterate over all preceding
unichars in each iteration to find the requested unichar.
A file with a CDATA section of ~1 MB saves in a few milliseconds now,
previously it didn't finish even after some minutes.
Fixed bugs:
- https://bugs.launchpad.net/inkscape/+bug/1793877
|
|
This reverts commit bba4ff6672494fab59286b50f6c645ad62a47e60.
|
|
|
|
(bzr r12184)
|
|
(bzr r12168)
|
|
solving bug #1120585 )
(bzr r12123)
|
|
(bzr r12119)
|
|
(bzr r10697)
|
|
take char const* rather than char*.
(bzr r3874)
|