getclipboardNo.07320
bouz さん 05/04/12 13:57
 
beginclipboard;
$s=getclipboard;
とやると、漢字の時$sが??????とかになってるんですが、
何かありましたっけ?

[ ]
RE:07320 getclipboardNo.07324
秀丸担当 さん 05/04/12 17:23
 

>beginclipboard;
>$s=getclipboard;
>とやると、漢字の時$sが??????とかになってるんですが、
>何かありましたっけ?

フォントの文字セットが日本語でない場合、そのようになるかもしれません。
試してみたところでは、????ではなく、文字化けするような形になりました。
一応フォントの文字セットが日本語でない場合は、現時点では仕様ということに
なっています。
そうでない場合は不具合が何かあるのかもしれません。

[ ]
RE:07324 getclipboardNo.07339
bouz さん 05/04/13 09:57
 
>フォントの文字セットが日本語でない場合、そのようになるかもしれません。
>試してみたところでは、????ではなく、文字化けするような形になりました。
>一応フォントの文字セットが日本語でない場合は、現時点では仕様ということに
>なっています。
>そうでない場合は不具合が何かあるのかもしれません。
文字化けではないし、フォントも日本語なんです。(^_^;)
// ファイルの先頭
beginclipboardread;
//setclipboard "ウマ";
$s=getclipboard;
message $s;
// ファイルの末尾
この簡単なマクロをtest.macとしてセーブし、開いたまま
// ファイルの先頭をコピーして実行させます。
すると // ???? と表示されます。
この場合はちゃんと貼れますが、他にファイルを開いていると、
????がそのまま貼られたりする場合もあるので、謎です。
英語XPのせいかもしれません。


[ ]
RE:07339 getclipboardNo.07350
秀丸担当 さん 05/04/13 18:53
 

英語版xpの場合、
[コントロールパネル]→[地域と言語のオプション]→[詳細設定]→[Unicode対応
でないプログラムの言語]
に相当する部分の設定が日本語になっていないと、そのような影響が出るかもし
れないと思ったのですが、日本語版xpにて試しにここを英語(米国)にしてテスト
してみたのですが、????にはなりませんでした。
なぜ文字化けではなく ???? なのかわかりません。

いずれにしても、pasteはUnicodeのクリップボードデータでもできるのに対し、
getclipboardは、Unicodeのクリップボードデータは想定していないのが原因な
のではないかと思います。
なぜならばマクロの変数などはUnicodeではないからです。

たぶん一度Unicodeとして読み込んでそれを変換すればできる気もします。やり
方を検討したいと思います。

[ ]
RE:07350 getclipboardNo.07368
bouz さん 05/04/14 13:03
 
>
>英語版xpの場合、
>[コントロールパネル]→[地域と言語のオプション]→[詳細設定]→[Unicode対応
>でないプログラムの言語]
>に相当する部分の設定が日本語になっていないと、そのような影響が出るかもし
>れないと思ったのですが、日本語版xpにて試しにここを英語(米国)にしてテスト
>してみたのですが、????にはなりませんでした。
ここはもちろん日本語にしています。そうしないと個別プログラムロケール設定ツー
ルでも使わないと秀丸βが使えません。

>なぜ文字化けではなく ???? なのかわかりません。
非常に不思議です。????と表示されたものが????のままペースとされたり、
まともにペースとされたり、いつのまにやら表示されるようになったり
(クリップボードの1行目を確認するマクロ)、ただ何度かコピーするとまともなの
がずっと続いたり、????がずっと続いたりします。
何かの拍子に戻ったり、????になったりします。
ファイルを開いたり、タブを切り替えたりすることが影響している気
もしますが、確証はありません。
今日はずっとまともです。
>
>いずれにしても、pasteはUnicodeのクリップボードデータでもできるのに対し、
>getclipboardは、Unicodeのクリップボードデータは想定していないのが原因な
>のではないかと思います。
>なぜならばマクロの変数などはUnicodeではないからです。
なーる程。可能性はありますね。フォントもUnicodeだったり、出なかったりしますし。
これは関係ないか(^^ゞ。

>たぶん一度Unicodeとして読み込んでそれを変換すればできる気もします。やり
>方を検討したいと思います。

毎度不思議なリクエストばかりで済みません。でも秀丸担当さんには
期待してます。体に気を付けてやってください。

[ ]
RE:07368 getclipboardNo.07369
bouz さん 05/04/14 13:09
 
>非常に不思議です。????と表示されたものが????のままペースとされたり、
>まともにペースとされたり、いつのまにやら表示されるようになったり

「ペースト」です。

>なーる程。可能性はありますね。フォントもUnicodeだったり、出なかったりします
>し。

「でなかったり」です。

補足ですが先のマクロで
setclipboad "ウマ"
をコメントアウトすると、それはいつも正しく表示されます。

[ ]
RE:07368 getclipboardNo.07372
秀丸担当 さん 05/04/14 19:01
 

getclipboardでUnicodeから変換してやろうとしてみましたが、フォントが欧文
のときなどに、改善するどころか日本語が???になってしまうということになっ
てしまうので、Unicodeからの変換はせずに現状のままのほうがいいようです。

[ ]
RE:07372 getclipboardNo.07376
bouz さん 05/04/14 19:46
 
>
>getclipboardでUnicodeから変換してやろうとしてみましたが、フォントが欧文
>のときなどに、改善するどころか日本語が???になってしまうということになっ
>てしまうので、Unicodeからの変換はせずに現状のままのほうがいいようです。

了解しました。なんか複雑ですが。
必要なら、いっぺんペーストしてから取り込むようにするので、
実質的問題はありません。

[ ]
RE:07350 getclipboardNo.07380
bouz さん 05/04/15 13:06
 
今日も????くんは出てきません。いったい何だったんだろう。
と、思い当たったのが、キー表示の件です。Ctrl+@とCtrl+`のことで、
Regional and Language OptionsのDefault Input Language、
つまりデフォルトのキーボードですが、これをATOKからEnglishに
変えていたことが原因のようです。その後ATOKに戻したので
出なくなったのです。ためしにEnglishに変えると、????くんが
再登場しました。
ここを切り替えるとクリップボードの保存形式かなんかが変わるようです。
この辺は詳しくないので、想像ですが。
毎度煩わせてしまい、申し訳ないです。

[ ]
RE:07380 getclipboardNo.07382
秀丸担当 さん 05/04/15 14:11
 

>つまりデフォルトのキーボードですが、これをATOKからEnglishに
>変えていたことが原因のようです。その後ATOKに戻したので

こちらの設定が関係していたのですか。この設定でクリップボードの形式が変わ
るのは知りませんでした。
日本語XPでも再現させることができました。
検討してみたのですが、フォントが日本語の場合のみ、Unicodeからの変換をす
るようにすれば問題無いと思うので、修正してみようと思います。

[ ]
RE:07382 getclipboardNo.07387
bouz さん 05/04/15 17:40
 
>こちらの設定が関係していたのですか。この設定でクリップボードの形式が変わ
>るのは知りませんでした。
>日本語XPでも再現させることができました。
>検討してみたのですが、フォントが日本語の場合のみ、Unicodeからの変換をす
>るようにすれば問題無いと思うので、修正してみようと思います。

もしやと思い、確かめてみると、直ってますねぇ。
爽快です。

[ ]