プログラミング言語APLは、自然言語の単語ではなく、数学記号と同様に、いくつかの記号を用いて演算を識別します。Unicode広く普及する以前は、 APLの記述に必要な記号を表すために、 EBCDICおよび非EBCDICの特殊用途のコードページがいくつか使用されていました。

文字セット

APL記号はIBM Selectricベースのテレタイププリンタに由来するため、従来は独自の非標準文字セットを用いて回線上で表現されてきました専門用語) 。1960年代から1970年代にかけては、APL記号を再現できる端末装置はほとんど存在せず、最も普及していたのは専用のAPLプリントヘッドを搭載したIBM 2741IBM 1050でした。時が経ち、高品質のグラフィックディスプレイ、印刷装置、そしてUnicodeサポートが広く普及したことで、APL文字フォントの問題はほぼ解消されました。

キャラクターレパートリー

IBMはAPL構文に以下の文字ID(GCGID)を割り当てており、これらはコードページの定義に使用されています。[1] [2] [3]

EBCDICコードページ

コードページ293

コードページ293CCSID 293)[20]は「APL(USA)」と呼ばれ、APLシンボルを含むEBCDICコードページであり、基本的なラテン文字と西洋アラビア数字を通常のEBCDICの位置に保存します。[17] [18]

  コードページ37との違い

コードページ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]は、カナダ規格協会のAPLワーキンググループによって設計された7ビットの大幅に変更されたASCIIであり、BS (バックスペース、0x08)制御コードを使用して文字の重ね打ちを許可する環境でAPLで使用することを目的としています[29] [5]

8ビットの修正および/または拡張ASCII

コードページ907

コード ページ 907 は、コード ページ 906 と同様に、IBM 3812 によって使用されます。

 コードページ437 との違い

コードページ909

コード ページ 909は APL の別のエンコーディングであり、下線付きの文字が含まれず、0xB0 ~ DF の範囲にある APL 文字に異なるコードが割り当てられ、コード ページ 437 の C0 置換グラフィックの一部が特定の APL シンボルの代替エンコーディングに置き換えられる点で、コード ページ 907 と異なります。

 コードページ437 との違い

コードページ910

コード ページ 910 はコード ページ 909 に似ていますが、重複する水平矢印が少なく、コード ページ 437 と同じ C0 グラフィックを使用し、いくつかの追加文字が含まれています。

 コードページ437 との違い

ユニコード

APLシンボルのほとんどはUnicodeのMiscellaneous Technical範囲に存在しますが[30] 、一部のAPL製品はまだUnicodeに対応していない場合があり、一部のAPLシンボルは特定のベンダーの実装では未使用または利用できない場合があります。

2010年現在、UnicodeではAPLをテキストファイルに保存し、印刷物やWebで公開したり、電子メールやインスタントメッセージで共有したりすることが可能になっています。APL文字を入力するには、専用の入力メソッドエディタ(IMP)またはキーボードマッピング、あるいは専用のタッチインターフェースを使用する必要があります。APLキーボードマッピングは、ほとんどの一般的なオペレーティングシステムで無料で入手可能です。また、Unicode APLシンボルを既存のキーボードマップに追加することでも入手できます。

下線付きのアルファベット文字

一部のAPLコードページに含まれる伝統的な下線付きアルファベット文字はUnicodeには存在せず、ほとんどのAPL実装では使用が廃止または非推奨となっています。これらの文字は、APL印刷端末で大文字に下線を付けることによって生成されていました。一部の表では、下線とイタリック体のマークアップでシミュレートされており、Unicodeのマッピングは示されていません。[4]

