CSS Text Module 最新ドラフト ざっくりまとめ

ほぼ自分用まとめ。たぶん変更に合わせて更新しますが内容の保証はしません。

※当記事の最終更新時点での最新のドラフトをまとめたものです。策定までのいかなるタイミングでも変更される可能性があります。

# [CSS3](https://drafts.csswg.org/css-text-3/)

## [text-transform](https://drafts.csswg.org/css-text-3/#propdef-text-transform)

`full-width` が追加。

## [white-space](https://drafts.csswg.org/css-text-3/#propdef-white-space)

テキスト中の空白文字をどう扱うか、および行内で折り返すかどうかを同時に定義するカオスなプロパティ。

CSS2.1から空白文字の処理が大きく変更される。[別記事](http://inside.pixiv.net/entry/2015/12/09/212045)に詳しく書いたのでそちらを参照。

## [tab-size](https://drafts.csswg.org/css-text-3/#propdef-tab-size)

新規追加。タブ文字の幅を変更できる。

## [word-break](https://drafts.csswg.org/css-text-3/#propdef-word-break)

新規追加。折り返し処理の設定。

## [line-break](https://drafts.csswg.org/css-text-3/#propdef-line-break)

新規追加。あらかじめ定義された禁則処理を適用する。
CSS3の `word-break` がIE実装の `line-break` に対応する、というのは嘘情報。

## [hyphens](https://drafts.csswg.org/css-text-3/#propdef-hyphens)

新規追加。ハイフネーションを適用する。`manual` を指定するとソフトハイフンでのみハイフネーションする。

## [overflow-wrap](https://drafts.csswg.org/css-text-3/#propdef-overflow-wrap)

新規追加。折り返し処理の設定。

`word-break` とかぶっていてややこしいが、 `overflow-wrap` は `word-break` で定められた以外の場所でも場合に応じて折り返すことができるかどうかを定義する。

互換性のため、`word-wrap` というプロパティも同じことができる。

### 2016-09-15追記

プロパティに`break-spaces`追加。

## [text-align](https://drafts.csswg.org/css-text-3/#propdef-text-align)

論理指定を行う `start`, `end` と、最後の行もジャスティフィケーションする `justify-all`, 論理プロパティの向きを固定したまま継承する `match-parent` の4つの値が追加される。

実体は `text-align-all` と `text-align-last` の2つのプロパティのプリセット。個別に指定することもできるが推奨されない。

## [text-justify](https://drafts.csswg.org/css-text-3/#propdef-text-justify)

新規追加。ジャスティフィケーションの方法を指定する。

## [letter-spacing](https://drafts.csswg.org/css-text-3/#propdef-letter-spacing), [word-spacing](https://drafts.csswg.org/css-text-3/#propdef-word-spacing)

大きな変更なし。

## [text-indent](https://drafts.csswg.org/css-text-3/#propdef-text-indent)

改行後のテキストにもインデントを適用する `each-line` と、インデントを適用する行を反転させる `hanging` が追加される。

# [CSS4](https://drafts.csswg.org/css-text-4/)

## [text-space-collapse](https://drafts.csswg.org/css-text-4/#propdef-text-space-collapse), [text-space-trim](https://drafts.csswg.org/css-text-3/#propdef-text-space-trim), [text-wrap](https://drafts.csswg.org/css-text-4/#propdef-text-wrap)

CSS3 までの `white-space` が3つのプロパティに分割され、`white-space` はこれらの値のショートハンドとして再定義される。

### 2016-08-17 追記

`text-space-collapse` 属性から `preserve-auto`, `preserve-trim` が削除された。

## [wrap-before](https://drafts.csswg.org/css-text-4/#propdef-wrap-before), [wrap-after](https://drafts.csswg.org/css-text-4/#propdef-wrap-after)

ボックスの前もしくは後での折り返しを抑制する。禁則処理に使用。

## [wrap-inside](https://drafts.csswg.org/css-text-4/#propdef-wrap-inside)

ボックス内での折り返しを抑制する。連続するダッシュに適用したり。

## [hyphenate-character](https://drafts.csswg.org/css-text-4/#propdef-hyphenate-character)

ハイフネーションに使用する文字を変更できる。通常はもちろんハイフン。

## [hyphenate-limit-zone](https://drafts.csswg.org/css-text-4/#propdef-hyphenate-limit-zone), [hyphenate-limit-chars](https://drafts.csswg.org/css-text-4/#propdef-hyphenate-limit-chars)

ハイフネーションの過激さを調整する。

## [hyphenate-limit-lines](https://drafts.csswg.org/css-text-4/#propdef-hyphenate-limit-lines)

ハイフネーションされた行が連続すると読みづらいので、上限を設けることができる。

## [hyphenate-limit-last](https://drafts.csswg.org/css-text-4/#propdef-hyphenate-limit-last)

ハイフネーションによる泣き別れの抑制。

## text-align

テーブルレイアウトに [Character-based alignment](https://drafts.csswg.org/css-text-4/#character-alignment) が導入される。

```
  $1.30
  $2.50
 $10.80
$111.01
 $85.  
 N/A   
   $.05
   $.06
```

## [text-spacing](https://drafts.csswg.org/css-text-4/#propdef-text-spacing)

文字と文字の間の空白を調整する。和欧混植するときの欧文の前後の4分空きや、約物類が重なった時のツメなどが再現できる。

## [white-space](https://drafts.csswg.org/css-text-4/#propdef-white-space)

### 2016-08-17追記

`pre-wrap-auto` が追加されていたが削除された。