Commit Graph

38 Commits

Author SHA1 Message Date
Tom Hacohen a6d428334f Evas: Changing the font engine to work with Eina_Unicode instead of utf8.
Changing textblock and text objects to work with Eina_Unicode instead of utf8 (internally, API remains intact).
Started relying on new fribidi 0.19.2 instead of the old fribidi.
A lot of fixes to the font engine.
Renaming of evas_common_font_utf8_* to evas_common_encoding_utf8_*
This relies on new Eina changes and types: Eina_Unicode, Eina_UStrbuf and Eina_UStringshare.

SVN revision: 50595
2010-07-28 12:00:41 +00:00
Cedric BAIL 0a5c65549a * evas: font config access is not thread safe at all. Don't forget
to call FTLOCK/FTUNLOCK around each FT_* call.


SVN revision: 50379
2010-07-20 12:09:46 +00:00
Carsten Haitzler eaad0eb095 big patch from Samsung SAIT (Advanced research group) for async multi-frame
rendering. to turn on:

1.
configure with --enable-async-render
2.
export EVAS_RENDER_MODE=non-blocking
  
presto. necessitates some api swizzling (thus the expedite. ecore etc. changes)

the kind of results you get on a desktop:

http://www.rasterman.com/files/evas-async-vs-none.html



SVN revision: 49087
2010-05-21 07:10:45 +00:00
Cedric BAIL 6549ab12ce * evas: fix potential race condition with FT_Activate_Size and threaded rendering.
SVN revision: 47419
2010-03-24 11:07:37 +00:00
Cedric BAIL 7fcbff0e0e * evas: Bring back Font Kerning cache as it does improve performance
by a good margin on my 4 targets (SGX-530, Tango2, NVidia G73).



SVN revision: 46388
2010-02-23 13:31:10 +00:00
Carsten Haitzler c0baeaeb68 1. fix fcfini issue i hit - yes . things may look like they leak in valgrind
- they dont. in reality.
2. major text rendeering speedups. up to 41% in textblock intl, 33% in
textblock basic, 12-20$ in other text rendering tests. generic eina hash's
are just tooo slow for what we are doing there. specialised "Fash"
blocked-array.
3. still LOTS of optimisations left.



SVN revision: 45829
2010-02-03 11:18:00 +00:00
Cedric BAIL 8984a75799 * evas: Cleanup move to eina log.
Patch from Mathieu Taillefumier.


SVN revision: 43200
2009-10-22 15:22:22 +00:00
Carsten Haitzler e30651d7ca more patches from tom
SVN revision: 42828
2009-10-01 05:18:17 +00:00
Carsten Haitzler 0986cd681b init some ptrs to null.
SVN revision: 42823
2009-09-30 22:30:12 +00:00
Tom 39b6c9148c From: Tom <tom@stosb.com> (tasn)
Hey raster,

Here is the non intrusive patch I talked to you about. Please apply it as it
introduces some fixes, some improvements and mostly and underlying
infrastructure for future RTL improvements.

(note hebrew & yiddish seem fine, but things expedite test seems to show are
wrong (why i don't know as i dont speak the langs- just comparing to pango /
gtk output):

arabic seems lsightl wrong (maybe composition chars not working?)
gujarati - also seems wrong
malayam - also looks wrong
persian - looks wrong
sinhala - looks wrong
tamil - looks wrong

these are what, appear to me, to look wrong. why they look wrong, i don't
know. i'm guessing its compositiong not being handled. but i dont's peak,
read or write any of these languages so i am unsure of what it really should
be like, why and how to fix it.

anyone want to put up a hand? (everything else is displaying fine as best i
can tell - the langauges i read/speak/somewhat understand are working fine).



SVN revision: 42814
2009-09-30 04:23:21 +00:00
Cedric BAIL c259d8addd * evas: Use eina_log.
Patch from Matthieu.


SVN revision: 42598
2009-09-21 16:08:51 +00:00
Carsten Haitzler c3b8b4ee14 revertg big R to L patches because they break cursors and selection.... BACK
boy BACK!



SVN revision: 40783
2009-05-22 21:12:32 +00:00
Carsten Haitzler e999c88e80 tasn's rtl pathes and improvements... continued!
SVN revision: 40715
2009-05-18 06:08:15 +00:00
Iván Briano 554dccdb0b some formatting
SVN revision: 40343
2009-04-24 04:35:52 +00:00
Cedric BAIL b70ae3c927 * evas/src/lib/include/evas_common.h,
* evas/src/lib/engines/common/evas_font.h,
	* evas/src/lib/engines/common/evas_font_draw.c,
	* evas/src/lib/engines/common/evas_font_load.c,
	* evas/src/lib/engines/common/evas_font_query.c: Add cache for font kerning.

This patch give something around 2% for all tests around text in expedite,
except for Textblock Intl where it give a 3 times boost.

Regarding text rendering speed, something is strange when used by evas_pipe.
All tests using Styles are around 40% faster without evas_pipe. 30% faster
for Text Change. But Text Basic 7% slower. So it should be possible to have
faster rendering when using evas_pipe for font rendering.


SVN revision: 38993
2009-02-10 15:53:17 +00:00
Carsten Haitzler 2a04c23a33 futzing around with tilan's mono font issue - some commented otu debugging -
use the all caps enum for bitmap fonts now...


SVN revision: 31496
2007-08-25 11:54:17 +00:00
Sebastian Dransfeld f2b945b53d Find chr_x the same way as in the other functions. The main loop is very
similar in many functions and should be refactored.


SVN revision: 30389
2007-06-18 16:47:20 +00:00
Carsten Haitzler 94e3e465bf remove sub-pixel cursor advance for font rendering
SVN revision: 26420
2006-10-08 12:43:31 +00:00
sebastid e55f7b27b2 Functions used by modules must be EAPI
SVN revision: 25526
2006-09-06 07:33:40 +00:00
Carsten Haitzler b672283702 tb2 work! :)
SVN revision: 16671
2005-09-09 14:19:06 +00:00
sebastid 3f776d358a Cleanup some headers.
Remove duplicate typedefs and declerations.


