Tom Hacohen [Sun, 30 Jan 2011 10:46:06 +0000 (10:46 +0000)]
Evas: Updated changelog.
SVN revision: 56546
Tom Hacohen [Sun, 30 Jan 2011 10:46:02 +0000 (10:46 +0000)]
Evas textblock: Eliminate the use of cutoff, we don't really want/need that.
SVN revision: 56545
Tom Hacohen [Sun, 30 Jan 2011 10:45:56 +0000 (10:45 +0000)]
Evas font: Fix indentation.
SVN revision: 56544
Tom Hacohen [Sun, 30 Jan 2011 10:45:51 +0000 (10:45 +0000)]
Evas textblock: Did a bit of code clean-up.
SVN revision: 56543
Tom Hacohen [Sun, 30 Jan 2011 10:45:45 +0000 (10:45 +0000)]
Evas textblock: Added ellipsis support (actually only for the 1.0 case) to textblock.
SVN revision: 56542
Tom Hacohen [Sun, 30 Jan 2011 10:45:40 +0000 (10:45 +0000)]
Evas textblock: Fixed a memory leak and comment.
SVN revision: 56541
Tom Hacohen [Sun, 30 Jan 2011 10:45:34 +0000 (10:45 +0000)]
Evas textblock: Updated a comment.
SVN revision: 56540
Tom Hacohen [Sun, 30 Jan 2011 10:45:28 +0000 (10:45 +0000)]
Evas textblock: Fixed issue with charwrap causing an infinite loop.
SVN revision: 56539
Tom Hacohen [Sun, 30 Jan 2011 10:45:23 +0000 (10:45 +0000)]
Evas font: Fixed memory leak when reloading an already-loaded face.
SVN revision: 56538
Tom Hacohen [Sun, 30 Jan 2011 10:45:17 +0000 (10:45 +0000)]
Evas text: Fixed a segfault with text objects with a font not yet set (but with text set).
SVN revision: 56537
Tom Hacohen [Sun, 30 Jan 2011 10:45:11 +0000 (10:45 +0000)]
Revert "Evas textblock: Use the last item's width, not advance, when calculating line's width and wrapping."
There were issues introduced with this commit, should fix it in the
future.
This reverts commit
53cf2da5684871c77b7efc6406de98d5fb681914.
SVN revision: 56536
Tom Hacohen [Sun, 30 Jan 2011 10:45:06 +0000 (10:45 +0000)]
Evas textblock: Fixed paragraph width to also take in-paragraph line indentation into account.
SVN revision: 56535
Tom Hacohen [Sun, 30 Jan 2011 10:45:00 +0000 (10:45 +0000)]
Evas text: Added API to query text object's text direction.
SVN revision: 56534
Tom Hacohen [Sun, 30 Jan 2011 10:44:55 +0000 (10:44 +0000)]
Evas textblock: Fixed cursor position in BEFORE mode. Fixed a reference to a memory location (on the stack) we don't own anymore.
SVN revision: 56533
Tom Hacohen [Sun, 30 Jan 2011 10:44:48 +0000 (10:44 +0000)]
Evas textblock: Fixed cursor position with a cleared textblock.
SVN revision: 56532
Tom Hacohen [Sun, 30 Jan 2011 10:44:42 +0000 (10:44 +0000)]
Evas textblock: Use the last item's width, not advance, when calculating line's width and wrapping.
SVN revision: 56531
Tom Hacohen [Sun, 30 Jan 2011 10:44:37 +0000 (10:44 +0000)]
Evas text: Fixed string_size_get to use the last item's width instead of advance.
SVN revision: 56530
Tom Hacohen [Sun, 30 Jan 2011 10:44:31 +0000 (10:44 +0000)]
Evas font-engine: Fixed query size when not using OT to take the last char's width on RTL mode, instead of the first.
SVN revision: 56529
Tom Hacohen [Sun, 30 Jan 2011 10:44:23 +0000 (10:44 +0000)]
Evas text: relayout the items when needed.
SVN revision: 56528
Tom Hacohen [Sun, 30 Jan 2011 10:44:17 +0000 (10:44 +0000)]
Evas text: Fixed vert advance get in cases of mixed scripts with different ascents/descents.
SVN revision: 56527
Tom Hacohen [Sun, 30 Jan 2011 10:44:11 +0000 (10:44 +0000)]
Evas textblock: Fixed a typo in the wordwrap code.
SVN revision: 56526
Tom Hacohen [Sun, 30 Jan 2011 10:44:03 +0000 (10:44 +0000)]
Evas textblock: Added wrap=mixed to the style options.
SVN revision: 56525
Tom Hacohen [Sun, 30 Jan 2011 10:43:55 +0000 (10:43 +0000)]
Evas textblock: Fixed a bug with wordwrapping causing an infinite loop in some cases.
SVN revision: 56524
Tom Hacohen [Sun, 30 Jan 2011 10:43:50 +0000 (10:43 +0000)]
Evas font-engine: Fixed ot face loading when loading fonts from memory.
SVN revision: 56523
Tom Hacohen [Sun, 30 Jan 2011 10:43:42 +0000 (10:43 +0000)]
Evas bidi: Fixed visibility issue with evas_bidi_shape_string which is supposed to be visible to extrenal moduels as well.
SVN revision: 56522
Tom Hacohen [Sun, 30 Jan 2011 10:43:34 +0000 (10:43 +0000)]
Evas font-engine: add a function to just ref text props.
SVN revision: 56521
Tom Hacohen [Sun, 30 Jan 2011 10:43:26 +0000 (10:43 +0000)]
Evas textblock: Implemented support for size_native_get which was partially broken because calc_only was not implemented.
SVN revision: 56520
Tom Hacohen [Sun, 30 Jan 2011 10:43:21 +0000 (10:43 +0000)]
Evas textblock: Added mixedwrap code - the code is there but nothing is really using it at the moment, will add that in the future.
SVN revision: 56519
Tom Hacohen [Sun, 30 Jan 2011 10:43:15 +0000 (10:43 +0000)]
Evas textblock: Remove unused function: _evas_textblock_cursor_node_format_before_pos_get.
SVN revision: 56518
Tom Hacohen [Sun, 30 Jan 2011 10:43:09 +0000 (10:43 +0000)]
Evas textblock: Fixed word prerender, it now compiles and even mostly works, there are still some glitches (haven't benchmarked it though).
SVN revision: 56517
Tom Hacohen [Sun, 30 Jan 2011 10:43:03 +0000 (10:43 +0000)]
Evas font-engine: Exposed PEN_Y in the walker functions and started using it instead of the hackish _pen_y.
SVN revision: 56516
Tom Hacohen [Sun, 30 Jan 2011 10:42:56 +0000 (10:42 +0000)]
Evas textblock: Fixed a segfault with regular formats (ones without size explicitly set).
SVN revision: 56515
Tom Hacohen [Sun, 30 Jan 2011 10:42:48 +0000 (10:42 +0000)]
Evas textblock: Moved item (of type SIZE) size calculation to actual line finalizing because it depends on the object scale and where it was before will break when scale changes.
SVN revision: 56514
Tom Hacohen [Sun, 30 Jan 2011 10:42:41 +0000 (10:42 +0000)]
Evas textblock: Fixed bug with relative sized items not showing.
SVN revision: 56513
Tom Hacohen [Sun, 30 Jan 2011 10:42:35 +0000 (10:42 +0000)]
Evas textblock: Fixed cursor when the cursor is in the end.
SVN revision: 56512
Tom Hacohen [Sun, 30 Jan 2011 10:42:28 +0000 (10:42 +0000)]
Evas bidi: remove the bidi reverse string, it's old and not needed.
SVN revision: 56511
Tom Hacohen [Sun, 30 Jan 2011 10:42:20 +0000 (10:42 +0000)]
Evas font-engine: simplify 26_6 round to int.
SVN revision: 56510
Tom Hacohen [Sun, 30 Jan 2011 10:42:13 +0000 (10:42 +0000)]
Evas font-engine: pen_x is now calculated with fractional pixels (inside each item, not the case with cross-items which still use integral pixels).
SVN revision: 56509
Tom Hacohen [Sun, 30 Jan 2011 10:42:07 +0000 (10:42 +0000)]
Evas font-engine: Round the fractional coords (instead of floor).
SVN revision: 56508
Tom Hacohen [Sun, 30 Jan 2011 10:42:01 +0000 (10:42 +0000)]
Evas: Fixed harfbuzz dependency checking. Was broken with harfbuzz that is not compiled with freetype support and always printed 'no' regarding harfbuzz usage.
SVN revision: 56507
Tom Hacohen [Sun, 30 Jan 2011 10:41:57 +0000 (10:41 +0000)]
Evas textblock: Fixed async rendering support.
SVN revision: 56506
Tom Hacohen [Sun, 30 Jan 2011 10:41:49 +0000 (10:41 +0000)]
Evas textblock: Fixed a seg and the documentation error that caused it.
SVN revision: 56505
Tom Hacohen [Sun, 30 Jan 2011 10:41:42 +0000 (10:41 +0000)]
Evas textblock: split the visual layouting to two stages:
1. Split to logical layout units.
2. Order the logical layout units in a visual way.
This lets us cache the results of the first part (unless the text changes), which makes everything a lot faster in the OT case, and quite faster in the regular case.
There are still some issues unresolved in this commit that will be resolved in future commits:
1. No support for async rendering - yes, I forgot I'm supposed to support that.
2. native_size should probably be calculated in another way because the current one is slow and if we already have the logical items it should be a piece of cake...
SVN revision: 56504
Tom Hacohen [Sun, 30 Jan 2011 10:41:35 +0000 (10:41 +0000)]
Evas font-engine: Fixed a puny memory leak.
SVN revision: 56503
Tom Hacohen [Sun, 30 Jan 2011 10:41:29 +0000 (10:41 +0000)]
Used evas_textblock_text_node_changed instead of evas_textblock_changed when needed and removed the latter completely because it wasn't needed/used anymore.
SVN revision: 56502
Tom Hacohen [Sun, 30 Jan 2011 10:41:23 +0000 (10:41 +0000)]
Evas textblock: The only thing that should force a 'native recalc' is a change in the text.
SVN revision: 56501
Tom Hacohen [Sun, 30 Jan 2011 10:41:18 +0000 (10:41 +0000)]
Evas textblock: split layout line advance to advance and finalize instead of using the 'new line' flag.
SVN revision: 56500
Tom Hacohen [Sun, 30 Jan 2011 10:41:13 +0000 (10:41 +0000)]
Evas textblock: Added a couple of comments and mark that we already handlede content change after we calc native size, that's because logical layout remains the same.
SVN revision: 56499
Tom Hacohen [Sun, 30 Jan 2011 10:41:06 +0000 (10:41 +0000)]
Evas textblock: Fixed a major slowdown caused by a missing content_changed = 0.
SVN revision: 56498
Tom Hacohen [Sun, 30 Jan 2011 10:40:59 +0000 (10:40 +0000)]
Evas textblock: Removed unused functions.
SVN revision: 56497
Tom Hacohen [Sun, 30 Jan 2011 10:40:53 +0000 (10:40 +0000)]
Evas textblock: Fix format usage in the visual layouting.
SVN revision: 56496
Tom Hacohen [Sun, 30 Jan 2011 10:40:47 +0000 (10:40 +0000)]
Evas textblock: format is now a property of both text items and format items meaning that formats can finally have their own properties, e.g tabs can have distinct background colors and etc.
SVN revision: 56495
Tom Hacohen [Sun, 30 Jan 2011 10:40:42 +0000 (10:40 +0000)]
Evas textblock: Fixed a bug in the last commit causing a seg when cleaning a tb.
SVN revision: 56494
Tom Hacohen [Sun, 30 Jan 2011 10:40:36 +0000 (10:40 +0000)]
Evas textblock: Split between content changes and other changes.
SVN revision: 56493
Tom Hacohen [Sun, 30 Jan 2011 10:40:30 +0000 (10:40 +0000)]
Split logical layouting and visual layouting completely. There are still some bugs, but this includes the major change.
SVN revision: 56492
Tom Hacohen [Sun, 30 Jan 2011 10:40:21 +0000 (10:40 +0000)]
Evas font-engine: A couple of major fixes:
1. Worked around a fribid behavior that broke some stuff - we should handle it better in the future, this workaround is only temporary.
2. Fixed a bug with textblock's last_up_to_pos.
3. Fixed a bug with ot_shaping not reloading the font and activating the size in the wrong place.
SVN revision: 56491
Tom Hacohen [Sun, 30 Jan 2011 10:40:14 +0000 (10:40 +0000)]
Evas textblock: Started splitting the layouting to two stages, logical item creating and visual ordering of the items. This will let us to cache the logical items and just relayout the visual items when needed thus making everything a lot faster.
SVN revision: 56490
Tom Hacohen [Sun, 30 Jan 2011 10:40:09 +0000 (10:40 +0000)]
Evas textblock: Fixed line coords to be relative to the paragraphs coords and not standalone like they were.
SVN revision: 56489
Tom Hacohen [Sun, 30 Jan 2011 10:40:04 +0000 (10:40 +0000)]
Evas textblock: Update layout paragraph coordinates and use them to speed some parts up.
SVN revision: 56488
Tom Hacohen [Sun, 30 Jan 2011 10:39:58 +0000 (10:39 +0000)]
Evas textblock: Use layout paragraphs for faster item locating.
SVN revision: 56487
Tom Hacohen [Sun, 30 Jan 2011 10:39:52 +0000 (10:39 +0000)]
Evas textblock: started using the paragraph layout items a bit more so it's a bit faster now. Fixed a bug in calculating the line number. Paragraph layout items now point to the original paragraphs.
SVN revision: 56486
Tom Hacohen [Sun, 30 Jan 2011 10:39:47 +0000 (10:39 +0000)]
Evas textblock: Started using the layout paragraphs. Still not using their coords or using them for optimizations.
SVN revision: 56485
Tom Hacohen [Sun, 30 Jan 2011 10:39:42 +0000 (10:39 +0000)]
Evas font: skip over common script items when getting the font, we should get the font of the actual script items.
SVN revision: 56484
Tom Hacohen [Sun, 30 Jan 2011 10:39:35 +0000 (10:39 +0000)]
Evas font: fixed calling of bidi_end_of_run_get and exposed a new function to get the script of a single char.
SVN revision: 56483
Tom Hacohen [Sun, 30 Jan 2011 10:39:29 +0000 (10:39 +0000)]
Revert "Evas font-engine: Also split on script common." - After
reviewing the standard again, it's not really wanted.
This reverts commit
26cc8747fda51e95d340ef1a1838817fe495be23.
SVN revision: 56482
Tom Hacohen [Sun, 30 Jan 2011 10:39:22 +0000 (10:39 +0000)]
Evas textblock: Started using advancement for wrapping.
SVN revision: 56481
Tom Hacohen [Sun, 30 Jan 2011 10:39:16 +0000 (10:39 +0000)]
Evas text object: Hacked a fix to string size get which fixes elipsis and many other stuff.
SVN revision: 56480
Tom Hacohen [Sun, 30 Jan 2011 10:39:09 +0000 (10:39 +0000)]
Evas text: Fixed a bug with the issuing of script end of run get.
SVN revision: 56479
Tom Hacohen [Sun, 30 Jan 2011 10:39:03 +0000 (10:39 +0000)]
Evas language utils: fixed evas_common_language_script_end_of_run_get and adjusted text and textblock object to use it.
SVN revision: 56478
Tom Hacohen [Sun, 30 Jan 2011 10:38:55 +0000 (10:38 +0000)]
Evas text: Fixed object_text last_up_to_pos.
SVN revision: 56477
Tom Hacohen [Sun, 30 Jan 2011 10:38:50 +0000 (10:38 +0000)]
Evas font-engine: Fixed a bug in evas_common_language_script_end_of_run_get
SVN revision: 56476
Tom Hacohen [Sun, 30 Jan 2011 10:38:44 +0000 (10:38 +0000)]
Evas text: fixed an issue with last_up_to_pos and char_at_coords that caused them to return the wrong index.
SVN revision: 56475
Tom Hacohen [Sun, 30 Jan 2011 10:38:39 +0000 (10:38 +0000)]
Evas textblock: Migrated part of add and split item to _layout_text_append to improve performance.
SVN revision: 56474
Tom Hacohen [Sun, 30 Jan 2011 10:38:33 +0000 (10:38 +0000)]
Evas font-engine: fixed kerning in the default walker.
SVN revision: 56473
Tom Hacohen [Sun, 30 Jan 2011 10:38:28 +0000 (10:38 +0000)]
Evas font-engine: Also split on script common.
SVN revision: 56472
Tom Hacohen [Sun, 30 Jan 2011 10:38:22 +0000 (10:38 +0000)]
Revert "Evas textblock: Shape a lot less when splitting to items because of script/bidi direction."
Was broken.
This reverts commit
d2bc8fd8b516a640c3eb098071a80d751494024a.
SVN revision: 56471
Tom Hacohen [Sun, 30 Jan 2011 10:38:15 +0000 (10:38 +0000)]
Evas textblock + font engine: add an optimized way of doing a cut-off on the text props.
SVN revision: 56470
Tom Hacohen [Sun, 30 Jan 2011 10:38:08 +0000 (10:38 +0000)]
Evas font-ot: moved typedef to a better location (doesn't change anything but ease of understanding).
SVN revision: 56469
Tom Hacohen [Sun, 30 Jan 2011 10:38:02 +0000 (10:38 +0000)]
Evas textblock: Shape a lot less when splitting to items because of script/bidi direction.
SVN revision: 56468
Tom Hacohen [Sun, 30 Jan 2011 10:37:57 +0000 (10:37 +0000)]
Evas textblock: removed an un-needed shaping that speeds up things a bit.
SVN revision: 56467
Tom Hacohen [Sun, 30 Jan 2011 10:37:52 +0000 (10:37 +0000)]
Evas font-engine: cache harfbuzz's face.
SVN revision: 56466
Tom Hacohen [Sun, 30 Jan 2011 10:37:46 +0000 (10:37 +0000)]
Evas font-engine: Fixed some issues with the git rebase I just did, should now compile correctly.
SVN revision: 56465
Tom Hacohen [Sun, 30 Jan 2011 10:37:40 +0000 (10:37 +0000)]
Evas font-ot: Fixed mistakes that caused ilegal reads.
SVN revision: 56464
Tom Hacohen [Sun, 30 Jan 2011 10:37:34 +0000 (10:37 +0000)]
Evas font-ot: renamed internal source_pos to source_cluster and added the forgotten evas_common_font_ot_cluster_size_get to the .h file.
SVN revision: 56463
Tom Hacohen [Sun, 30 Jan 2011 10:37:29 +0000 (10:37 +0000)]
Evas font-engine: Add cluster support to the font-engine. Cursor handling is now correct for clusters as well.
SVN revision: 56462
Tom Hacohen [Sun, 30 Jan 2011 10:37:18 +0000 (10:37 +0000)]
Evas font-engine: Fixed pen/char query. In RTL first is actually the last.
SVN revision: 56461
Tom Hacohen [Sun, 30 Jan 2011 10:37:12 +0000 (10:37 +0000)]
Evas font-engine: Fixed an issue with cluster handling that broke cursor position in some cases.
SVN revision: 56460
Tom Hacohen [Sun, 30 Jan 2011 10:37:05 +0000 (10:37 +0000)]
Evas font engine: Fixed a couple of issues:
1. Fixed double-kerning with the DEFAULT walker.
2. Removed unused var with the OT walker.
3. Fixed a bit of the documentation in the walkers.
SVN revision: 56459
Tom Hacohen [Sun, 30 Jan 2011 10:36:59 +0000 (10:36 +0000)]
Evas font-engine: Fixed invisible character handling in the OT walker. Renamed internal var gl in the default walker to _gl, a less common var name.
SVN revision: 56458
Tom Hacohen [Sun, 30 Jan 2011 10:36:53 +0000 (10:36 +0000)]
Evas font-engine: Fixed an issue with cursor position with RTL text when OT is off.
SVN revision: 56457
Tom Hacohen [Sun, 30 Jan 2011 10:36:47 +0000 (10:36 +0000)]
Evas text: Use the already calculated len.
SVN revision: 56456
Tom Hacohen [Sun, 30 Jan 2011 10:36:39 +0000 (10:36 +0000)]
Evas: Multiple changes that all relate to the Harfbuzz integration:
1. Started feeding Evas_Text_Props to the font engine instead of Evas_BiDi_Props because no we have more general text properties as well - i.e, OpenType stuff.
2. Full Harfbuzz integration which gets compiled in by default (if harfbuzz is present) but only works if the environment variable EVAS_USE_OT is set to 1 (because OT is way slower than regular text rendering).
3. Cleaned the font querying/drawing functions.
4. Added font_shaped function to all of the engines, which by default calls teh harfbuzz stuff (default on linux that is).
5. Moved some source files around a bit to make more sense.
SVN revision: 56455
Tom Hacohen [Sun, 30 Jan 2011 10:36:24 +0000 (10:36 +0000)]
Evas: fine tuned the harfbuzz checks to make sure harfbuzz was compiled with freetype support and just check if it also compiled with glib support. ATM there's no good lib for checking unicode characteristics so until there is one, we optionally use harfbuzz's glib integration - such lib is planned by the guy who wrote Harfbuzz.
SVN revision: 56454
Tom Hacohen [Sun, 30 Jan 2011 10:36:20 +0000 (10:36 +0000)]
Evas text: Fixed typo in horiz advance function.
SVN revision: 56453
Tom Hacohen [Sun, 30 Jan 2011 10:36:14 +0000 (10:36 +0000)]
Evas font: Added HARFBUZZ's cflags.
SVN revision: 56452
Tom Hacohen [Sun, 30 Jan 2011 10:36:08 +0000 (10:36 +0000)]
Evas textblock: Start cutting to sections if bidi is not enabled.
SVN revision: 56451
Tom Hacohen [Sun, 30 Jan 2011 10:36:02 +0000 (10:36 +0000)]
Evas text: Wrote item layouting and splitting of items to script runs, this is essential for correct shaping/bidi handling.
SVN revision: 56450
Tom Hacohen [Sun, 30 Jan 2011 10:35:56 +0000 (10:35 +0000)]
Evas textblock: Fixed an issue with range_geometry_get.
SVN revision: 56449
Tom Hacohen [Sun, 30 Jan 2011 10:35:50 +0000 (10:35 +0000)]
Evas textblock: Fixed a small invalid read.
SVN revision: 56448
Tom Hacohen [Sun, 30 Jan 2011 10:35:44 +0000 (10:35 +0000)]
Evas textblock: Fixed misuse of evas_bidi_is_rtl_char.
SVN revision: 56447