A biblioteca de classes padrão para a linguagem de programação Java inclui suporte para uma interface gráfica acessada através do Abstract Window Toolkit ( AWT ) . Entre outras abstrações , AWT permite que o código Java para selecionar diferentes fontes de caracteres daqueles instalados localmente no computador. Cada fonte tem um conjunto de propriedades, tais como nome e peso. Em particular, você pode determinar se uma fonte é monoespaçada ( isto é, se todos os caracteres ocupam o mesmo espaço horizontal) , testando as propriedades da fonte em questão a partir especialmente trabalhada código Java. Instruções
um
Inclua a seguinte linha no início do seu código Java :
import java.awt * ;
2
Inicializar as seguintes variáveis . , que será usada mais tarde para determinar se a fonte é monoespaçada :
Cordas myFontName = " TimesNewRoman ";
BufferedImage myBI = new BufferedImage ( 1, 1, BufferedImage.TYPE_INT_ARGB ); < br >
gráficos Gráficos = myBI.createGraphics ();
boolean monoespaçada = true;
int fontStyle = Font.PLAIN ;
int fontSize = 12; < br >
font myFont = new font ( myFontName , fontStyle , fontSize );
FontMetrics myFontMetrics = graphics.getFontMetrics ( myFont );
Substituir " TimesNewRoman " pelo nome da fonte que você deseja verificar.
3
Determinar se a fonte é monoespaçada por looping sobre todas as letras e números nas mais baixas 7 bits de ponto de código da fonte , mantendo o controle de saber se você já viu mais de um personagem de largura até o momento. O seguinte código de exemplo implementa esse algoritmo :
int theWidth = 0;
boolean theWidthIsDefined = false;
for (int charCode = 0; charCode < 128; charCode + +) {
if ( Character.isValidCodePoint ( charCode ) && ( Character.isLetter ( charCode )