Tom Hacohen
908a6d16b0
Evas textblock: Started using the layout paragraphs. Still not using their coords or using them for optimizations.
...
SVN revision: 56485
2011-01-30 10:39:47 +00:00
Tom Hacohen
58af440aab
Evas font: skip over common script items when getting the font, we should get the font of the actual script items.
...
SVN revision: 56484
2011-01-30 10:39:42 +00:00
Tom Hacohen
f7a4cf52a8
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
2011-01-30 10:39:35 +00:00
Tom Hacohen
7ce45d8bd4
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
2011-01-30 10:39:29 +00:00
Tom Hacohen
b8635d16ea
Evas textblock: Started using advancement for wrapping.
...
SVN revision: 56481
2011-01-30 10:39:22 +00:00
Tom Hacohen
1285647c17
Evas text object: Hacked a fix to string size get which fixes elipsis and many other stuff.
...
SVN revision: 56480
2011-01-30 10:39:16 +00:00
Tom Hacohen
e927217279
Evas text: Fixed a bug with the issuing of script end of run get.
...
SVN revision: 56479
2011-01-30 10:39:09 +00:00
Tom Hacohen
3185db9667
Evas language utils: fixed evas_common_language_script_end_of_run_get and adjusted text and textblock object to use it.
...
SVN revision: 56478
2011-01-30 10:39:03 +00:00
Tom Hacohen
ec59409dea
Evas text: Fixed object_text last_up_to_pos.
...
SVN revision: 56477
2011-01-30 10:38:55 +00:00
Tom Hacohen
32f98dcb7b
Evas font-engine: Fixed a bug in evas_common_language_script_end_of_run_get
...
SVN revision: 56476
2011-01-30 10:38:50 +00:00
Tom Hacohen
400fba721e
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
2011-01-30 10:38:44 +00:00
Tom Hacohen
fa49914387
Evas textblock: Migrated part of add and split item to _layout_text_append to improve performance.
...
SVN revision: 56474
2011-01-30 10:38:39 +00:00
Tom Hacohen
0e0ba10a7d
Evas font-engine: fixed kerning in the default walker.
...
SVN revision: 56473
2011-01-30 10:38:33 +00:00
Tom Hacohen
421e1d8ae1
Evas font-engine: Also split on script common.
...
SVN revision: 56472
2011-01-30 10:38:28 +00:00
Tom Hacohen
f1d77279cd
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
2011-01-30 10:38:22 +00:00
Tom Hacohen
9f0ce7a272
Evas textblock + font engine: add an optimized way of doing a cut-off on the text props.
...
SVN revision: 56470
2011-01-30 10:38:15 +00:00
Tom Hacohen
0e44717373
Evas font-ot: moved typedef to a better location (doesn't change anything but ease of understanding).
...
SVN revision: 56469
2011-01-30 10:38:08 +00:00
Tom Hacohen
5125ddb692
Evas textblock: Shape a lot less when splitting to items because of script/bidi direction.
...
SVN revision: 56468
2011-01-30 10:38:02 +00:00
Tom Hacohen
aa830a11ca
Evas textblock: removed an un-needed shaping that speeds up things a bit.
...
SVN revision: 56467
2011-01-30 10:37:57 +00:00
Tom Hacohen
4ee6706770
Evas font-engine: cache harfbuzz's face.
...
SVN revision: 56466
2011-01-30 10:37:52 +00:00
Tom Hacohen
b53ded56ed
Evas font-engine: Fixed some issues with the git rebase I just did, should now compile correctly.
...
SVN revision: 56465
2011-01-30 10:37:46 +00:00
Tom Hacohen
48b3a796a5
Evas font-ot: Fixed mistakes that caused ilegal reads.
...
SVN revision: 56464
2011-01-30 10:37:40 +00:00
Tom Hacohen
63e25655e1
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
2011-01-30 10:37:34 +00:00
Tom Hacohen
c09000741b
Evas font-engine: Add cluster support to the font-engine. Cursor handling is now correct for clusters as well.
...
SVN revision: 56462
2011-01-30 10:37:29 +00:00
Tom Hacohen
c012ee700c
Evas font-engine: Fixed pen/char query. In RTL first is actually the last.
...
SVN revision: 56461
2011-01-30 10:37:18 +00:00
Tom Hacohen
729a85e872
Evas font-engine: Fixed an issue with cluster handling that broke cursor position in some cases.
...
SVN revision: 56460
2011-01-30 10:37:12 +00:00
Tom Hacohen
34426d8c6e
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
2011-01-30 10:37:05 +00:00
Tom Hacohen
3b88692aa7
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
2011-01-30 10:36:59 +00:00
Tom Hacohen
f4a6807c4d
Evas font-engine: Fixed an issue with cursor position with RTL text when OT is off.
...
SVN revision: 56457
2011-01-30 10:36:53 +00:00
Tom Hacohen
e37ac1d679
Evas text: Use the already calculated len.
...
SVN revision: 56456
2011-01-30 10:36:47 +00:00
Tom Hacohen
ff18fa8399
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
2011-01-30 10:36:39 +00:00
Tom Hacohen
836b16f085
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
2011-01-30 10:36:24 +00:00
Tom Hacohen
d9cdf88a23
Evas text: Fixed typo in horiz advance function.
...
SVN revision: 56453
2011-01-30 10:36:20 +00:00
Tom Hacohen
6ac48e53ed
Evas font: Added HARFBUZZ's cflags.
...
SVN revision: 56452
2011-01-30 10:36:14 +00:00
Tom Hacohen
ea97422d84
Evas textblock: Start cutting to sections if bidi is not enabled.
...
SVN revision: 56451
2011-01-30 10:36:08 +00:00
Tom Hacohen
e7b2a13aa1
Evas text: Wrote item layouting and splitting of items to script runs, this is essential for correct shaping/bidi handling.
...
SVN revision: 56450
2011-01-30 10:36:02 +00:00
Tom Hacohen
de1549fa25
Evas textblock: Fixed an issue with range_geometry_get.
...
SVN revision: 56449
2011-01-30 10:35:56 +00:00
Tom Hacohen
cf083720b6
Evas textblock: Fixed a small invalid read.
...
SVN revision: 56448
2011-01-30 10:35:50 +00:00
Tom Hacohen
e7ca8b9294
Evas textblock: Fixed misuse of evas_bidi_is_rtl_char.
...
SVN revision: 56447
2011-01-30 10:35:44 +00:00
Tom Hacohen
7e376019b7
Evas font-engine: Moved bidi utils (and added script utils) to a subdir language that collects all the language specific adjustments to font handling.
...
SVN revision: 56446
2011-01-30 10:35:37 +00:00
Tom Hacohen
05050572ad
Evas textblock: It's ok to have an empty item when there are no nodes. - Fixed a seg.
...
SVN revision: 56445
2011-01-30 10:35:30 +00:00
Tom Hacohen
01850cf816
Evas font-engine: Fixed kerning handling and fixed a bug in query_char_coords and in query_pen_coords taking the wrong string into account.
...
SVN revision: 56444
2011-01-30 10:35:24 +00:00
Tom Hacohen
99a7eff130
Evas bidi + font-engine + everything affected: Changed Evas_BiDi_Props to only include the direction of the text and reverse when needed. We don't need to do full processing at this stage, because we should have split to bidi runs before.
...
SVN revision: 56443
2011-01-30 10:35:17 +00:00
Tom Hacohen
e4b4cf3344
Evas font-engine: suppress warnings when BiDi is disabled.
...
SVN revision: 56442
2011-01-30 10:35:10 +00:00
Tom Hacohen
b1d9298e81
Evas bidi: Fixed the BiDi functions to accept paragraph props and not bidi props.
...
SVN revision: 56441
2011-01-30 10:35:04 +00:00
Tom Hacohen
f6b1bcd0b6
Evas: Added harfbuzz detection (it's optional, just like fribidi).
...
SVN revision: 56440
2011-01-30 10:34:56 +00:00
Tom Hacohen
109886f436
Evas font-engine: Fixed an issue with last_up_to_pos failing sometimes when it shouldn't.
...
Fixed a documentation error.
SVN revision: 56439
2011-01-30 10:34:49 +00:00
Tom Hacohen
ca2a3eb5a6
Evas font-engine: remove an usued variable in the font drawing functions.
...
SVN revision: 56438
2011-01-30 10:34:42 +00:00
Tom Hacohen
6dba792f46
Evas font-engine: Change EVAS_FONT_WALK_TEXT_* functions to advance pen_x at the end of the loop (so a break won't advance it, but a clean finish will) and removed the checking if a diacritic using and advancement hack (that only worked only with specific fonts anyway) so we'll be able to start working with Harfbuzz.
...
SVN revision: 56437
2011-01-30 10:34:36 +00:00
Tom Hacohen
a089d061b8
Evas textblock: Fixed docs and naming of vars in the function header.
...
SVN revision: 56436
2011-01-30 10:34:29 +00:00