練習ページ/1001/改行ヒンティング

Cached: 2024-12-18 17:26:06 Last-modified: 2024-07-26 (金) 17:54:39

改行ヒンティング

目的

文字列が(自動改行が許可されるコンテキストにて)表示される際、表示領域の幅によっては不適切な場所で改行が行われる場合がある。
改行ヒンティングは改行を許可する/許可しない位置を明示的に指定することにより、不適切な場所で改行されることを抑止する。

例えば

吹雪改

ではなく

吹雪
改二

となるようにしたり、

Saratoga Mk.II
Mod.2

ではなく

Saratoga
Mk.II Mod.2

となるようにする。

nobr プラグイン

  • &nobr{}; に与えた引数は以下の style を持つ <span> に boxing される

    white-space: nowrap;

    overflow-x: auto;

書式 (nobr プラグイン)

&nobr{文字列};

指定例 (nobr プラグイン)

文字列指定例抑止される改行(一部)改善された改行
吹雪改二吹雪&nobr{改二};吹雪改
吹雪
[改二]
第四号海防艦改&nobr{第四号};&nobr{海防艦};第四号海防
艦改
[第四号]
[海防艦]

(注) [ ] &nobr{...} の指定範囲を明示するため用いた記号であり、実際には [ ] は表示されない

実例 (nobr プラグイン)

実例 (nobr プラグイン / "吹雪改二")

列幅指定(px) - (無指定)

吹雪改二
吹雪改二

列幅指定(px) - 5 7 11 13 17 19 23 29 31 37

吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二
吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二

列幅指定(px) - 41 ... 59

4143475359
吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二
4143475359
吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二

列幅指定(px) - 61 ... 79

6167717379
吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二
6167717379
吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二
実例 (nobr プラグイン / "第四号海防艦改")

列幅指定(px) - (無指定)

第四号海防艦改
第四号海防艦

列幅指定(px) - 5 7 11 13 17 19 23 29 31 37

第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改
第四号海防艦第四号海防艦第四号海防艦第四号海防艦第四号海防艦第四号海防艦第四号海防艦第四号海防艦第四号海防艦第四号海防艦

列幅指定(px) - 41 ... 59

4143475359
第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改
4143475359
第四号海防艦第四号海防艦第四号海防艦第四号海防艦第四号海防艦

列幅指定(px) - 61 ... 79

6167717379
第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改
6167717379
第四号海防艦第四号海防艦第四号海防艦第四号海防艦第四号海防艦

列幅指定(px) - 83 ... 103

838997101103
第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改
838997101103
第四号海防艦第四号海防艦第四号海防艦第四号海防艦第四号海防艦

WJ - word joiner

  • Unicode U+2060
  • 幅0の空白
    • WJそれ自身は完全に何も表示されない
  • 指定した位置で改行されなくなる
  • 環境により文字列検索に難あり
    • "12.7cm連装砲" で検索しても "12.7cm連+装砲"( + はU+2060) にはマッチしない
      • WJ(U+2060) が個別の文字として認識されてしまうため
    • 以下の環境では検索に問題なし
      • Chrome 127
      • Firefox 128

書式 (WJ)

&#8288;

指定例 (WJ)

文字列指定例抑止される改行(一部)改善された改行
吹雪改二吹雪改&#8288;吹雪改
吹雪
+
第四号海防艦改&#8288;&#8288;号海&#8288;&#8288;艦改第四号海防
艦改
++
++艦改

(注) + は本来不可視である WJ(U+2060) の存在位置を明示するため用いた記号であり、実際には + は表示されない

実例 (WJ)

実例 (WJ / "吹雪改二")

列幅指定(px) - (無指定)

吹雪改二
吹雪改⁠二

列幅指定(px) - 5 7 11 13 17 19 23 29 31 37

吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二
吹雪改⁠二吹雪改⁠二吹雪改⁠二吹雪改⁠二吹雪改⁠二吹雪改⁠二吹雪改⁠二吹雪改⁠二吹雪改⁠二吹雪改⁠二

列幅指定(px) - 41 ... 59

4143475359
吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二
4143475359
吹雪改⁠二吹雪改⁠二吹雪改⁠二吹雪改⁠二吹雪改⁠二

列幅指定(px) - 61 ... 79

6167717379
吹雪改二吹雪改二吹雪改二吹雪改二吹雪改二
6167717379
吹雪改⁠二吹雪改⁠二吹雪改⁠二吹雪改⁠二吹雪改⁠二
実例 (WJ / "第四号海防艦改")

列幅指定(px) - (無指定)

第四号海防艦改
第⁠四⁠号海⁠防⁠艦改

列幅指定(px) - 5 7 11 13 17 19 23 29 31 37

第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改
第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改

列幅指定(px) - 41 ... 59

4143475359
第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改
4143475359
第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改

列幅指定(px) - 61 ... 79

6167717379
第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改
6167717379
第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改

列幅指定(px) - 83 ... 103

838997101103
第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改第四号海防艦改
838997101103
第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改第⁠四⁠号海⁠防⁠艦改

