@danything/arib 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,17 +10,17 @@
10
10
  * **表の名前と `export const` の形は変えない。** danything/denpa-font の道具がこのファイルを
11
11
  * 名前で読んでフォントに入れる字を決める (`ADDITIONAL_ROWS`・`PLANE1_HIGH_ROWS` も。`aribtext-gaiji.ts`・`fold.ts` も同じ)。
12
12
  *
13
- * - 漢字は EUC-JP で読んだものと違うところだけ持つ (`KANJI_DIFF`。番組表は EUC-JP のまま読む —
14
- * 1区33点の 〜 / ~ などは字幕と番組表で違えてある。aribtext.ts の説明)。1〜84区は JIS X 0213:2004 の1面と
15
- * 同じ字 (全角の形を選んだ点と、1区17点の  ̄ など libaribcaption のとおりの数点を除く)
16
- * - JIS X 0213 の表 (2つのコードポイントの字・1面の 85〜94区・2面) は [scripts/jisx0213.ts](../scripts/jisx0213.ts) が
13
+ * - 漢字は EUC-JP で読んだものと違うところだけ持つ (`KANJI_DIFF`。番組表は EUC-JP のまま読むので、
14
+ * 1 区 33 点の 〜 / ~ などは字幕と番組表で違えてある。aribtext.ts の説明)。1〜84 区は JIS X 0213:2004 の 1 面と
15
+ * 同じ字 (全角の形を選んだ点と、1 区 17 点の  ̄ など libaribcaption のとおりの数点を除く)
16
+ * - JIS X 0213 の表 (2 つのコードポイントの字・1 面の 85〜94 区・2 面) は [scripts/jisx0213.ts](../scripts/jisx0213.ts) が
17
17
  * x0213.org の対応表から書く。手で直さない
18
18
  * - U+FFFD は規格で空いているところ
19
19
  *
20
20
  * ## 外字 (DRCS) の置き換えを足す
21
21
  *
22
22
  * 放送は字幕の外字を小さな画像で送ってくる。画像の MD5 (`b24caption.ts` が中身の画素から取る) が
23
- * `DRCS_REPLACE` にあれば、その字に置き換えて描く (無ければ画像のまま)。足すときは:
23
+ * `DRCS_REPLACE` にあれば、その字に置き換えて描く (無ければ画像のまま)。足すときは次の手順。
24
24
  *
25
25
  * 1. 字幕の JSON (`/api/recordings/<id>/captions.json` の `drcs`) の `md5` を読み取る。`data` の画像は送るために
26
26
  * なめらかにしたもの (drcs-smooth.ts) なので、`data` から MD5 を取っても表と合わない
@@ -42,63 +42,63 @@ export const JISX0201_HALF = "。「」、・ヲァィゥェォャュョッー
42
42
  export const ALNUM_FULL = "!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_`abcdefghijklmnopqrstuvwxyz{|} ̄";
43
43
  /** 同じものの半角 (中くらいのとき)。0x5C は ¥、0x7E は ‾ (番組表は ASCII のまま。バックスラッシュとチルダ) */
44
44
  export const ALNUM_HALF = "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_`abcdefghijklmnopqrstuvwxyz{|}‾";
45
- /** 漢字の表の1・2区を、中くらいのときに半角へ寄せたもの */
45
+ /** 漢字の表の 1・2 区を、中くらいのときに半角へ寄せたもの */
46
46
  export const KANJI_SYMBOLS_HALF = " 、。,.・:;?!゙゚´`¨^¯_ヽヾゝゞ〃仝々〆〇ー―‐/\\~‖|…‥‘’“”()〔〕[]{}〈〉《》「」『』【】+−±×÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓'\"-~〳〴〵〻〼ヿゟ∈∋⊆⊇⊂⊃∪∩⊄⊅⊊⊋∉∅⌅⌆∧∨¬⇒⇔∀∃⊕⊖⊗∥∦⦅⦆〘〙〖〗∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬≢≃≅≈≶≷↔ʼn♯♭♪†‡¶♮♫♬♩◯";
