8000 Orders of word-break and line-break changed <http://dev.w3.org/csswg/… · w3c/csswg-drafts@29aedb1 · GitHub
Skip to content

Commit 29aedb1

Browse files
committed
Orders of word-break and line-break changed <http://dev.w3.org/csswg/css-text/issues-lc-2013#issue-52>
1 parent 881f332 commit 29aedb1

2 files changed

Lines changed: 284 additions & 312 deletions

File tree

css-text/Overview.bs

Lines changed: 128 additions & 128 deletions
Original file line numberDiff line numberDiff line change
@@ -748,6 +748,134 @@ Terminology</h3>
748748
much appreciated.
749749
</div>
750750

751+
<h3 id="word-break-property">
752+
Breaking Rules for Letters: the 'word-break' property</h3>
753+
754+
<table class="propdef">
755+
<tr>
756+
<th>Name:</th>
757+
<td><dfn>word-break</dfn></td>
758+
</tr>
759+
<tr>
760+
<th><a href="#values">Value</a>:
761+
<td>normal | keep-all | break-all</td>
762+
</tr>
763+
<tr>
764+
<th>Initial:</th>
765+
<td>normal</td>
766+
</tr>
767+
<tr>
768+
<th>Applies to:</th>
769+
<td>all elements</td>
770+
</tr>
771+
<tr>
772+
<th>Inherited:</th>
773+
<td>yes</td>
774+
</tr>
775+
<tr>
776+
<th>Percentages:</th>
777+
<td>N/A</td>
778+
</tr>
779+
<tr>
780+
<th>Media:</th>
781+
<td>visual</td>
782+
</tr>
783+
<tr>
784+
<th>Computed&#160;value:</th>
785+
<td>specified value</td>
786+
</tr>
787+
<tr>
788+
<th>Animatable:
789+
<td>no
790+
<tr>
791+
<th>Canonical order:
792+
<td>N/A
793+
</table>
794+
795+
<p>This property specifies <i>soft wrap opportunities</i> between letters,
796+
i.e. where it is “normal” and permissible to break lines of text.
797+
798+
<div class="example">
799+
<p>For example, in some styles of CJK typesetting, English words are allowed
800+
to break between any two letters, rather than only at spaces or hyphenation points;
801+
this can be enabled with ''word-break:break-all''.
802+
803+
<div class="figure">
804+
<img src="break-all.png" alt="A snippet of Japanese text with English in it. The word 'caption' is broken into 'capt' and 'ion' across two lines.">
805+
<p class="caption">An example of English text embedded in Japanese
806+
being broken at an arbitrary point in the word.
807+
</div>
808+
809+
<p>As another example, Korean has two styles of line-breaking:
810+
between any two Korean syllables (''word-break: normal'')
811+
or, like English, mainly at spaces (''word-break: keep-all'').
812+
<pre>각 줄의 마지막에 한글이 올 때 줄 나눔 기 /* break between syllables */
813+
<!-- -->준을 “글자” 또는 “어절” 단위로 한다.</pre>
814+
<pre>각 줄의 마지막에 한글이 올 때 줄 나눔 /* break only at spaces */
815+
<!-- -->기준을 “글자” 또는 “어절” 단위로 한다.</pre>
816+
</div>
817+
818+
<p class="note">
819+
To enable additional break opportunities only in the case of overflow,
820+
see 'overflow-wrap'.
821+
822+
<p>Values have the following meanings:</p>
823+
824+
<dl dfn-for=word-break dfn-type=value>
825+
<dt><dfn>normal</dfn></dt>
826+
<dd><i>Soft wrap opportunities</i> are as defined <a href="#line-breaking">above</a>.</dd>
827+
<dt><dfn>break-all</dfn></dt>
828+
<dd>In addition to ''word-break:normal'' <i>soft wrap opportunities</i>,
829+
lines may break between any two <i>letters</i>
830+
(except where forbidden by the 'line-break' property).
831+
Hyphenation is not applied. This option is used mostly in a context where
832+
the text is predominantly using CJK characters with few non-CJK excerpts
833+
and it is desired that the text be better distributed on each line.</dd>
834+
<dt><dfn>keep-all</dfn></dt>
835+
<dd>
836+
Implicit <i>soft wrap opportunities</i> between <i>letters</i> are suppressed,
837+
i.e. breaks are prohibited between pairs of letters
838+
(including those explicitly allowed by 'line-break')
839+
except where opportunities exist due to dictionary-based breaking.
840+
Otherwise this option is equivalent to ''word-break:normal''.
841+
In this style, sequences of CJK characters do not break.
842+
<p class=note>This is sometimes seen in Korean (which uses spaces between words),
843+
and is also useful for mixed-script text where CJK snippets are mixed
844+
into another language that uses spaces for separation.</dd>
845+
</dl>
846+
847+
<p>Symbols that line-break the same way as letters of a particular category
848+
are affected the same way as those letters.
849+
850+
<div class="example">
851+
<p>Here's a mixed-script sample text:
852+
<pre>这是一些汉字, and some Latin,<!--
853+
--> &#x0648; &#x06A9;&#x0645;&#x06CC; &#x0646;&#x0648;&#x0634;&#x062A;&#x0646; &#x0639;&#x0631;&#x0628;&#x06CC;, <!--
854+
-->และตัวอย่างการเขียนภาษาไทย.</pre>
855+
<p>The break-points are determined as follows (indicated by &lsquo;&middot;&rsquo;):
856+
<dl>
857+
<dt>''word-break: normal''</dt>
858+
<dd>
859+
<pre>这·是·一·些·汉·字,·and·some·Latin,<!--
860+
-->·&#x0648;·&#x06A9;&#x0645;&#x06CC;·&#x0646;&#x0648;&#x0634;&#x062A;&#x0646;·&#x0639;&#x0631;&#x0628;&#x06CC;,·<!--
861+
-->และ·ตัวอย่าง·การเขียน·ภาษาไทย.</pre>
862+
<dt>''word-break: break-all''</dt>
863+
<dd>
864+
<pre>这·是·一·些·汉·字,·a·n·d·s·o·m·e·L·a·t·i·n,<!--
865+
-->·&#x0648;·&#pxFB90;·&#xFEE4;·&#xFEF0;·&#xFEE7;·&#xFEEE;·&#xFEB7;·&#xFE98;·&#xFEE6;·&#xFECB;·&#xFEAE;·&#xFE91;·&#xFEF0;,·<!--
866+
-->แ·ล·ะ·ตั·ว·อ·ย่·า·ง·ก·า·ร·เ·ขี·ย·น·ภ·า·ษ·า·ไ·ท·ย.</pre>
867+
<dt>''word-break: keep-all''</dt>
868+
<dd>
869+
<pre>这是一些汉字,·and·some·Latin,<!--
870+
-->·&#x0648;·&#x06A9;&#x0645;&#x06CC;·&#x0646;&#x0648;&#x0634;&#x062A;&#x0646;·&#x0639;&#x0631;&#x0628;&#x06CC;,·<!--
871+
-->แและ·ตัวอย่าง·การเขียน·ภาษาไทย.</pre>
872+
</dl>
873+
</div>
874+
875+
<p>When shaping scripts such as Arabic are allowed to break within words
876+
due to ''break-all'', the characters must still be shaped as if the
877+
word were not broken.</p>
878+
751879
<h3 id="line-break-details">
752880
Line Breaking Details</h3>
753881

