Pdfとしてエクスポートで、文字が2文字前に来る

Impressのファイル>次の形式でエクスポート>PDFとして直接エクスポート
(PDFとしてエクスポート でも同じ)
で作成したPDFで特定の文字が2文字前に来る妙な現象が発生しています。
24.2.3のデグレードかと思って、7.6.7に戻しても変わらず、24.2.4にしても変わらず。
Windows-11なので、Windows-10マシンに持ってきても同じ。
昨年問題ないPDFに出せていたodpファイルでも発生。
Windowsのライブラリがupdateされて悪さしているのだろうか?
取りあえず、出力に時間が掛かるけど、印刷でAdobe PDF出力すれば正常なPDFが出てくることがわかって、回避はできそうです。

https://ask.libreoffice.org/t/ubuntu24-04-libreoffice-writer/105270

状況が似てますね

1 Like

似た状況がUbuntuでも発生しているとしたら、Windowsのライブラリというより、LibreOfficeの処理なんでしょうね。
そういえば、以前もあったのですが、今年からのバージョンで、縦書きのテキスト属性での配置がおかしくなりました。
図形の右側に縦書きするために、右境界との間隔をマイナスにして調整していたのですが、効かないようです。いくら数字を大きくしても動かない。
現状1行ばかりなので、横書きにして改行で縦書きに見せて回避しています。
Writerでも発生しているということは、LibreOffice共通のライブラリで、日本語などの複数バイト文字対応が抜けたデグレードがありそうですね。
でも、縦書きはそうだけど、2文字ズレるのは以前問題がなかった7.6に戻しても発生するから、単純にLibreOffice共通のライブラリのデグレードと言えないか…。わからないなぁ。


横書きの時は右ですが
縦書きの時は上をマイナスにする動作は以前から変更ない気がします

あれ、そうなんですね。助かります。
でも、作成したとき(昨年2月7日、元々は2016年)に、右に行かなきゃ、こういうドキュメントにならないはずだけどなぁ。

バージョン7.xになったとき、アニメーションが動かない種類があって、昨年まで長い間、バージョン6.4.7.2を使用していました。改めて、6.4.7.2をインストールしてみると、このバージョンではやっぱり、縦書きでも右ですね。

バージョン7.x以降は、アニメーションを複数オブジェクト指定して、まとめて、ワイプにしたり、左からにしたりできるのが便利なのですが。

Ver7.1までは右をマイナス値
Ver7.2から上をマイナス値にしないといけないっぽいです。

また、7.1以前(6.4.7)で作成したファイルを7.6や24.2で開くと体裁崩れが起きることも確認しました。

もともとの質問の問題ですが、私の環境ではうまく再現できませんでした。
サンプルファイルをアップもしくはリンクいただくことは可能でしょうか?

Version: 24.2.4.2 (X86_64) / LibreOffice Community
Build ID: 51a6219feb6075d9a4c46691dcfe0cd9c4fff3c2
CPU threads: 4; OS: Linux 5.10; UI render: default; VCL: gtk3
Locale: ja-JP (ja_JP.UTF-8); UI: ja-JP
Calc: threaded

縦書きテキストボックスは試されていますでしょうか。
アイコンメニューの通常のテキストボックスを右クリック>縦書きテキストボックスで挿入できます。

1 Like

・中カッコオブジェクトをダブルクリックして文字を入れる。
・横書きテキストを幅狭めて縦書きにする。
・「縦書きテキスト」オブジェクトを配置する。
の、3種類の方法があるようです。

1 Like

該当ページだけを抽出しても再現しなかったので、ある程度の大きさを処理している内に、スタックオーバーフローみたいなことが起きて発生するような印象です。
サンプルはちょっと検討してみます。

2 Likes

1.中カッコオブジェクトをダブルクリックして文字を入れる。
2.横書きテキストを幅狭めて縦書きにする。
3.「縦書きテキスト」オブジェクトを配置する。
とすると、1.で「文字の体裁:上から下へ」にして縦書きにして、この位置がずれる現象が出ています。
で。2.の横書きのまま、幅を狭めるではなく、改行して縦書きに見せて回避しています。幅を狭めると位置がずれることがあるので。インデントかな。
3.にして、図形とグループする方法もありますが、グループ化するのは中括弧をスプリットでアニメーションさせているためです。ただ、(まだ報告していなかったですが)バージョン24.xからか、グループ化したオブジェクトが全体のアニメーションにならず、ここのオブジェクトが同時に同じアニメーション動作するという不具合も出ていますので、見た目が悪いです。
この3.が「縦書きテキストボックス」ですよね?

アニメーションだけじゃなかったですね。別々のオブジェクトだと位置やサイズ変更で面倒ですし、グループ化すると個々の変更(文字色や線の色や太さ)が面倒になるので、一つのオブジェクトにしたい、という感じですね。同じ文書を変更・修正して、10年以上使っているので、そういうことがあります。

もともとの質問の問題『 [Pdfとしてエクスポートで、文字が2文字前に来る』のサンプルを用意しました。該当ページだけにすると再現しないという話をしましたが、ページを削除して、直前のページの吹き出しの縦書きが原因のようです。これを削除すると再現しません。
縦書きの部分の処理に不具合があったために発生しているように見受けられます。
Sample.odp (38.4 KB)

1 Like

ちなみに、直前のページの吹き出しのオブジェクトを削除せずに、縦書き(文字の体裁:上から下へ)を横書き(文字の体裁:左から右へ)に変えると、『 [Pdfとしてエクスポートで、文字が2文字前に来る』問題は発生しません。

ファイルを。Zipに拡張子変更してZip展開して、Content.xmlを見ると、細切れにテキストが分断されていました。
おそらく、一旦テキストデータをメモ帳に取り出して新規に作り直せば治るのでは、という気はしました。
ただ、サンプルの1ページめを削除すると2ページめが綺麗にPDF出力されるようで、Libreにバグがあるのかもしれません。

1ページめの、「許諾を得て利用可能」に含まれる文字はみんな、2ページめで位置ずれを起こすみたいですね。。
PDFにする際のCanvas描画の処理で、同じ文字を一律ずらしてたりするんでしょうか?

Sabroさんの指摘のように、以下のIssueに近そうということで、
ハックフェストにて田中さんがIssueにコメントを追記してくれました
https://bugs.documentfoundation.org/show_bug.cgi?id=160932