サロゲート文字を操作するとデータ消失

品質保証テスト、フィードバック、バグ報告
返信する
sanada
記事: 24
登録日時: 12月 12, 2008, 11:19 am

サロゲート文字を操作するとデータ消失

投稿記事 by sanada »

[条件]
a)WinXP+KB927489(JIS2004対応フォント)※1
b)WinVista以降(メイリオフォント)
c)StarSuite8(「HG ゴシックB Sun」フォント)

[再現手順1]
1)[添付ファイル(1)]をSS8で開く。※2
2)2文字目をBold(太字)にする。
=>表示上で2文字目を含む、以降が化ける。この時点でデータが消失。
3)別名で保存し、データ(content.xml)をIE等xmlビューワーで表示してみると、
1文字目と2文字目が消失していることが確認できる。

[再現手順2]
1)[添付ファイル(2)]をSS8で開く。※2
2)サロゲート文字をBold(太字)にする。
3)表示上でサロゲート文字が化ける。

[考察]
content.xmlのODF構造を確認する限り、サロゲート文字を何らかのタグ
(今回の例では、テキスト装飾を表す「text:span」)
で囲もうとするときに発生するようです。
サロゲート文字が連続した状況にて操作した場合、
より顕著に現象を確認することが出来ます。

サロゲート文字への対応が不十分であると考えられます。

今回の再現手順では提示できませんでしたが、
セクションを予め作成しておき、その内部にサロゲート文字を含む文章を設置し、
そのサロゲート文字にテキスト装飾を付加した状態のODF(1)を
別のODF(2)よりセクション参照するように定義・保存した後に
ODF(2)を開こうとすると、
「このファイルの*,*(row,col)にあるサブドキュメントcontent.xmlで書式エラーが見つかりました。」
という状況にも遭遇しています。
(回避方法としては、読み取りエラー「content.xmlに書式エラーがあります」|http://user.services.openoffice.org/ja/ ... ?f=8&t=227にて可能。)

また、[添付ファイル(2)]のサロゲート文字をコピペとアンドゥを何度か操作・保存後に
再度開こうとすると
「このファイルの*,*(row,col)にあるサブドキュメントcontent.xmlで書式エラーが見つかりました。」
という状況にも遭遇しています。

Writerの例にて提示しましたが、
Calcでも任意のセルに[再現手順1]と同様な操作をすることで確認できます。

OOo2/3系(=SS8/9)いずれとも発生する。
ただし、IBM Symphonyでは発生せず

[添付ファイル;{SS8 +「HG ゴシックB Sun」にて作成}]
1)サロゲート文字サンプル.odt
 =>サロゲート文字が3文字含まれている。
2)サロゲート文字サンプル2.odt
 =>通常文字の間にサロゲート文字が含まれている。
3)サロゲート文字サンプルx.odt
 =>「あいうえお[サロゲート文字]かきくけこ」の内容であるが、既に開けず。

[確認環境]
WinXPSP2+(HG ゴシックB Sun)+SS8PU13
WinXPSP2+(HG ゴシックB Sun)+GOOO3.0.1
WinXPSP2+(HG ゴシックB Sun)+IBM Symphony1.3.0
WinXPSP2+KB927489+OOo3.0.0

-----
※1 http://www.microsoft.com/japan/windows/ ... fault.mspx
※2 OOoで開き、文章全体を選択の上、[条件(a)/(b)]それぞれのフォントに変更しておく。(サロゲート文字が含まれるフォントを選択する、ということ)
添付ファイル
サロゲート文字サンプルx.odt
「このファイルの2,3008(row,col)にあるサブドキュメントcontent.xmlで書式エラーが見つかりました。」により開けないサンプル
(8.61 KiB) ダウンロード数: 421 回
サロゲート文字サンプル2.odt
(8.54 KiB) ダウンロード数: 440 回
サロゲート文字サンプル.odt
(7.97 KiB) ダウンロード数: 526 回
アバター
parpy
記事: 388
登録日時: 11月 4, 2008, 11:50 pm

Re: サロゲート文字を操作するとデータ消失

投稿記事 by parpy »

サロゲート文字の処理がまるっきりダメなのかとあせったのですが、
複数並んでいる場合に問題が発生するんですね。
UbuntuLinuxのOOo3.1.1(Go-oo)でも同様の挙動を確認しました。

またこの他に、
・太字によって表示が異常となった文字列が、クリップボードにコピー出来ない
・コピー貼り付けの際にデータタイプ関連のエラーが発生
・文字カウントが2文字でカウントされてしまう
などの症状も確認しました。
sanada
記事: 24
登録日時: 12月 12, 2008, 11:19 am

Re: サロゲート文字を操作するとデータ消失

投稿記事 by sanada »

ご確認ありがとうございます。

> ただし、IBM Symphonyでは発生せず。
コピペ系の処理を行うと、一部文字が消えたりします。
IBM Symphonyも不完全なようですね。。
アバター
parpy
記事: 388
登録日時: 11月 4, 2008, 11:50 pm

Re: サロゲート文字を操作するとデータ消失

投稿記事 by parpy »

この問題はOOo3.2で修正される模様です。
http://www.openoffice.org/issues/show_bug.cgi?id=105571

報告ありがとうございました。
返信する

“QA(品質保証)”に戻る