Javaでgraphcis2dを使用しており、現在これを使用してテキストをbufferedImageに描画しています
Font font1 = new Font("Arial", Font.PLAIN, 120);
g2d.setFont(font1);
FontMetrics fm1 = g2d.getFontMetrics(font1);
g2d.drawString(s[1], width/2-fm1.stringWidth(s[1])/2, height/4-70);
このテキストを別の色のアウトラインで描きたいです。
GlyphVector gv = font1.createGlyphVector(g2d.getFontRenderContext(), s[1]);
Shape shape = gv.getOutline();
g2d.setStroke(new BasicStroke(4.0f));
g2d.translate(width/2-fm1.stringWidth(s[1])/2, height/4-70);
g2d.draw(shape);
機能するこの方法を使用する際の問題は、アラビア文字を使用していて、GlyphVector を使用すると順序が逆になり、文字が互いに流れないことです。
誰かがアラビア語のテキストをある色でレンダリングし、別の色でアウトラインを作成する方法を説明してもらえますか?
使用するテキストのサンプルを次に示します。