◀Unicode版開発トップへ
  • 2149 ファイル切替え時のフォント切換え不正
    • 2150 Re:ファイル切替え時のフォント切換え不正
      • 2151 Re2:ファイル切替え時のフォント切換え不正
  • [2149] ファイル切替え時のフォント切換え不正 LR4 2014年04月08日 19:30

    ファイルの切替え操作に伴って、フォント切替えが中途半端になるケースがあるようです。

    【再現用の設定】
    無題はMS ゴシック10pt(デフォルトのフォント)
    .txtはMS 明朝10pt(タイプ別指定のフォント)

    【再現の操作】
    無題で何も入力せずにフォントを数段階拡大してから.txtファイルを「開く」。
    →フォントはゴシックで拡大したまま。その後1回拡大操作すると明朝10pt(+α?)になる。

    .txtファイルを開いた状態でフォントを数段階拡大し「閉じて無題」。
    →フォントは明朝で拡大したまま。その後1回拡大操作するとゴシック10pt(+α?)になる。

    .txtファイルを開いた状態でフォントを数段階拡大し「開き直す」。
    →フォントは拡大したまま。その後1回拡大操作するか再度「開き直す」と明朝10pt(+α?)になる。

    自分が確認できているのは上記のパターンです。
    他にもあるかもしれません。
    • [2150] Re:ファイル切替え時のフォント切換え不正 LR4 2014年04月08日 19:34

      当て推量ですが、下記のような一行修正を加えると是正される感じです。
      ご確認ください。

      --- sakura_core/doc/CEditDoc.cpp (リビジョン 3671)
      +++ sakura_core/doc/CEditDoc.cpp (作業コピー)
      @@ -177,6 +177,7 @@
      m_cDocType.SetDocumentType( CDocTypeManager().GetDocumentTypeOfPath( m_cDocFile.GetFilePath() ), true );
      SelectCharWidthCache( CWM_FONT_EDIT, m_pcEditWnd->GetLogfontCacheMode() );
      InitCharWidthCache( m_pcEditWnd->GetLogfont() );
      + m_blfCurTemp = false;
      m_pcEditWnd->m_pcViewFont->UpdateFont(&m_pcEditWnd->GetLogfont());

      // 2008.06.07 nasukoji 折り返し方法の追加に対応
      • [2151] Re2:ファイル切替え時のフォント切換え不正 もか 2014年04月09日 19:34

        GetLogfontCacheModeでm_blfCurTempを参照するので
        SelectCharWidthCacheの前にm_blfCurTemp = falseする必要があると思います。