日刊!プチコン3号――使える文字数が256倍に!! 「文字コードとDIALOG」カウントダウン企画……あと8回

» 2014年11月10日 19時52分 公開
[瓜生聖,ITmedia]

使える文字数が256倍に――「文字コードとDIALOG」

 日本語といえば文字数の多い言語の1つ。ハードウェアスペックの低かった80年代初期のレトロPCでは、漢字を使える機種は限られていた。さらに、漢字が使えない機種の中にも英大文字のみ、英大文字・小文字とカタカナのみ、それに加えてひらがなまで、などの差があった。

 これは1文字を8ビットで表す、という前提のもと、そのわずかなスペースの中にどのようなキャラクタを押しこむか、という各メーカーの設計の違いによるものだ。機種によっては英大文字のみと割り切って、代わりにグラフィック文字と呼ばれる罫線やトランプのスート、人型などを多く入れているものもある。グラフィック機能のない機種では、画面すべてを文字で表現するため、グラフィック文字が扱えると表現力が増す。

 当時のレトロPC同様、1文字を8ビットで表現するプチコンmkIIでは英数字(英大文字/小文字)、記号、カタカナ、グラフィック文字256種類を扱うことができた(コントロールコードは存在しない)。プチコン3号では文字列の内部管理をUnicode(UTF-16)に移行し、扱える文字種が一気に増加した。なお、BOMは認識されない。

 漢字を扱うこともできるが、実際に漢字が表示できるのはDIALOG命令を使ったときだけ。コンソール画面および編集画面では漢字部分が「四角にバツ印」の豆腐になってしまう。どこででも表示可能な文字はキーボードから入力可能な文字で、プチコンmkIIと比べ、新たにひらがな、濁点・半濁点付きカタカナなどの日本語のほか、アキュート・アクセントやウムラウトなどダイアクリティカルマークのついたアルファベット、合字、ギリシャ文字、キリル文字などが含まれる。

 DIALOGは下画面に問い合わせ用のダイアログを表示して入力待ち状態にする命令。入力は大変だが、アドベンチャーゲームなどで活用できるだろう。

キーボードから入力できる文字種

画面は左から、標準(英大文字)、英小文字、グラフィック文字

画面は左から、グラフィック文字(シフト)、グラフィック文字2、グラフィック文字2(シフト)

画面は左から、記号、記号(シフト)、ダイアクリティカルマーク

画面は左から、ダイアクリティカルマーク(シフト)、合字、合字(シフト)

画面は左から、ギリシャ文字、ギリシャ文字(シフト)、キリル文字

画面は左から、キリル文字(シフト)、カタカナ(シフト)、カタカナ

画面は左から、ひらがな、ひらがな(シフト)

DIALOGは漢字対応(画面=左)。コンソールではひらがなは読めるものの、漢字はすべて「四角にバツ印」になってしまう。なお、表示できないだけでプログラム内の文字列定数として使うことは可能(画面=中央)。こちらはプチコンmkIIのキャラクタコード。256種のみだった(画面=右)

関係する命令

DIALOG "テキスト文字列"

 説明(1/2)

  ダイアログを下画面に表示し、了解ボタンが押されるまで待つ

 引数

  テキスト文字列:ダイアログに表示する文字列

 変数=DIALOG("テキスト文字列",[選択タイプ番号],["キャプション文字列"],[タイムアウト時間])

 説明 (2/2)

  ダイアログを下画面に表示し、指定したボタンが押されるまで待つ

 引数

  テキスト文字列

   ダイアログに表示する文字列

  選択タイプ番号

   0:了解(デフォルト)

   1:いいえ/はい

   2:戻る/次へ

   3:中止/決定

   4:中止/実行

   5:次へ

   -1:(特殊モード)

  キャプション文字列

   ダイアログ上部のキャプション欄に表示する文字列

  タイムアウト時間

   操作がないときにダイアログを自動的に閉じるまでの秒数

   デフォルト:0(タイムアウトしない)

 戻り

   -1:否定(左ボタン)

   0:タイムアウト

   1:肯定(右ボタン)

  128:Aボタン押下(特殊モード時)

  129:Bボタン押下(特殊モード時)

  130:Xボタン押下(特殊モード時)

  131:Yボタン押下(特殊モード時)

 補足

  ・テキスト文字列、キャプション文字列の合計は256文字まで

  ・文字列にCHR$(10)かCHR$(13)があると、そこで改行される

   (ただしキャプション文字列は1行のみ表示)

  ・文字列にCHR$を用いてUTF16の文字コードを含めると、

   漢字表示も可能

文字列変数 = CHR$(文字コード)

 説明

  指定された文字コードから文字を返す

 引数

  文字コード

   文字ごとに対応する番号

   ※(著者注)文字コードは16ビット

 戻り

  文字コードに対応する文字

 変数 = ASC("文字")

 説明

  指定された文字のASCIIコードを返す

 引数

  "文字"または文字列変数

 戻り

  指定された文字の文字コード

  ※(著者注)戻り値は16ビット

 次回はプチコンmkIIから大幅に使いやすくなった編集モードを紹介する。

※本稿の内容は開発中のものです。製品版配信時には仕様が変更される場合があります。

 「日刊!プチコン3号」で取り上げて欲しいネタや疑問、質問、感想は、ハッシュタグ「#nikkan_petitcom3」をつけてツイート! ライターの瓜生氏がたぶん(連載の中で)答えてくれるぞ。


Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2024年04月19日 更新
  1. バッファロー製Wi-Fiルーターに脆弱性 対象機種は今すぐファームウェア更新を (2024年04月17日)
  2. ノートPCに外付けキーボードを“載せて”使える「タイプスティックス/打ち箸」に新色 (2024年04月18日)
  3. ついに8K対応した「Insta360 X4」の画質をX3と1インチ360度版で比較 今買うべき全天球カメラだと確信した (2024年04月16日)
  4. さらなる高速化を実現! PCI Express 5.0接続SSDの新モデル「Crucial T705」を試して分かったこと (2024年04月18日)
  5. SwitchBotのミニプラグに不具合 「断続的にオン/オフを繰り返す、異音」などで該当製品の交換を呼びかけ (2024年04月17日)
  6. アイロボットが4万円切りの「水拭き対応ロボット掃除機」を投入 “一家に1台”を目指す (2024年04月17日)
  7. 無線LANルーター「Aterm」シリーズの一部に複数の脆弱性 設定変更や買い替えをアナウンス (2024年04月11日)
  8. あなたのPCのWindows 10/11の「ライセンス」はどうなっている? 調べる方法をチェック! (2023年10月20日)
  9. 「JBL GO 4」でBluetoothスピーカーデビュー! 累計出荷台数5700万台を突破した人気製品の最新モデルを試す (2024年04月17日)
  10. NVIDIA、Ampereアーキテクチャを採用したシングルスロット設計のデスクトップ向けGPU「NVIDIA RTX A400/A1000」を発表 (2024年04月17日)
最新トピックスPR

過去記事カレンダー