@@ -927,134 +1055,6 @@ Line Breaking Details</h3>
9271055
specification finer control over line breaking may be necessary to
9281056
satisfy high-end publishing requirements.
9291057

930-
<h3 id="word-break-property">
931-
Breaking Rules for Letters: the 'word-break' property</h3>
932-
933-
<table class="propdef">
934-
<tr>
935-
<th>Name:</th>
936-
<td> F889 ;<dfn>word-break</dfn></td>
937-
</tr>
938-
<tr>
939-
<th><a href="#values">Value</a>:
940-
<td>normal | keep-all | break-all</td>
941-
</tr>
942-
<tr>
943-
<th>Initial:</th>
944-
<td>normal</td>
945-
</tr>
946-
<tr>
947-
<th>Applies to:</th>
948-
<td>all elements</td>
949-
</tr>
950-
<tr>
951-
<th>Inherited:</th>
952-
<td>yes</td>
953-
</tr>
954-
<tr>
955-
<th>Percentages:</th>
956-
<td>N/A</td>
957-
</tr>
958-
<tr>
959-
<th>Media:</th>
960-
<td>visual</td>
961-
</tr>
962-
<tr>
963-
<th>Computed&#160;value:</th>
964-
<td>specified value</td>
965-
</tr>
966-
<tr>
967-
<th>Animatable:
968-
<td>no
969-
<tr>
970-
<th>Canonical order:
971-
<td>N/A
972-
</table>
973-
974-
<p>This property specifies <i>soft wrap opportunities</i> between letters,
975-
i.e. where it is “normal” and permissible to break lines of text.
976-
977-
<div class="example">
978-
<p>For example, in some styles of CJK typesetting, English words are allowed
979-
to break between any two letters, rather than only at spaces or hyphenation points;
980-
this can be enabled with ''word-break:break-all''.
981-
982-
<div class="figure">
983-
<img src="break-all.png" alt="A snippet of Japanese text with English in it. The word 'caption' is broken into 'capt' and 'ion' across two lines.">
984-
<p class="caption">An example of English text embedded in Japanese
985-
being broken at an arbitrary point in the word.
986-
</div>
987-
988-
<p>As another example, Korean has two styles of line-breaking:
989-
between any two Korean syllables (''word-break: normal'')
990-
or, like English, mainly at spaces (''word-break: keep-all'').
991-
<pre>각 줄의 마지막에 한글이 올 때 줄 나눔 기 /* break between syllables */
992-
<!-- -->준을 “글자” 또는 “어절” 단위로 한다.</pre>
993-
<pre>각 줄의 마지막에 한글이 올 때 줄 나눔 /* break only at spaces */
994-
<!-- -->기준을 “글자” 또는 “어절” 단위로 한다.</pre>
995-
</div>
996-
997-
<p class="note">
998-
To enable additional break opportunities only in the case of overflow,
999-
see 'overflow-wrap'.
1000-
1001-
<p>Values have the following meanings:</p>
1002-
1003-
<dl dfn-for=word-break dfn-type=value>
1004-
<dt><dfn>normal</dfn></dt>
1005-
<dd><i>Soft wrap opportunities</i> are as defined <a href="#line-breaking">above</a>.</dd>
1006-
<dt><dfn>break-all</dfn></dt>
1007-
<dd>In addition to ''word-break:normal'' <i>soft wrap opportunities</i>,
1008-
lines may break between any two <i>letters</i>
1009-
(except where forbidden by the 'line-break' property).
1010-
Hyphenation is not applied. This option is used mostly in a context where
1011-
the text is predominantly using CJK characters with few non-CJK excerpts
1012-
and it is desired that the text be better distributed on each line.</dd>
1013-
<dt><dfn>keep-all</dfn></dt>
1014-
<dd>
1015-
Implicit <i>soft wrap opportunities</i> between <i>letters</i> are suppressed,
1016-
i.e. breaks are prohibited between pairs of letters
1017-
(including those explicitly allowed by 'line-break')
1018-
except where opportunities exist due to dictionary-based breaking.
1019-
Otherwise this option is equivalent to ''word-break:normal''.
1020-
In this style, sequences of CJK characters do not break.
1021-
<p class=note>This is sometimes seen in Korean (which uses spaces between words),
1022-
and is also useful for mixed-script text where CJK snippets are mixed
1023-
into another language that uses spaces for separation.</dd>
1024-
</dl>
1025-
1026-
<p>Symbols that line-break the same way as letters of a particular category
1027-
are affected the same way as those letters.
1028-
1029-
<div class="example">
1030-
<p>Here's a mixed-script sample text:
1031-
<pre>这是一些汉字, and some Latin,<!--
1032-
--> &#x0648; &#x06A9;&#x0645;&#x06CC; &#x0646;&#x0648;&#x0634;&#x062A;&#x0646; &#x0639;&#x0631;&#x0628;&#x06CC;, <!--
1033-
-->และตัวอย่างการเขียนภาษาไทย.</pre>
1034-
<p>The break-points are determined as follows (indicated by &lsquo;&middot;&rsquo;):
1035-
<dl>
1036-
<dt>''word-break: normal''</dt>
1037-
<dd>
1038-
<pre>这·是·一·些·汉·字,·and·some·Latin,<!--
1039-
-->·&#x0648;·&#x06A9;&#x0645;&#x06CC;·&#x0646;&#x0648;&#x0634;&#x062A;&#x0646;·&#x0639;&#x0631;&#x0628;&#x06CC;,·<!--
1040-
-->และ·ตัวอย่าง·การเขียน·ภาษาไทย.</pre>
1041-
<dt>''word-break: break-all''</dt>
1042-
<dd>
1043-
<pre>这·是·一·些·汉·字,·a·n·d·s·o·m·e·L·a·t·i·n,<!--
1044-
-->·&#x0648;·&#pxFB90;·&#xFEE4;·&#xFEF0;·&#xFEE7;·&#xFEEE;·&#xFEB7;·&#xFE98;·&#xFEE6;·&#xFECB;·&#xFEAE;·&#xFE91;·&#xFEF0;,·<!--
1045-
-->แ·ล·ะ·ตั·ว·อ·ย่·า·ง·ก·า·ร·เ·ขี·ย·น·ภ·า·ษ·า·ไ·ท·ย.</pre>
1046-
<dt>''word-break: keep-all''</dt>
1047-
<dd>
1048-
<pre>这是一些汉字,·and·some·Latin,<!--
1049-
-->·&#x0648;·&#x06A9;&#x0645;&#x06CC;·&#x0646;&#x0648;&#x0634;&#x062A;&#x0646;·&#x0639;&#x0631;&#x0628;&#x06CC;,·<!--
1050-
-->แและ·ตัวอย่าง·การเขียน·ภาษาไทย.</pre>
1051-
</dl>
1052-
</div>
1053-
1054-
<p>When shaping scripts such as Arabic are allowed to break within words
1055-
due to ''break-all'', the characters must still be shaped as if the
1056-
word were not broken.</p>
1057-
10581058
<h2 id="hyphenation">Breaking Within Words</h2>
10591059

10601060
<p><dfn title="hyphenation|hyphenate">Hyphenation</dfn>

0 commit comments

Comments
 (0)