76 A$="Esto"+AT(10,10)+"es"+AT(1,2)+"el poder de"+AT(20,20)+"AMOS" Print A$ Esos comandos AT son ideales para las tablas de records de puntos ya que te permiten posicionar tu propio texto antes y durante el desarrollo de la fase de inicializacion de tu programa. Asi que ya podras actualizar el tanteo en el punto actual de la pantalla usando una simple orden. He aqui un ejemplo: HI_SCORE$=AT(20,10)+"Hi Score" SCORE=10000 Print HI_SCORE$;SCORE Funciones de conversion ======================= AMOS Basic te facilita utiles funciones que te permiten una facil conversion entre coordenadas graficas y de texto. =XTEXT (convierte una coordenada X en formato de texto) =YTEXT (convierte una coordenada Y en formato de texto) t=XTEXT(x): t=YTEXT(y) Esas funciones toman unas coordenadas normales X e Y y las con- vierten en coordenadas de texto relativas a la actual ventana. Si las coordenadas de pantalla se salen de la ventana entonces apare cera un valor negativo. =XGRAPHIC (convierte coordenada de texto en formato grafico) =YGRAPHIC (convierte coordenada de texto en formato grafico) g=XGRAPHIC(x):g=YGRAPHIC(y) Esas funciones son en realidad las inversas a las anteriores, y van a tomar una coordenada de texto X o Y desde 0 hasta la longi- tud o profundidad de la ventana actual y la convierte en una coor denada absoluta de pantalla. Comandos del cursor =================== El cursor de texto aparece como un visible punto de comienzo para el todo el texto futuro. Es representado como una barra ho- rizontal intermitente, aunque este formato puede ser cambiado si usamos los comandos SET CURS y CURS OFF. Moviendo el cursor en pantalla, podras posicionar tu texto en cualquier sitio. Pero recuerda, todas las medidas de coordenadas deben ser coordenadas adecuadas a la actual ventana. 77 HOME (Cursor HOME) HOME Mueve el cursor de texto hacia la esquina superior izquierda de la actual ventana (coordenadas 0,0). CDOWN (Cursor ABAJO) CDOWN Desplaza el cursor una linea hacia abajo =CDOWN$ (Devuelve un caracter CHR$(31)) x$=CDOWN$ CDOWN$ es una funcion que devuelve un caracter especial de con- trol que automaticamente mueve el cursor cuando es imprimido. Asi CDOWN$ es identico a CDOWN, pero CDOWN$ te permite combinar va- rios movimientos de cursor en una simple cadena. Por ejemplo: C$="Ñ"+CDOWN$ For a=0to20 Print C$; Next A CUP (Cursor ARRIBA) CUP Mueve el cursor una linea arriba de forma parecida a CDOWN. =CUP$ (Devuelve un caracter CHR$(30)) x$=CUP$ CUP$ devuelve una cadena de control que desplaza el cursor arri- ba por un simple caracter. CLEFT (Cursor a la izquierda) Desplaza el cursor de texto un caracter hacia la izquierda =CLEFT$ (Genera una cadena de control CHR$(29) para CLEFT) x$=CLEFT$ Mueve el cursor de texto un caracter hacia la izquierda. Funciona como =CUP$ 78 CRIGHT (Cursor a la derecha) Desplaza el cursor un lugar hacia la derecha. =CRIGHT$ (Genera una cadena de control CHR$(28) para CRIGHT) x$=CRIGHT$ Es lo contrario a CLEFT$ XCURS (Devuelve la coordenada X del cursor de texto) YCURS (Devuleve la coordenada Y del cursor de texto) x=XCURS:y=YCURS XCURS es una variable que contiene la actual coordenada X del cur sor de texto (en el formato de texto). YCURS hace lo propio con la coordenada Y. SET CURS (Establece el formato del cursor de texto) SET CURS L1,L2,L3,L4,L5,L6,L7,L8 Esta instruccion te permitira cambiar el formato del cursor a una otra forma de tu gusto. El formato viene especificado por una lis ta de parametros almacenados desde L1 a L8. Cada parametro deter- mina la apariencia de una linea horizontal del cursor, numerada de arriba a abajo. Cada bit representa un punto simple en la actual linea del cur sor. Si se coloca un "1" en un determinado punto, aparecera el ac tual color de texto, en caso contrario se mostrara el color del fondo. Ejemplo: L1=%11111111 L2=%11111110 L3=%11111100 L4=%11111000 L5=%11110000 L6=%11100000 L7=%11000000 L8-%10000000 SET CURS L1,L2,L3,L4,L5,L6,L7,L8 CURS ON/OFF (activa/desactiva el cursor de texto) CURS ON Hace visible el cursor de texto CURS OFF Oculta el cursor de la ventana actual MEMORIZE X/Y (Guarda las coordenadas X e Y del cursor) MEMORIZE X/Y El comando MEMORIZE almacena la actual posicion del cursor. 79 REMEMBER X/Y (Recupera las coordenadas X e Y del cursor) REMEMBER X/Y El comando REMEMBER recuerda la posicion del cursor, cuyas coorde nadas han debido ser previamente salvadas mediante MEMORIZE. En caso de que MEMORIZE no haya sido usado, entonces dichas coordena das seran cero. CLINE (Limpia parte o toda la actual linea del cursor) CLINE ¡n¿ Limpia la linea en la cual esta posicionado el cursor. Si N es indicado, entonces seran N caracteres los afectados por la orden, comenzando desde la posicion del cursor. CURS PEN (Elige un nuevo color para el cursor de texto) CURS PEN n Cambia el color del cursor por el numero indice N. Entrada/Salida del texto ======================== CENTRE (Imprime una linea de texto centrado en pantalla) CENTRE A$ Toma una cadena de caracteres en A$ y lo imprime en el centro de la pantalla. Este texto es siempre mostrado en la actual linea del cursor Locate 0,1 Centre "Este es un titulo centrado" =TAB$ (Imprime con tabulacion) X$=TAB$ TAB$ devuelve un caracter de control conocido como TAB (ASCII 9). Cuando este caracter es imprimido, el cursor de texto se mueve automaticamente varios puestos hacia la derecha. El valor del des plazamiento puede ser previamente determinado usando el comando SET TAB. Por defecto, el espaciado de TAB es de 4 espacios. SET TAB (Cambia la tabulacion) SET TAB n Especifica la distancia que el cursor de texto debera desplazarse cuando aparezca el caracter TAB. REPEATS (repite una cadena) x$=REPEAT$(a$,n) La funcion REPEAT$ te permite imprimir la misma cadena de caracte res varias veces usando una orden simplemente. Funciona añadiendo una secuencia de caracteres de control en la variable X$. Cuando esta variable es imprimida, AMOS simplemente repite a$ en panta- lla n veces. Los valores posibles para N oscilan entre 1 y 207. El formato de la cadena de control es: CHR$(27)+"RO"+A$+CHR$(27)+"R"+CHR$(48+n) 80 Comandos avanzados de texto =========================== ZONE$ (Establece una zona alrededor de un texto) x$=ZONE$(a$,n) La funcion ZONE$ rodea una porcion de texto con una zona de pan- talla. Una vez que hayas definido alguna de estas zonas, podras chequear la existencia de colisiones entre la zona y el raton, mediante el uso de este comando. Esto te permitira crear podero- sos menus de pantalla y cajas de dialogos sin tener que recurrir a complicadas tecnicas de programacion. A$ es una cadena que contiene el texto para uno de los "boto- nes" de tu caja de dialogos. Este boton se activara automaticamen te cuando imprimas x$ en pantalla. "N" especifica el numero de la zona de pantalla que va a ser definida. El numero maximo de estas zonas dependera del valor que hayas especificado en la reserva de zona (RESERVE ZONE). Ver ejemplo 8.5 en el cajon MANUAL. El formato de la cadena de control es: CHR$(27)+"ZO"+A$+CHR$(27)+"R"+CHR$(48+n) BORDER$ (añade un borde al texto) x$=BORDER$(a$,n) Devuelve una cadena de caracteres de control que instruyen a AMOS para dibujar un borde alrededor del texto deseado. Habitualmente se usa conjuntamente con el comando ZONE$ para producir bonitos botones y cajas de dialogo o alerta. "N" es el numero de borde que puede oscilar de 1 a 16, y "A$" contiene el texto a enmarcar, dicho texto comenzara en la actual posicion del cursor. Te sorprenderas imprimiendo el texto en la posicion 0,0!. Para crear una zona de pantalla con un borde: Print Border$(Zone$(" CLICK AQUI ",1),2) Esto encerrara el texto en la zona numero 1 y borde numero 2. La secuencia de control seria: CHR$(27)+"EO"+A$+CHR$(27)+"R"+CHR$(48+n) HSCROLL (Scroll horizontal de texto) HSCROLL n Este comando produce un scroll del texto horizontalmente en la actual ventana abierta. "N" puede tomar los siguientes valores: 1= Mueve la actual linea a la izquierda 2= Scroll de toda la pantalla a la izquierda 3= Mueve la linea actual a la derecha 4= Scroll de toda la pantalla a la derecha. 81 VSCROLL (Scroll vertical de texto) VSCROLL n Este comando produce uns croll vertical del texto en la ventana que este abierta en ese momento. Para "N": 1= Todo texto desde el cursor hacia abajo sufre un scroll hacia abajo 2= El texto desde la linea del cursor hacia abajo sufre un scroll hacia arriba 3= Solo el texto desde la parte superior de la pantalla hasta la linea del cursor es llevado hacia arriba 4= El texto desde la parte superior de la pantalla hasta la linea del cursor es llevado hacia abajo Lineas en blanco ocuparan el espacio dejado por las operacio- nes de scrolling. Ventanas ======== Los comandos de ventana de AMOS restringen las operaciones con textos y las graficas, a una parte de la ventana actual. Las ven- tanas AMOS pueden ser usadas con los comandos de Zona para produ- cir cajas de dialogos como los selectores de ficheros y las ta- blas de records. Una tipica caja de atencion, por ejemplo, puede ser facilmente creada con solo un par de lineas de AMOS Basic. WINDOPEN (Crea una ventana) WINDOPEN n, x, y, w, h ¡,border ¡,set¿ La instruccion WINDOPEN abre una ventana y la muestra en pantalla Esta ventana podra ser ahora utilizada para todas las siguientes operaciones. "N" es el numero de la ventana que va a ser definida AMOS te permite crear todas las ventanas que desees, con la unica limitacion de la cantidad de memoria disponible. Por defecto, el numero de ventana es asignado como cero a la pantalla actual. Asi que no debes intentar reabrir esta ventana usando WINDOPEN, solo cambiala con WIND SIZE o WIND MOVE. "X" e "Y" son las coordenadas graficas de la esquina superior izquierda de tu nueva ventana. Una vez que las ventanas de AMOS son diseñadas usando el chip del Amiga, el area de la ventana es- ta siempre limitada a 16 pixel. Al objeto de observar esto, las coordenas X seran siempre multiples de 16. Ademas, si incluyes un borde para tu ventana, la coordenada X se vera aumentada en 8 mas Esto nos asegura que el area de trabajo de la ventan siempre va a comenzar en el limite correcto de pantalla. No existen restriccio nes con respecto a la coordenada "Y". "W" y "H" especifican el tamaño en caracteres de la nueva ven- tana. Dichas dimensiones deben ser siempre multiplos de 2. 82 "Border" selecciona un estilo para tu ventana. Existen 16 posi bles estilos, con valores que oscilan entre 1 y 16. Los bordes de la ventana pueden incluir mas de 2 lineas opcionales de titulos. Un titulo es mostrado a lo largo de la parte mas alta de la venta na, mientras que el otro puede aparecer en la parte inferior. Las ventanas AMOS pueden contener texto o graficos, al igual que el sistema. A cada ventana se puede asignar su propio set de caracteres con el poderoso comando WINDOW FONT. Tambien existe una no menos poderosa instruccion WIND SAVE que graba el area de pantalla contenida en una ventana. Cuando mueves una de esas ven- tanas, el contendio subyacente sera nuevamente redibujado. Por ejemplo: For w=1 to 3 Windopen W, (W-1)*96,50,10,101 Paper W+3: Pen W+6: Clw Print "Ventana ";W Next W Puedes elegir entre esas ventanas mediante el comando WINDOW. Intenta ejecutar en modo directo las siguientes ordenes: Window 1:Print "AMOS" Window 2:Print "in action!" Window 3:Print "Basic" La ventana activada puede ser siempre distinguida por un cur- sor sobreimpresionado que puede ser desactivado si se desea con el comando CURS OFF. WINDOW FONT (Cambia la fuente de la ventana) WINDOW FONT n Cambia la fuente usada por la ventana actual por el set N. En don de "N" es el numero de fuente grafica que ha sido previamente ins talado con el comando GET FONT. Esta fuente debe tener unas dimen siones exactas de 8*8, puesto que las fuentes proporcionales no son permitidas. Una vez hayas hecho los bordes de la ventana usando alguno de esos caracteres, conseguiras mejores resultados si utilizas las fuentes standard de WORKBENCH. WIND SAVE (Graba el contenido de la ventana actual) WIND SAVE El comando WIND SAVE te permite mover tus ventanas a cualquier lugar de la pantalla sin destruir el contenido. Una vez hayas ac tivado este sistema, cualquier ventana que abras en lo sucesivo grabara automaticamente el contenido de la ventana subyacente. Este area sera redibujada cuando cierres una ventana o la muevas a una nueva posicion. 83 Es importante advertir que esta opcion graba el contenido de la ventana actual, en vez de la que estes definiendo con la orden WIND OPEN. Al comienzo de tu programa la ventana actual sera por defecto la pantalla que ves, y contendra un gran bloque de 32 K de memo- ria. Si deseas grabar solo una caja de dialogos sobre el fondo subyacente, desperdiciaras la mayor parte de esta memoria. La solucion es crear una ventana postiza del tamaño necesario y posicionarla sobre la zona que deseas grabar. Ahora podras eje- cutar el comando WIND SAVE y continuar normalmente con tu progra ma. Cuando posteriormente hagas una llamada a tu caja de dialogos el area subyacente sera grabada como parte de tu ventana postiza. Asi, se almacenara automaticamente despues de que tu ventana haya desaparecido. BORDER (Cambia el borde de la actual pantalla de ventana) BORDER n, paper, pen El comando BORDER ubica el borde de la ventana actual segun el es tilo "N". Este borde sera dibujado usando un grupo de caracteres instalados en la fuente por defecto. Ademas es posible crear tu propio estilo de borde, utilizando un accesorio de definicion de fuentes. Las opciones PAPER y PEN te permiten elegir libremente los co- lores de tu borde. Se aceptan numeros que oscilan de 1 a 16. Cual quiera de los parametros de este comando puede ser omitido: BORDER 2,, BORDER 2,,3 TITLE TOP (Define el titulo superior para la ventana actual) TITLE TOP T$ Esta instruccion ubica en la linea mas alta de la ventana actual, el titulo contenido en la cadena T$. Solo aquellas ventanas borde adas, es decir que contienen un borde, pueden ser usadas de esta forma. Windopen 5,1,1,20,10 Title Top "Window number 5" Wait Key TITLE BOTTOM (Define titulo inferior para la ventana actual) TITLE BOTTOM B$ Este comando asigna la cadena B$ al titulo inferior de la ventana actual. 84 WINDOW (Cambia la ventana actual) WINDOW n Este comando activa la ventana N como ventana actual. Si el siste ma de grabacion automatica ha sido inicialmente activado, esta ventana sera inmediatamente redibujada con su contenido. =WINDOW (Devuelve el valor de la ventana actual) W=WINDOW Este comando devuelve el numero de identificacion de la ventana actualmente activa. WIND CLOSE (Cierra la ventana actual) WIND CLOSE Borra la ventana actual. Usa previamente el comando WIND SAVE si no quieres perder todo el contenido de la ventana cuando vayas a cerrarla. WIND MOVE (Mueve una ventana) WIND MOVE x,y Mueve la ventana actual a las coordenadas graficas X e Y, que co- mo pasaba con las coordenadas originales de definicion de ventana la X debe coincidir con el multiplo mas proximo de 16. WIND SIZE (Cambia el tamaño de la ventana actual) WIND SIZE sx, sy Este comando cambia el tamaño de una ventana AMOS. El nuevo forma to, SX y SY, se especificara en unidades simples. SX debe ser mul tiplo de dos. Si previamente has usado el comando WIND SAVE, el contenido original de tu ventana sera redibujado por esta instruccion. Pero si la nueva ventana es mas pequeña que la original, todas aque- llas partes que queden fuera del borde se perderan. Por otro lado si has expandido el tamaño de tu ventana, el area alrededor de la zona grabada aparecera rellena con el color actual del papel. Ten presente, ademas, que despues de usar un comando WIND SIZE, el cursor de texto se resetea siempre a las coordenadas 0,0. CLW (Limpia la ventana actual) CLW Este comando borra el contenido de la ventana actual y la rellena con el color actual del papel. 85 Barra deslizante ================ AMOS incorpora 3 instrucciones que te permitiran mostrar una barra deslizante standard en pantalla. Esas barras no podran ser directamente manipuladas desde el raton. Al objeto de crear una barra movil de trabajo, necesitaras escribir una pequeña rutina en Basic para organizar su funcionamiento dentro de tu programa. Debido al gran poder de AMOS, esto es extremadamente facil de realizar, y los resultados son impresionantes, como se podra ver. HSLIDER (Dibuja un 'slider' horizontal (barra movil)) HSLIDER x1, y1 To x2, y2, total,pos,size Esta orden dibuja una barra movil o 'slider' horizontal desde las coordenadas xi,y1 hasta x2,y2. "TOTAL" es el numero de unidades individuales en que sera dividida la barra movil. Cada unidad re- presenta un item simple en el objeto que es controlado por la ba- rra movil. En la ventana de edicion, "total" debe ser el numero de lineas del programa actual. El tamaño de cada unidad es calcu lado segun la siguiente formula: (X2-X1)/Total "POS" es la posicion de la caja movil donde se ubica inicialmente la barra, y se mide en las unidades especificadas al usar "total" "SIZE" es la longitud de la caja movil en las unidades previas. VSLIDER (Dibuja un 'slider' vertical) VSLIDER x1,y1 to x2,y2,total,pos,size Es casi identico a la instruccion previa. SET SLIDER (Establece patron de relleno usado en el slider) SET SLIDER b1,b2,b3,pb,s1,s2,s3,sp Pese a que este comando parece bastante complicado, es en reali- dad muy simple. SET SLIDER introduce los colores y el patron que seran usados en los sliders creados con los 2 comandos anteriores "B1,B2,B3" establecen el color de tinta, papel y silueta del fondo de la caja. "PB" elige el patron de relleno que debe ser utilizado en esas regiones. "S1,S2,S3" introducen los colores de la caja del slider y "SP" selecciona el patron que sera usado. "BP" y "SP" pueden ser cualquier patron que desees. Como es habitual, los valores negativos se refieren a la imagen de un sprite del banco actual de sprites. Esto te permite crear diverti das y coloreadas cajas de sliders. 86 Fuentes ======= Existen dos tipos diferentes de fuentes disponibles en AMOS, fuentes de texto y de grafico. Las fuentes de texto son aquellas usadas por los comandos PRINT y WINDOW. Las fuentes de texto son conocidas como sets de caracteres y cada ventana AMOS puede tener su propio set. Las fuentes graficas son mucho mas flexibles y te ofrecen una amplia gama de estilos: 1- Texto grafico Tu ordenador AMIGA esta capacitado para mostrar una impresio- nante variedad de diferentes estilos de texto. El disco original de WORKBENCH, dispone 8 atractivas fuentes con distintos tamaños, y muchas mas fuentes de letras pueden ser libremente adquiridas en el dominio publico. Si dispones del WORKBENCH 1.3 tambien po- dras diseñar tus propias fuentes utilizando para ello el programa FED disponible en el disco EXTRAS. AMOS te asegura una total compatibilidad para esas fuentes. El texto podra aparecer en cualquiera de los tipos de imprenta dispo nibles y en cualquier punto de la pantalla. Las fuentes de AMOS pueden ser usadas en cualquier tipo de programa. TEXT (Imprime texto grafico) TEXT x,y,t$ Este comando imprime una linea de texto en T$ en las coordenadas graficas X e Y. Todas las coordenadas se miden segun la linea de base de los caracteres. Esto puede determinarse usando una espe- cial funcion: TEXT BASE. Normalmente, la linea de base es coloca en la parte inferior del caracter, pero algunas letras con prolongacion hacia abajo, como la g, j, q, etc presentan una "cola" que va algo mas alla de este punto. Por defecto, se selecciona un estilo de 8 puntos Topaz, pero este estilo puede cambiarse en cualquier momento utilizando la instruccion SET FONT. Prueba el siguiente programa y observa como el texto puede ser ubicado en cualquier posicion de pixels de la pantalla: Do Ink Rnd(15)+1,Rnd(15):Text Rnd(320)+1,Rnd(198)+1,"AMOS Basic" Loop Tambien observa como el color del texto se establece con la orden Ink, en lugar de los comandos PAPER o PEN. Esto enfatiza el hecho de que el comando TEXT es basicamente una instruccion grafi ca. Asi el control de las secuencias creadas por funciones como CUP$ seran imprimidas en la pantalla en el momento de ser correc- tamente interpretadas. No existe un paso automatico de linea cuando el texto alcanza el final de la ventana actual. Si intentas imprimir algo demasia- do largo, el texto sera habilmente entrecortado en la pantalla existente. Esto puede apreciarse en el ejemplo siguiente: Print String$("A",100):Text 0,100,String$("A",100) 87 GET FONTS (Crea una lista con todas las fuentes disponibles) GET FONTS Este comando crea una lista interna con todas las fuentes dispo- nibles en el actual disco de arranque. Esta lista es esencial para el buen funcionamiento del comando SET FONT, asi siempre de bes hacer un GET FONTS al menos una vez antes de intentar cam- biar la fuente existente. El contenido de esta lista puede ser examinado mediante la funcion FONT$. ATENCION!! al objeto de que funcione GET FONTS, tu actual dis- co AMOS siempre debe contener una copia del LIBS standard entre su contenido. Es importante recordar este hecho cuando hagas co- pias 'run-only' o programas compilados, porque a menos que tu dis co contenga los ficheros necesarios, AMOS Basic no funcionara co- rrectamente. GET DISC FONTS (Crea una lista de discos fuentes) GET DISC FONTS Este comando es identico al anterior, excepto por el hecho de que solo busca fuentes en los discos. Esas fuentes estan contenidas en el fichero FONTS de tu actual disco de arranque. Si tu deseas usar tus propias fuentes con AMOS, necesitaras copiarlas en tu disco normal de arranque. GET ROM FONTS (Crea una lista de fuentes ROM) Este comando produce un listado de fuentes instaladas en la memo- ria chip de tu Amiga. En este momento hay solo 2 tipos de fuentes la Topaz de 8 puntos y la Topaz de 9 puntos. =FONT$ (Devuelve un informe sobre la fuente utilizada) a$=FONT$(n) Devuelve una cadena de 38 caracteres que se describen en la fuen- te n. Esta funcion te permite examinar la lista de fuentes creada con una llamada previa al comando GET FONT. A$ contiene un listado de caracteres que contiene el nombre y el tipo de tu fuente. Si una fuente no existe, a$ aparecera como valor "", de otro modo, tendra el siguiente formato: Caracter Descripcion -------- ----------- 1-29 Nombre de la fuente 30-33 Tamaño de la fuente 34-37 Identificador (Disco o ROM) 88 SET FONT (Elige una fuente para utilizar con la instruccion TEXT) SET FONT n Este comando cambia el set de caracteres usados por el comando TEXT a la fuente N. Si la fuente se almacena en disco, sera auto- maticamente cargada en la memoria del Amiga. Del mismo modo, cual quier set previo que no sea usado sera eliminado. SET TEXT (Establece el estilo de texto) SET TEXT Style Te permite cambiar el estilo de una fuente. Existen 3 estilos a elegir. Un "style" es un patron de bits con el siguiente formato: Bit Efecto === ====== 0 Subrayado Mezclando los apropiados bits en 1 Negrita este modelo, podras elegir entre un 2 Italico total de 8 estilos diferentes. =TEXT STYLE (Devuelve el actual estilo de texto) s=TEXT STYLE Esta funcion devuelve el estilo de texto del comando SET TEXT. El resultado de "S" es un modelo de bit-map con el mismo formato que en el caso anterior. =TEXT LENGTH (Devuelve longitud de una seccion de texto) w=TEXT LENGTH(t$) La funcion devuelve la anchura en pixels de los caracteres de la fuente t$. La anchura de una letra varia dependiendo del tamaño de la fuente. Ademas, las fuentes como 'Helvetica' asigna diferen tes anchuras para los distintos caracteres. =TEXT BASE (Devuelve la actual base de texto) b=TEXT BASE Esta funcion devuelve la posicion de la base de linea de tu fuen- te. La base de linea es el numero de pixels entre la parte mas al ta de un caracter y el punto en que sera imprimida en la pantalla 2- Instalando nuevas fuentes Si deseas usar tus propias fuentes con AMOS Basic, necesitaras instalarlas en el propio disco AMOS. El procedimiento basico es como sigue: - Copia los ficheros de fuentes requeridos en el directorio FONTS (directorio de tu disco de arranque) - Encontraras mas informacion en el manual de tu Amiga 89 3- Deteccion de problemas * Problema: GET FONTS parece ignorar alguna de las fuentes del disco actual Solucion: Probablemente has extraido el disco de arranque de tu unidad de discos. Las rutinas de librerias del Ami ga solo esperan encontrar el directorio FONTS dentro de tu disco de arranque. Esto puede cambiarse utili- zando el programa ASSIGN en el cajon de UTILITIES. * Problema: GET FONTS bloquea por completo a tu Amiga Solucion: Este problema puede aparecer facilmente cuando estes creando programas tipo run-only o compilados, ya que GET FONTS requiere una libreria (Discfont.library) en el cajon LIBS de tu disco, para poder funcionar bien. * Problema: El comando SET FONT devuelve un error "Fonts no exa- mined" Solucion: Añade una llamada a GET FONTS al inicio de tu progra ma.