プログラミング言語APL は、数学記号と同様に、自然言語の単語ではなく、いくつかの記号を使用して演算を識別します。 Unicodeが広く採用される前は、APL の記述に必要な記号を表すために、いくつかの特殊なEBCDICおよび非 EBCDICコード ページが使用されていました。
文字セット
APL 記号はIBM Selectricベースのテレプリンタに由来するため、従来は独自の非標準文字セットを使用して回線上で表現されていました。1960 年代と 1970 年代には、それを再現できる端末デバイスはほとんど存在せず、最も普及していたのは特定の APL プリントヘッドを備えたIBM 2741とIBM 1050でした。時が経つにつれ、高品質のグラフィック ディスプレイ、印刷デバイス、およびUnicodeサポートが広く使用されるようになり、APL 文字フォントの問題はほぼ解消されました。
キャラクターレパートリー
IBMは、コードページの定義で使用されるAPL構文に次の文字ID(GCGID)を割り当てています。[1] [2] [3]
EBCDIC コード ページ
コードページ 293
コードページ293(CCSID 293)[20]は「APL(米国)」と呼ばれ、APLシンボルを含むEBCDICコードページであり、基本的なラテン文字と西洋アラビア数字を通常のEBCDICの位置に保存します。[17] [18]
コードページ 310
コードページ310(「グラフィックエスケープAPL/TN」)には、より広範囲の記号が含まれていますが、基本的なラテン文字や基本的な数字は含まれていません。[22] [4]これはコードページ37-2と併用され、[23]コードページ310のコードには、グラフィックエスケープ(EBCDIC 0x08) [24]制御文字がプレフィックスとして付けられます。 [6] [25]
コードページ 351
コードページ351(「GDDMデフォルト(米国)」)[27]には、いくつかの制御文字を記号に置き換えることにより、文字と数字に加えて、コードページ293とコードページ310のほとんどの文字(⍷、下線付きのイプシロンを除く)が含まれています。
7ビット修正ASCII
コードページ 371 (IR-68)
コードページ371 [28]は、 ISO/IEC 2022で使用するためにISO-IR-68として登録されており、[29] [5] 7ビットの大幅に変更されたASCIIであり、カナダ規格協会のAPLワーキンググループによって設計され、 BS (バックスペース、0x08)制御コードを使用して文字の重ね打ちを許可する環境でAPLで使用することを目的としています。[29] [5]
8ビットの修正および/または拡張ASCII
コードページ 907
コード ページ 907 は、コード ページ 906 と同様に、IBM 3812 によって使用されます。
コードページ 909
コード ページ 909は APL の別のエンコーディングであり、下線付きの文字が含まれないこと、0xB0~DF の範囲にある APL 文字に異なるコードが割り当てられていること、およびコード ページ 437 の C0 置換グラフィックの一部が特定の APL シンボルの代替エンコーディングに置き換えられている点で、コード ページ 907 と異なります。
コードページ 910
コード ページ 910 はコード ページ 909 に似ていますが、重複する水平矢印が少なく、コード ページ 437 と同じ C0 グラフィックを使用し、いくつかの追加文字が含まれています。
ユニコード
APLシンボルのほとんどは、UnicodeのMiscellaneous Technical範囲に存在しますが[30]、一部のAPL製品はまだUnicodeに対応していない場合があり、一部のAPLシンボルは特定のベンダーの実装では未使用または利用できない場合があります。
2010 年現在、Unicode では APL をテキスト ファイルに保存したり、印刷物や Web で公開したり、電子メールやインスタント メッセージングで共有したりできるようになりました。APL 文字を入力するには、特定の入力方式エディターまたはキーボード マッピング、または特定のタッチ インターフェイスを使用する必要があります。APL キーボード マッピングは、ほとんどの一般的なオペレーティング システムで無料で利用できます。また、Unicode APL シンボルを既存のキーボード マップに追加することでも入手できます。
下線付きのアルファベット文字
APL コード ページの一部に含まれる従来の下線付きアルファベット文字は Unicode から欠落しており、ほとんどの APL 実装では使用が削除または非推奨になっています。これらは、APL 印刷端末で大文字に下線文字を重ねて表示することで生成されました。一部の表では、下線と斜体のマークアップでシミュレートされており、Unicode マッピングは示されていません。[4]
IBMはこれらに、ラテン文字に使用される「L」シリーズの下に、「LA480000」(「A Line Below Capital/A Underscore (APL)」と名付けている)、「LB480000」(「B Line Below Capital/B Underscore (APL)」)などのGCGIDを割り当てている。[1]奇数(47)ではなく偶数(48)が使用されているのは、大文字であるためである。単独の鋭アクセントにはSD110000 ´、小文字にはLA110000 á、大文字にはLA120000が使用されているのと比較してほしいÁ。[31]これらはIBMの私的使用領域スキームに含まれており、U+F8BFからU+F8F1までの奇数コードポイントに逆アルファベット順にエンコードされている。[12]
47の類似用法には、「SD」(発音区別符号)シリーズGCGID SD470000(「Line Below/Discontinuous Underscore」)[32] (すなわち、マクロン・ブール)があり、ASCIIアンダースコアSP090000(「Underline/Continuous Underscore」) [31]とは異なります。また、「A」(アラビア文字)シリーズGCGID AD470009(ḏāl)[33]などが挙げられます。Unicodeのラテン拡張追加ブロックには、セム語の転写のために、マクロン・ブールを発音区別符号として付した次の大文字の「Line Below」文字が含まれています(これには、小文字のみの合成済みのẖが含まれます)。
- U+1E06 Ḇ ラテン大文字B(下線付き)
- U+1E0E Ḏ ラテン大文字D(下線付き)
- U+1E34 Ḵ ラテン大文字 K 下線付き
- U+1E3A Ḻ ラテン大文字 L 下線付き
- U+1E48 Ṉ ラテン大文字N(下線付き)
- U+1E5E Ṟ ラテン大文字 R 下線付き
- U+1E6E Ṯ ラテン大文字 T 下線付き
- U+1E94 Ẕ ラテン大文字Z(下線付き)
しかし、これはISO 基本ラテンアルファベット全体を網羅しているわけではなく、IBM の APL 文字の参照グリフでは下線付きと斜体の両方が示されており、[2]マークアップでそれらをシミュレートする表もこれに倣う可能性があります。[4] Unicode の数学英数字記号ブロックには、非イタリック文字と対照的な表記法で使用するイタリック体文字が含まれています。Unicode では、結合ダイアクリティカル マークブロックに、下のマクロンとアンダースコアの結合形式も含まれています。上の文字は、標準的に前者と分解されます。
- U+0331 ◌̱ 結合長音記号 下
- U+0332 ◌̲ 組み合わせるローライン
キーボードレイアウト
APL 文字を文字に関連付けるニーモニックに注意してください: ?(疑問符) オン、(累乗) オン、(ロー) オン、(基数) オン、( eNcode ) オン、(モジュラス) オンなど。これにより、画面に視覚的なフィードバックがあれば、英語を話す人が非 APL キーボードで APL を入力しやすくなります。また、標準キーボードのキーの前面または上部に貼り付けるためのデカールも作成されています。 Q⋆PρR⊥B⊤N∣M

