This commit was manufactured by cvs2svn to create tag
'TR29-proposed-updates'.
X-SVN-Rev: 16624
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;
+