# Unicode (Kyrillisch)



## Ruller (11. Nov 2006)

Hallo wie kann ich Unterstüzung von Kyrillischen Zeichen in meinen Programm  implementieren lassen?
Über einen Beispiel oder einen Link werde ich mich sehr freuen.

Danke


----------



## Ark (11. Nov 2006)

Ich denke, das sollte man dem Betriebssystem überlassen. Wer Kyrillisch etwas eingeben will, muss halt ein entsprechendes Tastaturlayout verwenden (z. B. russisch).

MfG
Ark


----------



## byte (12. Nov 2006)

Die Schriftzeichen müssen von der Schriftart des jeweiligen Eingabe- oder Ausgabefeldes unterstützt werden. Nicht jede Schrift beherrscht jedes Unicode Zeichen. Die Konsole sowie alle hier gängigen Fonts unterstützen bestimmt kein kyrillisch. Musste mal gucken, welche Font sich da anbietet. Aber über die Konsole gehts sicher nicht.


----------



## thE_29 (12. Nov 2006)

Arial kann das 

Müsstest unter Linux mitlieferen, desweiteren war bei der jdk1.4 und Suse8 das so, das statt kyrillische Zeichen arabische Zeichen angezeigt wurden. Musst einen Key service (oder so in der Art) eintragen im ext Verzeichnis..


----------



## Wildcard (12. Nov 2006)

thE_29 hat gesagt.:
			
		

> Müsstest unter Linux mitlieferen


Das glaub ich nicht, Tim  :bae: 
Arial ist keine freie Schriftart, die darf man nicht einfach so kopieren.


----------



## byte (12. Nov 2006)

thE_29 hat gesagt.:
			
		

> Arial kann das <



Oh stimmt. Und dafür lassen sie wichtige mathematische Symbole weg, die Pfeifen... :gaen:


----------



## thE_29 (13. Nov 2006)

@wildcard: Solange das kein gib mir 5000€ Produkt ist, isses glaube ich net so schlimm...

Sagst halt du warst das nicht


----------



## byte (13. Nov 2006)

Sowas ist halt so lange nicht schlimm, bis man erwischt wird.


----------



## thE_29 (13. Nov 2006)

Ansonsten schreib in der Readme, suche nach arial.ttf in google und installiere es 

http://www.webpagepublicity.com/free-fonts-a4.html

Hier gibt es sie ja auch zum Downloaden!


----------



## byte (13. Nov 2006)

Coole Seite. Wenn ich das jetzt richtig gelesen hab, dann ist Arial eh nur ein Nachbau von Helvetica und ist offenbar frei. Helvetica hingegen scheint nicht frei zu sein.

Irgendwie müsste man heutzutage noch Jura studiert haben, um sich durch diesen Lizenz-Dschungel zu schlagen.  :autsch:


----------



## Ruller (19. Nov 2006)

Heisst es jeder User soll sich die Fonts installieren bevor das Programm benuzt wird? Oder gibt's Möglichkeit die Fontst ins Programm rein zupacken ?.


----------



## Wildcard (19. Nov 2006)

Du kannst fonts in dein jar packen und zur Laufzeit laden (Achtung! Viele Fonts dürfen nicht frei verteilt werden)


----------



## Ruller (19. Nov 2006)

wie aber kannst du ein Beispiel oder Link senden ?

vielen Dank


----------



## Wildcard (19. Nov 2006)

http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Font.html#createFont(int, java.io.File)


----------



## Ruller (19. Nov 2006)

Habe versucht bekomme aber nur  Fragezeichen in der Ausgabe ( ???? ??????

Font kan man hier runterladen 
 www.WebpagePublicity.com/free-fonts/a/Arial.ttf 



```
import java.awt.*;
import java.io.*;
import javax.swing.*;

public class UnicodeExample extends JLabel
{
   public UnicodeExample(String fontFileName, String text)throws IOException, FontFormatException 
   {
      super(text, JLabel.CENTER);
      setBackground(Color.white);
      InputStream is = this.getClass().getResourceAsStream(fontFileName);
      if (is == null)
      {
         throw new IOException("Cannot open " + fontFileName);
      }
      
      Font ttfBase = Font.createFont(Font.TRUETYPE_FONT, is);
      Font ttfReal = ttfBase.deriveFont(Font.PLAIN, 24);
      setFont(ttfReal);
   }

   public static void main(String[] args) throws Exception
   {
      String DEFAULT_MESSAGE ="Всем привет";
      String DEFAULT_FONTFILE ="./Arial.ttf";
      String message = args.length == 1 ? args[0] : DEFAULT_MESSAGE;
      JFrame f = new JFrame("TrueType Font Demo");
      UnicodeExample ttfd = new UnicodeExample(DEFAULT_FONTFILE, message);
      f.getContentPane().add(ttfd);
      f.setBounds(100, 100, 700, 250);
      f.setVisible(true);
      f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   }
}
```


----------



## Wildcard (19. Nov 2006)

Hast du vorher überprüft ob genau dieser Font deine Zeichen auch wirklich darstellen kann?
Das Font-laden hat ja offensichtlich funktioniert.


----------

