0

WebアプリケーションとしてAzureに配備したときにJVMで独自のカスタムフォントを使用できるようにするにはどうすればよいですか? (注:これはhtmlページに戻って適切なMIMEタイプを設定することとは異なります。私はluceeとcoldfusionを使って生成された画像にフォントを適用します)。Azure Webアプリケーションにフォントを追加する方法サーバー側でJava JVMを使用する

古い世界では、システムフォントフォルダにフォントを追加するだけで、JVMは実行時にそのフォントを利用できるようになります。 Azure Webアプリケーションでは、このフォルダにアクセスできません。 (その中にTTFファイルで)私のカスタムフォントフォルダへのパスを指定するには、JAVA_FONTS環境変数を使用して

  • :私たちは、私は思っ

    物事が動作するはずですが、それには思われないのJava 8を実行しています

  • Webアプリケーション内でフォントを作成して登録するJava呼び出しを行う。 getLocalGraphicsEnvironment /のcreateFont/RegisterFont(これはフォントを登録しますが、ディスポーザーのガベージコレクタスレッドチョークやクラッシュ - 。数時間ごとに私のJVMをクラッシュフォントの読み込みを取り出し、そしてそれがsmooooothを実行します)

今事実彼らは私にとってうまくいかなかったのは、プロセスの正確な構文を誤解するだけの単純なことかもしれません。

どのようにしてフォントを読み込むことができますか?

答えて

0

ソリューションは、このように見えたアプリケーション設定ブレード上のキーと値のペアを追加することです\ ROOT \ App \ include \ fonts

フォントが正しく読み込まれました。 (私のガベージコレクションのバグはまだ残っていますが、フォントの読み込みの問題は解決されました)

0

私がこの中で見つけたもののベースdocument

は、私はあなたのガベージコレクタスレッドのクラッシュの主な理由は、 のcreateFont方法は 一時ファイルを大量に作成することだと思います。

ソリューション:

あなたはInputStreamのメソッドを置き換える以下のコードの抜粋を参照することができます。

String pathString = FontLoader.class.getResource("/font/xxx.ttf").getFile(); 
Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, new File(pathString)); 

また、SOスレッド:Font.createFont leaves files in temp directoryを参照することもできます。

お手伝いします。

JAVA_OPTS

-Dsun.java2d.fontpath = D:\ホーム\サイト\ wwwrootの\ webappsに

+0

一時ファイルの作成の兆候は見えません。createFontはアプリケーションへの最初の呼び出し時にのみ呼び出されます初期化し、さらには6つのフォントで初期化します。 – Cam

関連する問題