WPS-PDFが動かないぞ

先日からwps-office続き。忘れないように自分用のメモ書きみたいなものですが。

wps pdf

・WPS PDFが動かない

WPS OFFICEをインストールすると、Writer※ワード的なもの、SpreadSheet※エクセル的なもの、Presentation※パワポ的なものとあわせてPDF閲覧・作成用のアプリケーションも入ります。

ところが、いざ使おうとするとまったく立ち上がらない。いったいどうしたのだろう?別にすぐに困りはしないけれどなんとなく環境が整っていないのはイヤというだけで頑張ってしまうわけです。

・原因はなんだろう?

CLIから起動するにはパスが通っていることを確認して wpspdf と入力してあげるだけでOKなはずなのです。

ですが、正常に立ち上がってくれない環境で試してみると「libtiff.so.5が見当たらないよ」というエラーメッセージが。

ライブラリが無いと言われると実際に確認したくなるもので、/usr/lib/x85_64-linux-gnu フォルダの中身を眺めることになります。

すると libtiff.so.6 と言う物は見つかるのですが、たしかに libtiff.so.5 は存在しない。なるほどエラーメッセージは確かであったかと納得。

・対策はどうする?

どうやらライブラリのほうがバージョンが高くなってしまってて、要求されるバージョンのものが見つからないために立ち上がらないわけで。

それならば簡単に、libtiff.so.6 を libtiff.so.5 に偽装してあげたらどうなるだろう?
そう、アプリ側が libtiff.so.5 を呼んだ時に libtiff.so.6 が何食わぬ顔で応答するようにシンボリックリンクを以下の通り

sudo ln -s /usr/lib/x86_64-linux-gnu/libtiff.so.5 /usr/lib/x86_64-linux-gnu/libtiff.so.6

と、ごまかしてみることに。

・すんなり起動した!

ふたたびCLIから wpspdf と入力してみると今度はすなおに立ち上がってくれました。

単独でのPDF閲覧や他のアプリからのPDF作成もすんなりと実行できていて、とりあえずのところは大丈夫そう。

よかった、また古いソースコードをコンパイルして展開しなくっちゃいけないんじゃないかと面倒くささが先行しましたが、割と簡単に対処できてほんとにヨカッタ。


安心安全安価なSDカードデータ復元・HDDデータ復元は
長年の信頼と実績の『株式会社パソコントラブル救助隊』へ。
https://hqsecure.net/

WPS-OFFICEで太字が潰れてしまう対応

さて、どのくらいこの現象にぶち当たる人数がいるのかは想像できませんが。

ウチのUbuntu24環境でちょっとしたOFFICE系データの閲覧や編集に重宝しているWPS-OFFICEなんですけれど、最近構築しなおしたUbuntu24.04の環境ではなぜか日本語表示が潰れてしまうという現象にあたりました。

■どんな現象が起きる?

普通に日本語表示をさせている部分にはまるっきり問題は出ないのですよ。

ところが、日本語の文字列に太字の設定をしたとたんに、まるでマジックで雑に塗りつぶされたかのように黒く潰れてしまうんですね。

とまあこんな感じで、上記はライター(※ワード的なもの)で書いた文書ですが、日本語文字の太字設定をした部分だけが潰れた表示になってしまいます。

見ようによっちゃまるで呪われたかのような文書になってしまいます(笑)

文字情報そのものが失われるわけではなく、ただ単に表示が潰れているだけではあるのですが読めないのは困った。

■原因は?

どうやらこれはWPS-OFFICEのバグが原因なようで、ざっとネットを見渡してみると2023年ごろにはすでに話題に上がっているようなのですが現在のところバグが取り払われた気配はありません。

しかもこのバグ、FreeType2.13.0よりも新しいバージョンのFreeTypeと組み合わせた場合にのみ発症するようです。

なので、Ubuntu24.04にアップして標準インストールされるFreeTypeのバージョンが2.13.2になったがために目立つようになってしまった、ということのようです。

■対処方法は

さて、新しいバージョンどうしを組み合わせると問題が出るということであれば、どちらかを古いバージョンにダウングレードしてしまうというのが最も簡単な対処法です。

今回はこのサイトの記事を参考にfreetypeの側をダウングレードして対処したいと思います。

問題は、Ubuntu24ではfreetype2.13.2しか配布されていないようで、ちょっと探しにいってみても2.13.1までしか遡れない。

そうなるともう、古いバージョンのソースコードをなんとか入手してコンパイルするという作業が必要になってきます。

ソースコードそのものは、
https://sourceforge.net/projects/freetype/files/freetype2/2.13.0/freetype-2.13.0.tar.xz
から入手可能なようです。

■手順は?

ダウンロードした圧縮ファイルを解凍し、
そもそもfreetype2.13.2がインストール済みという前提なので2.13.0のインストールは不要で、コンパイルまで進めることになります。

tar -xvf freetype-2.13.0.tar.xz
cd freetype-2.13.0
./configure –prefix=~/freetype-2.13.0
make -j$(nproc)

ここまでで必要なファイルが出来上がっているはずなので、

find . -name “*.so*”

として場所を確認します。私の環境では 、

./objs/.libs/libfreetype.so
./objs/.libs/libfreetype.so.6
./objs/.libs/libfreetype.so.6.19.0

と3つのファイルが出来上がっていたので、この3つをWPS-OFFICE配下のディレクトリにコピーします(挙動をみている限り3つめは不要な気もするが)。

sudo cp ./objs/.libs/libfreetype.so /opt/kingsoft/wps-office/office6/
sudo cp ./objs/.libs/libfreetype.so.6 /opt/kingsoft/wps-office/office6/
sudo cp ./objs/.libs/libfreetype.so.6.19.0 /opt/kingsoft/wps-office/office6/

■無事に解決

さてコピーまで済んだところでWPSを立ち上げてみます。

冒頭のライター(※ワード的なもの)で書いたファイルですが、日本語文字の太字部分がちゃんと潰れずに表示されています

もちろんWPSのライター以外のアプリケーション(スプレッドシート※エクセル的なもの、プレゼンテーション※パワポ的なもの)でも同様に改善することが確認できます。

最初この現象を目の当たりにしたときにはフォントファイルが壊れているか足りないのかな?などと考えたてアレコレ試すためにとても時間を消費するわけです。

でも解決できてみると「なんだこんな簡単なのかっ」となってしまうのはトラブル解決あるあるですね。


安心安全安価なSDカードデータ復元・HDDデータ復元は
長年の信頼と実績の『株式会社パソコントラブル救助隊』へ。
https://hqsecure.net/