SVN revision: 15407
2005-06-18 01:00:32 +00:00
Carsten Haitzler 46e02cf8bb whitespace
SVN revision: 14889
2005-05-22 02:49:50 +00:00
Carsten Haitzler aeabe389a2 fix font geometry issues...
SVN revision: 14431
2005-04-28 04:57:12 +00:00
Carsten Haitzler 7462681dad werd to my homies... this had to happen sooner or later.... evas supports
FONTSETS!

so u can do
Vera,Kochi,Blah ... etc.
as the font name
it will fall back font by font until it finds a char or finally fails.

this is for internationalisation support...

WHERD!


SVN revision: 13804
2005-03-20 15:57:55 +00:00
Carsten Haitzler ee21eb81ca more work on textblocks! :)
SVN revision: 13263
2005-02-09 16:10:56 +00:00
Carsten Haitzler ea2bd901f7 cross-compile fix
SVN revision: 10292
2004-05-20 07:38:43 +00:00
Carsten Haitzler 988e608f74 hmm math just a little off
SVN revision: 9970
2004-04-29 03:44:39 +00:00
Carsten Haitzler 8523421b7c added in loading froms from memory buffers at the engine level, and now an
api to set a font "source" (blank is normal filing system) but the source can
be a device or file etc. in this case it currently supports eet files as the
source and then the font name is used as a key in th eet file as to where to
find the font - edb support would be trivial to add. :) if the font is not
found in the "source" it falls back to the font path etc.


SVN revision: 8625
2004-01-23 02:14:45 +00:00
rbdpngn 4436026ac6 An instance of ft_lib was missed.
SVN revision: 8444
2004-01-15 14:58:03 +00:00
rbdpngn 84736e7845 Renamed a variable to avoid a collision with an imlib2 global.
SVN revision: 8442
2004-01-15 06:27:44 +00:00
Carsten Haitzler bfe9b1fa8e fixing minor arithmeic stuff in text queries. all happy now.
SVN revision: 6986
2003-06-07 02:32:30 +00:00
Carsten Haitzler 3d5f70ca35 kerning fix?
SVN revision: 6949
2003-05-30 05:05:52 +00:00
Carsten Haitzler 47280739ac oh my wordy lordy me.. too accurate for its own good soi've had to fidge to
overlap parts as the positioning is done in 24.8 space not integer space


SVN revision: 6553
2003-01-08 06:39:38 +00:00
sleuth c08fc73731 Minor evas fix for char position usage.
Kevin Brosius <cobra@compuserve.com>


SVN revision: 6529
2002-12-29 17:57:37 +00:00
Carsten Haitzler d1d3b62ebe hmm. forgot to translate text coords form queries.. and some glyph vs char
pos bugs


SVN revision: 6526
2002-12-29 02:09:34 +00:00
Carsten Haitzler 866bf9121e oops.. return POSTION, not glyph value!
SVN revision: 6525
2002-12-29 01:49:07 +00:00
Carsten Haitzler 3dc1dcbd32 the big internal function call renaming happened... and it was good.
SVN revision: 6449
2002-11-14 05:38:10 +00:00
Carsten Haitzler 56b5e15f26 code move
SVN revision: 6445
2002-11-08 08:02:15 +00:00