--- /dev/null
+#\r
+# Licensed to the Apache Software Foundation (ASF) under one or more\r
+# contributor license agreements. See the NOTICE file distributed with\r
+# this work for additional information regarding copyright ownership.\r
+# The ASF licenses this file to You under the Apache License, Version 2.0\r
+# (the "License"); you may not use this file except in compliance with\r
+# the License. You may obtain a copy of the License at\r
+#\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+#\r
+# Unless required by applicable law or agreed to in writing, software\r
+# distributed under the License is distributed on an "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+# See the License for the specific language governing permissions and\r
+# limitations under the License.\r
+#\r
+#\r
+# This is an example of rule tailoring for Hebrew.\r
+# In this example the single-quote is added to the Extend category\r
+# The double-quote is added to the MidLetter category.\r
+#\r
+!!chain;\r
+$CR = [\p{Word_Break = CR}];\r
+$LF = [\p{Word_Break = LF}];\r
+$Newline = [\p{Word_Break = Newline}];\r
+$Extend = [\p{Word_Break = Extend}\u0027];\r
+$Format = [\p{Word_Break = Format}];\r
+$ALetter = [\p{Word_Break = ALetter}];\r
+$MidNumLet = [\p{Word_Break = MidNumLet}];\r
+$MidLetter = [\p{Word_Break = MidLetter}\u0022];\r
+$MidNum = [\p{Word_Break = MidNum}];\r
+$Numeric = [\p{Word_Break = Numeric}];\r
+$ExtendNumLet = [\p{Word_Break = ExtendNumLet}];\r
+$dictionary = [:LineBreak = Complex_Context:];\r
+$Control = [\p{Grapheme_Cluster_Break = Control}]; \r
+$ALetterPlus = [$ALetter [$dictionary-$Extend-$Control]]; \r
+ \r
+$ALetterEx = $ALetterPlus ($Extend | $Format)*;\r
+$MidNumLetEx = $MidNumLet ($Extend | $Format)*;\r
+$MidLetterEx = $MidLetter ($Extend | $Format)*;\r
+$MidNumEx = $MidNum ($Extend | $Format)*;\r
+$NumericEx = $Numeric ($Extend | $Format)*;\r
+$ExtendNumLetEx = $ExtendNumLet ($Extend | $Format)*;\r
+\r
+!!forward;\r
+\r
+$CR $LF;\r
+[^$CR $LF $Newline]? ($Extend | $Format)+;\r
+$NumericEx {100};\r
+$ALetterEx {200}; \r
+$ALetterEx $ALetterEx {200};\r
+$ALetterEx ($MidLetterEx | $MidNumLetEx) $ALetterEx {200};\r
+$NumericEx $NumericEx {100};\r
+$ALetterEx $NumericEx {200};\r
+$NumericEx $ALetterEx {200};\r
+$NumericEx ($MidNumEx | $MidNumLetEx) $NumericEx {100};\r
+$ALetterEx $ExtendNumLetEx {200}; \r
+$NumericEx $ExtendNumLetEx {100}; \r
+$ExtendNumLetEx $ExtendNumLetEx {200}; \r
+$ExtendNumLetEx $ALetterEx {200}; \r
+$ExtendNumLetEx $NumericEx {100}; \r