|
|
|
|
 |
 |
 |
|

|
|
|
ここではHTMLをHDMLに変換する際に発生するデッキ分割について説明します。

■デッキ分割の発生は、以下に記すUP.Browserの持つ値に依存します。

| 1. |
MaxPDU:UP.Browserが受信可能なHDMLCのサイズ
UP.BrowserのHTTPヘッダの HTTP_X_UP_DEVCAP_MAX_PDU

 |

HDMLC
端末ブラウザが受け取るEZサーバがHDMLをコンパイルした後のバイナリデータ。
|

|
| 2. |
ScreenChars:UP.Browserの画面表示桁数
UP.BrowserのHTTPヘッダの HTTP_X_UP_DEVCAP_SCREENCHARS の値。
(HTTP_X_UP_DEVCAP_SCREENCHARSが無ければ、デフォルト値=16)
|

■HDMLが次のいずれかの条件を満たす場合、デッキ分割が行われます。

| 1. |
HDMLから見積もられるHDMLCサイズがMaxPDUを超える場合
HDMLCサイズの見積もり方法:

 |
HDMLタグ:1バイト |
 |
HDML属性:1 (属性) +値の文字列長+1 (Null) バイト |
 |
ASCII文字列:文字列長+1 (Null) バイト |
 |
複数バイト文字列:4 (文字列参照用データ) +文字列長+1 (Null) バイト |

| ※ |
この方法で算出される値はあくまでも目安であり、実際の結果と一致することを保証するものではありません。 |

|
| 2. |
HDMLの表示行数が218を超える場合
行数のカウント方法:

 |
表示文字列に対して、表示桁数÷ScreenCharsを加算 |
 |
BR, LINE, WRAPに対して、1加算 |
|

■上記の分割条件が満たされた場合、以下の優先順位でデッキ分割が行われます。

| 1. |
デッキ分割が必要な位置の85%以降にあるBR, LINE, WRAPで分割
|
| 2. |
デッキ分割が必要な位置の90%以降にある区切り文字で分割
区切り文字:

 |
全角の , (カンマ) . (ピリオド) 、 (句点) 。 (読点) |
 |
半角の 、 (句点) 。 (読点) |
 |
半角の : (コロン) ; (セミコロン) |
 |
半角の , (カンマ) . (ピリオド) ! (エクスクラメーションマーク) ? (クエスチョンマーク) かつ次の文字が半角スペース |

|
| 3. |
デッキ分割が必要な位置の95%以降にある半角・全角スペースで分割
|
| 4. |
デッキ分割が必要な位置が表示文字列中であれば、その位置で分割
|
| 5. |
デッキ分割が必要な位置以前の最後の半角・全角スペースで分割
|

■これらの有効な分割可能ポイントが見つからない場合はエラーになります。

|
|
|
|
|