/
820.txt
362 lines (289 loc) · 13.3 KB
/
820.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
* 仕様書
[REFS[
- [2]
[[Standard ECMA-6]]
[CITE[7-Bit coded Character Set]],
6[SUP[th]] Edition - December 1991,
Reprinted in electronic form in August 1997,
[TIME[2017-06-15T13:13:29.000Z]], [TIME[2020-12-04T08:36:24.470Z]] <http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-006.pdf#page=13>
- [7] [[JIS X 0201-1997]] 5.5
- [25] [TIME[2020-12-05T06:33:15.000Z]] <https://web.archive.org/web/20140314191437/http://www.niso.org/apps/group_public/download.php/6451/Extended%20Latin%20Alphabet%20Coded%20Character%20Set%20for%20Bibliographic%20Use%20%28ANSEL%29.pdf>
- [30] [CITE[Character Sets: Introduction: MARC 21 Specifications for Record Structure, Character Sets, and Exchange Media (Library of Congress)]], [TIME[2007-12-04T16:19:57.000Z]], [TIME[2020-12-05T06:40:00.555Z]] <https://www.loc.gov/marc/specifications/speccharintro.html>
-- [27] [CITE[Character Sets: MARC-8 Encoding Environment: MARC 21 Specifications for Record Structure, Character Sets, and Exchange Media (Library of Congress)]], [TIME[2007-12-05T16:31:01.000Z]], [TIME[2020-12-05T06:34:53.156Z]] <https://www.loc.gov/marc/specifications/speccharmarc8.html#combine>
- [32] [CITE[231.pdf]], [TIME[2014-06-23T02:12:33.000Z]], [TIME[2020-12-05T06:46:42.815Z]] <https://www.itscj.ipsj.or.jp/iso-ir/231.pdf>
- [164] [CITE[The Unicode Standard, Version 13.0 - ch07.pdf]], [TIME[2020-03-09T17:53:38.000Z]], [TIME[2020-12-07T09:15:13.901Z]] <https://www.unicode.org/versions/latest/ch07.pdf#M9.37081.HeadingBreak.79.Combining.Marks>
]REFS]
* spacing 文字
[1]
[DFN[spacing文字]]
([DFN[spacing character]] [SRC[>>3]],
[DFN[現在位置の前進動作を伴う文字]] [SRC[>>7]],
[DFN[スペーシング文字]] [SRC[>>7]])
は、
[[活性位置]]を[[文字位置]]1つ分、前進させる[[文字]]です
[SRC[>>3]]。
;; [4] [[ISO/IEC 646]] でこの用語はなぜか単独の用語としてではなく、
[[図形文字]]の定義に紛れ込んでいます。
その影響なのか、
[[JIS X 0201]] は明確な定義なく使っています [SRC[>>7]]。
[[JIS X 0208]], [[JIS X 0213]] にも現れます。 [SEE[ [[重ね打ち]] ]]
[5]
[[ISO/IEC 646]]
はこの語を[[重ね打ちによる文字合成]]の説明で対義語的に使っていました。
[SEE[ [[重ね打ち]] ]]
[34]
[[ANSEL]]
は
[DFN[spacing図形文字]]
([DFN[spacing graphic character]])
を同じような意味で (しかし別の表現で)
定義していました
[SRC[>>25]]。
[[ANSEL]]
ではこれは[[非spacing図形文字]]の対義語でした。
[REFS[
[FIG(quote)[ [3] [[ECMA-6]] [SRC[>>2]]
>
All graphic characters shall be spacing characters, that is, they cause the active position to advance by one
character position.
]FIG]
]REFS]
* 非spacing文字
[35]
[DFN[非spacing文字]]
([DFN[non-spacing character]],
[DFN[現在位置の前進動作を伴わない文字]])
は、
[[spacing文字]]のような[[活性位置]]の前進が発生しない[[文字]]です。
[36] [[spacing文字]]を使えば、
[CODE(char)[[[BS]]]] や [CODE(char)[[[CR]]]] を使う
[SEE[ [[重ね打ち式文字合成]] ]]
こと無く[[重ね打ち]]が実現できます。
[37] 従って、現在位置の前進動作を伴わない文字は主として[[アクセント]]の類です。
[9]
[[ISO文字コード]]の体系で統一的な[[非spacing文字]]の定義は存在していないようです。
[44]
[[ITU-T]] ([[CCITT]]) の [[Teletex]], [[Videotex]] 系の規格や、
[[図書館]]系の規格がそれぞれ独自にそうしたものを使っていました。
-*-*-
[45]
[[RFC 1345]]
は
[[ITU-T]] 系、[[図書館]]系の[[文字コード]]の
[[ISO-IR]]
を出典に、
NON-SPACING
系の[[文字]]の [[mnem]] 符号を定めていました。
[[ISO 10646]]
の[[符号位置]]との対応関係も示されていましたが、
[[PUA]]
が使われていました。
[SEE[ [[RFC 1345]] ]]
[40]
[[JIS X 4153:1998]] 6.3.1.2
はアクセント付きの文字の表現方法の例示として、
「[B[b)]] 送りのないダイアクリティカルマーク及びe (2文字)」、
「[B[c)]] e及び組合せダイアクリティカルマーク (2文字)」
などを示していました。後者は [[Unicode]] の[[結合文字]]の方式ですが、
前者は[[非spacing文字]]を使った方式に当たります。
[FIG(quote)[
[FIGCAPTION[
[41]
[CITE[[[JIS X 0208]] 改正案説明資料]],
[[芝野耕司]],
[TIME[1995 年 11 月 20 日][1995-11-20]]
]FIGCAPTION]
>
JIS X 0202 (ISO/IEC 2022),すなわち,符号拡張法を含めて,符号化文字集合規格で認めている文字
の合成方法は,次に二つの方法である。一つの方法は,ISOR 646 以来の BACKSPACE 又は CARRIAGE
RETUREN 及び SPACE を組合せ,重ね打ちによって文字を合成する方法であり,もう一つの方法は,ISO
6937 などで規定される文字送りなしのアクセント記号を用いる方法である。これらの符号化文字集合にお
ける文字合成方法は,どちらも基本的には,重ね打ちに基づいている。
>
このような合成方法では,日本国内で広く用いられている丸付き数字,単位記号文字などの文字を実際
に合成することはできない。にもかかわらず,1978 年に制定した第 1 次規格以来,文字合成に関して,こ
うした具体的な技術に立脚した ISO での合成文字を厳密に議論することなく,文字合成の概念のみをあた
かも魔法のように取り扱ってきた。そのため,丸付き数字,片仮名単位字などは,日常的に広く用いられ
ているにも関わらず,合成が可能であるとして,符号化文字集合に入れられていない。このような文字に
関しては,実務上必要であるが,実際には合成できないため,各社の実装ではメーカ提供外字として取り
入れられており,規格の運用面での問題が生じている。
]FIG]
[51]
[[KS X 1004:2004]] に前置アクセントがあります。
[46]
[[JIS X 0213]]
にも[[現在位置の前進を伴わない文字]]がありますが、
これは前置アクセントではなく後置アクセント方式のようです。
[SEE[ [[JIS X 0213の結合文字]] ]]
** ITU-T (CCITT) 系前置アクセント
[10]
[[T.51]]
は、
[[非spacing文字]]をいくつか定義していました。
[SEE[ [[T.51]] ]]
- [11] 次の[[非spacing文字]]がありました。
-- [13] [[ラテン文字]]用の[[ダイアクリティカルマーク]]類
-- [12] non spacing underline
-- [14] non spacing vector overbar
-- [15] non spacing slant
- [16] [[ダイアクリティカルマーク]]類は、[[ラテン文字]]との可能な組合せがすべて列挙されていました。
- [17] non spacing underline は、任意の文字 (アクセント付きの文字を含む。)
と組合せられるとされていました。
- [18] [[非spacing文字]]と [CODE(charname)@en[SPACE]] の組合せで、
アクセントの単独の文字を表せるとされていました。
- [19] これらは、[[非spacing文字]]の後に[[spacing文字]]を続けるとされていました。
[21]
[[T.51]] とほぼ同じ
[[ISO/IEC 6937:2001]]
は、
[[ISO/IEC 10646]] 式の[[文字の名前]]を定義していました。
同形式ではあっても、
事情の違いから独自の[[文字の名前]]を与えたものもありました。
[[非spacing文字]]はそのどちらでもなく、
「[I[non-spacing tilde]]」
のような別の形式の名前が与えられていました。
[SEE[ [[ISO/IEC 6937:2001]] ]]
[22]
[[ISO/IEC 6937:2001]] 附属書C ([[参考]])
は、
[[非spacing文字]]の[[ダイアクリティカルマーク]]を指して
「non-spacing diacritical mark」、
それに続く[[ラテン文字]]を指して
「basic letter」
と呼んでいました。
両者の組み合わせは[[文字レパートリ]]に含まれるものに限定されるのであって、
新しい[[文字]]を生成するものではないとされていました。
[20] 認められない組合せが出現した時どう処理するべきかは定かではありません。
([[ISO文字コード]]全般がこの種の[[エラー処理]]の規定を欠いています。)
[23]
なお下線は [[T.51]] の新しい版では互換性のために対応しなければならないが使用しないものとされており、
[[ISO/IEC 6937:2001]]
は規定していませんでした。
かわりに[[制御機能]]により実現することが想定されていたようです。
固定された[[文字レパートリ]]を表現するというこの時代の
[[ISO文字コード]]のモデルと、
任意の[[文字]]に[[下線]]を引けるという規定が矛盾していたこともあるのでしょうか。
[24] [[T.61]], [[T.101]], [[NAPLPS]] も同系統の[[図形文字集合]]を使っており、
前置のアクセントを持っていました。
[39]
[[T.51]] 系統の [[ISO-IR]] のうち、 142, 128, 103, 70 は該当[[文字]]に注釈として
non-spacing
であるので云々とありました。
ものによっては使いかたが簡単に示されていましたが、
「non-spacing」以外の説明がないものもありました。
156
は[[文字]]の名前を
NON-SPACING TILDE
のように書いていました。
[SEE[ [[T.51]], [[T.101]] ]]
[47]
[[Unicode]]
には
[[ISO 6937]]
を出典とする[[文字]]があります
[SRC[>>164]]
が、
実際は [[ISO/IEC 6937]] の前置型[[非spacing文字]]ではなく後置型の[[結合文字]]です。
[48] [CITE@en[RFC 1502 - X.400 Use of Extended Character Sets]], [TIME[2021-01-24T15:50:13.000Z]], [TIME[2021-03-22T09:30:12.577Z]] <https://tools.ietf.org/html/rfc1502#page-8>
>(5) If avoidable, use of character sets with floating accents,
like ISO 6937, should be avoided.
[50]
[[GB 8865.2]] もこの系統の[[非进格]]文字のある[[94集合]]を定めています。
** 図書館系前置アクセント
[42]
[[DIN 31624]]
>Non-spacing character. The active position does not move
to the next position.
(LIGATURE SIGN,
DOUBLE TILDE
は[[非spacing文字]]かつ[[組合せて使う文字]])
[43]
[[ISO 5428]]
-*-*-
[26] [[ANSEL]] [SRC[>>25]] とそれを使った [[MARC-8]] は、
[[ダイアクリティカルマーク]]を前置し、[[基底文字]]を後置する方式を使っていました
[SRC[>>27]]。
[38]
[[ANSEL]]
は、
[DFN[非spacing図形文字]]
([DFN[non-spacing graphic character]]) =
[DFN[結合文字]] ([DFN[combining character]])
を出力装置の前進運動を伴わない[[図形文字]]としていました。
基底文字に前置し、 [CODE(charname)@en[BACKSPACE]] [SEE[ [[重ね打ち]] ]]
は使わないとしていました。
[SRC[>>25]]
[33]
[[ANSEL]]
の
[[ISO-IR]] 登録では、
[[文字]]の名前に「[I[(combining character)]]」
と付記されていました。
combining character
([[ANSEL]] 用語の nonspacing graphic character)
は基底文字に前置されることが明記されていました。
[SRC[>>32]]
[31]
現行の
[[MARC]]
の定義は新しい
[[Unicode]]
と旧来の
[[MARC-8]]
を包含する形となっています。
[[結合文字]] (combining character)
と[[基底文字]] (base character)
は現在の
[[Unicode]]
のモデルとも整合する用語の定義となっているようです [SRC[>>30]]。
[[結合文字]] (combining character, combining mark)
は他の文字と組み合わせるマークなどという趣旨の定義になっていて、
この語自体は特定の挙動や前後関係を意味していません。
そして[DFN[非spacing図形文字]]
([DFN[nonspacing graphic character]])
は、
[[結合文字]]と同義とされていました [SRC[>>30]]。
従って
「nonspacing」
という用語だけでは前置か後置か確定できません。
[28] [[ANSEL]]
では複数の[[結合文字]]があるとき、
その出現順に、
左から右に、
そして上から下へと入力していくとされていました。
[SRC[>>25]]
[[MARC-8]]
では複数の[[結合文字]]があるとき、
その出現順に、
[[左横書き]]では左から右に、
[[右横書き]]では右から左に、
そして上から下へと入力していくとされていました。
[SRC[>>27]]
;; [29] [[Unicode]] の[[結合文字]]の内側から外側への順序 [SEE[ [[結合文字]] ]]
とこの「出現順」
との関係性は定かではありません。
** ARIB ノンスペーシング文字
[49]
[[ARIB STD-B5]] と [[ARIB STD-B24]]
は、
[[JIS X 0208]]
の一部の[[アクセント]]や[[合成用丸]]を[DFN[ノンスペーシング文字]]としていました。
後続の文字と合成すると定めていました。
[SEE[ [[ARIB STD-B5]], [[ARIB STD-B24]] ]]
* 関連
[6]
[[spacing]]
/
[[非spacing]]
という概念は、
[[Unicode]]
の[[結合文字]]にも残存しています。
[SEE[ [[結合文字]] ]]
[8]
[[ISO文字コード]]の体系では、
[[ISO/IEC 6429]]
[[制御機能]]が
[[character spacing]],
[[line spacing]]
を細かく制御する仕組みを提供していました。
* メモ