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 ) ;
gráficos myBI.createGraphics = ();
booleano monoespaciado = true;
int fontStyle = Font.PLAIN ;
fontSize int = 12 ;
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 )