47
- /** 漢字の表 (1〜84区) のうち、EUC-JP で読んだものと違うところ。[区×94+点 (0 から), そこから続く字] の並び。85区から先は `ADDITIONAL` */
47
+ /** 漢字の表 (1〜84 区) のうち、EUC-JP で読んだものと違うところ。[区×94+点 (0 から), そこから続く字] の並び。85 区から先は `ADDITIONAL` */
48
48
  export const KANJI_DIFF = [
49
- [32, "〜‖"], // 1区33点から
50
- [60, "−"], // 1区61点から
51
- [108, "'"-~〳〴〵〻〼ヿゟ"], // 2区15点から
52
- [127, "⊄⊅⊊⊋∉∅⌅⌆"], // 2区34点から
53
- [142, "⊕⊖⊗∥∦⦅⦆〘〙〖〗"], // 2区49点から
54
- [168, "≢≃≅≈≶≷↔"], // 2区75点から
55
- [183, "♮♫♬♩"], // 2区90点から
56
- [188, "▷▶◁◀↗↘↖↙⇄⇨⇦⇧⇩⤴⤵"], // 3区1点から
57
- [213, "⦿◉〽﹆﹅◦•"], // 3区26点から
58
- [246, "∓ℵℏ㏋ℓ℧"], // 3区59点から
59
- [278, "゠–⧺⧻"], // 3区91点から
60
- [365, "ゔゕゖ"], // 4区84点から
61
- [494, "♤♠♢♦♡♥♧♣"], // 6区25点から
62
- [526, "ς⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾☖☗〠☎☀☁☂☃♨▱ㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹ"], // 6区57点から
63
- [558, "ㇺㇻㇼㇽㇾㇿ"], // 6区89点から
64
- [597, "⎾⎿⏀⏁⏂⏃⏄⏅⏆⏇⏈⏉⏊⏋⏌"], // 7区34点から
65
- [645, "ヷヸヹヺ⋚⋛⅓⅔⅕✓⌘␣⏎"], // 7区82点から
66
- [690, "㉑㉒㉓㉔㉕㉖㉗㉘㉙㉚㉛㉜㉝㉞㉟㊱㊲㊳㊴㊵㊶㊷㊸㊹㊺㊻㊼㊽㊾㊿"], // 8区33点から
67
- [728, "◐◑◒◓‼⁇⁈⁉ǍǎǐḾḿǸǹǑǒǔǖǘǚǜ"], // 8区71点から
68
- [752, "€ ¡¤¦©ª«­®¯²³·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿĀĪŪĒŌāīūēōĄ˘ŁĽŚŠŞŤŹŽŻą˛łľśˇšşťź˝žżŔĂĹĆČĘĚĎŃŇŐŘŮŰŢŕăĺćčęěďđńňőřůűţ˙ĈĜĤĴŜŬĉĝĥĵŝŭɱʋɾʃʒɬɮɹʈɖɳɽʂʐɻɭɟɲʝʎɡŋɰʁħʕʔɦʘǂɓɗʄɠƓœŒɨʉɘɵəɜɞɐɯʊɤʌɔɑɒʍɥʢʡɕʑɺɧɚ"], // 9区1点から
69
- [976, "ǽὰά"], // 11区37点から
70
- [987, "ὲέ͡ˈˌːˑ̆‿̋́̄̀̏̌̂˥˦˧˨˩"], // 11区48点から
71
- [1010, "̥̬̹̜̟̠̩̯̈̽˞̴̤̰̼̝̞̘̙̪̺̻̃̚❶❷❸❹❺❻❼❽❾❿⓫⓬⓭⓮⓯⓰⓱⓲⓳⓴ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ㋐㋑㋒㋓㋔㋕㋖㋗㋘㋙㋚㋛㋜㋝㋞㋟㋠㋡㋢㋣㋺㋩㋥㋭㋬"], // 11区71点から
72
- [1126, "⁑⁂"], // 12区93点から
73
- [1158, "Ⅺ"], // 13区31点から
74
- [1182, "Ⅻ"], // 13区55点から
75
- [1207, "���"], // 13区80点から
76
- [1211, "����"], // 13区84点から
77
- [1217, "���❖☞俱𠀋㐂丨丯丰亍仡份仿伃伋你佈佉佖佟佪佬佾侊侔侗侮俉俠倁倂倎倘倧倮偀倻偁傔僌僲僐僦僧儆儃儋儞儵兊免兕兗㒵冝凃凊凞凢凮刁㓛刓刕剉剗剡劓勈勉勌勐勖勛勤勰勻匀匇匜卑卡卣卽厓厝厲吒吧呍咜呫呴呿咈咖咡咩哆哿唎唫唵啐啞喁喆喎喝喭嗎嘆嘈嘎嘻噉噶噦器噯噱噲嚙嚞嚩嚬嚳囉囊圊𡈽圡圯圳圴坰坷坼垜﨏𡌛垸埇埈埏埤埭埵埶埿堉塚塡塤塀塼墉增墨墩𡑮壒壎壔壚壠壩夌虁奝奭妋妒妤姃姒姝娓娣婧婭婷婾媄媞媧嫄𡢽嬙嬥剝"], // 13区90点から
78
- [4375, "𠮟孁孖孽宓寘寬尒尞尣尫㞍屢層屮𡚴屺岏岟岣岪岺峋峐峒峴𡸴㟢崍崧﨑嵆嵇嵓嵊嵭嶁嶠嶤嶧嶸巋吞"], // 47区52点から
79
- [7808, "噓巢帔帘幘幞庾廊廋廹开异弇弝弣弴弶弽彀彅彔彘彤彧彽徉徜徧徯徵德忉忞忡忩怍怔怘怳怵恇悔悝悞惋惔惕惝惸愜愫愰愷慨憍憎憼憹懲戢戾扃扖扚扯抅拄拖拼挊挘挹捃捥捼揥揭揵搐搔搢摹摑摠摭擎撾撿㐂𠅘份仿侚俉傜儞冼㔟匇卡卬詹𠮷呍咖咜咩唎啊噲囤圳圴塚墀姤娣婕寬﨑㟢庬弴彅德怗恵愰昤曈曙曺曻桒鿄椑椻橅檑櫛𣏌𣏾𣗄毱泠洮海涿淊淸渚潞濹灤𤋮𤋮煇燁爀玟玨珉珖琛琡琢琦琪琬琹瑋㻚畵疁睲䂓磈磠祇禮鿆䄃鿅秚稞筿簱䉤綋羡脘脺舘芮葛蓜蓬蕙藎蝕蟬蠋裵角諶跎辻迶郝鄧鄭醲鈳銈錡鍈閒雞餃饀髙鯖鷗麴麵"], // 84区7点から
49
+ [32, "〜‖"], // 1 区 33 点から
50
+ [60, "−"], // 1 区 61 点から
51
+ [108, "'"-~〳〴〵〻〼ヿゟ"], // 2 区 15 点から
52
+ [127, "⊄⊅⊊⊋∉∅⌅⌆"], // 2 区 34 点から
53
+ [142, "⊕⊖⊗∥∦⦅⦆〘〙〖〗"], // 2 区 49 点から
54
+ [168, "≢≃≅≈≶≷↔"], // 2 区 75 点から
55
+ [183, "♮♫♬♩"], // 2 区 90 点から
56
+ [188, "▷▶◁◀↗↘↖↙⇄⇨⇦⇧⇩⤴⤵"], // 3 区 1 点から
57
+ [213, "⦿◉〽﹆﹅◦•"], // 3 区 26 点から
58
+ [246, "∓ℵℏ㏋ℓ℧"], // 3 区 59 点から
59
+ [278, "゠–⧺⧻"], // 3 区 91 点から
60
+ [365, "ゔゕゖ"], // 4 区 84 点から
61
+ [494, "♤♠♢♦♡♥♧♣"], // 6 区 25 点から
62
+ [526, "ς⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾☖☗〠☎☀☁☂☃♨▱ㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹ"], // 6 区 57 点から
63
+ [558, "ㇺㇻㇼㇽㇾㇿ"], // 6 区 89 点から
64
+ [597, "⎾⎿⏀⏁⏂⏃⏄⏅⏆⏇⏈⏉⏊⏋⏌"], // 7 区 34 点から
65
+ [645, "ヷヸヹヺ⋚⋛⅓⅔⅕✓⌘␣⏎"], // 7 区 82 点から
66
+ [690, "㉑㉒㉓㉔㉕㉖㉗㉘㉙㉚㉛㉜㉝㉞㉟㊱㊲㊳㊴㊵㊶㊷㊸㊹㊺㊻㊼㊽㊾㊿"], // 8 区 33 点から
67
+ [728, "◐◑◒◓‼⁇⁈⁉ǍǎǐḾḿǸǹǑǒǔǖǘǚǜ"], // 8 区 71 点から
68
+ [752, "€ ¡¤¦©ª«­®¯²³·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿĀĪŪĒŌāīūēōĄ˘ŁĽŚŠŞŤŹŽŻą˛łľśˇšşťź˝žżŔĂĹĆČĘĚĎŃŇŐŘŮŰŢŕăĺćčęěďđńňőřůűţ˙ĈĜĤĴŜŬĉĝĥĵŝŭɱʋɾʃʒɬɮɹʈɖɳɽʂʐɻɭɟɲʝʎɡŋɰʁħʕʔɦʘǂɓɗʄɠƓœŒɨʉɘɵəɜɞɐɯʊɤʌɔɑɒʍɥʢʡɕʑɺɧɚ"], // 9 区 1 点から
69
+ [976, "ǽὰά"], // 11 区 37 点から
70
+ [987, "ὲέ͡ˈˌːˑ̆‿̋́̄̀̏̌̂˥˦˧˨˩"], // 11 区 48 点から
71
+ [1010, "̥̬̹̜̟̠̩̯̈̽˞̴̤̰̼̝̞̘̙̪̺̻̃̚❶❷❸❹❺❻❼❽❾❿⓫⓬⓭⓮⓯⓰⓱⓲⓳⓴ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ㋐㋑㋒㋓㋔㋕㋖㋗㋘㋙㋚㋛㋜㋝㋞㋟㋠㋡㋢㋣㋺㋩㋥㋭㋬"], // 11 区 71 点から
72
+ [1126, "⁑⁂"], // 12 区 93 点から
73
+ [1158, "Ⅺ"], // 13 区 31 点から
74
+ [1182, "Ⅻ"], // 13 区 55 点から
75
+ [1207, "���"], // 13 区 80 点から
76
+ [1211, "����"], // 13 区 84 点から
77
+ [1217, "���❖☞俱𠀋㐂丨丯丰亍仡份仿伃伋你佈佉佖佟佪佬佾侊侔侗侮俉俠倁倂倎倘倧倮偀倻偁傔僌僲僐僦僧儆儃儋儞儵兊免兕兗㒵冝凃凊凞凢凮刁㓛刓刕剉剗剡劓勈勉勌勐勖勛勤勰勻匀匇匜卑卡卣卽厓厝厲吒吧呍咜呫呴呿咈咖咡咩哆哿唎唫唵啐啞喁喆喎喝喭嗎嘆嘈嘎嘻噉噶噦器噯噱噲嚙嚞嚩嚬嚳囉囊圊𡈽圡圯圳圴坰坷坼垜﨏𡌛垸埇埈埏埤埭埵埶埿堉塚塡塤塀塼墉增墨墩𡑮壒壎壔壚壠壩夌虁奝奭妋妒妤姃姒姝娓娣婧婭婷婾媄媞媧嫄𡢽嬙嬥剝"], // 13 区 90 点から
78
+ [4375, "𠮟孁孖孽宓寘寬尒尞尣尫㞍屢層屮𡚴屺岏岟岣岪岺峋峐峒峴𡸴㟢崍崧﨑嵆嵇嵓嵊嵭嶁嶠嶤嶧嶸巋吞"], // 47 区 52 点から
79
+ [7808, "噓巢帔帘幘幞庾廊廋廹开异弇弝弣弴弶弽彀彅彔彘彤彧彽徉徜徧徯徵德忉忞忡忩怍怔怘怳怵恇悔悝悞惋惔惕惝惸愜愫愰愷慨憍憎憼憹懲戢戾扃扖扚扯抅拄拖拼挊挘挹捃捥捼揥揭揵搐搔搢摹摑摠摭擎撾撿㐂𠅘份仿侚俉傜儞冼㔟匇卡卬詹𠮷呍咖咜咩唎啊噲囤圳圴塚墀姤娣婕寬﨑㟢庬弴彅德怗恵愰昤曈曙曺曻桒鿄椑椻橅檑櫛𣏌𣏾𣗄毱泠洮海涿淊淸渚潞濹灤𤋮𤋮煇燁爀玟玨珉珖琛琡琢琦琪琬琹瑋㻚畵疁睲䂓磈磠祇禮鿆䄃鿅秚稞筿簱䉤綋羡脘脺舘芮葛蓜蓬蕙藎蝕蟬蠋裵角諶跎辻迶郝鄧鄭醲鈳銈錡鍈閒雞餃饀髙鯖鷗麴麵"], // 84 区 7 点から
80
80
  ];
81
81
  /**
82
- * 追加記号・追加漢字 (85〜94区)。1行が1区で、94 字ずつ (点の順)。ARIB STD-B24 表 7-19 / STD-B62 表 5-2。
82
+ * 追加記号・追加漢字 (85〜94 区)。1 行が 1 区で、94 字ずつ (点の順)。ARIB STD-B24 表 7-19 / STD-B62 表 5-2。
83
83
  * 番組表の外字 (aribtext-gaiji.ts) もここを引く
84
84
  *
85
85
  * 4K8K 用の記号 (🆛〜🆬 U+1F19B〜1F1AC と 🈻 U+1F23B。STD-B62 表 5-3「EPG で使う追加記号」) は
86
86
  * **区点が無いので入れない。** 規格は UCS の符号だけを決め (UTF-8 で送る MMT の番組表用)、
87
- * STD-B24 表 7-19 の 90区85点〜・91区50点〜も空きのまま。denpa は8単位符号しか読まないので出てこない
87
+ * STD-B24 表 7-19 の 90 区 85 点〜・91 区 50 点〜も空きのまま。denpa は 8 単位符号しか読まないので出てこない
88
88
  */
89
89
  const ADDITIONAL_ROWS = [
90
- "㐂𠅘份仿侚俉傜儞冼㔟匇卡卬詹𠮷呍咖咜咩唎啊噲囤圳圴塚墀姤娣婕寬﨑㟢庬弴彅德怗恵愰昤曈曙曺曻桒鿄椑椻橅檑櫛𣏌𣏾𣗄毱泠洮海涿淊淸渚潞濹灤𤋮𤋮煇燁爀玟玨珉珖琛琡琢琦琪琬琹瑋㻚畵疁睲䂓磈磠祇禮鿆䄃", // 85区
91
- "鿅秚稞筿簱䉤綋羡脘脺舘芮葛蓜蓬蕙藎蝕蟬蠋裵角諶跎辻迶郝鄧鄭醲鈳銈錡鍈閒雞餃饀髙鯖鷗麴麵���������������������������������������������������", // 86区
92
- "����������������������������������������������������������������������������������������������", // 87区
93
- "����������������������������������������������������������������������������������������������", // 88区
94
- "����������������������������������������������������������������������������������������������", // 89区
95
- "⛌⛍❗⛏⛐⛑�⛒⛕⛓⛔����🅿🆊��⛖⛗⛘⛙⛚⛛⛜⛝⛞⛟⛠⛡⭕㉈㉉㉊㉋㉌㉍㉎㉏����⒑⒒⒓🅊🅌🄿🅆🅋🈐🈑🈒🈓🅂🈔🈕🈖🅍🄱🄽⬛⬤🈗🈘🈙🈚🈛⚿🈜🈝🈞🈟🈠🈡🈢🈣🈤🈥🅎㊙🈀����������", // 90区
96
- "⛣⭖⭗⭘⭙☓㊋〒⛨㉆㉅⛩࿖⛪⛫⛬♨⛭⛮⛯⚓✈⛰⛱⛲⛳⛴⛵🅗ⒹⓈ⛶🅟🆋🆍🆌🅹⛷⛸⛹⛺🅻☎⛻⛼⛽⛾🅼⛿���������������������������������������������", // 91区
97
- "➡⬅⬆⬇⬯⬮年月日円㎡㎥㎝㎠㎤🄀⒈⒉⒊⒋⒌⒍⒎⒏⒐氏副元故前新🄁🄂🄃🄄🄅🄆🄇🄈🄉🄊㈳㈶㈲㈱㈹㉄▶◀〖〗⟐²³🄭🄬🄫㉇🆐🈦℻���", // 92区
98
- "㈪㈫㈬㈭㈮㈯㈰㈷㍾㍽㍼㍻№℡〶⚾🉀🉁🉂🉃🉄🉅🉆🉇🉈🄪🈧🈨🈩🈔🈪🈫🈬🈭🈮🈯🈰🈱ℓ㎏㎐㏊㎞㎢㍱��½↉⅓⅔¼¾⅕⅖⅗⅘⅙⅚⅐⅛⅑⅒☀☁☂⛄☖☗⛉⛊♦♥♣♠⛋⨀‼⁉⛅☔⛆☃⛇⚡⛈�⚞⚟♬☎���", // 93区
99
- "ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ⑰⑱⑲⑳⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿㉑㉒㉓㉔🄐🄑🄒🄓🄔🄕🄖🄗🄘🄙🄚🄛🄜🄝🄞🄟🄠🄡🄢🄣🄤🄥🄦🄧🄨🄩㉕㉖㉗㉘㉙㉚①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯❶❷❸❹❺❻❼❽❾❿⓫⓬㉛�", // 94区
90
+ "㐂𠅘份仿侚俉傜儞冼㔟匇卡卬詹𠮷呍咖咜咩唎啊噲囤圳圴塚墀姤娣婕寬﨑㟢庬弴彅德怗恵愰昤曈曙曺曻桒鿄椑椻橅檑櫛𣏌𣏾𣗄毱泠洮海涿淊淸渚潞濹灤𤋮𤋮煇燁爀玟玨珉珖琛琡琢琦琪琬琹瑋㻚畵疁睲䂓磈磠祇禮鿆䄃", // 85 区
91
+ "鿅秚稞筿簱䉤綋羡脘脺舘芮葛蓜蓬蕙藎蝕蟬蠋裵角諶跎辻迶郝鄧鄭醲鈳銈錡鍈閒雞餃饀髙鯖鷗麴麵���������������������������������������������������", // 86 区
92
+ "����������������������������������������������������������������������������������������������", // 87 区
93
+ "����������������������������������������������������������������������������������������������", // 88 区
94
+ "����������������������������������������������������������������������������������������������", // 89 区
95
+ "⛌⛍❗⛏⛐⛑�⛒⛕⛓⛔����🅿🆊��⛖⛗⛘⛙⛚⛛⛜⛝⛞⛟⛠⛡⭕㉈㉉㉊㉋㉌㉍㉎㉏����⒑⒒⒓🅊🅌🄿🅆🅋🈐🈑🈒🈓🅂🈔🈕🈖🅍🄱🄽⬛⬤🈗🈘🈙🈚🈛⚿🈜🈝🈞🈟🈠🈡🈢🈣🈤🈥🅎㊙🈀����������", // 90 区
96
+ "⛣⭖⭗⭘⭙☓㊋〒⛨㉆㉅⛩࿖⛪⛫⛬♨⛭⛮⛯⚓✈⛰⛱⛲⛳⛴⛵🅗ⒹⓈ⛶🅟🆋🆍🆌🅹⛷⛸⛹⛺🅻☎⛻⛼⛽⛾🅼⛿���������������������������������������������", // 91 区
97
+ "➡⬅⬆⬇⬯⬮年月日円㎡㎥㎝㎠㎤🄀⒈⒉⒊⒋⒌⒍⒎⒏⒐氏副元故前新🄁🄂🄃🄄🄅🄆🄇🄈🄉🄊㈳㈶㈲㈱㈹㉄▶◀〖〗⟐²³🄭🄬🄫㉇🆐🈦℻���", // 92 区
98
+ "㈪㈫㈬㈭㈮㈯㈰㈷㍾㍽㍼㍻№℡〶⚾🉀🉁🉂🉃🉄🉅🉆🉇🉈🄪🈧🈨🈩🈔🈪🈫🈬🈭🈮🈯🈰🈱ℓ㎏㎐㏊㎞㎢㍱��½↉⅓⅔¼¾⅕⅖⅗⅘⅙⅚⅐⅛⅑⅒☀☁☂⛄☖☗⛉⛊♦♥♣♠⛋⨀‼⁉⛅☔⛆☃⛇⚡⛈�⚞⚟♬☎���", // 93 区
99
+ "ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ⑰⑱⑲⑳⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿㉑㉒㉓㉔🄐🄑🄒🄓🄔🄕🄖🄗🄘🄙🄚🄛🄜🄝🄞🄟🄠🄡🄢🄣🄤🄥🄦🄧🄨🄩㉕㉖㉗㉘㉙㉚①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯❶❷❸❹❺❻❼❽❾❿⓫⓬㉛�", // 94 区
100
100
  ];
101
- /** 追加記号・追加漢字を1つの文字列にしたもの。(区 − 85) × 94 + (点 − 1) 番目のコードポイント */
101
+ /** 追加記号・追加漢字を 1 つの文字列にしたもの。(区 − 85) × 94 + (点 − 1) 番目のコードポイント */
102
102
  export const ADDITIONAL = ADDITIONAL_ROWS.join('');
103
103
  // ここから JIS X 0213 の表 (packages/arib/scripts/jisx0213.ts が書く。手で直さない)
104
104
  /**
@@ -183,7 +183,7 @@ export const PLANE2 = [
183
183
  ];
184
184
  // ここまで JIS X 0213 の表
185
185
  /**
186
- * 色の表 (CLUT)。8つの組 × 16色、RGBA の16進。後ろの4組 (65〜127) は 64 を引いた番号の色を半分透かしたもの (65〜72 だけは 0〜7 番の基本の色)。
186
+ * 色の表 (CLUT)。8 つの組 × 16 色、RGBA の 16 進。後ろの 4 組 (65〜127) は 64 を引いた番号の色を半分透かしたもの (65〜72 だけは 0〜7 番の基本の色)。
187
187
  * libaribcaption の表は 101 番と 119 番の青が `09` になっていたが、
188
188
  * 元の 37 番・55 番 (`55ff00`・`ff5500`) を透かしたものなので `00`
189
189
  */
@@ -494,11 +494,11 @@ export const DRCS_REPLACE = new Map([
494
494
  ['9374173a2e4b7f1dcac75eccd5ee7e7f', 0x698a],
495
495
  ['ec7b2c805a5ba3d52c281ee2296b94d7', 0x8523],
496
496
  ['dedbee40c06e17b51932431dc8cd8334', 0x8fc2], // denpa: 一点しんにょうの「迂」。2026-10-10 時点の録画 58 本で表に無かったもの
497
- ['e806d1481cfa721da5f60413531f39bd', 0x1f4f1], // denpa: 携帯電話 📱 (36x36・4階調)。NHK総合 2026-10-11。録画 20 本 (字幕に字のあったのは 9 本) で表に無かったのはこれだけ
498
- ['d9b5d861024ce112c12fa5f155bb1af3', 0x1f50a], // denpa: 音の出ているスピーカー 🔊 (36x36・4階調)。テレビ朝日 2026-10-17 のアニメの字幕で1本に5回
499
- ['d1e6371a34eaf49154ea6a4d0e9064ac', 0x1f50a], // denpa: 音の出ているスピーカー 🔊。TBS 2026-10 のアニメの字幕で1本に22回 (テレビ朝日のものと画像が違う)
500
- ['22db8ff6ac75b60b76a15a6e9c42a5db', 0x1f4fa], // denpa: テレビ 📺。上と同じ番組で2回
501
- ['c42450812c184aee2ae01cc5e39ae957', 0x1f4fb], // denpa: ラジオ 📻 (72x72・16階調)。テレ東 2026-11-01 のアニメの字幕で1本に28回
502
- ['06cb56043b9c4006bcfbe07cc831feaf', 0x1f50a], // denpa: 音の出ているスピーカー 🔊 (72x72・16階調)。上と同じ番組で4回 (テレビ朝日・TBS のものと画像が違う)
503
- ['063c95566807d5e7b51ab706426bedf9', 0x1f4f1], // denpa: 携帯電話 📱 (72x72・16階調)。上と同じ番組で4回 (NHK総合のものと画像が違う)
497
+ ['e806d1481cfa721da5f60413531f39bd', 0x1f4f1], // denpa: 携帯電話 📱 (36x36・4 階調)。NHK総合 2026-10-11。録画 20 本 (字幕に字のあったのは 9 本) で表に無かったのはこれだけ
498
+ ['d9b5d861024ce112c12fa5f155bb1af3', 0x1f50a], // denpa: 音の出ているスピーカー 🔊 (36x36・4 階調)。テレビ朝日 2026-10-17 のアニメの字幕で 1 本に 5 回
499
+ ['d1e6371a34eaf49154ea6a4d0e9064ac', 0x1f50a], // denpa: 音の出ているスピーカー 🔊。TBS 2026-10 のアニメの字幕で 1 本に 22 回 (テレビ朝日のものと画像が違う)
500
+ ['22db8ff6ac75b60b76a15a6e9c42a5db', 0x1f4fa], // denpa: テレビ 📺。上と同じ番組で 2 回
501
+ ['c42450812c184aee2ae01cc5e39ae957', 0x1f4fb], // denpa: ラジオ 📻 (72x72・16 階調)。テレ東 2026-11-01 のアニメの字幕で 1 本に 28 回
502
+ ['06cb56043b9c4006bcfbe07cc831feaf', 0x1f50a], // denpa: 音の出ているスピーカー 🔊 (72x72・16 階調)。上と同じ番組で 4 回 (テレビ朝日・TBS のものと画像が違う)
503
+ ['063c95566807d5e7b51ab706426bedf9', 0x1f4f1], // denpa: 携帯電話 📱 (72x72・16 階調)。上と同じ番組で 4 回 (NHK総合のものと画像が違う)
504
504
  ]);
@@ -1,21 +1,21 @@
1
1
  /**
2
2
  * 放送の字幕 (ARIB STD-B24 の字幕文) をデコードして、**字の置き場所まで決める** ([caption-text.ts](caption-text.ts))。
3
3
  *
4
- * libaribcaption の「デコードする (decoder)」側を写したもの — 置き場所・大きさ・色・外字の置き換えまでは
4
+ * libaribcaption の「デコードする (decoder)」側を写したもの。置き場所・大きさ・色・外字の置き換えまでは
5
5
  * 同じ計算で、描く (renderer) 手前で止める。描くのは受け側 (ブラウザ・アプリ)。
6
6
  *
7
- * 写したのは日本の放送で要るところだけ: 8単位符号 (JIS)・Profile A (フルセグ)。言語は1つを選んで読む
8
- * (既定は第1言語。`new B24CaptionDecoder(2)` で第2言語)。
7
+ * 写したのは日本の放送で要るところだけ: 8 単位符号 (JIS)・Profile A (フルセグ)。言語は 1 つを選んで読む
8
+ * (既定は第 1 言語。`new B24CaptionDecoder(2)` で第 2 言語)。
9
9
  * ブラジルの Latin・UTF-8・ワンセグ (Profile C) は持たない。
10
10
  *
11
11
  * ## libaribcaption と違えたところ
12
12
  *
13
13
  * - **字幕管理データの「送り直し」の見分け。** あちらは群 (A/B) を `(id & 0xF0) >> 8` で
14
- * 取っていて常に 0 になり、最初の1回しか読まない。ここは群を正しく見る
14
+ * 取っていて常に 0 になり、最初の 1 回しか読まない。ここは群を正しく見る
15
15
  * (番組が変わって群が替わったときに書式を読み直す)
16
16
  * - **点滅 (FLC) を読み取る。** あちらは読み捨てている
17
- * - **JIS X 0213 を最後まで読む。** JIS互換漢字2面 (0x3A) を2面の表で、1面 (0x39) の 85〜94区を
18
- * 第3水準の漢字で引く。か゚ のような2つのコードポイントの字も出す (あちらは空き)
17
+ * - **JIS X 0213 を最後まで読む。** JIS 互換漢字 2 面 (0x3A) を 2 面の表で、1 面 (0x39) の 85〜94 区を
18
+ * 第 3 水準の漢字で引く。か゚ のような 2 つのコードポイントの字も出す (あちらは空き)
19
19
  * - **表で空いている点 (U+FFFD) はゲタ (〓) にする。** 「�」は Denpa Font に無く、端末の字の
20
20
  * 「?」の印で出る。定義されていない外字と同じ扱い
21
21
  *
@@ -24,11 +24,11 @@
24
24
  */
25
25
  import { type CaptionLanguage, type CaptionPage } from "./caption-text.js";
26
26
  /**
27
- * 字幕のストリーム1本ぶんのデコーダ。**状態を持つ** (書式・位置・色・外字は字幕文を跨いで続く) ので、
28
- * ストリームごとに1つ作って、届いた順に食わせる。
27
+ * 字幕のストリーム 1 本ぶんのデコーダ。**状態を持つ** (書式・位置・色・外字は字幕文を跨いで続く) ので、
28
+ * ストリームごとに 1 つ作って、届いた順に渡す。
29
29
  *
30
- * **読むのは1つの言語だけ** (`language`。1〜8)。言語ごとに書式も位置も別に続くので、2つの言語を出し分けるなら
31
- * 言語ごとに1つ作って、同じコマを両方に食わせる (denpa の `server/captions.ts` の `CaptionText`)
30
+ * **読むのは 1 つの言語だけ** (`language`。1〜8)。言語ごとに書式も位置も別に続くので、2 つの言語を出し分けるなら
31
+ * 言語ごとに 1 つ作って、同じコマを両方に渡す (denpa の `server/captions.ts` の `CaptionText`)
32
32
  */
33
33
  export declare class B24CaptionDecoder {
34
34
  readonly language: number;
@@ -68,9 +68,9 @@ export declare class B24CaptionDecoder {
68
68
  /** @param language 読む言語 (1〜8。データグループの番号) */
69
69
  constructor(language?: number);
70
70
  /**
71
- * 字幕の PES の中身を1つ食わせる。
71
+ * 字幕の PES の中身を 1 つ渡す。
72
72
  *
73
- * @returns 出す1枚。出すものが無ければ (字幕管理データ・送り直し・待ちだけの字幕文) null
73
+ * @returns 出す 1 枚。出すものが無ければ (字幕管理データ・送り直し・待ちだけの字幕文) null
74
74
  */
75
75
  decode(data: Uint8Array): CaptionPage | null;
76
76
  private resetGraphicSets;
@@ -1,21 +1,21 @@
1
1
  /**
2
2
  * 放送の字幕 (ARIB STD-B24 の字幕文) をデコードして、**字の置き場所まで決める** ([caption-text.ts](caption-text.ts))。
3
3
  *
4
- * libaribcaption の「デコードする (decoder)」側を写したもの — 置き場所・大きさ・色・外字の置き換えまでは
4
+ * libaribcaption の「デコードする (decoder)」側を写したもの。置き場所・大きさ・色・外字の置き換えまでは
5
5
  * 同じ計算で、描く (renderer) 手前で止める。描くのは受け側 (ブラウザ・アプリ)。
6
6
  *
7
- * 写したのは日本の放送で要るところだけ: 8単位符号 (JIS)・Profile A (フルセグ)。言語は1つを選んで読む
8
- * (既定は第1言語。`new B24CaptionDecoder(2)` で第2言語)。
7
+ * 写したのは日本の放送で要るところだけ: 8 単位符号 (JIS)・Profile A (フルセグ)。言語は 1 つを選んで読む
8
+ * (既定は第 1 言語。`new B24CaptionDecoder(2)` で第 2 言語)。
9
9
  * ブラジルの Latin・UTF-8・ワンセグ (Profile C) は持たない。
10
10
  *
11
11
  * ## libaribcaption と違えたところ
12
12
  *
13
13
  * - **字幕管理データの「送り直し」の見分け。** あちらは群 (A/B) を `(id & 0xF0) >> 8` で
14
- * 取っていて常に 0 になり、最初の1回しか読まない。ここは群を正しく見る
14
+ * 取っていて常に 0 になり、最初の 1 回しか読まない。ここは群を正しく見る
15
15
  * (番組が変わって群が替わったときに書式を読み直す)
16
16
  * - **点滅 (FLC) を読み取る。** あちらは読み捨てている
17
- * - **JIS X 0213 を最後まで読む。** JIS互換漢字2面 (0x3A) を2面の表で、1面 (0x39) の 85〜94区を
18
- * 第3水準の漢字で引く。か゚ のような2つのコードポイントの字も出す (あちらは空き)
17
+ * - **JIS X 0213 を最後まで読む。** JIS 互換漢字 2 面 (0x3A) を 2 面の表で、1 面 (0x39) の 85〜94 区を
18
+ * 第 3 水準の漢字で引く。か゚ のような 2 つのコードポイントの字も出す (あちらは空き)
19
19
  * - **表で空いている点 (U+FFFD) はゲタ (〓) にする。** 「�」は Denpa Font に無く、端末の字の
20
20
  * 「?」の印で出る。定義されていない外字と同じ扱い
21
21
  *
@@ -36,9 +36,9 @@ const MOSAIC = { set: "mosaic", bytes: 1 };
36
36
  /**
37
37
  * 終端バイト → 集合 (G の指示)。プロポーショナルは同じ表で引く (libaribcaption と同じ)。
38
38
  *
39
- * JIS X 0213 の1面 (0x39) は 1〜84区を漢字集合 (0x42) と同じ表で引き (漢字集合でも JIS X 0213 にだけある字を出す)、
40
- * 85〜94区は JIS X 0213 の漢字 (`PLANE1_HIGH`)。漢字集合と追加記号 (0x3B) の 85区から先は追加記号。
41
- * 2面 (0x3A) は別の表 (`PLANE2`)。libaribcaption は 1面・2面とも漢字集合の表で引いていた
39
+ * JIS X 0213 の 1 面 (0x39) は 1〜84 区を漢字集合 (0x42) と同じ表で引き (漢字集合でも JIS X 0213 にだけある字を出す)、
40
+ * 85〜94 区は JIS X 0213 の漢字 (`PLANE1_HIGH`)。漢字集合と追加記号 (0x3B) の 85 区から先は追加記号。
41
+ * 2 面 (0x3A) は別の表 (`PLANE2`)。libaribcaption は 1 面・2 面とも漢字集合の表で引いていた
42
42
  */
43
43
  const G_SETS = new Map([
44
44
  [0x42, KANJI],
@@ -57,7 +57,7 @@ const G_SETS = new Map([
57
57
  [0x3a, { set: "plane2", bytes: 2 }],
58
58
  [0x3b, { set: "additional", bytes: 2 }],
59
59
  ]);
60
- /** 終端バイト → DRCS の面 (0x40 は2バイトの面 0)。0x70 はマクロ */
60
+ /** 終端バイト → DRCS の面 (0x40 は 2 バイトの面 0)。0x70 はマクロ */
61
61
  function drcsSet(final) {
62
62
  if (final === 0x70)
63
63
  return MACRO;
@@ -121,10 +121,10 @@ const T = {
121
121
  kanjiHalf: points(KANJI_SYMBOLS_HALF),
122
122
  additional: points(ADDITIONAL),
123
123
  plane1High: points(PLANE1_HIGH),
124
- /** 2面の区 (0 から) → 94 字 */
124
+ /** 2 面の区 (0 から) → 94 字 */
125
125
  plane2: new Map(PLANE2.map(([ku, row]) => [ku - 1, points(row)])),
126
126
  };
127
- /** 1区画に2つのコードポイントを描く字 (区×94+点 → 字)。JIS X 0213 の か゚ など */
127
+ /** 1 区画に 2 つのコードポイントを描く字 (区×94+点 → 字)。JIS X 0213 の か゚ など */
128
128
  const sequences = new Map(KANJI_SEQUENCES);
129
129
  /** 色。CLUT の組 (0〜7) と番号 (0〜15) */
130
130
  function clut(palette, index) {
@@ -142,7 +142,7 @@ function isHalfwidth(code) {
142
142
  }
143
143
  /**
144
144
  * 送る画像 (なめらかにした濃淡。drcs-smooth.ts) を元の画像の MD5 ごとに覚えておく。放送は字幕文のたびに
145
- * 同じ外字を定義し直してくるので、定義ごとではなくここで1回だけ作る
145
+ * 同じ外字を定義し直してくるので、定義ごとではなくここで 1 回だけ作る
146
146
  */
147
147
  const smoothed = new Map();
148
148
  const SMOOTHED_MAX = 256;
@@ -162,11 +162,11 @@ function sendable(drcs) {
162
162
  return sent;
163
163
  }
164
164
  /**
165
- * 字幕のストリーム1本ぶんのデコーダ。**状態を持つ** (書式・位置・色・外字は字幕文を跨いで続く) ので、
166
- * ストリームごとに1つ作って、届いた順に食わせる。
165
+ * 字幕のストリーム 1 本ぶんのデコーダ。**状態を持つ** (書式・位置・色・外字は字幕文を跨いで続く) ので、
166
+ * ストリームごとに 1 つ作って、届いた順に渡す。
167
167
  *
168
- * **読むのは1つの言語だけ** (`language`。1〜8)。言語ごとに書式も位置も別に続くので、2つの言語を出し分けるなら
169
- * 言語ごとに1つ作って、同じコマを両方に食わせる (denpa の `server/captions.ts` の `CaptionText`)
168
+ * **読むのは 1 つの言語だけ** (`language`。1〜8)。言語ごとに書式も位置も別に続くので、2 つの言語を出し分けるなら
169
+ * 言語ごとに 1 つ作って、同じコマを両方に渡す (denpa の `server/captions.ts` の `CaptionText`)
170
170
  */
171
171
  export class B24CaptionDecoder {
172
172
  language;
@@ -214,9 +214,9 @@ export class B24CaptionDecoder {
214
214
  this.resetState();
215
215
  }
216
216
  /**
217
- * 字幕の PES の中身を1つ食わせる。
217
+ * 字幕の PES の中身を 1 つ渡す。
218
218
  *
219
- * @returns 出す1枚。出すものが無ければ (字幕管理データ・送り直し・待ちだけの字幕文) null
219
+ * @returns 出す 1 枚。出すものが無ければ (字幕管理データ・送り直し・待ちだけの字幕文) null
220
220
  */
221
221
  decode(data) {
222
222
  const begin = groupAt(data);
@@ -559,7 +559,7 @@ export class B24CaptionDecoder {
559
559
  this.gx[byte - 0x28] = set;
560
560
  return 2;
561
561
  }
562
- // 知らない ESC は、ESC 1バイトだけ読んだことにする (libaribcaption と同じ)
562
+ // 知らない ESC は、ESC 1 バイトだけ読んだことにする (libaribcaption と同じ)
563
563
  return 0;
564
564
  }
565
565
  c1(data, at) {
@@ -915,13 +915,13 @@ export class B24CaptionDecoder {
915
915
  }
916
916
  }
917
917
  /**
918
- * デコードした1枚を、送る形式にする。**同じ見た目で続いている字を1つの並びに束ねる。**
918
+ * デコードした 1 枚を、送る形式にする。**同じ見た目で続いている字を 1 つの並びに束ねる。**
919
919
  *
920
920
  * libaribcaption の描き手 (region_renderer) が字ごとに計算している置き場所を、ここで
921
921
  * 面の単位のまま済ませておく。区画は `floor((字の幅 + 字間) × 倍率)`、字の枠は区画の中で
922
922
  * 字間の半分だけ右下へずらしたところ。
923
923
  *
924
- * @returns 出すものが無い (待ちだけの字幕文) なら null。CS だけなら「消す」1枚
924
+ * @returns 出すものが無い (待ちだけの字幕文) なら null。CS だけなら「消す」1 枚
925
925
  */
926
926
  function toPage(caption, plane) {
927
927
  if (caption.chars.length === 0 && !caption.clear)
@@ -974,7 +974,7 @@ function toPage(caption, plane) {
974
974
  run.flash = true;
975
975
  if (char.ruby)
976
976
  run.ruby = true;
977
- // 見た目が同じで、すぐ右に続いていれば束ねる。外字の画像と、2つのコードポイントの字は1字ずつ
977
+ // 見た目が同じで、すぐ右に続いていれば束ねる。外字の画像と、2 つのコードポイントの字は 1 字ずつ
978
978
  const { x: _x, y: _y, text: _t, ...looks } = run;
979
979
  const key = JSON.stringify(looks);
980
980
  if (last !== null &&
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * データ放送の通知の形式。**デコードする側 ([bml.ts](bml.ts)) と描く側の取り決め。**
3
3
  *
4
- * もとは web-bml の `server/ws_api.ts` の型を借りていた。形式はそのまま写してある —
5
- * 録画の隣に置いた `.bml.jsonl` はこの形式の JSON を1行ずつ持っているので、
4
+ * もとは web-bml の `server/ws_api.ts` の型を借りていた。形式はそのまま写してある。
5
+ * 録画の隣に置いた `.bml.jsonl` はこの形式の JSON を 1 行ずつ持っているので、
6
6
  * **形式を変えると前に録ったものが読めなくなる**。足すのはよいが、名前や意味は変えない。
7
7
  * web-bml は MIT で、著作権表示と許諾の文は [LICENSE](../LICENSE) に置いてある。
8
8
  *
@@ -10,7 +10,7 @@
10
10
  * ストリーム記述子のイベント・番組の名乗り・放送の時刻)。web-bml が自前の
11
11
  * TS 解析のために持っていた PCR・PES・BIT・映像の URL は作らないので持たない。
12
12
  */
13
- /** PMT の ES 1本。**部品タグ (`componentId`) を持つものだけ**並ぶ (bml.ts の `parsePmt`) */
13
+ /** PMT の ES 1 本。**部品タグ (`componentId`) を持つものだけ**並ぶ (bml.ts の `parsePmt`) */
14
14
  export interface ComponentPMT {
15
15
  pid: number;
16
16
  componentId: number;
@@ -60,7 +60,7 @@ export interface MediaTypeParameter {
60
60
  originalAttribute: string;
61
61
  value: string;
62
62
  }
63
- /** モジュールの中のファイル1つ。中身は base64 (JSON で運ぶため) */
63
+ /** モジュールの中のファイル 1 つ。中身は base64 (JSON で運ぶため) */
64
64
  export interface ModuleFile {
65
65
  contentLocation: string | null;
66
66
  contentType: MediaType;
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * データ放送の通知の形式。**デコードする側 ([bml.ts](bml.ts)) と描く側の取り決め。**
3
3
  *
4
- * もとは web-bml の `server/ws_api.ts` の型を借りていた。形式はそのまま写してある —
5
- * 録画の隣に置いた `.bml.jsonl` はこの形式の JSON を1行ずつ持っているので、
4
+ * もとは web-bml の `server/ws_api.ts` の型を借りていた。形式はそのまま写してある。
5
+ * 録画の隣に置いた `.bml.jsonl` はこの形式の JSON を 1 行ずつ持っているので、
6
6
  * **形式を変えると前に録ったものが読めなくなる**。足すのはよいが、名前や意味は変えない。
7
7
  * web-bml は MIT で、著作権表示と許諾の文は [LICENSE](../LICENSE) に置いてある。
8
8
  *
package/dist/bml.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * データ放送 (ARIB STD-B24 の BML) をデコードする。**1局に絞った TS を食わせると、
2
+ * データ放送 (ARIB STD-B24 の BML) をデコードする。**1 局に絞った TS を渡すと、
3
3
  * 組み立て終わったファイルが出てくる。**
4
4
  *
5
5
  * TS → PAT → PMT → データ符号化方式記述子 (0xFD) の付いた ES
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * **運び方は衛星のロゴと同じ DSM-CC** で、denpa はそれを既に持っている
11
11
  * ([dsmcc.ts](dsmcc.ts) / [logo-dsmcc.ts](https://github.com/danything/denpa/blob/main/src/lib/ts/logo-dsmcc.ts))。
12
- * [web-bml](https://github.com/otya128/web-bml) の `decode_ts.ts` は使わない — 要るのは
12
+ * [web-bml](https://github.com/otya128/web-bml) の `decode_ts.ts` は使わない。要るのは
13
13
  * その一部だけで、残り (EIT/SDT/NIT・字幕の PES) は自前で読んでおり
14
14
  * ([eit.ts](eit.ts) / [psi.ts](psi.ts) / [b24caption.ts](b24caption.ts))、`@chinachu/aribts` も抱えずに済む。
15
15
  *
@@ -21,21 +21,21 @@ import type { AdditionalAribBXMLInfo, ModuleFile, ResponseMessage } from "./bml-
21
21
  /**
22
22
  * データ符号化方式記述子の後半を読む。
23
23
  *
24
- * 地上波は TR-B14 第二分冊 2.1.4 表2-3、BS/CS は TR-B15 第一分冊 5.1.5 表5-4。
24
+ * 地上波は TR-B14 第二分冊 2.1.4 表 2-3、BS/CS は TR-B15 第一分冊 5.1.5 表 5-4。
25
25
  *
26
- * **`data_component_id` は16ビット** (aribts は8ビットで読んでいる)。
26
+ * **`data_component_id` は 16 ビット** (aribts は 8 ビットで読んでいる)。
27
27
  */
28
28
  export declare function parseBxmlInfo(data: Uint8Array): AdditionalAribBXMLInfo;
29
29
  /**
30
- * 1局に絞った TS を食わせると、データ放送の通知が出てくる。
30
+ * 1 局に絞った TS を渡すと、データ放送の通知が出てくる。
31
31
  *
32
- * **1つの選局に1つ。** 局を変えたら作り直す — カルーセルは局ごとに別物で、
32
+ * **1 つの選局に 1 つ。** 局を変えたら作り直す。カルーセルは局ごとに別物で、
33
33
  * 組み立て中のものを持ち越すと混ざる。
34
34
  */
35
35
  export declare class BmlDecoder {
36
36
  private readonly send;
37
37
  private readonly packets;
38
- /** **1局に絞ったあとを食わせる前提。** 入っているサービスは1つなので、最初の局の PMT を追う */
38
+ /** **1 局に絞ったあとを渡す前提。** 入っているサービスは 1 つなので、最初の局の PMT を追う */
39
39
  private readonly pmt;
40
40
  private readonly time;
41
41
  /** カルーセルが流れている ES。PID ごと */
@@ -43,17 +43,17 @@ export declare class BmlDecoder {
43
43
  /** 最後に配った PMT。**変わったときだけ配る** */
44
44
  private sent;
45
45
  constructor(send: (message: ResponseMessage) => void);
46
- /** 1局に絞った TS を食わせる */
46
+ /** 1 局に絞った TS を渡す */
47
47
  feed(chunk: Uint8Array): void;
48
48
  /**
49
- * 切り分け済みのパケットを1つ。ライブは同じ TS を時計や Hybridcast とも
50
- * 分け合うので、切り分けは1回で済ませて配る (denpa の `server/live.ts` の `tap`)。
49
+ * 切り分け済みのパケットを 1 つ。ライブは同じ TS を時計や Hybridcast とも
50
+ * 分け合うので、切り分けは 1 回で済ませて配る (denpa の `server/live.ts` の `tap`)。
51
51
  *
52
52
  * **PID で行き先を引く。** 組み立て役を全部に回していた頃は、データ放送と
53
53
  * 関係ない映像のパケットのたびにカルーセルの数だけ呼んでいた。
54
54
  *
55
55
  * `packet` は呼び手の塊の上の窓 (`psi.ts` の `PacketStream`)。**返ったあとまで
56
- * 持つなら写すこと** — 塊の入れ物は使い回される
56
+ * 持つなら写すこと。** 塊の入れ物は使い回される
57
57
  */
58
58
  feedPacket(packet: Uint8Array): void;
59
59
  private onPmt;
@@ -77,7 +77,7 @@ export declare class BmlDecoder {
77
77
  /**
78
78
  * 揃ったモジュールをファイルに分ける。
79
79
  *
80
- * **多くは `multipart/mixed`** で、1つのモジュールに BML と画像がまとめて
80
+ * **多くは `multipart/mixed`** で、1 つのモジュールに BML と画像がまとめて
81
81
  * 入っている。Type 記述子が無いときも中身は multipart なので、同じ扱いにする。
82
82
  */
83
83
  export declare function moduleFiles(data: Uint8Array, contentType: string | null): ModuleFile[];