niszetの日記

アナログCMOS系雑用エンジニアが頑張る備忘録系日記

(OOXML) ルビ周りのメモ

OOXMLは仕様が良く分からないので掘り下げていく…

さて、RMarkdownからWord文書を作るにあたって、まだ色々とWordの機能を使いこなせていませんでした。今年はOOXMLの要素を少しずつ解読していこうと思っています。とりあえずルビから。

適当にWord上でルビを振ってみて、ooxmlを見てみるとこんな感じ。

<w:p w:rsidR="003817DF" w:rsidRDefault="000E3067">
<w:r>
<w:ruby>
<w:rubyPr>
  <w:rubyAlign w:val="distributeSpace"/>
  <w:hps w:val="10"/>
  <w:hpsRaise w:val="18"/>
  <w:hpsBaseText w:val="21"/>
  <w:lid w:val="ja-JP"/>
</w:rubyPr>

<w:rt>
  <w:r w:rsidR="000E3067" w:rsidRPr="000E3067">
  <w:rPr>
    <w:rFonts w:ascii="MS 明朝" w:eastAsia="MS 明朝" w:hAnsi="MS 明朝" w:hint="eastAsia"/>
    <w:sz w:val="10"/>
  </w:rPr>
  <w:t>ひらがな</w:t>
  </w:r>
</w:rt>

<w:rubyBase>
  <w:r w:rsidR="000E3067">
    <w:rPr>
      <w:rFonts w:hint="eastAsia"/>
    </w:rPr>
    <w:t>平仮名</w:t>
  </w:r>
</w:rubyBase>

</w:ruby>
</w:r>
</w:p>

eastAsia系がちょっと分からんですね。が、ルビの設定関係は比較的読みやすいですね。rmd2docxsupにも簡単に実装出来そうです。

とりあえず構成は分かったので、設定との対応関係をまとめていこう(今はメインPCがないのでやれない)