その後の IBM 端末、特にIBM 3270ディスプレイ ステーションには、現在使用されている最新の APL キーボード レイアウトの基礎となる代替キーボード配置が採用されました。
さらに、ある文字を別の文字で重ねて打つことで、APL 文字をさらに使用できるようになりました。たとえば、ログ記号 (⍟) は、 + を+で重ねて打つことで形成されます。これにより、初期のテレプリンターのグラフィック機能が拡張されましたが、エラーの修正やプログラム行の編集がより複雑になりました。 ⇧ ShiftP⇧ ShiftO
ベンダーは、特定のハードウェア、システム機能、ファイル システムなどに合わせた APL のバージョンを作成するにつれて、新しいオーバーストライクを導入しました。さらに、印刷端末や初期の APL ブラウン管端末では任意のオーバーストライクを表示できましたが、データ入力デバイスとしてパーソナル コンピュータが端末に急速に取って代わるにつれて、APL 文字サポートはAPL 文字ジェネレータ ROMまたはディスプレイ デバイスによってレンダリングされるソフト文字セットとして提供されるようになりました。現代の PC の出現により、APL 文字は特定のフォントで定義され、オーバーストライク文字と標準文字の区別がなくなりました。
最終的に、シンボルは Unicode で承認され、グラフィック フォントとは独立して、明確な解釈を持つ特定のコード ポイントが与えられました。
参照
脚注
- ^ abcdefghijkl タック文字には、「ロンドン」規則と「ボズワース」規則という 2 つの命名規則 (「上」と「下」の向き、「左」と「右」の向き) があります。[13]どちらの規則が使用されるかは、IBM と Unicode で異なります。命名規則は、APL 専用に意図された複合 Unicode 文字 (IBM 命名規則と一致し、ボズワース規則を使用) と、他のアプリケーションも意図された単純なタック (ロンドン規則を使用) でも異なります。[13] [14] APL 仕様では、その後ロンドン規則が採用されました。[14] Dyalog APL のドキュメントでは、あまり使用されていない「ボズワース」規則[13]に従う複合タックの Unicode 命名 (およびすべてのタックの IBM 命名) は、 APL コミュニティの慣例に反していると述べられています。[7]
- ^ Unicode 1.0ではU+2301に「APL out」文字があったが、Unicode 1.0.1では削除された。[15]
- ^ 文書化されたマッピングは様々である。[4] [6] [26] [16]
- ^ abcd シャープエクステンション。[6]
参考文献
- ^ abc 「Graphic Escape APL2/TN - 138」。IBM。GCSGID 00963。
- ^ abc 「Graphic Escape APL2/TN - 138 (チャート)」(PDF) . IBM . GCSGID 00963.
- ^ abcdefgh 「グラフィック文字識別子: 特殊文字、APL シンボル」。IBM。2016年 1 月22日時点のオリジナルよりアーカイブ。
- ^ abcdefghijklmnopqrstu vwxy Tachyon Software (2007-07-31). コード ページ 00310: 3270 APL グラフィック エスケープ。
- ^ abcdefghijklmnopqrstu vwxy Cowan, John (2004-06-29). 「ISO-IR-68 to Unicode」. Unicode.org . Unicode, Inc. 2017年6月19日閲覧。
- ^ abcdefghijklmnopqrstu vwxy 「x3270 文字セット」。x3270 ドキュメント。2018 年 11 月 10 日時点のオリジナルよりアーカイブ。
- ^ abcdefghijklmno 「Dyalog 命名法: 関数と演算子」(PDF)。Dyalog - ドキュメント センター。Dyalog APL。
- ^ ab 「パーソナルコンピュータ」。IBM。CPGID 00437。
- ^ abc IBM . コードページ 00907 (PDF) . 2017年8月3日時点のオリジナル(PDF)からアーカイブ。
- ^ abc IBM . コードページ 00909 (PDF) . 2015年7月8日時点のオリジナル(PDF)からアーカイブ。
- ^ abc IBM . コードページ 00910 (PDF) . 2015年7月8日時点のオリジナル(PDF)よりアーカイブ。
- ^ abcdefg IBM (1997). unicode.nam: Unicode 文字を IBM または PostScript のような名前を使用して指定できるようにします。( Borgendale、Ken、OS/2 コードページおよびキーボード表示ツールに含まれています))
- ^ abc Dickey, Leroy J. 「タックシンボルの命名」ウォータールー大学。
- ^ ab Freytag, Asmus; McGowan, Rick; Whistler, Ken (2021-06-14). 「Unicode 文字名の既知の異常」. Unicode コンソーシアム. UTN #27.
- ^ 「Unicode 1.0.1 補遺」(PDF) . Unicode 標準. 1992-11-03 . 2024-09-21閲覧。
- ^ abcdefghijklmno 「EBCDIC および ASCII テーブル」。2016 年 8 月 27 日時点のオリジナルよりアーカイブ。
- ^ abcde IBM (1996) [1984]. 「コード ページ (CPGID) 00293: APL (USA)」.レジストリ、グラフィック文字セットおよびコード ページ。
- ^ abcd Tachyon Software (2007-07-31). コード ページ 00293: EBCDIC APL.
- ^ 「 IBM拡張 UNIX コード (EUC) 用簡体字中国語グラフィック文字セット」(PDF)。IBM 。1994 年。CH 3-3220-132 1994-06。
- ^ 「CCSID 293 情報文書」。2016 年 3 月 27 日時点のオリジナルよりアーカイブ。
- ^ コードページ CPGID 00293 (pdf) (PDF)、IBM
- ^ ab IBM (1987). 「コード ページ (CPGID) 00310: グラフィック エスケープ APL/TN」.レジストリ、グラフィック文字セットおよびコード ページ。
- ^ xlate - Transliterate Contents of Records、IBM Corporation、2010 [1986]、2019年6月16日にオリジナルからアーカイブ、 2016年10月18日に取得
- ^ IBM . 「付録 G-1. EBCDIC 制御文字定義」。IBM Globalization . 2018 年 9 月 11 日時点のオリジナルよりアーカイブ。
- ^ 「第 5 章 3270 ディスプレイ ステーションおよびプリンターのコード ページ チャート (§ APL/APL2 テキスト機能コード ページ)」(PDF)。3174 Establishment Controller Character Set Reference (第 3 版) 。IBM。1990 [1988]。p. 5·6。GA27-3831-02。
- ^ ab コードページ CPGID 00310 (pdf) (PDF)、IBM
- ^ ab Tachyon Software (2007-07-31). コード ページ 00351: GDDM デフォルト (米国).
- ^ 「コードページ 00371」(PDF) 。IBM。 2015年7月8日時点のオリジナル(PDF)からアーカイブ。
- ^ ab カナダ標準化委員会(1983-06-01). ワークスペース交換用 APL 文字セット(PDF) . ITSCJ/ IPSJ . ISO-IR -68.
- ^ 「Unicode 標準 5.1 コードチャート: 技術シンボル U+2300-U+23FF」(PDF)。Unicode標準 5.1。Unicodeコンソーシアム。2008年 10 月 2 日時点のオリジナルよりアーカイブ(PDF) 。2008 年10 月 12 日閲覧。
- ^ ab "Windows、ラテン語 1". IBM . CPGID 01252.
- ^ 「OCR B」。IBM。GCSGID 00969。
- ^ 「Windows、アラビア語 (PDF)」(PDF) . IBM . CPGID 01256.
- ^ APL2 やその他の最新の実装に適用可能な、より最新のキーボード ダイアグラムは、WikensOnline Union APL large keyboard layout for Windows (2012 年 3 月 10 日アーカイブ、Wayback Machine)で入手できます。実際の写真とダイアグラムはこちら (2015 年 4 月 3 日アーカイブ、Wayback Machine)およびNARS2000 APL キーボード レイアウトはこちら。
外部リンク
- IBM コード ページ 293 (メインフレーム コンピュータの APL コード ページとも呼ばれる)
- IBM コード ページ 907 (別名 APL ASCII コード ページ)
