Michael Lutz
baf9229931
Codechange: Replace AutoDeleteSmallVector with direct std::vector use in text layout code.
2019-04-09 22:45:15 +02:00
Michael Lutz
329bb52613
Codechange: Store text layout runs directly as values in a std::vector instead of heap allocated.
...
This reduces memory allocations and heap fragmentation.
2019-04-09 22:45:15 +02:00
Michael Lutz
fbc4cef180
Codechange: Use override specifier for text layout classes.
2019-04-09 22:45:15 +02:00
glx22
66dd7c3879
Fix: MSVC warnings ( #7423 )
2019-03-28 00:09:33 +01:00
Henry Wilson
cc62f4163f
Cleanup: Remove unused size template parameters from SmallMap and Auto[Free|Delete]SmallVector
2019-03-26 20:15:57 +00:00
Henry Wilson
ab711e6942
Codechange: Replaced SmallVector::[Begin|End]() with std alternatives
2019-03-26 20:15:57 +00:00
Henry Wilson
a0f36a50e6
Codechange: Replaced SmallVector::Append() with std::vector::[push|emplace]_back()
2019-03-26 20:15:57 +00:00
Henry Wilson
097328c3d7
Codechange: Replaced SmallVector::Get() const with std alternatives
2019-03-26 20:15:57 +00:00
Henry Wilson
a690936ed7
Codechange: Replace SmallVector::Length() with std::vector::size()
2019-03-26 20:15:57 +00:00
Henry Wilson
bfd79e59dc
Codechange: Replace SmallVector::Clear() with std::vector::clear()
2019-03-26 20:15:57 +00:00
Patric Stout
52d7e7d45e
Codechange: ICU_LAYOUT is in reality ICU_LX (according to their CMake files)
...
By naming it in a different way, things get a bit confusing.
Especially if we are switching to CMake, which autodetects these
things, we need to use the name the authors of ICU gave it; not
our interpertation of that name.
2019-03-11 10:16:00 +01:00
Michael Lutz
32ce1ce347
Add: [OSX] Text layout using the native CoreText API.
...
By default, the native API will be used instead of ICU, but if ICU is
forced in using configure, it will take precedence.
2018-12-08 20:13:27 +01:00
Charles Pigott
e0c0394e37
Fix: Remove various dead or unnecessary assignments
2018-10-31 12:41:49 +01:00
Stefan Strogin
fec44b0d09
Fix #6854 : Compilation with ICU 62 ( #6912 )
2018-09-20 22:36:45 +02:00
Ingo von Borstel
88b77a7883
Fix #6844 : Compile warning when compiling dedicated server ( #6849 )
2018-07-07 18:48:17 +02:00
Michael Lutz
574f547aca
Fix 768a31b: When cascading to another text layouter, clear the old font run state left over from the previous (failed) layout attempt.
2018-06-16 11:04:03 +02:00
Michael Lutz
768a31bfe3
Add: [Win32] Text layout using the native Windows Uniscribe library.
...
Uniscribe is sometimes producing different results compared to ICU, especially
when RTL and LTR content is mixed. Comparing the results to other programs
(like editors or web browsers) leads me to believe that the result are at least
not worse than ICU and possibly better.
2018-06-06 21:37:09 +02:00
Michael Lutz
a4278c302b
Codechange: Move ParagraphLayouter-specific functions into factory classes instead of relying on overloads.
2018-06-06 21:37:09 +02:00
PeterN
3b32075e8a
Add: {PUSH_COLOUR} and {POP_COLOUR} control codes to handle switching colours. ( #6737 )
...
This replaces the internal SCC_PREVIOUS_COLOUR swap.
2018-04-19 19:33:21 +01:00
Pavel Stupnikov
9175c349da
Fix #6465 : Add {NORMAL_FONT} and {MONO_FONT} control codes to GS strings ( #6726 )
2018-04-17 18:41:31 +01:00
rubidium
69fac508c3
(svn r27367) -Codechange: make a distinction between the layouting part of ICU (lx) or the sorting/collation part of ICU (i18n)
2015-08-09 12:33:27 +00:00
rubidium
0463dbdc9e
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-04-23 20:13:33 +00:00
rubidium
5b3d3b7240
(svn r26037) -Fix (r26036): there was a reason they weren't references...
2013-11-18 19:47:43 +00:00
rubidium
a36fb735c0
(svn r26036) -Fix [FS#5809]: multi line text was handled incorrectly causing glitches
2013-11-18 19:35:06 +00:00
michi_cc
b0b20192a9
(svn r26029) -Fix (r26017): The internal index of a character in the layout line depends on the used layouter.
2013-11-17 17:08:20 +00:00
rubidium
4c5ccc8b94
(svn r26018) -Codechange: since there's a wrapper for ICU functions now, we can use proper coding style for names again
2013-11-16 21:05:26 +00:00
rubidium
ddc0026712
(svn r26017) -Change: allow the fallback and ICU layouter to exist in unison
...
-Fix [FS#5711]: crash when the ICU layouter thinks a font is corrupted
2013-11-16 20:57:54 +00:00
rubidium
6449e96f1a
(svn r26016) -Codechange: prepare for some class renames
2013-11-16 20:32:55 +00:00
rubidium
b9e4697d8a
(svn r26015) -Codechange: some constificaton
2013-11-16 19:59:06 +00:00
rubidium
2df78944b9
(svn r25949) -Fix [FS#5683]: text direction forcing characters were not filtered out, but shown as ? when ICU was not used for layouting. These are included in chat and console messages to force them to be displayed right
2013-11-08 19:13:32 +00:00
fonsinchen
0baa72aff9
(svn r25714) -Fix: explicitly cast some things to silence warnings on GCC 4.0
2013-08-10 12:47:24 +00:00
rubidium
13855f0a09
(svn r25705) -Fix: a number of typos (inspired by 90c920601c84975acb694f3673e2beb08b013753)
2013-08-09 18:43:44 +00:00
michi_cc
bd02761b55
(svn r25696) -Fix (r25651): Missing function in the non-ICU paragraph layouter.
2013-08-06 17:35:11 +00:00
michi_cc
4ed08dcd60
(svn r25694) -Fix (r25651): Picky GCC.
2013-08-05 20:50:55 +00:00
michi_cc
30867c487f
(svn r25691) -Add: [OSX] Support for mouse selection in the IME composition string.
2013-08-05 20:37:53 +00:00
michi_cc
33f3cf3a5d
(svn r25651) -Fix: Textbuf caret rendering for complex scripts (e.g. Tamil).
2013-08-05 20:35:23 +00:00
frosch
0c0db5c4c7
(svn r25574) -Fix (r25570): Trouble with initialisation order of static members of Layouter and FontCache.
2013-07-07 12:07:06 +00:00
frosch
d0eff986be
(svn r25570) -Add: cache for ParagraphLayouts.
2013-07-06 19:00:33 +00:00
frosch
4824cb7886
(svn r25569) -Codechange: Cache all Font instances in a static container.
2013-07-06 18:56:23 +00:00
frosch
72a531bc82
(svn r25568) -Fix: Non-ICU layouter started new lines with the space which triggered the linebreak.
2013-07-06 18:55:38 +00:00
frosch
3fa1b4e8c3
(svn r25567) -Codechange: Revive dead DrawStringParams as FontState.
2013-07-06 18:54:26 +00:00
frosch
e8b6d2b32d
(svn r25551) -Fix (r25465): Possible reading of uninitialised memory due to undefined execution order.
2013-07-01 19:53:05 +00:00
rubidium
92f276f26d
(svn r25526) -Fix: line breaking in fallback layouter was off-by-one, so sometimes strings that needed to be broken off earlier got truncated later on
2013-06-30 07:46:10 +00:00
rubidium
4fed658a63
(svn r25525) -Fix: off-by-one in fallback layout w.r.t. colour/font changes
2013-06-30 07:29:31 +00:00
rubidium
ea5d35a896
(svn r25524) -Fix [FS#5624]: fallback layouter broke on long "words" without space after a newline
2013-06-30 07:21:37 +00:00
rubidium
0c14a586bd
(svn r25493) -Codechange: support for the safer variant of ICU's getFontTable
2013-06-27 21:21:47 +00:00
rubidium
928df8163a
(svn r25485) -Fix-ish: silence compiler warning
2013-06-27 18:33:46 +00:00
rubidium
569eaf0e11
(svn r25482) -Fix [FS#5620]: forced newlines were not properly handled
2013-06-27 16:24:19 +00:00
rubidium
bd2f4b9a24
(svn r25481) -Fix [FS#5620]: when the font size and colour change directly after eachother in a string, the latter isn't taken into account
2013-06-27 15:22:19 +00:00
rubidium
3fe1e9176d
(svn r25473) -Fix: uninitialised warning
2013-06-25 20:48:12 +00:00