フィンローダのあっぱれご意見番

第59回:ノリノリの名前

初出: C MAGAZINE 1997年3月号
Updated: 1997-03-24

[1つ前] [1つ後] [一覧] [ホームページ]


 昨年末に「たまごっち」というゲームがバンダイから発売されているようだ。 実はこれを書いている時点でまだ入手していないのでどんなゲームだか見て書い ているわけではない。発売前にバンダイのホームページで紹介のパンフレットを 見たのだが、思わずずっコケるというか、凄まじいキャッチコピーだったので、 これは絶対に欲しいぞと思って狙っていたのだが、どこに行っても売ってないの である。おもちゃ屋の店長さんに話を聞いてみたら、とにかく入荷したらすぐに 売れてしまうし、注文は出しているが入荷日の目処が付かないから、毎日来ても らうか、あるいは足を使ってそこらのおもちゃ屋めぐりしてもらうしかないとの こと。そんなに凄いゲームだったかと反省しつつ、ちなみに誰が買っているのだ と聞いてみたら、女子高生だというのだが、バンダイのパンフレットでは確か小 学校高学年の女の子あたりがターゲットというか、ゲームそのものもそういった 感じだったと思うのだが、まあこのあたりは私が買おうと思っている位だから全 くあてにならない。

 とかいっているうちに、ビッグコミックスピリッツのホイチョイにもネタが出 てしまうし、ネットでちょろちょろと話題が拡大しているようだし、こりゃまた どんどん入手できなくなるような気がする。たまにしか発見できないから「たま ごっち」と言うのかもしれない。


