改行にはUnicodeの知識が必要です
● Windowsの改行は\r\n
○ Carriage ReturnとLine Feedの間では改行されない
U+000D CARRIAGE RETURN \r Mac OS 9まで
U+000A LINE FEED \n Linux / macOS
U+000C FORM FEED \f
U+000B TABULATION \v
U+2028 LINE SEPARATOR
U+2029 PARAGRAPH SEPARATOR
U+0085 NEW LINE
Slide 49
Slide 49 text
改行にはUnicodeの知識が必要です
● Windowsの改行は\r\n
○ Carriage ReturnとLine Feedの間では改行されない
U+000D CARRIAGE RETURN \r Mac OS 9まで
U+000A LINE FEED \n Linux / macOS
U+000C FORM FEED \f
U+000B TABULATION \v
U+2028 LINE SEPARATOR
U+2029 PARAGRAPH SEPARATOR
U+0085 NEW LINE
Carriage Return: 行頭に戻る
Line Feed: 行を進める
折り返しにもUnicodeの知識が必要です
● UAX #14: Unicode Line Break Algorithm
○ Unicode標準の一部
○ テキストのどこが折り返し可能かを定義している
○ 行頭/行末禁止・分割禁止
● ICU (International Component for Unicode)
○ これのLineBreakIteratorを使うと良い
○ ICUはAndroidにも組み込まれている
○ もともとIBM主導のOSSで今はUnicodeに属してる
Slide 54
Slide 54 text
テキストの折り返しを正しく
● いい感じですね
Slide 55
Slide 55 text
テキストの折り返しを正しく
● いい感じですね
ハイフネーションという折り返し方法もあ
りますが、そのあたりのことは 2/8
12:50~のSeigo Nonakaさんのセッショ
ン「Best practice for text on Android
and its internals.」が参考になります