cegui / cegui

Crazy Eddie's GUI library is a versatile, fast, adjustable, multi-platform, C++ library for creating graphical user interfaces for games and rendering applications
http://cegui.org.uk
MIT License
425 stars 71 forks source link

Patch - Hebrew support to CEGUI #268

Closed Ident closed 15 years ago

Ident commented 15 years ago

Original report by Anonymous.


Automatic migration. Original reporter: "Assaf Raman "

Hi, my name is Assaf and I am one of OGRE core team members.

I added Hebrew support to CEGUI. I integrated fribidi and made all the needed changes. You can select to compile with or without this feature using the define USE_FRIBIDI

You can read more about this patch here on the OGRE thread about it: http://www.ogre3d.org/forums/viewtopic.php?f=11&t=47479

This is a big patch - so take your time - but I really recommend committing it.

Reproducibility: always

Ident commented 15 years ago

Original comment by Anonymous.


Original reporter: Assaf Raman

I changed the global define for bidi support to be "BIDI_SUPPORT". Now there is support for 2 bidi reorder code bases - fribidi and minibidi, if you define the "BIDI_SUPPORT" define you need also to define one of the following for the code to compile: USE_MINIBIDI, USE_FRIBIDI. fribidi seems to have better results - but is has an LGPL license, minibidi has MIT license so it can be used in mobile or console projects. I also attached my modified version of minibidi - with visual to logical mapping support.

Ident commented 15 years ago

Original comment by Paul Turner (Bitbucket: pturner, GitHub: pturner).


Ok. Firstly, a big thanks for the patch; it's most useful and most appreciated.

This has been committed in svn trunk @ rev. 2031. Most of the patch made it through ok without modification.

For consistency reasons, I changed the preprocessor defines to be: CEGUI_BIDI_SUPPORT, CEGUI_USE_MINIBIDI and CEGUI_USE_FRIBIDI, and a couple of tiny unrelated changes didn't make it ;)

Currently, configuration is done via the CEGUIConfig.h file, and on linux systems you also need to specify appropriate options to the configure script if you want fribidi, so it can find the headers and libs.

These little config issues will be resolved by the time there is a release, since it will fall under something else already on my list of jobs ;)

Thanks again.