For no bidi: just don't set the bidi stuff. I.e paragraph props and the
other stuff (including text_props_direction_set). If you disable BiDi you most
likely want to disable shaping as well.
For no shaping: Disable bidi (i.e don't set direction) and pass
EVAS_TEXT_PROPS_MODE_NONE to info create.
This will prove especially useful for textgrid, but not only.
SVN revision: 72032
Sorry mate, but they broke API without bumping version, that's why I
didn't do this myself. You should probably add your version of harfbuzz.
This reverts commit 64057.
SVN revision: 64134
We only really use adavnce for calculating the pen position, so it makes more
sense to just cache the pen_position instead and calculate advance from
that if ever needed.
This means size/advance calculations are now O(1) because we don't need to
walk the strings anymore.
SVN revision: 58756
I.e walk using a ptr instead of arr[i] all the time. This should make
things faster. Also as part of the change, fixed char_index to be
an offset inside the string object, and not a general offset which was
bad.
SVN revision: 57241
strings in most of the font engine (everywhere except draw).
Haven't removed the paramteres yet, but did mark them as UNUSED.
Removing them will be part of a future change.
Removed run-time OT toggling support, OT is now fast, no need for that.
Renamed all of the intl_props->text_props (because it really changed purpose now)
Fixed spliting/merging of text_props to be fast and good, not hacky and
complex like before.
Note to reviewers: Most of the changes are indentation related, sorry
for the mess, but I had to do it all in one commit, splitting was not
trivial (at least not in retrospect). The important parts are
evas_font_default_walk.x and text_utils.c. query and draw were just
adjusted a bit and the rest were only adjusted to conform to renaming or
were renaming on their own.
SVN revision: 56629
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
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
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