[4] > 動的再指定可能文字セット (DRCS) は、視覚的外観を、 [[使用]]に先立って指定し[[送信]]する[[文字集合]]とする。 このような指定は、明示又は[[引用]]によって行ってよい。 これらの[[文字]]は、[[アルファベット]]、 [[音節文字]]、[[表意文字]]、[[特殊記号]]又は[[絵文字]][[要素]]であってよい。 一度指定されると、 [[DRCS]] は、適切な[[エスケープシーケンス]]で [[G0]]〜[[G3]] の[[符号要素]]として[[指示]]できる[[図形文字集合]]の[[レパートリ]]の一つとみなされる。 > [[DRCS]] を[[指示]]するために、 14.3 の[[指示]]機能を追加[[指示子]]の [CODE(charname)@en[[[SELECT-DRCS]]]] とともに[[使用]]する。 [SRC[[[JIS X 0202]]:1998 14.4.1]] [5] 仕様書: - [[JIS X 0202]]:1998 -- [CSECTION[14.4 動的再指定可能文字セット (DRCS)]] [6] '''指示''': [[DRCS]] を[[指示]]する時は、[[図形文字集合]]を[[指示]]する機能。 [CODE(charname)@en[[[G[VAR[n]]D[VAR[m]]]]]] ([[1バイト集合]]) または [CODE(charname)@en[[[G[VAR[n]]DM[VAR[m]]]]]] ([[複数バイト集合]]) の2番目か3番目の[[中間バイト]] (94 / 96 と [[G0]]〜[[G3]] のいずれかを選ぶ[[中間バイト]] [CODE(char)[02/08]]〜[CODE(char)[02/15]] の直後) に [CODE(charname)@en[[[SELECT-DRCS]]]] [[指示子]] ([CODE(char)[02/00]]) を指定します。 具体的な[[集合]]は [CODE(charname)@en[[[SELECT-DRCS]]]] [[指示子]]の後に続く[[中間バイト]] (あれば) と[[終端バイト]]により識別されます。 [SRC[[[JIS X 0202]]:1998 14.4.2]] [7] '''終端バイト''': [CODE(charname)@en[[[SELECT-DRCS]]]] [[指示子]]を使う場合、 [[終端バイト]]はすべて ([CODE(char)@en[[[Ft]]]] も [CODE(char)@en[[[Fp]]]] も) [[私用]]となり、 [[利用者]]が割当てられます。 [SRC[[[JIS X 0202]]:1998 14.4.2, 13.3.3]] [[終端バイト]]は [CODE(char)[04/00]] から順番に割当てることが推奨されています。 (集合の型毎に63個は余分な[[中間バイト]]なしで識別できます。) [SRC[[[JIS X 0202]]:1998 14.4.2]] と書いてありますが [CODE(char)@en[[[Fp]]]] も使えるので、実は79個あります。 - [1] [CODE[DRCS]] : Dynamic Redefinable Character Set の redefinable が、「再定義」ではなく「再指定」と訳されているのがまたなんとも。 [8] [Q@en[character set]] を [Q[文字集合]] と訳しているはずの [[JIS X 0202]]:1998 がなぜか [[DRCS]] だけ [Q[文字セット]]と訳しているのも不思議なところ。 - [2] さて、例えば DRCS な 94 [[図形文字集合]] ([[終端バイト]] [VAR[F]] = [CODE[04/00]] とする。) を [[G0]] に[[指示]]するとすると、その[[指示シーケンス]]は、 [CODE[ESC 02/08 02/00 04/00]] となります。同様に 94[SUP[2]] 図形文字集合 ([VAR[F]] = [CODE[04/01]]) を [[G1]] に指示するには、 [CODE[ESC 02/04 02/09 02/00 04/01]] となります。 - [3] >>2 更に例を出しましょうか? 96図形文字集合 ([VAR[F]] = [CODE[04/03]]) を [[G2]] に [CODE[ESC 02/14 02/00 04/03]]。96[SUP[3]] 図形文字集合 ([VAR[F]] = [CODE[06/15]]) を [[G3]] に [CODE[ESC 02/04 02/15 02/00 06/15]]。 [9] >>6 なんと [[JIS X 0202]]:1998 では誤植で [CODE(char)[00/20]] だなんて書いてあります[AA(fw)[wwwwww]] ([[名無しさん]] [sage])