特定の文字列に対するリガチャ(合字)の動作不具合

  1. いつもMeryを愛用させていただいております.

    現行のベータバージョンで,リガチャ(合字)の動作に不具合を確認したため報告させていただきます.

    具体的には,リガチャ対応のフォントで表示した際に,特定の文字列に対してのみリガチャが適用されません.
    試した範囲ではフォントによらず問題が発生するように思います.
    また,3.2.8以前のバージョンでは発生していないので,3.2.9の更新に起因していると思われます.
    確認した範囲では,リガチャが適用されないのは括弧が含まれる文字列のみでした.

    可能であれば改善していただけると幸いです.よろしくお願いします.

    - 環境
    Windows 11 Home 21H2 / 64 bit
    Mery (x64)

    - 問題を確認したバージョン
    3.2.9 ~ 3.3.1
    - 問題が起こらないバージョン
    3.2.8

    - 問題が起こるフォント
    FiraCode, JetBrains Mono, Firple 等

    - リガチャが適用されない文字列の例
    「->」「<-」「=>」「<=」「#(」「#{」「|>」「<>」「>=」

     |  negset  |  返信
  2. ご報告ありがとうございます。

    これは Ver 3.2.9 からの仕様となっています。

    ## 3.2.9 (2021-06-04)
    - [対応する括弧を強調する] がオンの場合は常に括弧の部分で描画を分けるようにした

    [対応する括弧を強調する] はカーソル位置の括弧を強調表示するための機能ですが、括弧の含まれるリガチャの場合、カーソルが括弧の位置に移動すると括弧の部分のみが強調表示されるため、リガチャが分断されていました。

    参考画像 (GIF): https://imgur.com/a/3bagtSS

    カーソルの位置によってリガチャが結合されたり分断されたりするのが煩わしかったため、Ver 3.2.9 で括弧を含むリガチャはそもそも結合しないようにしました。

    リガチャを優先して、「リガチャの部分は括弧の強調表示をしない」みたいなことができれば良かったのですが、技術的な面で、その文字がリガチャかどうかをチェックする方法が見つからなかったため、Ver 3.2.9 の仕様にすることで対策しました。

    [ツール] メニューの [オプション] から [基本] カテゴリの中の [対応する括弧を強調する] をオフにすれば、一応、括弧を含むリガチャも結合されるようになります。(括弧の強調表示は使えなくなりますが…)

    括弧の強調表示とリガチャは機能としての相性が悪く、あちらを立てればこちらが立たずといった感じです。

    でも、Ver 3.3.0 からは [合字を有効にする] のオプションでリガチャ自体を無効にできるようになったので、カーソル位置によってリガチャが結合したり分断したりするのが煩わしいときはユーザーさん側でリガチャをオフにして対応してもらう、というのでも良いかもしれませんね。

    Ver 3.2.9 の括弧の含まれるリガチャを強制的に分断する仕様は廃止する方向で検討してみたいと思います。

     |  Kuro  |  返信
  3. 早速の返信ありがとうございます.

    > これは Ver 3.2.9 からの仕様となっています。

    そうだったのですね.そうとは知らずすみません.

    > [ツール] メニューの [オプション] から [基本] カテゴリの中の [対応する括弧を強調する] をオフにすれば、一応、括弧を含むリガチャも結合されるようになります。(括弧の強調表示は使えなくなりますが…)

    当面はこの方法で対応しようと思います.

    > Ver 3.2.9 の括弧の含まれるリガチャを強制的に分断する仕様は廃止する方向で検討してみたいと思います。

    検討いただき感謝いたします.

    個人的には3.2.8以前の動作の方が自然な気がするので,この仕様に戻ってくれるのは大変ありがたいです.

     |  negset  |  返信
スポンサーリンク