|
Es un archivo ASCII que se utiliza para definir símbolos y caracteres o tipos de letra. Este archivo no es leído directamente por el programa
Digi21. Para que pueda ser utilizado, es necesario transformarlo previamente a formato binario mediante el programa COMTEXT, desde una ventana al DOS.
Como resultado de la operación, se obtiene un nuevo archivo en binario llamado TEXT.FNT, que es utilizado por el sistema, es decir, el archivo que Digi21 leerá será el TEXT.FNT. Debe existir un archivo TEXT.FNT en el directorio de trabajo, en el de tablas o en C:\DIGI para que el programa pueda funcionar correctamente.
Existe otro programa complementario, llamado TEXTCOM, que realiza la operación inversa, permitiendo pasar de un fichero TEXT.FNT a un fichero TEXT.TXT. Ambos programas se pueden obtener, junto con otros programas accesorios y ejemplos de ficheros y tablas, en la dirección de Internet www.digi21.net, en la sección Descargas / Accesorios.
Para diseñar el archivo ASCII TEXT.TXT, hay que tener en cuenta lo siguiente:
- Cada símbolo o tipo de letra que se defina, estará compuesto por un número variable de líneas, tantas como hagan falta para determinar geométricamente su forma.
- En la secuencia de líneas que definen cada elemento, se distinguen dos tipos:
- Líneas con la especificación del elemento, es decir, el símbolo o letra que se va a definir. Sólo puede haber uno en cada secuencia, y es el primero de la misma.
- Líneas con las coordenadas X, Y de los puntos que definen la geometría del elemento.
Para definir un tipo de letra cualquiera o un símbolo, utilizaríamos la siguiente estructura:
- Línea 1:
- Campo 1: Especifica el código correspondiente al símbolo o letra (en un cierto font) que se va a definir. Este código es un valor numérico comprendido en el rango [1 - 65535].
- Los números de fonts o tipos de letra diferentes que se pueden crear en Digi21, se hayan comprendidos en el rango [0 - 255]. Para calcular el número o código correspondiente a un carácter en un cierto font, hay que usar la fórmula siguiente:
- código = (nº_font * 256) + nº_ASCII_carácter
- Todos los caracteres tienen asociado un número en la tabla ASCII. Como ejemplo de esta tabla, véase la siguiente relación carácter-nº_ASCII:
- carácter nº_ASCII
- A 65
- Z 90
- a 97
- Campo 2: Es un campo opcional y se suele utilizar para indicar el nombre del carácter o del símbolo. Es un campo informativo.
- Líneas siguientes:
- Campo 1: Puede tomar uno de estos dos valores, 3 ó 4. El número 3 indica el inicio de una línea a partir de las coordenadas escritas en los dos campos siguientes. El número 4 indica la continuación del trazado de una línea. El resultado sería un segmento (vector) definido por las coordenadas del punto anterior y las que aparecen en los campos 2 y 3 de este registro.
- Campo 2: Coordenada X del punto.
- Campo 3: Coordenada Y del punto.
- Para definir geométricamente un símbolo o un carácter hay que tener en cuenta el sistema de referencia que se utiliza en cada caso:
- Caracteres: Se trabaja en un espacio cuadrangular de 100 x 100 unidades (cm.). El origen del sistema coincide con la esquina inferior izquierda de este cuadrado, de forma que las coordenadas pueden variar en un rango de [0, 0] a [+100, +100]. Las dimensiones del carácter definido se reajustan a las del dibujo, usando como factor de conversión el valor (expresado en metros) asignado a la variable AT. El carácter se insertará en el archivo a partir del punto origen.
- Símbolos: Se trabaja en un espacio cuadrangular de 100 x 100 unidades (cm.). El origen del sistema coincide con el centro de este cuadrado, de forma que las coordenadas pueden variar en un rango de [-50, -50] a [+50, +50]. Los símbolos creados se insertarán en el archivo de dibujo a partir de este origen o punto central.
Ejemplo de archivo TEXT.TXT:
<Definición del símbolo vértice geodésico>
10 @10 Vértice (El símbolo se hace corresponder, a elección del usuario, con el código 10. Se reconoce que es un símbolo por utilizar el signo @)
3,0,50 (El primer punto del trazado tiene las coordenadas (0,50)).
4,50,-50 (Se forma un segmento entre el punto anterior y el punto (50,-50)).
4,-50,-50 (Se forma un segmento entre el punto anterior y el punto (-50,-50)).
4,0,50 (Se forma un segmento entre el punto anterior y el punto (0,50)).
3,0,20 (Empieza un nuevo segmento en el punto (0,20)).
4,20,-20 (etc...)
4,-20,-20
<Definición de la letra "A" en el font cero>
65 A (0*256+65)
3 0 0
4 0 100
4 50 100
4 50 0
3 0 50
4 50 50
<Definición de la letra "A" en el font uno>
321 A (1*256+65)
3,5,5
4,40,94
4,48,94
4,81,5
3,71,25
4,16,25
<Definición de la letra "A" en el font dos>
577 A (2*256+65)
3,43,99
4,10,0
4,0,0
4,29,0
3,57,0
4,86,0
4,76,0
4,43,99
3,43,85
4,71,0
3,62,28
4,19,28
Diseño de símbolos alternativo.
El diseño de símbolos y caracteres, tal como se ha explicado anteriormente, resulta una tarea lenta y laboriosa. Para facilitar la creación de una librería de símbolos, Digi21 ofrece como alternativa a este sistema el proceso siguiente:
- Generar un archivo de dibujo (BIN) por cada uno de los símbolos de la librería. El archivo tendrá por nombre el numero del código ASCII asociado al símbolo. Este número podrá tomar cualquier valor entero positivo desde 0 hasta 65535.
- El dibujo del símbolo se rige por el procedimiento descrito anteriormente, es decir, la geometría del elemento se define en un espacio de 100 x 100 centímetros, de forma que los caracteres tienen el origen en la esquina inferior izquierda del cuadrado, y los símbolos en el centro del mismo.
- Para realizar el dibujo dentro de los límites del cuadrado, basta con definir un zoom ventana especificando las coordenadas de las esquinas inferior izquierda y superior derecha, de modo que estas se correspondan con:
|
Unidades en m
|
Esquina inferior
|
Esquina superior
|
|
X
|
Y
|
X
|
Y
|
|
Símbolo
|
-0.5
|
-0.5
|
0.5
|
0.5
|
|
Carácter
|
0.0
|
0.0
|
1.0
|
1.0
|
- El elemento se dibuja con cualquier código, utilizando todas las ordenes Digi21 que se consideren oportunas, a excepción de la orden TEXTO.
- Utilizar el programa BINTEXT para transformar los archivos (BIN) creados a formato TXT. Cada uno de los archivos resultantes estará compuesto por un conjunto de registros, iguales a los que definen un símbolo o un carácter en el archivo TEXT.TXT.
- Copiar todos los archivos TXT, generados en el proceso anterior, en el archivo TEXT.TXT.
- Transformar el archivo ASCII TEXT.TXT al formato interno de Digi21, con el programa COMTEXT. Como resultado del proceso se obtiene el archivo binario TEXT.FNT.
Uso e inserción de símbolos y textos en el archivo de trabajo.
Para insertar cualquiera de los símbolos almacenados en el archivo TEXT.FNT, el usuario puede utilizar las órdenes:
TEXTO=<argumento>
TEXTO_R=<argumento>
El argumento que acompaña a la orden puede tomar cualquiera de los siguientes valores:
- Ejemplos:
- TEXTO=Tc Coloca el texto "Tc" en la posición indicada con el cursor.
- TEXTO_R=Tc Igual que el anterior, pero además el usuario puede especificar la orientación del texto dando otro punto en la dirección deseada.
- TEXTO=A Coloca la letra "A" (cuyo código ASCII es el 65) en la posición indicada con el cursor.
- TEXTO=176 Coloca el texto "176" en la posición indicada con el cursor.
- El carácter "@" seguido de un número entero correspondiente al código ASCII de un símbolo o carácter. Para que la orden entienda que los números no constituyen un texto en sí mismo, sino que corresponden a un símbolo o carácter que el usuario ha asociado con esa secuencia numérica, se tendrían que escribir los números con el teclado numérico, manteniendo pulsada simultáneamente la tecla [ALT]. es decir,TEXTO=[ALT]+[1]+[7]+[6]. El uso del carácter "@", supone una cómoda alternativa para facilitar al usuario esta operación
- Ejemplos:
- TEXTO=@65 Tiene el mismo efecto que la orden TEXTO=A.
- TEXTO=@176 Coloca el símbolo de usuario correspondiente al código 176 en la posición indicada con el cursor. En este caso, se puede escribir opcionalmente y a continuación del código ASCII, un nemotécnico que ayude a identificar el símbolo asociado a ese código.
- TEXTO=@176 Farola Esta orden tiene el mismo efecto aparente que la explicada anteriormente. La diferencia estriba en que el texto del nemotécnico aparece en la información que proporciona la orden LISTAR sobre el elemento, y figura también en el archivo ASCII resultante de aplicar el programa BINASCII sobre el primitivo archivo de trabajo (BIN). Tanto en un caso como en otro, esta información facilita al usuario el reconocimiento del tipo de símbolo asociado a un cierto código ASCII.
Tanto los textos como los símbolos que se vayan a utilizar en el archivo de trabajo, se insertarán con un tamaño igual al de la altura de textos. Este valor se asigna a la variable AT, y puede modificarse para conseguir que el símbolo tenga las dimensiones que se consideren oportunas (el valor asignado a la variable AT, se expresa en metros).
Si al utilizar la orden TEXTO o TEXTO_R, se encuentra activado el parámetro REPITE, el usuario podrá colocar tantos textos o símbolos como desee sin necesidad de ejecutar cada vez la orden anterior. El programa actuará de forma diferente, en función de cómo se haya ejecutado ésta la primera vez. Es decir, si la llamada a la orden se realizó:
- Tecleando TEXTO, y pulsando a continuación [ENTER], el programa pide que se introduzca una cadena de caracteres: Camino. En este caso, antes de que el usuario pueda dar un punto para situar un nuevo texto o símbolo, el programa vuelve a pedir que se introduzca una cadena de caracteres. Esta modalidad es conveniente cuando se van a colocar varios textos diferentes.
- Tecleando TEXTO=<cadena caracteres> (TEXTO=Tc o TEXTO=@176). En este caso, cada vez que el usuario dé un punto con el cursor, el programa situará en esa posición el texto o símbolo indicado en la llamada a la orden. Esta modalidad se utiliza cuando se va a colocar repetidamente un mismo símbolo.
|