wiki:LineBreaking

Version 2 (modified by glenn@skynav.com, 9 years ago) (diff)

Add content.

Line Breaking in WebKit

WARNING: This page contains forward looking statements, which should not yet be considered an accurate description of WebKit.

Line Breaking

CSS3 Text defines a set of rules governing default line breaking behavior, some of which is very specific, i.e., testable and repeatable among browsers, and some of which is generic, i.e., not standardized. An example of the former is that the non-tailorable line breaking classes defined by the Unicode Line Breaking Algorithm, Unicode Technical Report #14 UAX14, must be honored; an example of the latter is that soft break opportunities are not concretely defined.

The line-break property

In order to customize line breaking behavior, CSS3 Text intorduces the inheritable line-break property, with the following standard values:

  • auto
  • loose
  • normal
  • strict

If not specified, the initial (default) value is auto.

The former -webkit-line-break property

For some time now, WebKit has supported a non-standard -webkit-line-break property, based on the earlier -khtml-line-break property, which accepted one of two values:

  • normal (default)
  • after-white-space

The new -webkit-line-break property

With the introduction of CSS3 Text features, and since its properties have not yet been designated non-prefixed by the CSS Working Group, it is necessary to merge the value space of the former -webkit-line-break property and the new line-break property into a newly defined -webkit-line-break property that accepts the following values:

  • auto (default)
  • loose
  • normal
  • strict
  • after-white-space

Note that this functional merger results in the value auto being returned as the default value instead of the former normal value.

Implementation Details

References

  1. http://dev.w3.org/csswg/css3-text/
  2. http://www.unicode.org/reports/tr14/
  3. http://site.icu-project.org
  4. http://www.w3.org/TR/html5/global-attributes.html