Skip to main content
naoko k
Participant
January 17, 2018
Answered

InDesign CS5.5 ワードの文書を配置したらルビ付きの文字が消えた

  • January 17, 2018
  • 2 replies
  • 7861 views

ワードにはあるのに、インデザインに配置したら、文字がなくなってしまったということがありました。

難しい文字ではありません。どの文字がどのような原因で消えてしまうのか、まったくわかりません。 

ルビが関係あるのかも、わかりません。

消えてしまったのは2文字だけです。他のルビ文字は大丈夫です。

何が原因でしょうか?

    This topic has been closed for replies.
    Correct answer yusuke.s

    僕自身も全く同じ現象に遭遇したことがあって、かなり詳しく調べました。

    結果から言うと、ルビつき文字が正しく表示されるかされないかはランダムです。ただ、消える文字は必ず消えます(流し込んで出たり消えたり、ということはありません)。

    monokanoさんが書いていらっしゃるように、WORDのルビはフィールドコードによる特殊な表記で実装されています。

    このフィールドコード自体は本来不可視文字というか、印刷されては困る指示語、もっと砕いて言えばマークダウンテキストのタグのような存在です。消えてしまうルビつき文字というのは、文字自体がすべてフィールドコードだとInDesignに誤認されることによります。要するに印刷されては困る指示語の一種だと見なされてしまい、InDesignに流し込んだ際に消えてしまうのです。

    ではInDesignが悪いのかというと、確かにその一面もありますがそうではありません。WORDが正しくXMLタグを付けないのです。それも無秩序に間違えるのです。

    どのような経緯でWORDが誤ったタグ付けをしてしまうのかまではわかりません。わかりませんが、間違ったXMLタグが当てられてしまっているかどうか(=InDesignで消えてしまう文字)は中身を開けば確認できます。

    その前に現象の確認です。まず適当にルビを振ったdocxファイルを用意しました。

    これをInDesignに流し込んでみます。

    結果はこのようになります。

    InDesignで消えたルビつき文字と消えなかったルビつき文字を比較すると、以下のようになります。

    消えなかったもの:<w:ruby>〜</w:ruby>で囲まれている

    特にルビが振られている親文字には<w:rubyBase>〜</w:rubyBase>というタグが当たっています。

    消えたもの:<w:ruby>〜</w:ruby>で囲まれていない

    もっと言えば<w:instrText>〜</w:instrText>という、フィールドコードを示すタグが当たっています。

    まとめると、消えるか消えないかの判別はXMLタグから確認することができます。

    しかし、WORDがいつタグを付け間違えるか、また、付け間違えたルビつき文字が存在するのか否かはWORDから確認できません。

    また、どのルビつき文字にタグを付け間違えるかは予測不能です(何度も試しましたが、どういった機序で消えるルビつき文字になるのか、手順次第でコロコロ変わるため「予測不能」と結論づけました)。

    ですので、私見ですが、docxファイルをそのままInDesignに配置するのは推奨できません。

    できればUTF-8などの文字コードでプレーンテキストに書き出し、InDesign側で(スクリプト等を利用して)処理するというのがもっとも安全だと思っています。

    補足:このルビつき文字ですが、Quarkでは消えません(笑)

    2 replies

    yusuke.s
    yusuke.sCorrect answer
    Inspiring
    January 17, 2018

    僕自身も全く同じ現象に遭遇したことがあって、かなり詳しく調べました。

    結果から言うと、ルビつき文字が正しく表示されるかされないかはランダムです。ただ、消える文字は必ず消えます(流し込んで出たり消えたり、ということはありません)。

    monokanoさんが書いていらっしゃるように、WORDのルビはフィールドコードによる特殊な表記で実装されています。

    このフィールドコード自体は本来不可視文字というか、印刷されては困る指示語、もっと砕いて言えばマークダウンテキストのタグのような存在です。消えてしまうルビつき文字というのは、文字自体がすべてフィールドコードだとInDesignに誤認されることによります。要するに印刷されては困る指示語の一種だと見なされてしまい、InDesignに流し込んだ際に消えてしまうのです。

    ではInDesignが悪いのかというと、確かにその一面もありますがそうではありません。WORDが正しくXMLタグを付けないのです。それも無秩序に間違えるのです。

    どのような経緯でWORDが誤ったタグ付けをしてしまうのかまではわかりません。わかりませんが、間違ったXMLタグが当てられてしまっているかどうか(=InDesignで消えてしまう文字)は中身を開けば確認できます。

    その前に現象の確認です。まず適当にルビを振ったdocxファイルを用意しました。

    これをInDesignに流し込んでみます。

    結果はこのようになります。

    InDesignで消えたルビつき文字と消えなかったルビつき文字を比較すると、以下のようになります。

    消えなかったもの:<w:ruby>〜</w:ruby>で囲まれている

    特にルビが振られている親文字には<w:rubyBase>〜</w:rubyBase>というタグが当たっています。

    消えたもの:<w:ruby>〜</w:ruby>で囲まれていない

    もっと言えば<w:instrText>〜</w:instrText>という、フィールドコードを示すタグが当たっています。

    まとめると、消えるか消えないかの判別はXMLタグから確認することができます。

    しかし、WORDがいつタグを付け間違えるか、また、付け間違えたルビつき文字が存在するのか否かはWORDから確認できません。

    また、どのルビつき文字にタグを付け間違えるかは予測不能です(何度も試しましたが、どういった機序で消えるルビつき文字になるのか、手順次第でコロコロ変わるため「予測不能」と結論づけました)。

    ですので、私見ですが、docxファイルをそのままInDesignに配置するのは推奨できません。

    できればUTF-8などの文字コードでプレーンテキストに書き出し、InDesign側で(スクリプト等を利用して)処理するというのがもっとも安全だと思っています。

    補足:このルビつき文字ですが、Quarkでは消えません(笑)

    Yusuke S.
    naoko k
    naoko kAuthor
    Participant
    January 18, 2018

    ご返信、ありがとうございます。

    ワードのルビを或る程度そのままつかえて便利になったな〜と思っておりましたが、それは危険なことだったのですね。

    丁寧に教えていただき、感謝いたします。

    monokano
    Community Expert
    Community Expert
    January 17, 2018

    試さずに推測で書きます。

    .docから.docxにする際、フィールドコードのルビが、document.xml内のタグ付けでバグってしまう場合があります。本当なら <w:ruby> に変換されるのですが、「{EQ \* jc2 \* "Font:MS 明朝" \* hps10 \o\ad(\s\up 9(るび),ルビ)}」といった具合になってしまいます。この「バグったルビ」が原因かもしれません。

    monokano
    Community Expert
    Community Expert
    January 18, 2018
    naoko k
    naoko kAuthor
    Participant
    January 18, 2018

    ご返信、ありがとうございます。

    参考になるものをいろいろ紹介していただき、感謝いたします。

    勉強させていただきます。