Commit Graph

105 Commits

Author SHA1 Message Date
Tom Hacohen af55fb6217 Evas text: apply italic correction for run-time slanted texts (disabled).
Also, put the slant angle calculations in a macro for easier future changes.
Just have it there so people who want it can turn it on.

SVN revision: 71506
2012-05-29 14:43:17 +00:00
Tom Hacohen 52ca712a14 Evas font: Fix clang errors.
http://dev.enlightenment.fr/~discomfitor/evas-2011-11-09/report-qpiPpZ.html#EndPath

SVN revision: 65019
2011-11-10 12:11:17 +00:00
Tom Hacohen 789b487da2 Evas textblock: Fixed 1 more clang error.
http://dev.enlightenment.fr/~discomfitor/evas-2011-11-08/report-XA8yiy.html#EndPath

SVN revision: 64976
2011-11-09 07:36:50 +00:00
Tom Hacohen c0ca25ea91 Evas font: Fix font run len calculation.
Co-fixed with MJ :P. Thanks a lot for your report + help.

SVN revision: 60508
2011-06-20 07:28:57 +00:00
Tom Hacohen 0daae8a59a Evas font-engine: If still after all we can't find a font, use the first.
SVN revision: 59924
2011-06-03 20:48:56 +00:00
Tom Hacohen 3da52c35cd Evas textblock: Fix skipping of ascii control chars.
SVN revision: 59900
2011-06-02 14:31:15 +00:00
Tom Hacohen a4b92a0c69 Evas font-engine: Fix an issue with font_run_end_get.
SVN revision: 59818
2011-05-30 15:18:53 +00:00
Tom Hacohen 876e80c1f8 Evas font-engine: font_run_end_get. Fix possible segfault.
Patch by Cedric.

SVN revision: 59817
2011-05-30 13:59:18 +00:00
Tom Hacohen 0b72b9fcf5 Evas font-engine: Fallback to script_fi if we didn't find another one.
SVN revision: 59803
2011-05-30 08:31:29 +00:00
Tom Hacohen 81b217f8c4 Evas font-engine: Fixed font fallback in the same script run.
SVN revision: 59777
2011-05-29 09:20:18 +00:00
Tom Hacohen f3ef64a31e Evas font-engine: Replace deprecated freetype constants.
SVN revision: 59507
2011-05-18 13:47:45 +00:00
Tom Hacohen 05df9e72f2 Evas font-query: Fixed documentation error.
SVN revision: 59206
2011-05-05 11:05:59 +00:00
Tom Hacohen 7280b0d852 Evas font-engine: Document and cleanup the comments in font-query.
SVN revision: 59002
2011-04-28 12:57:35 +00:00
Tom Hacohen 6609b1d7ba Evas font: Removed LOGICAL_WALK and updated last_up_to_pos accondingly.
SVN revision: 58758
2011-04-20 14:20:57 +00:00
Tom Hacohen 543c0cafc0 Evas font-engine: Cache pen position instead of advance.
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
2011-04-20 14:20:51 +00:00
Tom Hacohen 5d4f6d3cbe Evas font-engine: Remove most of the passing of strings.
We have string objects, we don't really need them. Draw still uses strings
for metric cache, but that will be removed soon as well.

SVN revision: 58460
2011-04-07 16:25:56 +00:00
Tom Hacohen 6f0bad18af Evas font-engine: Use advance instead of width with whitespace size calc
Advance is the real width of whitespace, not the width of the glyph
which is just 0.

SVN revision: 58182
2011-03-29 13:52:30 +00:00
Tom Hacohen 533ef3530e Evas font-engine: Added right_inset_get.
This lets us get the difference between the width and the advance
of a string pretty fast, which means we only need to calculate either
advance or width, because we can now calculate one from the other.

SVN revision: 58181
2011-03-29 13:52:22 +00:00
Tom Hacohen 5a646fe6fd Evas font: removed an obsolete comment.
SVN revision: 56989
2011-02-13 16:35:03 +00:00
Tom Hacohen 9ed2f6cbc0 Evas font-engine: Added text_len to text_props which fixes
a bug with cursor position and ligatures.

SVN revision: 56983
2011-02-13 12:57:37 +00:00
Tom Hacohen 6e68ec8b42 Evas font-engine: Fixed inset to use the string objects instead of strings.
SVN revision: 56895
2011-02-10 09:03:14 +00:00
Tom Hacohen eaa25d4784 Evas font-query: Fixed compilation warnings. Cedric's compiler doesn't trust me like me compiler trusts me.
SVN revision: 56813
2011-02-08 15:23:22 +00:00
Tom Hacohen 94b5a536f0 Evas font/textblock/text: Started using string objects instead of
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
2011-02-01 12:17:52 +00:00
Tom Hacohen cdb54ed92d Revert "Snapshot." - didn't mean to commit this :(
This reverts commit 521198281e4ac616fee48d27aae9e6983d5950c3.

SVN revision: 56556
2011-01-30 13:58:06 +00:00
Tom Hacohen ead10d70f7 Revert "Snap 2" - didn't mean to commit it. :(
This reverts commit 66c113787b440a282b6cc2cab6d35f5c700627f4.

SVN revision: 56555
2011-01-30 13:57:55 +00:00
Tom Hacohen 13dce619f1 Snap 2
SVN revision: 56553
2011-01-30 13:55:12 +00:00
Tom Hacohen d6feccdebb Snapshot.
SVN revision: 56552
2011-01-30 13:55:04 +00:00
Tom Hacohen 8119efadda 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
2011-01-30 10:44:31 +00:00
Tom Hacohen f7dfb4d8fb 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
2011-01-30 10:42:13 +00:00
Tom Hacohen d632d526c0 Split logical layouting and visual layouting completely. There are still some bugs, but this includes the major change.
SVN revision: 56492
2011-01-30 10:40:30 +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 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 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 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 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 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 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 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 952ba44f0b Evas font engine: Added evas_common_font_query_pen_coords.
SVN revision: 56432
2011-01-30 10:34:07 +00:00
Tom Hacohen 3d6ca9eca9 Evas font engine: The position of the NULL returned from coords should depend on query_advance, not query_size.
SVN revision: 56431
2011-01-30 10:33:57 +00:00
Tom Hacohen 039fd390a7 Evas font engine: Fixed query_size and query advance.
SVN revision: 56427
2011-01-30 10:33:32 +00:00
Tom Hacohen 34d5f9141d Evas font engine: Merge text walking to a couple of macros, this is more consistent, and the code is smaller and easier to handle.
SVN revision: 56426
2011-01-30 10:33:24 +00:00
Tom Hacohen a92826ae5e Evas textblock: Fixed mixed format and text item reordering.
SVN revision: 56404
2011-01-30 10:31:08 +00:00
Carsten Haitzler e0fbc8d169 chr never used in func.
SVN revision: 56175
2011-01-16 06:19:12 +00:00
Carsten Haitzler e0e6020902 work on fixing up a font "leak". its disabled via returns in funcs -
but also added in 24bit unicode support. needed for unicode v6
absolutely.. so we can have the pile of poo char work.



SVN revision: 53987
2010-10-29 12:55:42 +00:00