NBSP - no-break space

  • Unicode U+00A0
  • その位置で改行されない空白
    • (NBSP ではない)通常の空白は、その空白の位置で改行される可能性がある

書式 (NBSP)

&#160;

&nbsp;

指定例 (NBSP)

文字列指定例抑止される改行改善された改行
Saratoga Mk.II Mod.2Saratoga Mk.II&nbsp;Mod.2Saratoga Mk.II
Mod.2
Saratoga
Mk.IIMod.2
De RuyterDe&nbsp;RuyterDe
Ruyter
DeRuyter

(注)は空白と区別できない NBSP(U+00A0) の存在位置を明示するため用いた記号であり、実際にはではなく空白が表示される

実例 (NBSP)

実例 (NBSP / "Saratoga Mk.II Mod.2")

列幅指定(px) - (無指定)

Saratoga Mk.II Mod.2
Saratoga Mk.II Mod.2

列幅指定(px) - 61 ... 79

6167717379
Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2
6167717379
Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2

列幅指定(px) - 83 ... 103

838997101103
Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2
838997101103
Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2

列幅指定(px) - 107 ... 131

107109113127131
Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2
107109113127131
Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2

列幅指定(px) - 137 ... 157

137139149151157
Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2
137139149151157
Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2Saratoga Mk.II Mod.2
実例 (NBSP / "De Ruyter")

列幅指定(px) - (無指定)

De Ruyter
De Ruyter

列幅指定(px) - 41 ... 59

4143475359
De RuyterDe RuyterDe RuyterDe RuyterDe Ruyter
4143475359
De RuyterDe RuyterDe RuyterDe RuyterDe Ruyter

列幅指定(px) - 61 ... 79

6167717379
De RuyterDe RuyterDe RuyterDe RuyterDe Ruyter
6167717379
De RuyterDe RuyterDe RuyterDe RuyterDe Ruyter

列幅指定(px) - 83 ... 103

838997101103
De RuyterDe RuyterDe RuyterDe RuyterDe Ruyter
838997101103
De RuyterDe RuyterDe RuyterDe RuyterDe Ruyter

ZWSP - zero width space

  • Unicode U+200B
  • 幅0の空白
    • ZWSPそれ自身は完全に何も表示されない
  • 指定した位置で改行可能にする
    • 改行強制の指示ではない
    • 改行が不要な場合は何もしない
  • 環境により文字列検索に難あり
    • "L.d.S.D.d.Abruzzi" で検索しても、"L.d.S.D.d./Abruzzi"( / はU+200B) にはマッチしない
      • ZWSP(U+200B) が個別の文字として認識されてしまうため
    • 以下の環境では検索に問題なし
      • Chrome 127
      • Firefox 128

書式 (ZWSP)

&#8203;

指定例 (ZWSP)

改行されない文字列指定例指定前指定後
L.d.S.D.d.AbruzziL.d.S.D.d.&#8203;AbruzziL.d.S.D.d.AbruzziL.d.S.D.d./
Abruzzi

(注) / は本来不可視である ZWSP(U+200B) の存在位置を明示するため用いた記号であり、実際には / は表示されない

実例 (ZWSP)

実例 (ZWSP / "L.d.S.D.d.Abruzzi")

列幅指定(px) - (無指定)

L.d.S.D.d.Abruzzi
L.d.S.D.d.​Abruzzi

列幅指定(px) - 61 ... 79

6167717379
L.d.S.D.d.AbruzziL.d.S.D.d.AbruzziL.d.S.D.d.AbruzziL.d.S.D.d.AbruzziL.d.S.D.d.Abruzzi
6167717379
L.d.S.D.d.​AbruzziL.d.S.D.d.​AbruzziL.d.S.D.d.​AbruzziL.d.S.D.d.​AbruzziL.d.S.D.d.​Abruzzi

列幅指定(px) - 83 ... 103

838997101103
L.d.S.D.d.AbruzziL.d.S.D.d.AbruzziL.d.S.D.d.AbruzziL.d.S.D.d.AbruzziL.d.S.D.d.Abruzzi
838997101103
L.d.S.D.d.​AbruzziL.d.S.D.d.​AbruzziL.d.S.D.d.​AbruzziL.d.S.D.d.​AbruzziL.d.S.D.d.​Abruzzi

列幅指定(px) - 107 ... 131

107109113127131
L.d.S.D.d.AbruzziL.d.S.D.d.AbruzziL.d.S.D.d.AbruzziL.d.S.D.d.AbruzziL.d.S.D.d.Abruzzi
107109113127131
L.d.S.D.d.​AbruzziL.d.S.D.d.​AbruzziL.d.S.D.d.​AbruzziL.d.S.D.d.​AbruzziL.d.S.D.d.​Abruzzi

列幅指定(px) - 137 ... 157

137139149151157
L.d.S.D.d.AbruzziL.d.S.D.d.AbruzziL.d.S.D.d.AbruzziL.d.S.D.d.AbruzziL.d.S.D.d.Abruzzi
137139149151157
L.d.S.D.d.​AbruzziL.d.S.D.d.​AbruzziL.d.S.D.d.​AbruzziL.d.S.D.d.​AbruzziL.d.S.D.d.​Abruzzi