-
Notifications
You must be signed in to change notification settings - Fork 4
/
4.txt
834 lines (638 loc) · 26.9 KB
/
4.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
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
* T.100
- [17] [CITE@en[T.100 : International information exchange for interactive Videotex]], [[tsbmail]], [TIME[2020-12-05T08:06:28.000Z]] <https://www.itu.int/rec/T-REC-T.100-198811-I/en>
[73] [SRC[PDF]]
- [[ISO/IEC 2022]] [[7ビット符号]]
- [[C0]] ESC 2/2 4/0
- [[C1]] ESC 2/2 4/1
-- The supplementary set of control functions-serial mode
-- The supplementary set of control functions-parallel mode
- [[G0]]
- [[G1]] ESC 2/9 6/3 mosaic graphic set
-- The mosaic character set-serial mode
-- The mosaic character set-parallel mode
- ESC 2/5 [ASIS[(5/x)]] alphageometric coding scheme
-- ESC 2/5 (5/x) の complete code の指示・呼び出しは
ESC 2/9 [VAR[F]] / ESC 2/13 [VAR[F]] の通常 [[G1]] の指示で終了
-- [82] 終端バイト登録されておらず
- SI/SO 以外は ISO 2022 と同じ
- The primary set of graphic characters for international interactive Videotex
-- [81] [[ISO/IEC 646]] 系の何か
- The supplementary set of graphic characters for international interactive Videotex
-- [80] おそらく[[94集合]]終端バイト [N[6/2]]
[74] [SRC[PDF p.25]]
- full-screen attributes display controls - ESC 2/3 2/0 [VAR[Fe]]
- full-row attributes display controls - ESC 2/3 2/1 [VAR[Fe]]
[75] 通常状態の SI/SO [SRC[PDF p.26]]
- SO : mosaic reparatory [ 2/1, 7/14 ]
- SI : G0, SP, DELETE
;; [77] 制定当時の [[ISO 2022]] には[[96集合]]がなかった
[76] alphageometric option の SI/SO [SRC[PDF p.27]]
- SO : (G1) geometric primitives [ 2/0, 7/15 ]
- SI : G0, SP, DELETE
[78]
opcode (operational code) + associated data parameters
- opcode [ 4/0, 5/15 ]
- numeric data [ 6/0, 7/15 ]
- 終端: 次の opcode, SI, SO, SS2, SS3, ESC
- control (status) opcode -> status sub-commands ([ 4/0, 7/15 ])
[79]
DRCS
[SRC[PDF p.38]]
[83]
仕様書が見るからに未完成.
* T.101
[13] [CITE@en[T.101 : International interworking for Videotex services]], [[tsbmail]], [TIME[2020-12-05T07:06:25.000Z]] <https://www.itu.int/rec/T-REC-T.101-199411-I/en>
[49]
[[PDF]] は[[フォント]]が埋め込まれていないらしく[[非ASCII文字]]は信用してはいけない。
[27]
[[Videotex]] は日米欧3規格の統合に失敗した結果
[[T.101]]
は3規格を「Data Syntax」と称して並列に規定することになりました。
;; [28] そして3規格すべて商業的に失敗しました。。。
- [2] [CITE[00000001.PDF - 137.pdf]], [TIME[2014-06-23T02:14:26.000Z]], [TIME[2020-12-05T06:20:29.654Z]] <https://www.itscj.ipsj.or.jp/iso-ir/137.pdf>
- [3] [CITE[00000001.PDF - 071.pdf]], [TIME[2014-06-23T02:18:21.000Z]], [TIME[2020-12-05T06:20:49.313Z]] <https://www.itscj.ipsj.or.jp/iso-ir/071.pdf>
- [4] [CITE[00000001.PDF - 070.pdf]], [TIME[2014-06-23T02:18:19.000Z]], [TIME[2020-12-05T06:21:43.569Z]] <https://www.itscj.ipsj.or.jp/iso-ir/070.pdf>
- [5] [CITE[00000001.PDF - 132.pdf]], [TIME[2014-06-23T02:14:17.000Z]], [TIME[2020-12-05T06:22:03.270Z]] <https://www.itscj.ipsj.or.jp/iso-ir/132.pdf>
- [6] [CITE[00000001.PDF - 134.pdf]], [TIME[2014-06-23T02:14:20.000Z]], [TIME[2020-12-05T06:22:20.129Z]] <https://www.itscj.ipsj.or.jp/iso-ir/134.pdf>
- [7] [CITE[00000001.PDF - 135.pdf]], [TIME[2014-06-23T02:14:22.000Z]], [TIME[2020-12-05T06:22:37.493Z]] <https://www.itscj.ipsj.or.jp/iso-ir/135.pdf>
- [8] [CITE[00000001.PDF - 133.pdf]], [TIME[2014-06-23T02:14:18.000Z]], [TIME[2020-12-05T06:23:00.539Z]] <https://www.itscj.ipsj.or.jp/iso-ir/133.pdf>
- [9] [CITE[00000001.PDF - 073.pdf]], [TIME[2014-06-23T02:18:25.000Z]], [TIME[2020-12-05T06:23:23.190Z]] <https://www.itscj.ipsj.or.jp/iso-ir/073.pdf>
- [10] [CITE[00000001.PDF - 056.pdf]], [TIME[2014-06-23T02:17:52.000Z]], [TIME[2020-12-05T06:23:43.100Z]] <https://www.itscj.ipsj.or.jp/iso-ir/056.pdf>
- [11] [CITE[00000001.PDF - 136.pdf]], [TIME[2014-06-23T02:14:24.000Z]], [TIME[2020-12-05T06:24:04.576Z]] <https://www.itscj.ipsj.or.jp/iso-ir/136.pdf>
- [18] [CITE[null]], [TIME[2014-06-23T02:14:09.000Z]], [TIME[2020-12-05T09:32:51.518Z]] <https://www.itscj.ipsj.or.jp/iso-ir/128.pdf>
[1] [CITE@en[Videotex character set - Wikipedia]], [TIME[2020-12-04T00:34:29.000Z]], [TIME[2020-12-05T06:14:06.372Z]] <https://en.wikipedia.org/wiki/Videotex_character_set>
[12] [CITE@en[Viewdata - Wikipedia]], [TIME[2020-11-21T02:02:06.000Z]], [TIME[2020-12-05T06:24:38.609Z]] <https://en.wikipedia.org/wiki/Viewdata>
** VideotexString
[20]
"complete code" environment
([[ISO/IEC 2022]] complete coding environment)
を切り替える [CODE(charname)@en[DOCS]]
[SRC[T.101 PDF1 p.18, p.20, p.41]]:
- [CODE(charname)@en[ESC]] 2/5 4/3 : Data Syntax I
- [CODE(charname)@en[ESC]] 2/5 4/4 : Data Syntax II
- [CODE(charname)@en[ESC]] 2/5 4/1 : Data Syntax III
- [CODE(charname)@en[ESC]] 2/5 4/0 : [[ISO/IEC 2022]]
- その他 [[ISO/IEC 9281]] で登録されたもの
[21]
各 Data Syntax から
[CODE(charname)@en[PCD]]
を使って
[[ISO/IEC 9281]] picture coding environment
の
audio mode,
photographic mode,
VEMMI mode
を利用可能。
[SRC[T.101 PDF1 p.41]]
[19]
[[ASN.1]]
[DFN[VideotexString]]:
[[ISO/IEC 2022]],
Data Syntax I,
Data Syntax II,
Data Syntax III
[CODE(charname)@en[DOCS]] で相互に切替可能。
[SRC[T.101 PDF1 p.41]]
[29] 3規格を識別するのみならず相互切り替え可能にする必要性はあったのか、
需要はあったのか、実装可能だったのかは謎です。
[39]
Data Syntax の方に言及がなく本体で規定される
[[ISO/IEC 9281]] picture coding への対応も、
実態はあったのでしょうかね?
[40] DI で識別される Data Syntax I と
[CODE(charname)@en[PCD]] で始まる [[ISO/IEC 9281]]
は区別可能だけどアーキテクチャとしておかしい。
また Data Syntax I から他に切り替える時どこにどう
[CODE(charname)@en[DOCS]]
を挿入すればいいのか何も書いていない。
本体の状態遷移図に従うなら DI で識別されるバイト長が満了した後に
[CODE(charname)@en[DOCS]] や [CODE(charname)@en[PCD]]
を書けるということか。
[41] 本体の状態遷移図には Data Syntax I に切り替えたらまず
rank
を書く(?)とあるが、その構文が本体にも附属書にも書いてなく謎。
(rank という概念は Data Syntax I に存在してはいるのだが。)
** terminal identification
[46]
端末状態と照会・回答できる。 Data Syntax 共通。
[SRC[PDF1 p.36, PDF1 p.102, PDF2 p.379, PDF3 p.119]]
host 1/15 2/0 4/0
terminal 1/15 2/0 [VAR[bytes]]
[VAR[bytes]] は [ [N[4/0]], [N[7/15]] ] の列
[VAR[bytes]] は [N[4/0]] で終端するか、
[N[7/15]] [ [N[6/0]], [N[7/15]] ]* [ [N[4/0]], [N[5/15]] ]
で終端する。
[64]
Data Syntax II には [N[1/15]] に他の機能もある
** Data Syntax I
[22]
Data Syntax I (CAPTAIN) - 日本向け
[SRC[PDF1 p.102]]
[31] 4モードあって、
DI (Data Identifier)
で識別します。
- character mode
-- DI(C) 0b00100000
- transparent mode
-- DI(T) 0b00110000
-- DI(T-CNT) 0b00111111 (継続を表す)
- sound mode
-- DI(S) 0b01000001
- message mode
-- DI(M) 0b01000000
[32]
[VAR[DI]], [VAR[LI]], [VAR[bytes]]
を1セットとして繰り返します。
[33]
LI (Length Indicator)
は
[ [N[0]], [N[254]] ]
の1バイトでバイト長を表すか、
[N[255]] の[[バイト]]に続く[[大エンディアン]]2バイトでバイト長を表します。
([ [N[0]], [N[254]] ] を1+2バイトで表すのも禁止されていない。)
[30] [[character mode]] (初期状態)
- [[ISO/IEC 2022]] [[7ビット符号]]、[[8ビット符号]]
- [[C0]] [N[4/9]]
- [[C1]] [N[4/4]]
- [[G0]] = [[GL]] (初期値 Japanese-Kanji set)
- [[G1]] (初期値 Primary set)
- [[G2]] = [[GR]] (初期値 Display control command set)
- [[G3]] (初期値 DRCS 1)
- [[固定シフト]]、[[単独シフト]]、[[指示シーケンス]]
- [[制御シーケンス]]
- [[94集合]] [N[4/10]] Primary Character set
-- [[JIS X 0201]] [[ラテン文字用図形文字集合]]相当
- [[94集合]] [N[4/9]] Katakana Character set
-- [[JIS X 0201]] [[片仮名用図形文字集合]]相当
- [[94集合]] [N[3/3]] Mosaic I set
- [[94集合]] [N[6/3]] Mosaic II set
- [[96集合]] [N[3/8]] Display Control set
- [[96集合]] [N[5/7]] PDI set
- [[96集合]] [N[3/9]] MVI set
- [14] [[94[SUP[2]]集合]] [N[4/2]] [[改訂][IRR]] [N[4/0]] Kanji Character set (Japanese-Kanji Character Set)
-- [[JIS X 0208-1990]] 相当 + [[ARIB外字]]
-- [16] 「[[T.52]] との違い」
--- [24] 84区5点と6点は使用しない
---- [25] と書かれているが符号表にはこれらも掲載されている
--- [26] 92区から94区に169文字追加
- [[94集合]] [N[2/0]] [N[4/1]] : [[DRCS]] I set
- [[94[SUP[2]]集合]] [N[2/0]] [N[4/0]] : [[DRCS]] II set
[35]
transparent mode は PDU (Phorographic Data Unit) の連続。
[36]
PDU は opcode (1[[バイト]])、[VAR[LI]]、[VAR[bytes]]。
[34]
DI(T) / DI(T-CNT) の境界と PDU の境界が一致していなければならないのか、
そうでないのかよくわからない。一致しなければならないとすると
DI(T-CNT) は不要に思えるので、一致しなくても良いのかも。
[38]
sound mode
- [[ISO/IEC 2022]] [[7ビット符号]]/[[8ビット符号]]
- [[C0]]
- [[GL]] [[96[SUP[2]]集合]] Sound tone set
- [[C1]] Sound control
[44] Sound tone set :
第1バイト Sound Tone Set (Pitch)、
第2バイト Sound Tone Set (Duration)
[45] Sound control
,* ,*8 ,*9
,* 0,SMC ,SLV
,* 1,SMP ,
,* 2,SRP ,
,* 3, ,
,* 4,EMC ,
,* 5,EPT ,
,* 6, ,
,* 7, ,
,* 8,LBL ,LRT
,* 9,JMP ,
,*10,RPT ,
,*11,BRA ,
,*12,CTM ,
引数付き
- SMC 3/0 3/11 3/N 3/11
- SMP 3/P 3/11
- SRP 3/P 3/11
- LBL 3/N 3/11
- JMP 3/N 3/11
- RPT 3/M 3/11 3/N 3/11
- BRA 3/M 3/11 3/N 3/11
- SLV 3/L 3/11
- CTM 3/P 3/11
- LRT 3/N 3/11
(引数は1バイトとは限らない)
numeric parameter: [ [N[3/0]], [N[3/9]] ]+
delimiter: 3/11
[37]
message mode
- [[ISO/IEC 2022]] [[7ビット符号]]/[[8ビット符号]]
- [[C0]]
- [[C1]]
- [[GL]] = [[G0]]
- [[LS0]] Katakana character
- [[LS1]] Japanese-Kanji character
- [[GR]] Primary character
[47]
[[C0]] 引数付き
- 1/15 NSR >>36
- 1/4 KMC [VAR[P]]
- 1/12 APS [VAR[row]] [VAR[column]] (cursor position)
-- 下位6ビット
[48]
[[message mode]] の [[C1]] は [[character mode]] の [[C1]] の[[部分集合]]
[23]
[[C1]] の [CODE(charname)@en[P-MACRO]] は
[[ARIB STD-B24]] の [CODE(charname)@en[MACRO]]
相当 + [CODE(charname)@en[P-MACRO]] [N[4/2]] [VAR[P]] でマクロ文を返送要求
(ただしこちらは[[96集合]]で [VAR[P]] は [N[2/0]] ... [N[7/15]])
[42]
1バイト (左側) の[[引数]]が続く[[C1制御文字]]
- COL
- SZX
- FLC
- CDC
[43]
特殊文字の集合
Display Control set,
PDI set,
MVI set:
opcode が [ [N[2/0]], [N[3/0]] ],
operand が [ [N[4/0]], [N[7/15]] ]。
opcode の後、
opcode 依存の構文・長さで operand が続く。
- 固定 operand
- single-value operand : 下位6ビットが符号なし整数を表す
- multi-value operand :
下位6ビット中、上位3ビットと下位3ビットがそれぞれ値を表す。
後続 operand バイトも同じ。
1 - 8 バイト。
-- coordinate operand - 上位が X、下位が Y。第1バイト1つ目が符号±、
2つ目が最上位ビット (0.5)、最終バイト3つ目が最下位ビットで、
符号付き[[2の補数]]を表す。
-- 色: 3ビットの上位から GRB の順で unsigned color value in RGB color system
を表す。 unsigned binary decimal, 0 が lowest intensity、 1が highest intensity を表す。
Display Control set
- P-RESET fixed 1バイト
- P-DOMAIN fixed 2バイト
- LOGICAL-PEL multi-value 2バイト
- DISPLAY MODE fixed 1バイト
- P-TEXT fixed 2バイト / multi-value 1バイト
- RASTER multi-value 1バイト
- HEADER RASTER multi-value 1バイト
- SET LUT single-value 1バイト / multi-value 1バイト
- P-BLINK single-value 2バイト / fixed 3バイト
- AREA multi-value 2バイト
- SET FRAME single-value 2[VAR[n]] ([VAR[n]] = # of frames)
- ASSIGN FRAME signle-value 1バイト
Display Control Command Set
,* ,* 2 ,* 3
,* 0, ,
,* 1,P-RESET ,
,* 2,P-DOMAIN ,
,* 3,LOGICAL PEL ,
,* 4,DISPLAY MODE,P-TEXT
,* 5,AREA
,* 6,SET FRAME
,* 7,ASSIGN FRAME
,* 8, ,RASTER HEADER
,* 9, ,RASTER
,*10, ,SET LUT
,*11, ,
,*12,P-WAIT ,P-BLINK
,*13, ,
,*14, ,
,*15, ,
[N[4/0]] - [N[7/15]] NUMERIC DATA
** Data Syntax II
[50]
Data Syntax II は欧州向け。
[51]
VPDE (Videotex Presentation Data Element) の連続。
[52]
VPDE は VPCE の後に VSCE (Videotex Service Control Element)。
[53]
VPCE (Videotex Presentation Control Element)
は
[CODE(charname)@en[US]] = [N[1/15]]
のあとに
[VAR[P]],
[VAR[P]] は:
- [N[4/0]] - [N[7/15]] : alphamosaic data
-- ALPHAMOSAIC display data
- [N[2/0]] - [N[2/15]] : management data
-- 2/0 & 2/1 TERMINAL FACILITY IDENTIFIER
-- 2/3 Define DRCS
-- 2/6 Define COLOUR
-- 2/13 Define Format
-- 2/14 TIMING CONTROL
-- 2/15 RESET
- [N[3/0]] - [N[3/15]] : other data
-- 3/0 Reserved for Geometric display data
-- 3/1 GEOMETRIC display data (3D)
-- 3/2 GEOMETRIC display data
-- 3/4 PHOTOGRAPHIC pixel data
-- 3/5 PHOTOGRAPHIC table data
-- 3/11 SOUND
-- 3/12 Reserved for private use
-- 3/14 TELESOFTWARE (Processable) data
-- 3/15 TRANSPARENT data
[56] [SRC[PDF2, PDF2 p.49, p.53]]
- [[7ビット符号]]/[[8ビット符号]]
- [[C0]] = The primary control function set
- [[C1]] = supplementary control function set 2種のいずれかが既定値
-- ESC 2/2 4/0 serial supplementary control function set
-- ESC 2/2 4/1 parallel supplementary control function set
--
[65]
parallel/serial C1 切り替えで動作モードが変化
[SRC[PDF2 p.6]]
- [[GL]] = [[G0]] = The Latin primary set of graphic characters
- [[G1]] = The second supplementary set of mosaic characters
- [[GR]] = [[G2]] = The Latin supplementary set of graphic characters
- [[G3]] = The third supplementary set of mosaic characters
- L-set = The first supplementary set of mosaic characters
- [[固定シフト]]、[[単独シフト]]、[[指示シーケンス]]
- [[制御シーケンス]]
- [[94集合]] [N[4/0]] Latin Primary set
-- [61] [[ISO/IEC 646の版]]相当の自由度
-- [60] [[終端バイト]]は本来 [[ISO/IEC 646]] [[旧IRV]]
- [[94集合]] [N[6/3]] Secondary mosaic set
- [[94集合]] [N[6/2]] Supplementary graphic set
- [[94集合]] [N[6/4]] Third supplementary mosaic set
- [[94集合]] [N[2/1]] [N[4/0]] Greek Primary set of graphic characters
- [[94集合]] [N[6/11]] Arabic Primary set of graphic characters
- [[94集合]] [N[4/8]] Hebrew Supplementary set of graphic characters
- [[94[SUP[2]]集合]] [N[4/5]] Chinse coded ideogram set for communication
-- [15] [[ISO-IR 165]]
- [[94集合]] [N[2/0]] [N[4/1]] Chinese graphic DRCS
- [[94集合]] [N[2/0]] [N[4/0]] Chinese character DRCS
[55] L-set [SRC[PDF2 p.40]]
- L-set に固定シフト (L-set activation)
-- "mosaic" (MBK MSR MSG MSY MSB MSM MSC MSW)
--- 次の row の先頭で G-set にシフトする
-- serial C1-controls [N[5/0]] - [N[5/7]]
- L-set から G-set にシフト (L-set deactivation)
-- FOREGROUND COLOUR "alpha" (ABK ANR ANG ANY ANB ANM ANC ANW)
-- serial C1-controls [N[4/0]] - [N[4/7]]
-- parallel C1-set の呼び出し
-- entering new line
-- [[GL]] に[[G集合]]の呼び出し
[57] [[C0]]
- 0/14 SO
- 0/15 SI
- 1/2 RPT
- 1/9 SS2
- 1/11 ESC
- 1/13 SS3
- 1/15 APA = US
- など
[54] 引数付き[[制御文字]]
- RPT [VAR[P]] (下位6ビット)
- APA [VAR[P]] [VAR[P]] (各下位6ビット)
[58]
attributes
FOREGROUND COLOUR,
BACKGROUND COLOUR,
LINED,
SIZE,
FLASH,
CONCEAL,
INVERT,
WINDOW/BOX
- ESC 2/3 2/0 (Fe) = full screen attributes
- ESC 2/3 2/1 (Fe) = full row attributes
[VAR[Fe]] は parallel C1 set の [[ESC Fe]] の[[ビット組合せ]]、
例えば [N[4/1]] が Red foreground を表す。
[66]
US 2/3 DRCS 関係 [SRC[PDF2 p.248]]
- US 2/3 2/0 [VAR[ICS]] [VAR[SDC]] [VAR[SCM]] [VAR[SSA]]
-- 引数すべて省略可能
-- [VAR[ICS]] = 2/[VAR[h]] [VAR[F]] ([VAR[F]] は[[指示]]用の[[中間バイト]] (なし、 [N[2/0]] 可能) + [[終端バイト]])
-- [VAR[SDC]] は 3/[VAR[h]] 4/[VAR[h]] 3/[VAR[h]] 4/[VAR[h]]
-- [VAR[SCM]] は 5/[VAR[h]]
-- [VAR[SSA]] は 6/[VAR[h]]
- pattern transfer unit = US 2/3 [VAR[Y]] [VAR[pattern data]]
-- [VAR[Y]] は[[ビット組合せ]] [ [N[2/1]], [N[7/14]] ]
-- [VAR[pattern data]]
[59]
Geometric なデータの符号化
[SRC[PDF2 p.175]]
primitive は opcode の後に operand を何個かで表す。
opcode は [ [N[2/0]], [N[3/15]] ]
operand は [ [N[4/0]], [N[7/15]] ] または文字列
文字列 character string は [CODE[SOS]] から始まり [CODE[ST]] で終わる
[68] PHOTOGRAPHIC
[SRC[PDF2 p.223]]
- [[C0]] videotex control codes
- [ [N[2/0]], [N[3/15]] ] photovideotex parameters
- [ [N[4/0]], [N[7/15]] ] Pixel Data
[69]
TELESOFTWARE
[SRC[PDF2 p.322]]
TDU = CI field、LI field、Parameter field
ただし basic kernel (という実装水準) は一部 CI field のみの TDU を使う。
CI (Command Identifier) 種別を表す
LI (Length Indicator) 長さを表す。 1バイトで [ [N[0]], [N[254]] ]、
3バイト (先頭バイト [N[15/15]]) で [ [N[255]], [N[65534]] ]
Parameter fuekd は LI で指定された長さ。
[70] basic kernel のとき CI のみ: CI = 3/1, 3/2, 3/8, 3/6
[67]
TRANSPARENT = US 3/15
[SRC[PDF2 p.262]]
不透明データ。最初のバイト [VAR[N]] が長さを表す。
- [VAR[N]] = 0 : 無制限
- [VAR[N]] = [ [N[1]], [N[254]]] : バイト値の長さ
- [VAR[N]] = 255 : 未定義
バイト値が指定されていれば、 [VAR[N]] の次から数え始めてそのバイト数で終了。
バイト値に関わらず、次の VPCE が検知されたら終了 (中断)。
[CODE[US]] が出現すると次の VPCE とみなされる。回避するには2連続にする。
バイト数カウントは1バイト分になる。
[62]
状態リセット: 各種状態 + 文字コード状態を変更
[SRC[p.264]]
- General Display Reset
-- US 2/15 4/1 : serial C1 set を呼び出し
-- US 2/15 4/2 : parallel C1 set を呼び出し
-- Reset Control and Graphic Sets 相当の操作
-- その他状態リセット
- Reset Control and Graphic Sets
-- 既定の図形文字集合を指示
-- G0 = GL
-- G2 = GR
-- alpha-mosaic data 状態に
-- US 2/15 4/3 : serial C1 set を呼び出し
-- US 2/15 4/4 : parallel C1 set を呼び出し
- Service Break to Row X
-- G0 = primary set of graphic characters
-- G2 = supplementary set of graphic characters
-- G0 = GL
-- G2 = GR
-- US 2/15 4/0 [VAR[RN]] : serial C1 set を呼び出し
-- US 2/15 4/5 [VAR[RN]] : parallel C1 set を呼び出し
-- [VAR[RN]] = [ [N[4/0]], [N[7/15]] ] : row (下位6ビット)
-- この後、 US 2/15 4/15 で変更前の状態にリセット
[63] [CODE[DOCS]] の直後にはプロファイルを記述する [SRC[p.398, PDF2 p.1]]
- ESC 2/5 4/4 [VAR[profile]] 6/0
[VAR[profile]]:
- [N[6/0]] alphamosaic profile 1
- [N[6/1]] alphamosaic profile 2
- [N[6/2]] alphamosaic profile 3
- [N[6/3]] alphamosaic profile 4
- [N[6/4]] alphamosaic profile 5
- [N[6/8]] geometric profile x 1
- [N[6/9]] geometric profile x 2
- [N[7/14]] [VAR[P]] ASCII display mode
-- [VAR[P]] = [ [N[4/1]], [N[4/5]] ]
[VAR[profile]] は複数可
** Data Syntax III
[71] 北米向け (NAPLPS)
[72] [SRC[PDF3 p.8, p.109]]
- [[ISO/IEC 2022]] [[7ビット符号]]/[[8ビット符号]]
- C0 ESC 2/1 4/11
- C1 ESC 2/2 4/6
- GL = G0 primary set
- GR = G1 PDI
- G2 supplementary set
- G3 mosaic
- [[94集合]] 4/2 primary character set
- [[94集合]] 7/12 supplementary character set
- [[96集合]] ESC I 5/7 : PDI
- [[96集合]] ESC I 7/13 : Mosaic set
- [[96集合]] ESC I 7/10 ESC I 2/0 7/10 : Macro set
- [[96集合]] ESC I 7/11 ESC I 2/0 7/11 : DRCS
- [[96集合]]の [VAR[I]] は 2/9, 2/10, 2/11 / 2/13, 2/14, 2/15
- [[固定シフト]]、[[単独シフト]]、[[指示シーケンス]]
-- LS1R LS2R LS3R に ESC 7/14 7/13 7/12 のほか、 ESC 6/11 6/12 6/13
- [[ISO/IEC 9281]] [[PCD]]
** audio data syntax
[84]
[[ISO/IEC 9281]] [[PCD]] (識別子 2/4)
または
[[ISO/IEC 2022]] [CODE[DOCS]]
でこの構文に切り替えられる。
[SRC[PDF3 p.120]]
[85]
[[ISO/IEC 2022]] [CODE[DOCS]] を使う場合の構文が明記されていないが、
結局 [[PCD]] を使うということか?
** photographic data syntax
[86]
[[ISO/IEC 9281]] [[PCD]]
または
[[ISO/IEC 2022]] [CODE[DOCS]]
でこの構文に切り替えられる。
[SRC[PDF3 p.131]]
- PM 2/3
- PI 04/00 - 07/15
-- 例えば JPEG 04/00
[87]
画像は複数 PE に分割可能、
中途なら次のバイトは ESC 7/0 CMI[SUB[p]]、
完了なら次のバイトは ESC or US
* T.107
- [88] [CITE@en[T.107 : Enhanced man machine interface for videotex and other retrieval services (VEMMI)]], [[tsbmail]], [TIME[2022-05-07T10:17:59.000Z]] <https://www.itu.int/rec/T-REC-T.107-199508-I/en>
[89]
[[ISO/IEC 9281]] [[PCD]]
または
[[ISO/IEC 2022]] [CODE[DOCS]]
でこの構文に切り替えられる。
[SRC[PDF p.97]]
ISO/IEC 9281 CMI
-PM = 2/5
-PI = 4/0
[90] [[T.51String]]
* NAPLPS
[91] [[ISO/IEC 2022]] の [CODE(char)[[[DOCS]]]] で
[CODE(char)[[[[[ESC]] 2/5 4/1]]]] で[[指示]]・[[呼び出し]]される[[符号化体系]]は、
[[ISO-IR]] 108 です。 (←謎説明)
[ABBR[NAPLPS]] = Nothern American Presentation Level Protocol Syntax
(北米ビデオテックス通信規約)。
[92]
[[AT&T]] がカナダ政府の Telidon system (1970年代後半
から1980年代前半に使われていた。) を基に開発した
[ABBR[PLP]] (Presentation Level Protocol) が1983年11月に
米国 ANSI X3.110‐1983 や加国 CSA T500‐1983 として標準化されました。
[93]
日本語機能仕様 NAPLPS (NAPLPS JAPANESE LANGUAGE)
は日本語機能を追加したもので、1987年9月制定。
[94]
いわゆる画像符号化って奴ですね。 Alpha geometric data
であって dot の集合じゃありません。 Vector
画像と言われる奴の仲間ですね。
**ISO-IR 108
[95]
『Syntax of the North American Videotex/Teletext Presentation Level
Protocol (NAPLPS)』。
ANSI X3.110‐1983 や CSA T500‐1983 で定義。
-[[C0文字集合]]: 書式効果, 符号拡張制御, 転送制御, 機器制御
-[[C1文字集合]]: テキスト書式上の制御及びマクロ, [[DRCS]]
プログラム可能 texture mask, 非保護情報領域生成
-第1文字集合: ANSI X3.4‐1977 ([[ASCII]])・CSA Z243.4‐1973 (94文字)
-補遺文字集合: 合成アクセント・発音区別符・ラテン基底字母 (CCITT
Recommendation S.100‐1980 と追加文字)
-Mosaic 集合: 絵情報を生成する。 (65文字)
-任意の図形記号の downline 読み込み用 [[DRCS]] 集合 (96文字)
-2列〜7列に割り当てる追加集合:
--Picture Description Instruction ([ABBR[PDI]]; 図形描画命令) 集合:
絵情報の実行可能描画機能を提供 (96文字)
--表現層文字の符号表現の文字列を downline 読み込みするマクロ集合
(96文字)
[96]
[[ISO/IEC 2022]] から [CODE(char)[[[ESC 2/5 4/1]]]]
で[[指示]]・[[呼び出し]]され、
[CODE(char)[[[ESC 2/5 4/0]]]] で ISO/IEC 2022
を指示・呼び出しします。
7ビット符号の時は[[固定シフト]] + [[GL]] と
[CODE(char)[ESC [VAR[[[Fe]]]]]] を使い、
8ビット符号の時は [[GR]] と [[CR]] を使います。
G2 と G3 は[[単独シフト]]が使えます。
([CODE(char)[[[SS2]]]] = [CODE(char)[1/9]],
[CODE(char)[[[SS3]]]] = [CODE(char)[1/13]])
(固定シフトも使えます。) ASCII は右には呼び出せません。
**文字集合
[97]
標準状態では GL = G0 = ASCII, GR = G1 = [ABBR[PDI]],
G2 = 補遺集合, G3 = Mosaic が指示されています。
,IR , ,指示 ,指示(旧)
,135 ,C0 ,ESC 02/01 04/11
,136 ,C1 ,ESC 02/02 04/06
, ,ASCII ,ESC I4 04/02
, ,PDI ,ESC I6 05/07 ,ESC I4 05/07
, ,マクロ ,ESC I6 02/00 07/10 ,ESC I4 02/00 07/10
, ,DRCS ,ESC I6 02/00 07/11 ,ESC I4 02/00 07/11
,128 ,補遺 ,ESC I4 07/12 ,
,129 ,Mosaic ,ESC I6 07/13 ,ESC I4 07/13
-[VAR[I4]] = 02/08 / 02/09 / 02/10 / 02/11
-[VAR[I6]] = 02/13 / 02/14 / 02/15
[98]
PDI の終端バイト(旧) 05/07 は [[ISO-IR]] で、互換のため
割り当てないとされています。 (PDI は図形文字集合でないので、
ISO-IR に登録してもらえなかったのかもしれません。)
[99]
96集合の指示の I6 の部分は互換性のため、実装は I4
になっていても読み込むのが良いんだそうな。 (94集合では
全然違う集合が割り当てられてますよ。おいおい。)
[100]
補遺集合中の[[結合文字]]は、最初の文字が結合文字
([[現在位置の前進を伴わない文字]]) で、
2番目の文字が[[基底文字]]です。
[SEE[ [[非spacing文字]] ]]
[101]
[CODE(char)[[[NSR]]]] ([CODE(char)[1/15]])
で文字集合の指示・呼び出しは標準状態に戻ります。
**識別子
[102]
[[MIME]] などの Internet [[媒体型]]は [DFN[[CODE(MIME)[image/naplps]]]]
を使います。 [DFN[[CODE(MIME)[version]]]] 引数が必須で、値の形式は
[CODE(ABNF)[4*DIGIT]] (規格発行年) のようです。
[103] ファイル名の[[拡張子]]は [DFN[[CODE(file)[.pdi]]]] を使います。
** メモ
-[104] NAPLPSについて <http://uclsun.ucl.co.jp/naplps/naptech.html>
-[105] [[IANAREG]] <http://www.isi.edu/in-notes/iana/assignments/media-types/image/naplps>
-[106] <http://simtel.man.szczecin.pl/pub/pd/48197.html>
- [107] 2002-10-21 (月) 20:21 ''[[名無しさん]]'': ESC 02/06 s 04/00 を ASCII, ESC 02/06 s 04/01 を NAPLPS に使う (s = S7S(3/4) / S7T(3/5) / S8S(3/6) / S8T(3/7)) ってのがあるらしいです。
- [108] 2002-10-21 (月) 20:21 ''1'': ほんとだとすると ISO/IEC 2022 と全然互換性が無いと思うんですが。
- [109] >>108 もしかすると (というかたぶん) [[IRR]] が定義される前の時代にそうなったんでは。
- [110] とりあえず [[IRR]] では ESC 2/6 3/* はつかってないので、 ISO/IEC 2022 と共存は出来ますな。
- [111] 独自拡張の[[更新番号]]で Fp == 3/* を使っているという噂も聞きますから、そういうのとは共存不可能ではありますが。
[112] [CITE[NAPLPS.TXT]], [TIME[2022-05-07T12:08:27.000Z]] <https://www.fileformat.info/format/naplps/spec/c08f9438d54b4149b7f9c4b92e197191/view.htm>
* メモ