PlayStationのコンビニ販売についての是非がネットでも議論されているが、 個人的には深夜でもゲームが買えるようになってありがたい。もっとも、私の場 合は、歩いていける範囲に午前1時までゲームソフトを売っている店があるので、 あまり不自由ということでもなかったのだが。

 で、最近買ったのがパラッパラッパーというゲームである。これも何というか 発想がかなり凄いと思った。すぐ飽きるかなと思ったがそうでもないようである。 もっとも、毎日やれるというかというとそうでもないのだが。このゲームで面白 いと思ったのは、3Dというか2Dというか分からない画面デザインである。簡単に いえば漫画を切り抜いたペラペラのキャラクターが3Dで表示されているという感 じだが、確かに論理的には3Dとしか言いようがない。こういう3Dの使い方もある というのはなかなか気付かないものだと思う。しかしこのゲームのいい所は、な んといってもネーミングじゃないだろうか。パラッパという名前のラッパーが出 てくるストーリーなのだが、名前からしてノリノリである。このノリはケロケロ ケロッピと同類のノリだと思う。

 ところで、名前は「ラッパー」になっていたと思うが、長音を付けるかどうか というのはプログラマーズフォーラムでもよく話題になる。そういえば「プログ ラマズ」でなく「プログラマーズ」なのだ。英語表記した時の語尾にあたる「er 」は長音ではないはずだが(詳しくは知らない)、やや長く発音されるという理由 で「ー」を付けるのではないか。とは言っても「プログラマ」でも別に違和感は ないのである。ところが「ライブラリ」や「マネージャ」になると長音を付ける とやや違和感がある。これはJISの用語表記がそうなっているからだと思う。最 近、ニフティはNIFTY-Serveで文章を掲示する時に「ライブラリー」のように長 音を付ける方針にしたと聞いた。ただし、以前から「データライブラリ」という メニュー項目があって、これは依然として「ライブラリ」と表記されているのが 紛らわしい。

 NIFTY Managerという通信ソフトがある。これは日本語で「ニフティマネジャー 」と書く。どうでもいいことだが、実はそのネーミングが個人的には好きではな い。そもそも「マネジャー」という表記自体、日本語ではとても珍しいような気 がする。私の知る限りでは「マネージャ」か「マネージャー」と書く場合の方が 圧倒的に多い。国語辞典を見ると、「マネージャ」しか載っていないものもある。 「マネジャー」がある場合も「→マネージャ」のように表記されていて、要する に「マネージャ」という表記が主流だということだろう。実際、「ニフティマネー ジャ」と書く人もよく見かけるのである。ではなぜニフティは「ニフティマネジ ャー」と言う表現を使うのだろうか? それは聞いてみないと分からない。

 managerという英語を調べると、発音記号を見た限りでは「マニジャ」のよう に発音するようである。つまり「マネー」ではなく「マニ」だし「ジャー」では なく「ジャ」なのだ。だから、日本語で理解されることを全く無視する前提で英 語の発音に似せるという目的なら「マニジャ」と書くのは理屈に合っている。あ るいは「マネジャ」というのも割と近いかもしれない。最後の「ジャ」は長音で はないが語尾なのでやや長く発音されるという解釈も可能である。だったらニフ ティマネジャーでいいじゃないかという話になるが、私が個人的に好きではない というのは、だったら「ニフティーマネジャー」にすべきじゃないのか、と思う からである。何か中途半端にポリシーがあるような無いような印象がして、気分 がぐらぐらするのだ。伸ばすのなら伸ばす、伸ばさないなら伸ばさないで統一さ れていたら少しは落ち着くのだが…。


 文字コードを変換するフィルタプログラムで有名なソフトとしてnkfというも のがある。フリーソフトで、あちこちに転載されている。なぜかFPROGにはない が、それはともかく、FPROGでは電子会議においてEUCで発言しまう人がごく希に いる。

 NIFTY-ServeはサービスそのものがEUCにも対応している。ログインする時のシー ケンスで"SVC/EUC"と指定すれば、そのセッションの文字コードをEUCとみなして 処理するのである。すなわち、表示するコードはEUCにして出力してくれるし、 こちらから送信する内容はEUCだと思ってくれる。だから、これを忘れなければ 内部コードがEUCのワークステーションからでも何も考えずにNIFTY-Serveにログ インできるし、発言とかe-mailを送るというのも特にコードを意識する必要がな い。ところが、/EUCという指定を忘れると、文字コードはSJISだと思ってセンター が解釈しようとするので、実際のコードがEUCであると変な文章が登録されてし まう。

 この場合は発言する前にセンターからの日本語表示が化けバケになってしまう はずだから、そこで気付くのではないかと思うのだが、不思議なことに発言して しばらく気付かないという人もいる。自動処理しているのかもしれない。もしそ うなら、チェックが少し甘いというか、自動処理でSVC/EUCと送られないという のがそもそも異常事態なのだろう。

 さて、このような場合は本人に差し戻すという手もあるが、単にコード変換で 済むのならSYSOPが勝手に機械的にコードを変換して再発言すれば済む話だ。こ ちらで勝手に処理した方が手間がかからない。ところが、不思議なことに、この 種の発言の中にいわゆる「半角カナ」が出てくる場合が多い。私の手元にあるnkf はこれを扱うことができないので、化けた文字の修復が不完全になる。

 いわゆる「半角カナ」と書いたが、SJISでは1バイトカナと読んでいるものの ことで、EUCではこれは1バイトではなく複数バイトになっているが、俗に1バイ トカナと言うのである。で、現実的にはこれも含めてSJISに変換するのは簡単で、 十数行のプログラムで書けるぞとうっかり言ってうまった。じゃあ具体的にどん なのだというとListのようなプログラムである。確かに十数行だが…。

 このプログラムはまともなインデント(って何?)で書いたものを単に空白を削 ったという処理を通しただけなので、単にCのプログラムとして正しいならよい というのであれば、もっと空白を削って短くすることができる。また、


  if (条件) {
     式;
     式;
  }

 を、

  if (条件)
    式, 式;

 と直すことで、{}を書かずに済ませるとか、そこまで外道な修正をしてよいな ら、もっと短くなる。どっちにしろ、これはこれで実際に使えるプログラムなの でそれなりの価値はあると思うのだが、データライブラリに公開するのも面倒だ ったので、前回紹介した「ROM墓場からの声」にソースをまるごと…といっても 十数行だが…公開しただけで、PDSって書いておいたのは勝手にしてくれという 意志表示である。昨年の忘年会でコンパイルして実行オブジェクトも登録して欲 しいと言われたので、その場でTP230Csでコンパイルしたのを携帯電話でNIFTY- Serveに接続して登録したDOS実行用オブジェクトも公開されている。


---- List ----

#include <stdio.h> /* euctosj.c  by Phinloda -- this code is PDS */
static int add_cr = 0; static void euctosj(FILE *fp) { int c; while ((c
= getc(fp)) != EOF) { if (c == 0x8e) { c = getc(fp); if (c == EOF) {
putchar(0x8e); return; } putchar(c); continue; } if (c & 0x80) { int c1,
c2; c1 = c & 0x7f; c2 = getc(fp); if (c2 == EOF) { putchar(c); return; }
if ((c2 & 0x80) == 0) { putchar(c); putchar(c2); continue; } c2 &= 0x7f;
if (c1 & 1) { c2 += 0x1f; if (c2 >= 0x7f) c2++; } else { c2 += 0x7e; }
c1 = (c1 - ' ' - 1) / 2 + 0x81; if (c1 >= 0xa0) c1 += '@'; putchar(c1);
putchar(c2); continue; } if (c == 0x0a && add_cr) putchar(0x0d);
putchar(c); } } int main(int argc, char *argv[]) { FILE *fp; if (argc ==
1) { euctosj(stdin); return 0; } while (--argc > 0) { argv++; fp =
fopen(*argv, "rb"); if (fp == NULL) { fprintf(stderr, "can't open %s\n",
*argv); } else { euctosj(fp); fclose(fp); } } return 0; }


---- list end ----


(C) 1997 Phinloda, All rights reserved
無断でこのページへのリンクを貼ることを承諾します。問い合わせは不要です。
内容は予告なく変更することがあります。