| 58 | |
| 59 | When WebKit needs to render a block of text, it uses the [http://icu-project.org/ ICU] library to determine where line breaks are mandatory, forbidden, or optional (see {{{RenderBlock::LineBreaker::nextLineBreak}}}). This library provides a number of rule sets, keyed by the locale's primary language sub tag, to determine line break boundaries, where this language sub tag is determined by rules specific to the document language definition. For example, for HTML5 see [http://www.w3.org/TR/html5/global-attributes.html#the-lang-and-xml:lang-attributes the lang and xml:lang attributes]. |
| 60 | |
| 61 | In the current release for [http://icu-project.org/apiref/icu4c50m1/ ICU] (version 50), the following line break rule sets are provided: |
| 62 | |
| 63 | * [http://source.icu-project.org/repos/icu/icu/trunk/source/data/brkitr/line.txt line.txt] primary language unspecified or no tailored rule set exists |
| 64 | * [http://source.icu-project.org/repos/icu/icu/trunk/source/data/brkitr/line_fi.txt line_fi.txt] primary language is Finnish (`fi`) |
| 65 | * [http://source.icu-project.org/repos/icu/icu/trunk/source/data/brkitr/line_ja.txt line_ja.txt] primary language is Japanese (`ja`) |
| 66 | |
| 67 | In general, these rule sets attempt to implement the rules defined by [http://www.unicode.org/reports/tr14/ UAX14]. |
| 68 | |
| 69 | In order to support the ''new'' `-webkit-line-break` property defined above, WebKit implements the specific behavior defined in [[LineBreakingCSS3Mapping|Line Breaking Behavior Details]]. |