diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..4d99a35
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,58 @@
+* text=auto !eol
+
+*.c text !eol
+*.cc text !eol
+*.classpath text !eol
+*.cpp text !eol
+*.css text !eol
+*.dsp text !eol
+*.dsw text !eol
+*.filters text !eol
+*.h text !eol
+*.htm text !eol
+*.html text !eol
+*.in text !eol
+*.java text !eol
+*.launch text !eol
+*.mak text !eol
+*.md text !eol
+*.MF text !eol
+*.mk text !eol
+*.pl text !eol
+*.pm text !eol
+*.project text !eol
+*.properties text !eol
+*.py text !eol
+*.rc text !eol
+*.sh text eol=lf
+*.sln text !eol
+*.stub text !eol
+*.txt text !eol
+*.ucm text !eol
+*.vcproj text !eol
+*.vcxproj text !eol
+*.xml text !eol
+*.xsl text !eol
+*.xslt text !eol
+Makefile text !eol
+configure text !eol
+LICENSE text !eol
+README text !eol
+
+*.bin -text
+*.brk -text
+*.cnv -text
+*.icu -text
+*.res -text
+*.nrm -text
+*.spp -text
+*.tri2 -text
+
+# The following file types are stored in Git-LFS.
+*.jar filter=lfs diff=lfs merge=lfs -text
+*.dat filter=lfs diff=lfs merge=lfs -text
+*.zip filter=lfs diff=lfs merge=lfs -text
+*.gz filter=lfs diff=lfs merge=lfs -text
+*.bz2 filter=lfs diff=lfs merge=lfs -text
+*.gif filter=lfs diff=lfs merge=lfs -text
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0cbf575
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,16 @@
+/bin
+/include
+/lib
+source/Doxyfile
+source/Makefile
+source/README
+source/bin
+source/config.cache
+source/config.log
+source/config.status
+source/data/*.plg
+source/data/Makefile
+source/data/icupkg.inc
+source/data/out
+source/icudefs.mk
+source/lib
diff --git a/source/data/brkitr/word.txt b/source/data/brkitr/word.txt
new file mode 100644
index 0000000..af5af09
--- /dev/null
+++ b/source/data/brkitr/word.txt
@@ -0,0 +1,230 @@
+#
+# Copyright (C) 2002-2004,
+# International Business Machines Corporation and others.
+# All Rights Reserved.
+#
+# file:  word.txt
+#
+# ICU Word Break Rules
+#      See Unicode Standard Annex #29.
+#      These rules are based on Version 4.0.0, dated 2003-04-17
+#
+
+##############################################################################
+#
+#  Character class definitions from TR 29
+#
+##############################################################################
+
+!!chain;
+
+$Katakana  = [[:Script = KATAKANA:]
+			  [:name = KATAKANA-HIRAGANA PROLONGED SOUND MARK:]
+			  [:name = HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK:]
+			  [:name = HALFWIDTH KATAKANA VOICED SOUND MARK:]
+			  [:name = HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK:]];
+
+
+$ALetter   = [[:Alphabetic:] [:name= HEBREW PUNCTUATION GERESH:]
+						   - [:Ideographic:]
+						   - $Katakana
+						   - [:Script = Hiragana:]
+						   - [:Script = Thai:]
+						   - [:Script = Lao:]
+						   - [:Grapheme_Extend = TRUE:]];
+						   
+$ABaseLetter = [$ALetter - [:Grapheme_Extend = TRUE:]];
+
+$MidLetter = [[:name = APOSTROPHE:] [:name = MIDDLE DOT:]
+			  [:name = HEBREW PUNCTUATION GERSHAYIM:]
+			  [:name = RIGHT SINGLE QUOTATION MARK:]
+			  [:name = HYPHENATION POINT:]];
+
+#$MidNumLet = [[:name = FULL STOP:] [:name = COLON:]];
+$MidNumLet = [[:name = COLON:]];
+$ExtendNumLet = [[:Pc:] - [:name = KATAKANA MIDDLE DOT:] 
+			- [:name = HALFWIDTH KATAKANA MIDDLE DOT:]];
+			
+$MidNum    = [[:LineBreak = Infix_Numeric:] - $MidNumLet];
+$Numeric   = [:LineBreak = Numeric:];
+
+#
+#  Character Class Definitions.
+#    The names are those from TR29.
+#
+
+$CR             = \u000d;
+$LF             = \u000a;
+$Extend         = [[:Grapheme_Extend = TRUE:]];
+$Control        = [[:Zl:] [:Zp:] [:Cc:] [:Cf:] - $Extend];
+$Format         = [[:Cf:] - $Extend];
+$Hiragana       = [:Hiragana:];
+$Ideographic    = [:IDEOGRAPHIC:];
+
+$ALetterEx      = $ALetter     $Extend*;
+$NumericEx      = $Numeric     $Extend*;
+$MidNumEx       = $MidNum      $Extend*;
+$MidNumLetEx    = $MidNumLet   $Extend*;
+$MidLetterEx    = $MidLetter   $Extend*;
+$KatakanaEx     = $Katakana    $Extend*;
+$ExtendNumLetEx = $ExtendNumLet $Extend*;
+
+## -------------------------------------------------
+
+!!forward;
+
+
+# Rule 3 - don't break grapheme clusters.
+# see character breaks
+
+$CR $LF;
+[^$Control] $Extend*;
+$NumericEx $Extend* {100};
+$ALetterEx $Extend* {200};
+
+# rule 5
+
+$ALetterEx $Format* $ALetterEx {200};
+
+# rule 6 and 7
+$ALetterEx $Format* ($MidLetterEx | $MidNumLetEx) $Format* $ALetterEx {200};
+
+# rule 8
+
+$NumericEx $Format* $NumericEx {100};
+
+# rule 9
+
+$ALetterEx $Format* $NumericEx {200};
+
+# rule 10
+
+$NumericEx $Format* $ALetterEx {200};
+
+# rule 11 and 12 
+
+$NumericEx $Format* ($MidNumEx | $MidNumLetEx) $Format* $NumericEx {100};
+
+# rule 13
+
+$KatakanaEx  $Format* $KatakanaEx {300};
+$Hiragana    $Extend* {300};
+$Ideographic $Extend* {400};
+
+# New Rules X Y
+$ALetterEx  $Format* $ExtendNumLetEx {200};    #  (X)
+$NumericEx  $Format* $ExtendNumLetEx {100};    #  (X)
+$KatakanaEx $Format* $ExtendNumLetEx {300};    #  (X)
+
+$ExtendNumLetEx $Format* $ALetterEx  {200};    #  (Y)
+$ExtendNumLetEx $Format* $NumericEx  {100};    #  (Y)
+$ExtendNumLetEx $Format* $KatakanaEx {300};    #  (Y)
+ 
+
+
+## -------------------------------------------------
+
+!!reverse;
+
+$BackALetterEx     = $Extend* $ALetter;
+$BackNumericEx     = $Extend* $Numeric;
+$BackMidNumEx      = $Extend* $MidNum;
+$BackMidNumLetEx   = $Extend* $MidNumLet;
+$BackMidLetterEx   = $Extend* $MidLetter;
+$BackKatakanaEx    = $Extend* $Katakana;
+$BackExtendNumLetEx= $Extend* $ExtendNumLet;
+
+$LF $CR;
+
+# see character breaks
+
+$Extend* [^$Control];
+
+# rule 5
+
+$BackALetterEx $Format* $BackALetterEx;
+
+# rule 6 and 7
+
+$BackALetterEx $Format* ($BackMidLetterEx | $BackMidNumLetEx) $Format* $BackALetterEx;
+
+
+# rule 8
+
+$BackNumericEx $Format* $BackNumericEx;
+
+# rule 9
+
+$BackNumericEx  $Format* $BackALetterEx;
+
+# rule 10
+
+$BackALetterEx $Format* $BackNumericEx;
+
+# rule 11 and 12
+
+$BackNumericEx $Format* ($BackMidNumEx | $BackMidNumLetEx) $Format* $BackNumericEx;
+
+# rule 13
+
+$BackKatakanaEx $Format* $BackKatakanaEx;
+
+# New Rules X and Y
+#
+($BackALetterEx | $BackNumericEx | $BackKatakanaEx) $Format* $BackExtendNumLetEx; 
+$BackExtendNumLetEx $Format* ($BackALetterEx | $BackNumericEx | $BackKatakanaEx);        
+
+## -------------------------------------------------
+
+!!safe_reverse;
+
+# rule 3
+$Extend+ [^$Extend];
+$Extend+;               # comes into play when buffer _begins_ with an $Extend+.
+
+# rule 4
+$Format+ $BackALetterEx;
+$Format+ $BackNumericEx;
+$Format+ $BackMidLetterEx;
+$Format+ $BackMidNumLetEx;
+$Format+ $BackMidNumEx;
+$Format+ $BackKatakanaEx;
+$Format+ $BackExtendNumLetEx;
+
+
+# rule 6
+($MidLetter | $MidNumLet) $Format* $BackALetterEx;
+
+# rule 11
+($MidNum | $MidNumLet) $Format* $BackNumericEx;
+
+## -------------------------------------------------
+
+!!safe_forward;
+
+# rule 3
+$Extend+;
+
+# rule 4
+$Extend* $Format+ $ALetterEx;
+$Extend* $Format+ $NumericEx;
+$Extend* $Format+ $MidLetterEx;
+$Extend* $Format+ $MidNumLetEx;
+$Extend* $Format+ $MidNumEx;
+$Extend* $Format+ $KatakanaEx;
+$Extend* $Format+ $ExtendNumLetEx;
+
+$Extend+ $Format* $ALetterEx;
+$Extend+ $Format* $NumericEx;
+$Extend+ $Format* $MidLetterEx;
+$Extend+ $Format* $MidNumLetEx;
+$Extend+ $Format* $MidNumEx;
+$Extend+ $Format* $KatakanaEx;
+$Extend+ $Format* $ExtendNumLetEx;
+
+# rule 6
+($MidLetterEx | $MidNumLetEx) $Format* $ALetterEx;
+
+# rule 11
+($MidNumEx | $MidNumLetEx) $Format* $NumericEx;
+
