La biblioteca de clases estándar para el lenguaje de programación Java incluye soporte para una interfaz gráfica de usuario se accede a través del Abstract Window Toolkit ( AWT ) . Entre otras abstracciones , AWT permite al código Java para seleccionar caracteres distintos de los instalados de forma local en el equipo. Cada fuente tiene un conjunto de propiedades tales como el nombre y el peso . En particular , se puede determinar si una fuente se monoespaciado ( es decir, si todos los caracteres ocupan el mismo espacio horizontal) mediante pruebas de las propiedades de la fuente de que se trate a partir de código Java especialmente diseñado. Instrucciones
1
incluir la siguiente línea en el inicio de su código Java:
import java.awt * ;
2
Inicializar las siguientes variables. , que se utilizará más adelante para determinar si la fuente es solo espacio :
cadena myFontName = " TimesNewRoman " ;
BufferedImage myBI = new BufferedImage ( 1 , 1 , BufferedImage.TYPE_INT_ARGB ) ; < br >
gráficos myBI.createGraphics = ();
booleano monoespaciado = true;
int fontStyle = Font.PLAIN ;
fontSize int = 12 ; < br >
fuente MyFont = new fuente ( myFontName , fontStyle , fontSize ) ;
FontMetrics myFontMetrics = graphics.getFontMetrics ( MyFont ) ;
Reemplazar " TimesNewRoman " por el nombre de la fuente que que desee comprobar .
3
Determinar si la fuente está monoespaciado haciendo un bucle sobre todas las letras y dígitos en la parte inferior 7 bits de código de punto de la fuente mientras se mantiene un registro de si se han visto más de una anchura de caracteres hasta ahora. El siguiente código de ejemplo implementa el algoritmo :
theWidth int = 0 ;
booleano theWidthIsDefined = false;
for (int charCode = 0 ; charCode < 128 ; charCode + +) {
if ( ( charCode ) && Character.isValidCodePoint ( Character.isLetter ( charCode )