Standarden klassbibliotek för programmeringsspråket Java har stöd för ett grafiskt användargränssnitt nås via Abstract Window Toolkit ( AWT ) . Bland andra abstraktioner , låter AWT Java -kod för att välja olika typsnitt från de lokalt installerade på datorn . Varje teckensnitt har en uppsättning av egenskaper, såsom namn och vikt. I synnerhet , kan du avgöra om ett typsnitt med fast bredd ( det vill säga om alla tecken upptar samma mängd utrymme horisontellt ) genom att testa egenskaperna hos teckensnittet i fråga från speciellt skapad Java-kod . Instruktioner
1
Inkludera följande rad i början av din Java-kod :
import java.awt *;
2
Initiera följande variabler . , som kommer att användas senare för att avgöra om teckensnittet är fast bredd :
String myFontName = " TimesNewRoman ";
BufferedImage myBI = ny BufferedImage ( 1 , 1 , BufferedImage.TYPE_INT_ARGB ) ;
grafik Grafik = myBI.createGraphics ();
boolean fast bredd = true;
int fontStyle = Font.PLAIN ;
int fontSize = 12 ;
font myFont = new font ( myFontName , fontStyle , fontSize ) ;
FontMetrics myFontMetrics = graphics.getFontMetrics ( myFont ) ;
Ersätt " TimesNewRoman " av namnet på det typsnitt du vill kontrollera .
3
Bestäm om teckensnittet är enkelbredds av looping över alla bokstäver och siffror i nedre 7 bitar i typsnittet kod pekar samtidigt hålla koll på om du har sett mer än ett tecken bredd hittills . Följande exempelkod implementerar denna algoritm :
int theWidth = 0 ;
boolean theWidthIsDefined = false;
för ( int charCode = 0; charCode < 128 ; charCode + + ) {
om ( Character.isValidCodePoint ( charCode ) && ( Character.isLetter ( charCode )