Linuxにおけるフォントに関する一般的な例外とエラー
Linuxでコードを実行した際のテキストまたは画像(emfまたはwmf)が欠落している問題
この問題は、以下のケースに制限があるシステムで発生します:
- フォントがインストールされていない場合、またはJavaプロセスのフォントフォルダーにアクセスできない場合
- TEMPディレクトリにアクセスできない場合。
解決策
TEMPディレクトリおよびフォントフォルダーへのアクセスが許可されていることを確認してください。
代替策
FontsLoaderを使用して、必要なフォントをインストールせずにロードします:
FontsLoader.loadExternalFonts(pathToFontsFolders);
TEMPディレクトリにアクセスできない場合は、次のコードを使用してJavaのTEMPとして別のディレクトリを指定します:
String newTempFolder = “pathToTmpFolder”; String oldValue = System.getProperty(“java.io.tmpdir”); java.io.File file = new java.io.File(newTempFolder); if (!file.exists()) file.mkdir(); System.setProperty(“java.io.tmpdir”, newTempFolder); try {
FontsLoader.loadExternalFonts(pathToFontsFolders);
Presentation pres = ...
# ....
} finally { System.setProperty(“java.io.tmpdir”, oldValue); }
例外: InvalidOperationException: システムにインストールされているフォントが見つかりません
この例外は次のときに発生します
- Javaプロセスがフォントフォルダーにアクセスできない場合
- フォントがインストールされていない場合。
解決策
-
Javaプロセスのフォントフォルダーへのアクセスが許可されていることを確認してください。
-
フォントをいくつかインストールするか、FontsLoaderを使用します。
-
フォントをインストールします。
- Ubuntu:
```
sudo apt-get update
sudo apt-get install -y fonts-dejavu-core
fc-cache -fv
```php
```
* CentOS:
```php
```
sudo yum makecache
sudo yum -y install dejavu-sans-fonts
fc-cache -fv
```php
```
* [FontsLoader](https://reference.aspose.com/slides/php-java/aspose.slides/FontsLoader)を使用する場合:
```php
```
FontsLoader.loadExternalFonts(pathToFontsFolders);
```php
```
## **例外: NoClassDefFoundError: クラスcom.aspose.slides.internal.ey.thisを初期化できませんでした**
この例外はフォントコンフィグとフォントが不足しているLinuxシステムで発生します。
### 解決策:
fontconfigをインストールします:
* Ubuntu:
```php
sudo apt-get update sudo apt-get -y install fontconfig
- CentOS:
sudo yum makecache sudo yum -y install fontconfig
また、一部のopen-jdkバージョン(例えば、alpine JDK)は、インストールされたフォントが必要です。
- Ubuntu:
sudo apt-get install -y fonts-dejavu-core fc-cache -fv
- CentOS:
sudo yum -y install dejavu-sans-fonts fc-cache -fv
例外: UnsatisfiedLinkError: libfreetype.so.6: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません
この例外はlibfreetypeライブラリが不足しているLinuxシステムで発生します。
解決策:
libfreetypeおよびfontconfigをインストールします:
- Ubuntu:
sudo apt-get update sudo apt-get install libfreetype6 sudo apt-get -y install fontconfig
- CentOS:
sudo yum makecache sudo yum install libfreetype6 sudo yum -y install fontconfig