# ICU4R 0.1.0 - initial release

**URL:** <https://www.ruby-forum.com/t/icu4r-0-1-0-initial-release/52809>\
**Category:** Ruby\
**Created:** [January 19, 2006, 9:50am UTC](https://www.ruby-forum.com/t/icu4r-0-1-0-initial-release/52809 "2006-01-19T09:50:55Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Lugovoi\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/5fc32e/32.png) [@Lugovoi\_N](https://www.ruby-forum.com/u/Lugovoi_N)\
**Post date:** [January 19, 2006, 9:50am UTC](https://www.ruby-forum.com/t/icu4r-0-1-0-initial-release/52809/1 "2006-01-19T09:50:55Z")

</div>

==ICU4R v.0.1.0 - initial release ==

= Abstract

ICU4R is an attempt to provide better Unicode support for Ruby, based  
on ICU library.

Project Site: [http://rubyforge.org/projects/icu4r/](http://rubyforge.org/projects/icu4r/)

Download: [http://rubyforge.org/frs/download.php/8116/icu4r-0.1.0.tar.gz](http://rubyforge.org/frs/download.php/8116/icu4r-0.1.0.tar.gz)

RDoc: [http://icu4r.rubyforge.org/](http://icu4r.rubyforge.org/)

= Install Notes

To build ICU4R you’ll need GCC and ICU v3.4 libraries, which can be  
downloaded from  
[IBM Products](http://ibm.com/software/globalization/icu/downloads.jsp)

Build and install:  
ruby extconf.rb && make && make check && make install

= Features

ICU4R is Ruby C-extension binding for ICU library.  
It is NOT mirroring full ICU object hierarchy, but is rather set of  
simple  
interfaces for some practically useful functionality, and provides:

```
- UString : String-like class with internal UTF16 storage;
- UCA rules for UString comparisons (<=>, casecmp);
- Unicode regular expressions;
- encoding(codepage) conversion;
- Unicode normalization;
- access to resource bundles, including ICU locale data;
- transliteration, also rule-based;

```

Bunch of locale-sensitive functions:  
- upcase/downcase;  
- string collation;  
- string search;  
- iterators over text line/word/char/sentence breaks;  
- message formatting (number/currency/string/time);  
- date and number parsing.

== DISCLAIMER ==

The code is slow and inefficient yet, can have many security and memory  
leaks,  
bugs, inconsistent documentation, incomplete test suite. Use it at  
your own risk.

Critics, bug reports, feature requests are welcome 🙂

WBR, Nikolai L. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![Lugovoi\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/5fc32e/32.png) [@Lugovoi\_N](https://www.ruby-forum.com/u/Lugovoi_N)\
**Post date:** [January 20, 2006, 2:24am UTC](https://www.ruby-forum.com/t/icu4r-0-1-0-initial-release/52809/2 "2006-01-20T02:24:57Z")

</div>

On 1/19/06, Lugovoi N. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ```
> - Unicode normalization;
> 
> ```

Great work. I’ll check out next week.

---

<div class="post-metadata">

**Author:** ![Lugovoi\_N](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/5fc32e/32.png) [@Lugovoi\_N](https://www.ruby-forum.com/u/Lugovoi_N)\
**Post date:** [January 24, 2006, 7:09pm UTC](https://www.ruby-forum.com/t/icu4r-0-1-0-initial-release/52809/3 "2006-01-24T19:09:17Z")

</div>

On 1/19/06, Lugovoi N. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ==ICU4R v.0.1.0 - initial release ==
> 
> = Abstract
> 
> ICU4R is an attempt to provide better Unicode support for Ruby, based  
> on ICU library.  
> What are we missing in Ruby now?

> = Features
> 
> ICU4R is Ruby C-extension binding for ICU library.  
> It is NOT mirroring full ICU object hierarchy, but is rather set of simple  
> interfaces for some practically useful functionality, and provides:
> 
> ```
> - UString : String-like class with internal UTF16 storage;
> 
> ```

What is that cool about UTF16? You still can get multiword charactres  
but the encoding is no longer byte-order independent.

> ```
> - UCA rules for UString comparisons (<=>, casecmp);
> - Unicode regular expressions;
> 
> ```

I guess we do not have this in Ruby yet but I never tried 🙂

> ```
> - encoding(codepage) conversion;
> 
> ```

I thought this is there somewhere - some iconv thingy or something.

> ```
> - Unicode normalization;
> - access to resource bundles, including ICU locale data;
> - transliteration, also rule-based;
> 
> ```

Wow, does this mean I could read Russian in Latin characters? That way  
I could probably understand about half of it 🙂

> Bunch of locale-sensitive functions:  
> - upcase/downcase;  
> - string collation;  
> - string search;  
> - iterators over text line/word/char/sentence breaks;  
> - message formatting (number/currency/string/time);  
> - date and number parsing.

I suspect there are poeple who use this - I only recently switched to  
en\_US.UTF-8 locale from C so that I can read some funny charaters and  
still enjoy interfaces not clobbered by translation 🙂

It looks like some features can be useful. I should try it when I get  
to something that needs some of those funny characters.

Thanks

Michal

–  
Support the freedom of music!  
Maybe it’s a weird genre … but weird is _not_ illegal.  
Maybe next time they will send a special forces commando  
to your picnic … because they think you are weird.  
[www.music-versus-guns.org](http://www.music-versus-guns.org)[http://en.policejnistat.cz](http://en.policejnistat.cz)