IBMは、これらに「LA480000」(IBMでは「A Line Below Capital/A Underscore (APL)」と呼んでいる)、「LB480000」(「B Line Below Capital/B Underscore (APL)」と呼んでいる)などのGCGIDを、ラテン文字に使用される「L」シリーズに割り当てている。[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文字を文字に関連付けるニーモニックがあります。例えば、?(疑問符) on (べき乗) on (ロー) on (基数) on ( eNcode ) on (係数) onなどです。これにより、英語を話す人は、画面上に視覚的なフィードバックがあれば、APL非対応キーボードでAPLを入力しやすくなります。また、標準キーボードのキーの前面または上部に貼り付けるためのステッカーも作成されています。 QPρRBNM

APLキーボードレイアウト。[34]

その後の IBM 端末、特にIBM 3270ディスプレイ ステーションには、現在使用されている最新の APL キーボード レイアウトの基礎となる代替キーボード配置が採用されました。

APL文字は、ある文字を別の文字で重ね打ちすることで、さらに多く入力できるようになりました。例えば、対数記号(⍟)は、 +を+重ね打ちすることで形成されます。これにより、初期のテレプリンターのグラフィック機能は拡張されましたが、エラーの修正やプログラム行の編集はより複雑になりました。 ⇧ ShiftP⇧ ShiftO

ベンダーは、特定のハードウェア、システム機能、ファイルシステムなどに合わせてAPLのバージョンを開発するにつれて、新たなオーバーストライクを導入しました。さらに、印刷端末や初期のAPLブラウン管端末は任意のオーバーストライクを表示できましたが、パーソナルコンピュータがデータ入力デバイスとして端末に急速に取って代わるにつれて、APL文字のサポートはAPL文字ジェネレータROM、またはディスプレイデバイスによってレンダリングされるソフト文字セットとして提供されるようになりました。現代のPCの登場により、APL文字は特定のフォントで定義され、オーバーストライク文字と標準文字の区別はなくなりました。

最終的に、シンボルは Unicode で承認され、グラフィック フォントとは独立して、明確な解釈を持つ特定のコード ポイントが与えられました。

参照

脚注

  1. ^ abcdefghijkl タック文字には、「ロンドン」命名規則と「ボズワース」命名規則の2つの命名規則(「上」と「下」の向き、「左」と「右」の向き)があります。[13]どちらの命名規則が使用されるかは、IBMとUnicodeで異なります。また、APL専用の複合Unicode文字(IBMの命名規則に準拠し、ボズワース命名規則を使用)と、他のアプリケーションも想定した単純なタック(ロンドン命名規則を使用)でも命名規則が異なります。[13] [14] APL仕様ではその後、ロンドン命名規則が採用されました。[14] Dyalog APLのドキュメントには、複合タックのUnicode命名規則(およびすべてのタックのIBM命名規則)は、あまり使用されていない「ボズワース」命名規則[13]に従っており、 APLコミュニティの慣習に反していると記載されています。[7]
  2. ^ Unicode 1.0ではU+2301に「APL out」文字がありましたが、Unicode 1.0.1で削除されました。[15]
  3. ^ 文書化されたマッピングは様々である。[4] [6] [26] [16]
  4. ^ abcd シャープ拡張。[6]

参考文献

  1. ^ abc 「Graphic Escape APL2/TN - 138」。IBM . GCSGID 00963。
  2. ^ abc 「Graphic Escape APL2/TN - 138 (chart)」(PDF) . IBM . GCSGID 00963.
  3. ^ abcdefgh 「グラフィック文字識別子:特殊文字、APLシンボル」。IBM 2016年1月22日時点のオリジナルよりアーカイブ。
  4. ^ abcdefghijklmnopqrstu vwxy Tachyon Software (2007-07-31). コードページ 00310: 3270 APL グラフィックエスケープ.
  5. ^ abcdefghijklmnopqrstu vwxy Cowan, John (2004-06-29). 「ISO-IR-68 to Unicode」. Unicode.org . Unicode, Inc. 2017年6月19日閲覧
  6. ^ abcdefghijklmnopqrstu vwxy 「x3270 文字セット」。x3270 ドキュメント。2018年11月10日時点のオリジナルよりアーカイブ。
  7. ^ abcdefghijklmno 「Dyalog命名法:関数と演算子」(PDF) . Dyalog - ドキュメンテーションセンター. Dyalog APL.
  8. ^ ab 「パーソナルコンピュータ」。IBM。CPGID 00437
  9. ^ abc IBM . コードページ 00907 (PDF) . 2017年8月3日時点のオリジナル(PDF)からアーカイブ。
  10. ^ abc IBM . コードページ 00909 (PDF) . 2015年7月8日時点のオリジナル(PDF)からのアーカイブ。
  11. ^ abc IBM . コードページ 00910 (PDF) . 2015年7月8日時点のオリジナル(PDF)からアーカイブ。
  12. ^ abcdefg IBM (1997). unicode.nam: Unicode 文字を IBM または PostScript のような名前を使用して指定できるようにします( Borgendale、Ken、OS/2 コードページおよびキーボード表示ツールに含まれています
  13. ^ abc Dickey, Leroy J. 「タックシンボルの命名」ウォータールー大学
  14. ^ ab Freytag, Asmus; McGowan, Rick; Whistler, Ken (2021-06-14). 「Unicode文字名における既知の異常」. Unicodeコンソーシアム. UTN #27.
  15. ^ 「Unicode 1.0.1 補遺」(PDF) . Unicode 標準. 1992年11月3日. 2024年9月21日閲覧
  16. ^ abcdefghijklmno 「EBCDICとASCIIテーブル」。2016年8月27日時点のオリジナルよりアーカイブ。
  17. ^ abcde IBM (1996) [1984]. 「コードページ(CPGID)00293:APL(USA)」.レジストリ、グラフィック文字セットおよびコードページ
  18. ^ abcd Tachyon Software (2007-07-31). コードページ 00293: EBCDIC APL.
  19. ^ 「IBM 拡張UNIXコード(EUC)用簡体字中国語グラフィック文字セット」(PDF) IBM 1994年 CH 3-3220-132 1994-06。
  20. ^ 「CCSID 293情報文書」。2016年3月27日時点のオリジナルよりアーカイブ。
  21. ^ コードページ CPGID 00293 (pdf) (PDF)、IBM
  22. ^ ab IBM (1987). 「コードページ(CPGID)00310:グラフィックエスケープAPL/TN」レジストリ、グラフィック文字セットおよびコードページ
  23. ^ xlate - Transliterate Contents of Records、IBM Corporation、2010 [1986]、2019年6月16日にオリジナルからアーカイブ、 2016年10月18日取得
  24. ^ IBM . 「付録G-1. EBCDIC制御文字定義」. IBM Globalization . 2018年9月11日時点のオリジナルよりアーカイブ。
  25. ^ 「第5章 3270ディスプレイステーションおよびプリンターのコードページチャート(§ APL/APL2テキスト機能コードページ)」(PDF) . 3174 Establishment Controller Character Set Reference(第3版). IBM . 1990 [1988]. p. 5·6. GA27-3831-02.
  26. ^ ab コードページ CPGID 00310 (pdf) (PDF)、IBM
  27. ^ ab Tachyon Software (2007-07-31). コードページ 00351: GDDM デフォルト (米国).
  28. ^ 「コードページ00371」(PDF) IBM 2015年7月8日時点のオリジナル(PDF)からアーカイブ。
  29. ^ ab カナダ標準化委員会(1983-06-01). ワークスペース交換用APL文字セット(PDF) . ITSCJ/ IPSJ . ISO-IR -68.
  30. ^ 「Unicode標準5.1 コードチャート:技術記号 U+2300-U+23FF」(PDF) . Unicode標準5.1 . Unicodeコンソーシアム. 2008年10月2日時点のオリジナルよりアーカイブ(PDF) . 2008年10月12日閲覧
  31. ^ ab "Windows, Latin 1". IBM . CPGID 01252.
  32. ^ "OCR B". IBM . GCSGID 00969.
  33. ^ 「Windows、アラビア語(PDF)」(PDF) . IBM . CPGID 01256.
  34. ^ APL2 やその他の最新の実装に適用可能な、より最新のキーボード ダイアグラムは、WikensOnline Union APL large keyboard layout for Windows (2012 年 3 月 10 日アーカイブ、 Wayback Machine)で入手できます。実際の写真とダイアグラムはこちら (2015 年 4 月 3 日アーカイブ、Wayback Machine)NARS2000 APL キーボード レイアウトはこちら