メソッドエディタ:半角カナ濁点の表示とカーソル動作

Product :4D - 4D Server
4D : v17 224154
OS : Windows
メソッドエディタに記述した半角カナの濁点について表示が変なのと、カーソル動作が正しくありません。
Macでは問題ない様です。

225182でも確認してみました。
直ってないみたいですが、このままリリースでしょうか? :frowning:

ほさかさま

ご連絡ありがとうございます。

確認してみましたところ、確かに濁点を含む半角カナの表示がおかしいようです。

ACI0098445: v17 Method Editor displays Half-size Katakana in Full-size

にて報告いたしました。

よろしくお願い申し上げます。
:pray:

手島

: Nobu TESHIMA

確認してみましたところ、確かに濁点を含む半角カナの表示がおかしいようです。

ACI0098445: v17 Method Editor displays Half-size Katakana in Full-size

226877で再度確認してみました。
まだ直っていない様ですが、いつ直りますでしょうか? :frowning:

対応に時間を要しておりまして申し訳ございません。
担当部門に確認しましたところ、問題の再現は確認できているとのことですが、修正にはまだ時間がかかりそうです。
督促しておりますので情報があり次第お知らせいたします。

: Toshiyuki YAMADA

対応に時間を要しておりまして申し訳ございません。
担当部門に確認しましたところ、問題の再現は確認できているとのことですが、修正にはまだ時間がかかりそうです。
督促しておりますので情報があり次第お知らせいたします。

ご連絡ありがとうございます。
問題がカーソルの挙動なんで、ついでなのでサロゲートペアと異体字セレクタの対応してくれると助かります。 :pray:

最終的にどのラインでメソッドエディターの仕様が引かれるのか,
コストと技術的な制約があるので,現時点ではわかりませんが,

  1. 半角カナ
  2. サロゲートペア
  3. 異体字セレクタ

の順で優先度を設定いたしました。

他のゲストのために説明を加えると,

サロゲートベアとは,

$𠮷野家:=char(0xD842)+char(0xDFB7)+char(0x91CE)+char(0x5BB6)
“𠮷野家”

$吉野家:=char(0x5409)+char(0x91CE)+char(0x5BB6)
“吉野家”

のようにUTF-16のコードポイント2個で1文字を表現するような文字で,

異体字セレクタとは,

$邊:=Char(0x908A)
“邊”

$邊󠄀:=Char(0x908A)+Char(0xDB40)+Char(0xDD00)
“邊󠄀”

$邊󠄁:=Char(0x908A)+Char(0xDB40)+Char(0xDD01)
“邊”

$邊󠄂:=Char(0x908A)+Char(0xDB40)+Char(0xDD02)
“邊󠄂”

$邊󠄃:=Char(0x908A)+Char(0xDB40)+Char(0xDD03)
“邊󠄃”

$邊󠄄:=Char(0x908A)+Char(0xDB40)+Char(0xDD04)
“邊󠄄”

$邊󠄅:=Char(0x908A)+Char(0xDB40)+Char(0xDD05)
“邊󠄅”

$邊󠄆:=Char(0x908A)+Char(0xDB40)+Char(0xDD06)
“邊󠄆”

$邊󠄇:=Char(0x908A)+Char(0xDB40)+Char(0xDD07)
“邊󠄇󠄆”

のように,一種の制御文字(2文字目と3文字目・これ自体がサロゲートペア)でグリフ(フォント)を切り替える仕組みのことです。

上記の「なべ」は,よーーくみると,みんなちょっとずつ違う字体です。

今回の問題は,メソッドエディターの設定を「Unicodeで保存する」にすれば,このような文字をコードに入力することができるものの,矢印キーやダブルクリックによる選択,Deleteキーによる削除などが結合文字を正しく処理できず,文字を分解して処理してしまう,というものです。

通常のテキスト入力エリアとは違い,メソッドエディターは独自の実装で文字入力を処理しているため,不便なことになっています。

http://forums.4d.com/4DBB_Main/x_User/298210/files/26185671.zip

丁寧な解説ありがとうございます。

基本的な問題なのですが、4D社の技術的な要因が大きい様に思います。
Split Stringコマンドなどもそうですが、unicodeの仕様をちゃんと把握していないのではないでしょうか? :frowning:

OS側のAPIに依存するところはちゃんと動作していますので…

率直なご意見ありがとうございます。

まず,

  1. 半角カナ #ACI0098445
  2. サロゲートペア #ACI0098935
  3. 異体字セレクタ #ACI0098934

でバグ報告を分割しました。

その上で,『Unicodeが全体的にどこまで実装されているのか(データベース・インデックス・オブジェクト記法など)不安感を憶えます』というメッセージを添えました。

一般に,コードエディター/スクリプトエディターは,Unicodeの実装が必ずしも十分ではなく,4Dのメソッドエディター(本体のGUI・ランゲージ・データベースエンジンとは別に開発されています)は,むしろ健闘している部類に属すると思うのですが,やはり,できるに越したことはないので,期待して待ちたいところです。

保坂さま

連絡が遅くなりましてすみません。

ご指摘いただいていた問題のうち、半角カナの問題のACI0098445についてはv17で修正されました。
最新のNBでは修正が反映されているはずです。

よろしくお願いします。

:pray: