セルの書式を通貨にすると、セルの中身が数値と数式で円マークが変化します。これは仕様でしょうか?
バージョン: 6.1.5.2 (x64) Build ID:
90f8dcf33c87b3705e78202e3df5142b201bd805
CPU threads: 4; OS:Windows 10.0; UI
render: GL; ロケール: ja-JP (ja_JP); Calc: CL
セルの書式を通貨にすると、セルの中身が数値と数式で円マークが変化します。これは仕様でしょうか?
バージョン: 6.1.5.2 (x64) Build ID:
90f8dcf33c87b3705e78202e3df5142b201bd805
CPU threads: 4; OS:Windows 10.0; UI
render: GL; ロケール: ja-JP (ja_JP); Calc: CL
内容が誤っていたので全面的に書き換え。(2019-05-26)
検証には何度も「ビルド」という重い作業(他の作業が非常にしづらく、時間もかかる)をやる必要があって気力が出ず、かつ他にも検証したいことがあって遅れてました。申し訳ありません。
https://opengrok.libreoffice.org/xref/core/sc/source/core/data/documentimport.cxx?r=49bc42bf#631
なお、p->mbLatinNumFmtOnlyの値は、odsファイルの場合はfalseです。
この値はここで設定されています。
https://opengrok.libreoffice.org/xref/core/sc/source/filter/xml/xmlimprt.cxx?r=a361231b#955
ので、セルの内容全体が西洋系の言語として扱われます。
https://opengrok.libreoffice.org/xref/core/sc/source/core/data/celltextattr.cxx?r=f1a10d4f#17
https://opengrok.libreoffice.org/xref/core/sc/source/core/data/column4.cxx?r=aae39e5d#998
https://opengrok.libreoffice.org/xref/core/sc/source/core/data/column4.cxx?r=aae39e5d#1019
なので、手動で、数値のセルの書式から西洋系のフォントを、違いがわかりやすいSerif系のフォントにしてあげると「¥5」の両方がSerifになります。
一方、数式のセルは「¥」は東洋系、「5」は西洋系として扱われているので、当該セルの西洋系のフォントをSerif系にしても「¥」の部分は変化しません。東洋系のフォントをSerifにしたときに変更されます。
そしてこの見た目の違いはフォントの違いから来るものであって、文字が異なるわけではありませんでした。
余談ですが、私の環境ではどうもv6.3系と自家ビルドの挙動が何故か異なるようです。おそらくですが、西洋系の言語用のorg.openoffice.VCL:LocalizedDefaultFontsに並べられたフォントの中に当該文字用のグリフを含むものがないのでしょう。Windowsの場合、代わりのフォントを探す際に(LibreOfficeのディレクトリ)/share/fonts/truetype/に格納されたフォントを一つ一つチェックするみたいで、自家ビルドではこれはGen Shin Gothic Boldになっており、ワークシートをPDFとして出力してデータを調べたときに使われているフォントと一致しました。また、このtruetypeフォルダをリネームしてみたところ、別のフォントが候補に上がることを確認しました。
https://opengrok.libreoffice.org/xref/core/vcl/win/gdi/salfont.cxx?r=d0265c12#331
申し訳ありません。質問の中身が一部間違ってました。右のセルA1に数値として5を入力、左のセルB1に数式=A1
を入力。そのあとツールバーのドルマークボタンを押して通貨表に変更。新規作成時は双方ともにB1の円マークですが、閉じて開きなおすとA1の円マークが図のように変化します。ちなみに書式コードは[$¥-411]#,##0;[RED]-[$¥-411]#,##0
です。
影響するかわからないけど一応ファイル形式(odsなのかxlsxなのか)も聞いておこうかな。
両方、保存&開きなおしを試してみました。xlsxは円マーク変化なし、odsは変化します。お手数おかけします。
とりあえず再現は確認した。そのうち調べると思う。
tdf#78189にこの質問を追記した。