このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

ファイルメーカー4で半角カナ入力

発言者:tetra
( Date Saturday, April 18, 1998 11:24:11 )


FM4Win版では、名前を漢字で入力する際
半角フリガナが自動で入力できるようですが、
Macでも同様の操作が可能でしょうか。

それが無理なら、全角カナ入力後、自動で半角変換が
実行される、というのでもかまいません。

applescriptで実行可能でしたら、
ご存じの方に教えていただければ助かります。
どうかよろしくお願いします。

田中求之 さんからのコメント
( Saturday, April 18, 1998 13:09:03 )

WINDOWS でのふりがな入力機能は、WIN の IM がそういう機能を備えている
ことによって実現できているはずですので、Mac で同じことをやるのは無理です。

全角ひらがな、あるいは全角カタカナで入力されているデータを、半角カタカナ
に変換するというのは、AppleScript で可能です。飯森さんの作られた
Transliterate OSAX を使えばバッチリです。



→  Transliterate OSAX

清 秀紀 さんからのコメント
( Saturday, April 18, 1998 14:21:47 )

>それが無理なら、全角カナ入力後、自動で半角変換が
>実行される、というのでもかまいません。

[名前カナ入力] フィールドと [名前カナ変換] フィールドを作っ
て、[名前カナ変換] フィールドの計算式を

   KanaHankaku(名前カナ入力)

にすれば、半角変換されたデータを得ることはできます。(入力時の
リアルタイムな変換は無理ですよね? > 識者)

P. S. その昔「rRegular」なんていうMS-DOS用TSRがありましたが……。

田中求之 さんからのコメント
( Saturday, April 18, 1998 15:32:43 )

な〜んだ、ファイルメーカーにそういう関数があったんですね (^_^;

重松修 さんからのコメント
( Saturday, April 18, 1998 15:50:24 )

残念ながら、トランスリタレーションは完全ではありません。
完全でない理由は句読点にあります。「、。」などは、日本語の文字の
カタカナグループ(?)には属さずに英語の「,.」の句読点グループに
属します。よって、変換がうまくいきません。
これは、ランを識別するためにそういう仕様になっているそうです。
ですので、低速ですが、text item delimiters of AppleScript(でし
たっけ?最近触ってないので忘れかけ。。。)を使って、当該文字について
置換を行う必要があります。

重松修 さんからのコメント
( Saturday, April 18, 1998 16:08:58 )

それはそうと、半角かな(1バイトかな)は使わない方がいいと申し上げて
おきます。たとえば、ISO-2022-JPでは_明確に使えない_と記述がありま
すし、ブラウザの中には、1バイトカナ文字を正常に表示できないものも
あります。私の考えでは、西暦の上二桁をケチって、2000年問題が発生した
のとおなじで、フリガナ程度のデータ量をケチってのちのちのデータの
流用に障害を残すなら、はじめから全角(2バイト)でデータを持っておいた
方がスマートだと思います。

それ以外にも、漢字コードの検出の際にやはり1バイトカナは障害になるよう
で、キャラクタセットを明確に宣言していない場合は、おかしな事になる
可能性がありますし、宣言しても、無視するUserAgentもあります。

この会議室へお越しになるということはインターネットでのデータの活用を
考えていると思いましたので、老婆心ながら。

清 秀紀 さんからのコメント
( Saturday, April 18, 1998 21:06:08 )

えーと、手元ではうまく行くのですが…… > 「。」「、」の変換

重松修 さんからのコメント
( Sunday, April 19, 1998 01:27:38 )

私の環境ではやはりダメですね。
少なくとも7.5.5、8.0、8.1の68K、PowerPCともに全滅ですし、理論上
絶対に動くはずがありませんが。。。。

set src to "今日、マックを買いました。"
display dialog src & " --> " & ツ
  (Transliterate src srcMask smMaskKana2 target smTransKana1 scriptCode smJapanese)
set src to "今日、マックを買いました。"
display dialog src & " --> " & ツ
  (Transliterate src srcMask smMaskKana1 target smTransKana2 scriptCode smJapanese)

田中求之 さんからのコメント
( Sunday, April 19, 1998 03:15:01 )

清さんが「手元ではうまく行くのですが」とおっしゃっているのは、ファイルメーカー
の KanaHankaku() のことだと思いますよ。

木下@キー・プランニング さんからのコメント
( Sunday, April 19, 1998 09:37:54 )

ファイルメーカーネタなので、登場しました。^_^)

清さんの仰るとおり、ます関数はKanaHankaku()で良いと思います。
これを、可能な限り自動化するとしたら、
フィールド設定[「フィールドA」「KanaHankaku (フィールドA)」]として、元の
フィールド内で変換するようにしておきます。これをボタン化しておけば、少し
便利かもしれません。

さらに、doScript Pluginというファイルメーカー用のプラグインを使えば、
フィールド値が変更されたときのスクリプト起動が可能ですので、全角でカナ入力
→他のフィールドに移動(タブかマウスクリックで)→自動半角カナ化、までは
実現可能です。

→  StepUp Software (doScript Plugin)

木下@キー・プランニング さんからのコメント
( Sunday, April 19, 1998 09:44:44 )

>フィールド設定[「フィールドA」「KanaHankaku (フィールドA)」]として、元の
>フィールド内で変換するようにしておきます。

この部分はスクリプトです。

木下@キー・プランニング さんからのコメント
( Sunday, April 19, 1998 09:52:09 )

継ぎ足しコメントになりますが、

ATOKなどのIMを使っているなら半角カナ変換ができるので、半角カナ変換を
キーボード・ショートカットから実行するのが一番手っ取り早いような...。

清 秀紀 さんからのコメント
( Sunday, April 19, 1998 13:35:58 )

うう、勘違いすいません > 重松さん

tetra さんからのコメント
( Friday, April 24, 1998 14:58:48 )

みなさま、いろいろとアドバイスありがとうございました。
木下様推薦のdoScript Plugin、とても便利です。
今度ATOKもいれてみようと思います。

田中様の教えてくださったTransliterate OSAXは、自分が
未熟者なせいか、スクリプトが『その名前のあとに名前は書けません』
とのエラーで動作しませんでした・・・


>それはそうと、半角かな(1バイトかな)は使わない方がいいと申し上げて
おきます。>重松様

確かに、自社でのネットでのデータ活用を考えています。
半角カナは使わないほうがいいようですね。
しかし、顧客の要望で今回のデータは
半角フリガナをつけなければならなかったので・・・

ありがとうございました。