Shift JIS-2004
s 2 = { t + 63 if k is odd and 1 ≤ t ≤ 63 t + 64 if k is odd and 64 ≤ t ≤ 94 t + 158 if k is even {\displaystyle s_{2}={\begin{cases}t+63&{\mbox{if }}k{\mbox{ is odd and }}1\leq t\leq 63\\t+64&{\mbox{if }}k{\mbox{ is odd and }}64\leq t\leq 94\\t+158&{\mbox{if }}k{\mbox{ is even }}\end{cases}}}
面区点番号からShift_JIS-2004の第1・第2バイトは以下の通り求められます。
面番号を m、区番号を k、点番号を t とする。また、記号 ÷ は整数除算 (小数点以下切捨て)を表す。
第1バイト(S1)は、以下による:
m = 1 で 1 ≦ k ≦ 62 のとき, S1 = (k + 0x101) ÷ 2.
m = 1 で 63 ≦ k ≦ 94 のとき, S1 = (k + 0x181) ÷ 2.
m = 2 で, k = 1, 3, 4, 5, 8, 12, 13, 14, 15 のとき, S1 = (k + 0x1df) ÷ 2 - (k ÷ 8) × 3.
m = 2 で, 78 ≦ k ≦ 94 のとき, S1 = (k + 0x19b) ÷ 2.
第2バイト(S2)は、以下による:
k が奇数の場合: 1 ≦ t ≦ 63 のとき, S2 = t + 0x3f. 64 ≦ t ≦ 94 のとき, S2 = t + 0x40.
k が偶数の場合, S2 = t + 0x9e.