# Euro-Symbol in GrafikText?



## Fats (15. Mrz 2007)

Hallo Miteinander!

Ich bastel mir etwa in folgender Art und Weise eine Textgrafik zusammen:


```
BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = img.createGraphics();
Font raw_font = Font.createFont(Font.TRUETYPE_FONT, new File("path/to/font/arial.ttf"));
Font ttf = raw_font.deriveFont(15f);
g2d.setFont(ttf);
g2d.setColor(Color.RED);
g2d.drawString("Hallo World",20,10);
g2d.dispose();
ImageIO.write(img, "png", new File("myfile.png"));
```

Wenn ich jetzt statt des einfachen "Hallo Welt"-Textes z.B. das Euro-Zeichen einbaue, dann bekomme ich komische Sonder-Zeichen in der Grafik und alle Umlaute funktinieren plötzlich nicht mehr. Woran liegt das? Wie kann man den Zeichensatz beeinflussen? Kann man und wenn ja wie zB. einen spanischen Zeichensatz  einbauen?

Viele Grüße
Fats


----------



## Gast (21. Mrz 2007)

Ich denke der Zeichensatz ist durch die in arial.ttf definierten Zeichen beschränkt. Wenn dieser Zeichensatz also kein Euro-Zeichen vorsieht, hast du keine Chance...


----------



## Fats (21. Mrz 2007)

Hmm .... Wenn es jetzt eine abgefahrene SpaßSchriftart wäre, aber grade Arial kann doch in aller Regel das Euro Zeichen darstellen - zumindest im OpenOffice. Und der Zeichensatz, den ich für die Schrift verwende, stammt aus dem Windows Font Dir. Das sollte dann doch genau der gleiche sein, oder?  ???:L


----------



## Lulumann6 (31. Mrz 2007)

soweit ich weis kommt es auf den Compiler an.  bei Javac geht es aber z.B. bei Jikes geht es nicht. keine Ahnung warum.


----------



## Spacerat (3. Apr 2007)

Hi,

Aufgrund der Tatsache, das Java mit Unicodes (char) arbeitet und es sich bei dem gewünschten Zeichen um ein Sonderzeichen handelt bekommt man dieses nur mit dessen Zeichencode ('\u20ac'). Allerdings muss man vorher sicherstellen, daß dieser auch im gewählten Zeichensatz an der korrekten Stelle ist. Ggf. kann man die Zeichencodes solcher Sonderzeichen (unter Windows) aus der Zeichentabelle bekommen.

cu Spacerat


----------

