Der Standard -Klassenbibliothek für die Programmiersprache Java unterstützt eine grafische Benutzeroberfläche durch das Abstract Window Toolkit ( AWT) abgerufen. Unter anderem Abstraktionen erlaubt AWT Java-Code auf verschiedene Zeichensätze von denen lokal auf dem Computer installiert wurde. Jede Schriftart hat eine Reihe von Eigenschaften, wie z. B. Name und Gewicht. Insbesondere können Sie bestimmen, ob eine Schriftart monospaced ist ( das heißt, wenn alle Zeichen die gleiche Menge von horizontalen Raum zu besetzen ) durch die Prüfung der Eigenschaften der Schrift in Frage speziell gestaltete Java-Code. Anleitung
1
Fügen Sie die folgende Zeile am Anfang Ihres Java-Code :
import java.awt * ;
2
initialisieren die folgenden Variablen . , die später verwendet werden, um festzustellen, ob die Schrift ist monospaced :
String myFontName = " TimesNewRoman ";
BufferedImage myBI = new BufferedImage ( 1, 1, BufferedImage.TYPE_INT_ARGB );
Graphics Grafiken = myBI.createGraphics ();
boolean monospaced = true;
int fontStyle = Font.PLAIN ;
int fontSize = 12;
Font myFont = new Font ( myFontName , fontStyle , fontSize );
FontMetrics myFontMetrics = graphics.getFontMetrics ( myFont );
Ersetzen " TimesNewRoman " durch den Namen der Schriftart, die Sie überprüfen möchten.
3
Bestimmen Sie, ob die Schrift durch Schleifen über alle Buchstaben und Ziffern in den unteren 7 Bits von der Schriftart Code Punkt während Spur davon, ob Sie mehr als monospaced gesehen wird ein Zeichen Breite so weit. Der folgende Beispielcode implementiert diesen Algorithmus :
int Die Breite = 0;
boolean theWidthIsDefined = false;
for (int charCode = 0; charCode < 128; charCode + +) {
if ( Character.isValidCodePoint ( charCode ) && ( Character.isLetter ( charCode )