[120] [DFN[[RUBYB[[[用字系]]] @en[[CODE(ABNF)[script]]]]]][[部分タグ]]は、[[言語]]を書き表す時に使う[[用字系]]や[RUBYB[[[書字体系]]]@en[writing system]]を表します。 ;; [231] [[言語タグ]]全体については、「[[言語タグ]]」の項を参照してください。 [234] [[Unicode言語識別子]]・[[Unicodeロケール識別子]]では [DFN[[[Unicode]] [RUBYB[用字系符号]@en[script code]]]] または [DFN[[CODE[unicode_script_subtag]]]] と呼ばれています [SRC[>>233]]。 * 仕様書 [REFS[ - [232] '''[[BCP 47]]''' - [233] [CITE@en-us[UTS #35: Unicode Locale Data Markup Language]] ([TIME[2011-07-19 03:14:51 +09:00]] 版) ]REFS] * 意味 [230] [[用字系]][[部分タグ]]はその[[言語タグ]]によって表される[[言語]]で主として使う[[用字系]]を表しているだけであって、 その[[言語タグ]]が付された対象がその[[用字系]]だけによって構成されるとは限りません。 [SRC[[[RFC 5646]] 4.2.]] * 構文 [121] [[用字系]]は[[言語]]や[[拡張言語]]の後で、他の[[部分タグ]]の前に高々1つだけ置かなければ[['''なりません''']] [SRC[[[RFC 4646]] 2.2.3., [[RFC 5646]] 2.2.3.]]。 [124] [[言語タグ]]に[[用字系]][[部分タグ]]を含めても他と区別する上で意味が無い時、 [[言語]]や[[拡張言語]]の[[部分タグ]]の登録に [[Suppress-Script]] が含まれている時には、 [[用字系]]は省略する[['''べきです''']]。 [SRC[[[RFC 4646]] 2.2.3., [[RFC 5646]] 2.2.3.]] * 語彙 [122] 4文字の[[ラテン文字]]である[[用字系]]は、 [REFS[ - [123] [[ISO 15924]] [CITE@en[Information and documentation -- Codes for the representation of names of scripts]] ]REFS] ... で定義、またはそれに従い登録されたものを、更に [[IANA]] に登録したものです。 [SRC[[[RFC 4646]] 2.2.3., [[RFC 5646]] 2.2.3.]] ;; [125] [[用字系]]として [[ISO 15924]] に含まれていないものは [[IANA]] に登録することはできません。 [[RFC 4646]] には必要があれば[[異体]]として登録できると記述されていました [SRC[[[RFC 4646]] 2.2.3.]] が、 [[RFC 5646]] では削除されています。 ** 私用 [235] >>123 には[[私用]]の [CODE(lang)[[[Qaaa]]]] .. [CODE(lang)[[[Qabx]]]] も含まれます。 [SRC[[[RFC 4646]] 2.2.3., [[RFC 5646]] 2.2.3.]] [241] [[Unicode言語識別子]]・[[Unicodeロケール識別子]]では [CODE(lang)[[[Qaaq]]]]-[CODE(lang)[[[Qabx]]]] は将来も意味を割り当てないので[[私用]]として使って良いとしています [SRC[>>233]]。 それ以外の >>235 の[[用字系]][[部分タグ]]は特別な意味に使う意図があるようで、 >>236、>>239、>>240 の3つが定義されている他、残りも将来の拡張で使用できるように予約しているようです (明記されていませんが)。 *** [CODE(lang)[Qaai]] [236] [[Unicode言語識別子]]・[[Unicodeロケール識別子]]では [DFN[[CODE(lang)[[[Qaai]]]]]] に「[RUBYB[継承]@en[inherited]]」という意味を割り当てています [SRC[>>233]]。 [237] ただし、 [CODE(lang)[[[Zinh]]]] を使うのがより好ましいともしています [SRC[>>233]]。 ;; [238] [CODE(lang)[[[Zinh]]]] は後から正式に [[ISO 15924]] の[[符号]]として割り当てられたようです。 *** [CODE(lang)[Zyyy]] [239] [[Unicode言語識別子]]・[[Unicodeロケール識別子]]では [DFN[[CODE(lang)[[[Zyyy]]]]]] に「[RUBYB[共通]@en[common]]」という意味を割り当てています [SRC[>>233]]。 *** [CODE(lang)[Zzzz]] [240] [[Unicode言語識別子]]・[[Unicodeロケール識別子]]では [DFN[[CODE(lang)[[[Zzzz]]]]]] に「[RUBYB[不明]@en[unknown]]」という意味を割り当てています [SRC[>>233]]。 * 用字系抑制 [200] [[IANA]] 登録簿には [[Suppress-Prefix]] (用字系抑制) 欄があります。 これは[[言語]]と[[拡張言語]]の登録にのみ使われ、 当該[[言語]]・[[拡張言語]]と指定された[[用字系]]を組み合わせて使う[['''べきではない''']]ことを表します。 [SRC[[[RFC 4646]] 3.1., [[RFC 5646]] 3.1.2.]]。 [201] 使うべきではないというのは不適切な組み合わせというわけではなく、 自明な組み合わせであるので必要がない限り明示しなくても良いということです。 使わないことにより [[RFC 3066]] 以前の[[用字系]]が無い頃の[[言語タグ]]との互換性を維持できます [SRC[[[RFC 5646]] 3.1.9.]]。 ;; [207] ほんと、なんで[[用字系]]を間に挟んだんでしょうね・・・。 [EG[ [208] 例えば [CODE(lang)[[[is]]]] ([[アイスランド語]]) は普通 [CODE(lang)[[[Latn]]]] ([[ラテン文字]]) で表記されるので、 [CODE(lang)[[[is]]]] の用字系抑制には [CODE(lang)[[[Latn]]]] が指定されています。従って [CODE(lang)[[[is-Latn]]]] ではなく、単に [CODE(lang)[[[is]]]] とするべきです。 [211] しかし他の[[用字系]]と併用する場合には、敢えて明示する意味があるかもしれません。 例えば[[アイスランド語]]を [CODE(lang)[[[Brai]]]] ([[点字]]) 表記した[[文書]]と[[ラテン文字]]で表記した[[文書]]が選択できるなら、それぞれ [CODE(lang)[[[is-Brai]]]] と [CODE(lang)[[[is-Latn]]]] と表すのが良いでしょう。 [SRC[[[RFC 4646]] 4.1., [[RFC 5646]] 4.1.]] ]EG] [EG[ [212] 複数の[[用字系]]が使われることがある[[言語]]であっても、 [[用字系]]を明示せずに省略した方が良いこともあります。例えば[[音声]]だけなら、 [[用字系]]は意味が無いので省略して [CODE(lang)[[[uz]]]] のように表すことができます。 あるいは、「書かれていない」ことを表す [CODE(lang)[[[Zxxx]]]] を使って [CODE(lang)[[[uz-Zxxx]]]] のように表すこともできます。 [SRC[[[RFC 4646]] 4.1., [[RFC 5646]] 4.1.]] ]EG] * 歴史 [126] [[RFC 1766]] や [[RFC 3066]] の頃は[[用字系]][[部分タグ]]はありませんでした。 [19] RFC 1766 は[[用字系]]の識別までを含めた例として [CODE(LANG)[az-arabic]] と [CODE(LANG)[az-cyrillic]] を挙げていますが、 RFC 3066 にはそのような用途の例示さえありません。 [639FAQ] (>>3) は用字系の識別には言語符号より [[ISO15924]] を使うようにと言っているのと関係があるかもしれません (しないかもしれません)。 [20] しかしなんにせよ用字系の指定も含めた言語札が使えた方が、 (用字系を別途指定出来る規格なんて多分ないので) 良いと思います。 [30] [[正書法]]がどうこうを含んだ奴は用字系込みに近いよな。違うことは違うが。 [35] >>19-30 [[用字系札]]を使えるようにしる! [148] [[RFC 3066]] までは[[用字系]][[部分タグ]]はなかったので、 [CODE(lang)[[[zh-TW]]]] のように[[言語]]と[[地域]]を直接つなげたものが一般的で、 現在でも広く用いられていますが、 [[RFC 4646]] はなぜか[[用字系]]を間に挟む構文としました。 そのため [CODE(lang)[[[zh-Hant-TW]]]] のような表記がより厳密なものとされ、 実質的な非互換変更となっています。 [[前方一致]]などの一般的な比較方法でも [CODE(lang)[[[zh-TW]]]] と [CODE(lang)[[[zh-Hant-TW]]]] は一致しません。 ;; [149] [CODE(lang)[[[zh-TW]]]] は[[台湾]]で使われている[[伝統字]]の[[中文]]を表す[[言語タグ]]として広く使われていますが、 [[RFC 4646]] 以降の定義に従うなら単に[[台湾]]の[[中文]]を表すに過ぎず、 [[伝統字]]であることまで含めた意味でこの[[言語タグ]]を使うことは不正確になります。 意味的な一貫性を考えれば確かにその方が良いのでしょうが、既存の慣習的解釈に対して非互換変更を行う価値があるようには到底思えません。 現に [[RFC 4646]] が出版されてから数年が立ちますが、 [CODE(lang)[[[zh-Hant-TW]]]] のような表記が普及している、あるいは普及していくようにはまったく思えません。