-%{ Unichars }%-

Unichars is a simple wrapper around Glib2. It was originally written to speed up ActiveSupport::Multibyte on Ruby 1.8 but it can probably used for other things as well.

–^^–^^- INSTALLING -^^–^^–

INSTALLING ON MAC OS X

$ port install glib2 $ gem install unichars

INSTALLING ON DEBIAN

$ apt-get install libglib2.0-dev $ gem install unichars

–^^–^^- EXAMPLES -^^–^^–

FOR USE WITH RAILS

In config/environment.rb add:

config.gem 'unichars'

Add config/initializers/unichars.rb:

ActiveSupport::Multibyte.proxy_class = Unichars

After that you can just use Unichars through the character proxy on String:

'¡Ay Dios mío!'.chars.reverse

FOR USE WITH ACTIVESUPPORT WITHOUT RAILS

Note that you probably want to load ActiveSupport before loading Unichars because Unichars subclasses itself from ActiveSupport::Multibyte::Chars when you do so.

require 'rubygems' rescue LoadError
require 'activesupport'
require 'unichars'
ActiveSupport::Multibyte.proxy_class = Unichars

After that you can just use Unichars through the character proxy on String:

'¡Ay Dios mío!'.chars.reverse

FOR USE WITHOUT ACTIVESUPPORT

Yeah, so, ehm. Yeah.

require 'rubygems' rescue LoadError
require 'unichars'

After that you can do:

Unichars.new('¡Ay Dios mío!').reverse

Or maybe:

class String
  def chars
    Unichars.new(self)
  end
end