Menu

#258 UTF-7のBOMサポート

None
closed
nobody
None
5
2013-01-11
2012-10-21
Moca
No

UTF-7でもBOMを認識できるようにします。
いままでは1文字目として表示されていました。

Related

PatchUnicode: #988

Discussion

  • Moca

    Moca - 2012-10-21
     
  • Moca

    Moca - 2012-10-21
     
  • Moca

    Moca - 2012-11-02

    1行目が保存されないバグの修正

     
  • Uchi

    Uchi - 2012-11-06

    バグの報告をさせていただきます

    sakura_core/io/CFileLoad.cppのFileOpen関数で
    bool bBom = false;
    if( 0 < m_nReadDataLen ){
    CMemory headData(m_pReadBuf, t_min(m_nReadDataLen, 10));
    CNativeW headUni;
    CIoBridge::FileToImpl(headData, &headUni, m_CharCode, m_nFlag);
    if( 1 <= headUni.GetStringLength() && headUni.GetStringPtr()[0] == 0xfeff ){
    bBom = true;
    }
    }
    の部分で先頭10Byte以内にBase64の終了マーク'-'が無いとBOMを検出できません

     
  • Moca

    Moca - 2012-11-07

    UTF-7でBOM検出できないのを修正

     
  • Moca

    Moca - 2012-11-07

    v1_2
    報告ありがとうございます。
    デコーダを修正することで対応しました。

     
  • Uchi

    Uchi - 2012-11-07

    BOM付UTF-7の読み込みが確認できました
    ご苦労様です

    デコーダに手を入れたならばついでにバグも直してほしいですね
    Set O に対する対処がなされていない様ですのでその対処とBase64の終了条件です
    現状Base64の終了条件は終了マーク'-'のみになっているようなのですが
    仕様(RFC2152)を見ればSet B以外の文字がきた場合、Base64の終了になる様です

    後、保存の時にUTF-7を選択した場合、現状BOMがオンですがオフの方が良いと思います

     
  • Moca

    Moca - 2012-11-08

    v1_3
    ・Set O が?に変換されるバグの修正
    ・Bom書き込みができていなかったバグの修正
    Set B以外がきたときにBase64の終端になるのは元からできるみたいです。

     
  • Moca

    Moca - 2012-11-08
     
  • Uchi

    Uchi - 2012-11-08

    Base64の終端についてはこちらの勘違いでした
    ご迷惑をおかけしました

    バグの報告をさせていただきます
    ①キーマクロの実行が出来ません
      RecKey.macの読み込みでコケてる様です
    ②読込時'&'がエラーと成る

    問題点を一つ挙げさせていただきます
    Base64の最後で余りのビットに0パディングがされていない場合です
    未パッチではエラーとしていますが、本パッチでは無視しています
    例えば
    "+byJ-"
    は未パッチで"???-"と成りエラーメッセージが出、パッチ済みでは"漢"に変換します
    変換が出来て、メッセージが出るのが良い様に思いますが如何でしょうか

     
  • Moca

    Moca - 2012-11-09

    v1_4
    ①については再現しませんでした。
    ②は修正しました。
    ・Base64の残りがおかしい場合にエラーメッセージが出るようにしました。
    ・BPart直後の8bit目のあるデータの取り扱いがおかしかったのを修正しました。

    v1_3で、保存ダイアログのBOMのデフォルト値を変更してました。

     
  • Moca

    Moca - 2012-11-09
     
  • Uchi

    Uchi - 2012-11-10

    ご苦労様です

    ①については潜在バグが顕現した為でした
      このパッチとは関係しないバグです
    ②は確認できました。

     
  • Moca

    Moca - 2013-01-02

    v1.5

     
  • Moca

    Moca - 2013-01-11

    v1.6
    Conflict修正等

     
  • Moca

    Moca - 2013-01-11

    rev2564でコミットしました。

     
  • Moca

    Moca - 2013-01-11
    • status: open --> closed
    • milestone: -->
     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.