/
820.txt
246 lines (201 loc) · 8.79 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
* 仕様書
[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>
]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]]。
[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文字]]の定義は存在していないようです。
** T.51 系前置アクセント
[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文字コード]]のモデルと、
任意の[[文字]]に[[下線]]を引けるという規定が矛盾していたこともあるのでしょうか。
[39]
[[T.51]] 系統の [[ISO-IR]] のうち、 142, 103 は該当[[文字]]に注釈として
non-spacing
であるので云々と使いかたが簡単に示されていました。
156
は[[文字]]の名前を
NON-SPACING TILDE
のように書いていました。
[SEE[ [[T.51]] ]]
[24] [[T.61]], [[T.101]] も同系統の[[図形文字集合]]を使っており、
前置のアクセントを持っていました。
** ANSEL 系前置アクセント
[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[ [[結合文字]] ]]
とこの「出現順」
との関係性は定かではありません。
* 関連
[6]
[[spacing]]
/
[[非spacing]]
という概念は、
[[Unicode]]
の[[結合文字]]にも残存しています。
[SEE[ [[結合文字]] ]]
[8]
[[ISO文字コード]]の体系では、
[[ISO/IEC 6429]]
[[制御機能]]が
[[character spacing]],
[[line spacing]]
を細かく制御する仕組みを提供していました。
* メモ