Este apéndice describe la visualización, manipulación e impresión de texto utilizando CDE y los entornos nacionales Tailandés y Hebreo.
El sistema operativo Solaris 7 incluye el Entorno de idioma tailandés (TLE). TLE proporciona un entorno de idioma tailandés adaptado al entorno nacional que permite escribir, mostrar e imprimir el lenguaje tailandés. Además, TLE proporciona una plataforma para crear aplicaciones, comandos y otras características en idioma Tailandés para el funcionamiento y mantenimiento de Solaris 7 y CDE 1.3.
La lista siguiente describe las características de TLE:
Estándar de conjunto de códigos
Esta versión admite el Estándar industrial tailandés (TIS 620-2533) para representar los caracteres tailandeses. Los nombres de los directorios y archivos pueden estar formados por caracteres tailandeses.
Introducción de texto tailandés
Esta versión incluye un indicador de modo de entrada para cada ventana para indicar la modalidad de entrada actual. Puede también convertir la entrada ASCII en caracteres tailandeses utilizando el módulo de carga dinámica para la biblioteca X11R6 internacionalizada. Puede escribir el texto utilizando un teclado Sun Type 4 o Type 5 normal.
Salida de texto tailandés
Se han mejorado todas las rutinas de representación de texto de Common Desktop Environment (CDE 1.3) para que muestren el texto tailandés. El algoritmo del método de salida está basado en la especificación de visualización de texto tailandés WTT 2.0, mantenida por el gobierno de Tailandia. Esta versión también incluye fuentes tailandesas de mapa de bits y TrueType.
Impresión de texto tailandés
Se proporciona la admisión de impresoras para las impresoras matriciales de 15 puntos. Para ver una lista de las impresoras admitidas, véase el apéndice C de Thai Language Supplement for Solaris 2.6: Release Overview.
Herramientas de productividad de Common Desktop Environment
Todas las ventanas de aplicación de CDE 1.3 muestran y aceptan texto tailandés. Puede también cortar y pegar texto entre las aplicaciones de ventanas. Esta versión admite la entrada de texto tailandés al nivel de Xlib y la salida de texto tailandés al nivel del kit de herramientas, incluyendo CDE 1.3. Esta versión también proporciona herramientas de escritorio de CDE adaptadas al entorno nacional que muestran etiquetas y mensajes en tailandés y admiten el uso de texto, nombres de archivo, etc., en tailandés.
Disposición de texto compleja (CTL)
Las adiciones de CTL permiten a las API de Motif admitir sistemas de escritura que necesitan transformaciones de texto complejas entre las representaciones lógicas y físicas del texto. También proporciona la formación de caracteres y la transformación de widgets de texto estático y dinámico. Además, CTL admite la orientación y tabulación de texto de derecha a izquierda y de izquierda a derecha para los widgets de texto dinámico.
TLE contiene la biblioteca CDE 1.3, que incluye la manipulación (inserción, eliminación, selección, corte, copia, pegado, arrastre y soltado) de texto tailandés de acuerdo con los estándares WTT 2.0. Para obtener información sobre cómo utilizar la biblioteca para desarrollar programas, véase Solaris Common Desktop Environment: Programmer's Guide.
Esta sección explica la mecánica de la manipulación de los caracteres tailandeses.
Puede que necesite intercalar texto tailandés e inglés en el mismo archivo. Para conmutar una ventana entre ingles y tailandés o viceversa, presione Control+Barra espaciadora. La ventana de mensajes de la parte inferior de cada herramienta muestra el lenguaje de entrada actual.
Esta sección describe cómo trabajar con texto tailandés; en especial, cómo:
Insertar y suprimir texto
Ajustar texto
Mover el cursor
Seleccionar texto
Copiar/pegar y arrastrar y soltar texto
La inserción y supresión de caracteres tailandeses cambian la visualización del texto, dependiendo de si pueden componerse las clases de caracteres.
Los gráficos siguientes muestran la secuencia para insertar MAIHUNAKAT (vocal AV2) entre SARA_II (vocal AV3) y YOYAK (consonante).
MAIHUNAKAT no puede componerse con SARA_II, de forma que debe mostrarse en su propia celda.
El ejemplo siguiente muestra la eliminación de SARA_II (vocal AV3).
Puede componerse MAIHUNAKAT con NONU (clase de consonante CONS). Por tanto, se muestra en la celda anterior.
En el idioma tailandés no hay delimitadores (espacios) entre las palabras. Esto hace que el ajuste correcto de los caracteres sea difícil debido a las combinaciones de caracteres de espacio y no de espacio.
En TLE 2.7, el ajuste de caracteres se realiza en la celda de visualización, y el software TLE compensa los caracteres no de espacio al ajustar una línea. Por ejemplo, cuando se escribe un carácter de espaciado hacia adelante en la última columna de una línea, el cursor avanza a la línea siguiente. Si se escribe un carácter de no espaciado en el mismo punto, el cursor no avanza a la línea siguiente. El carácter de no espaciado se muestra en la última celda de visualización de la línea anterior y no cambia la posición del cursor.
Cuando se selecciona una celda de visualización, están seleccionados todos los caracteres de la misma (de espaciado y no espaciado).
Los múltiples niveles de visualización del idioma tailandés puede parecer que provoquen un movimiento del cursor no habitual en las ventanas de dtpad (Editor de textos). El cursor sólo se mueve físicamente entre las celdas de visualización. No obstante, como frecuentemente hay más de un carácter tailandés en una celda de visualización, el cursor no se mueve físicamente entre ellos.
El movimiento del cursor en una ventana Terminal es ligeramente diferente a la edición de texto en una de las herramientas de CDE tailandesas que utilizan widgets de texto (tales como dtpad). Al moverse el cursor en una ventana Terminal, si sólo hay un carácter en una celda de visualización, se resaltará el cursor en la celda. Si el carácter comparte una celda de visualización, se resaltará toda ella.
Puede mostrar una combinación de caracteres tailandeses e ingleses utilizando las cuatro fuentes tailandesas que se incluyen en esta versión. Las fuentes se muestran en Tabla D-1 y Tabla D-2.
Puede mostrar una combinación de caracteres tailandeses e ingleses utilizando las cuatro fuentes tailandesas que se incluyen en esta versión. Las fuentes se muestran en Tabla D-1.
Tabla D-1 Fuentes de TLE 2.7 (escalables)
Tipo de letra |
Estilo |
Nombre de fuente |
---|---|---|
Angsana |
Normal |
-monotype-angsa-medium-r-normal--*-*-*-*-m-*-tis620.2533-0 |
Negrita |
-monotype-angsab-bold-r-normal--*-*-*-*-m-*-tis620.2533-0 |
|
Cursiva |
-monotype-angsai-medium-i-normal--*-*-*-*-m-*-tis620.2533-0 |
|
NegritaCursiva |
-monotype-angsaz-bold-i-normal--*-*-*-*-m-*-tis620.2533-0 |
|
Browalia |
Normal |
-monotype-browa-medium-r-normal--*-*-*-*-m-*-tis620.2533-0 |
Negrita |
-monotype-browab-bold-r-normal--*-*-*-*-m-*-tis620.2533-0 |
|
Cursiva |
-monotype-browai-medium-i-normal--*-*-*-*-m-*-tis620.2533-0 |
|
NegritaCursiva |
-monotype-browaz-bold-i-normal--*-*-*-*-m-*-tis620.2533-0 |
|
Cordia |
Normal |
-monotype-cordia-medium-r-normal--*-*-*-*-m-*-tis620.2533-0 |
Negrita |
-monotype-cordiab-bold-r-normal--*-*-*-*-m-*-tis620.2533-0 |
|
Cursiva |
-monotype-cordiai-medium-i-normal--*-*-*-*-m-*-tis620.2533-0 |
|
NegritaCursiva |
-monotype-cordiaz-bold-i-normal--*-*-*-*-m-*-tis620.2533-0 |
|
Tabla D-2 Fuentes de TLE 2.7 (anchura fija)
Tipo de letra |
Estilo |
Nombre de fuente |
---|---|---|
Gothic Normal |
12pt |
-logic-gothic-medium-r-normal--12-120-75-75-c-80-tis620.2533-0 |
14pt |
-logic-gothic-medium-r-normal--14-140-75-75-c-90-tis620.2533-0 |
|
16pt |
-logic-gothic-medium-r-normal--16-160-75-75-c-80-tis620.2533-0 |
|
20pt |
-logic-gothic-medium-r-normal--20-200-75-75-c-100-tis620.2533-0 |
|
24pt |
-logic-gothic-medium-r-normal--24-240-75-75-c-100-tis620.2533-0 |
|
Gothic negrita |
12pt |
-logic-gothic-bold-r-normal--12-120-75-75-c-100-tis620.2533-0 |
14pt |
-logic-gothic-bold-r-normal--14-140-75-75-c-110-tis620.2533-0 |
|
16pt |
-logic-gothic-bold-r-normal--16-160-75-75-c-80-tis620.2533-0 |
|
20pt |
-logic-gothic-bold-r-normal--20-200-75-75-c-120-tis620.2533-0 |
|
24pt |
-logic-gothic-bold-r-normal--24-240-75-75-c-120-tis620.2533-0 |
|
Gothic cursiva |
16pt |
-logic-gothic-medium-i-normal--16-160-75-75-c-80-tis620.2533-0 |
Esta sección describe cómo imprimir texto tailandés desde CDE 1.3 y una impresora matricial. Para obtener una lista de las impresoras matriciales admitidas, véase el apéndice C de Thai Language Supplement for Solaris 2.6: Release Overview.
Si está instalada la fuente Angsana UPC en su impresora, puede imprimir desde cualquier impresora de CDE 1.3 (las fuentes no se proporcionan con TLE 2.7).
Esta sección asume que su impresora está registrada en el estándar WTT 2.0 que se muestra en el apéndice C, 'Printer Brand, Model, and Code IDs' de Thai Language Supplement for Solaris 2.6: Release Overview.
Si el sistema que está configurando utiliza impresoras registradas en el estándar WTT 2.0, configúrelas utilizando las instrucciones del manual Setting Up User Accounts, Printers, and Mail de la documentación de SunOS 5.6.
Cuando esté configurada su impresora, siga estos pasos para permitir la impresión de caracteres tailandeses:
Escriba cd /usr/lp/interfaces
Edite el archivo que tiene el nombre de la impresora que acaba de configurar.
Cambie lp.cat a lp.filter en la línea siguiente:
if [! -x '${LPCAT:=${LOCALPATH}/lp.cat}']
Cree una secuencia de shell en /usr/lib/lp/bin denominada lp.filter que reconduce los trabajos de impresión a través de lp.cat.
El programa lp.filter debería tener la sintaxis proporcionada a continuación. Véase la página del comando man thaifilter(1) en el apéndice D, 'Manual Pages', de Thai Language Supplement for Solaris 2.6: Release Overview para obtener la sintaxis de thai_filter_command.
thai_filter_command | lp.cat
Esta sección describe cómo utilizar la utilidad de impresión thaifilter(1) y las tablas de conversión de impresora, que pueden resultar necesarias para imprimir texto tailandés.
El programa thaifilter(1) es un filtro que convierte el texto tailandés en tres niveles:
Caracteres de nivel base (incluyendo cualquier carácter ASCII)
Caracteres de nivel superior
Caracteres de nivel inferior
Este sistema se denomina clasificación a 3 niveles. Los dos usos principales para los archivos convertidos a la Clasificación a 3 niveles son:
Para indicar a las impresoras que impriman los caracteres tailandeses en el nivel de visualización correcto.
Para ver archivos de texto tailandeses en terminales que normalmente no admiten la visualización a múltiples niveles (normal) del texto tailandés.
Algunas impresoras ya vienen instaladas con software de Clasificación a 3 niveles. Por esta razón, el programa thaifilter(1) tiene la opción -x para desactivar la Clasificación a 3 niveles.
La página del comando man thaifilter(1) se proporciona con el software TLE 2.6, y también está disponible de forma impresa en el apéndice D, 'Manual Pages', de Thai Language Supplement for Solaris 2.6: Release Overview.
El estándar WTT 2.0 identifica los términos y convenciones siguientes para la impresión de texto tailandés:
Identificaciones de impresoras
Las identificaciones de impresoras son códigos de 6 caracteres definidos por TAPIC para especificar el modelo, nombre de marca y código de caracteres de una impresora. Los fabricantes de impresoras deberían tener sus códigos de impresora marcados claramente en sus impresoras. La sintaxis para las identificaciones de impresoras es BBMMCC, donde BB es la abreviatura de dos letras de la marca, MM es la abreviatura de dos letras del modelo y CC es un número de dos dígitos que representa al código de conversión que utiliza la impresora. Las abreviaturas de marca de impresora y modelo se muestran en el apéndice C, 'Printer Brand, Model, and Code IDs,' de Thai Language Supplement for Solaris 2.6: Release Overview. En la sección siguiente se habla de los códigos de conversión de impresora.
Por ejemplo, la primera línea de Tabla D-3 muestra que las abreviaturas de marca y modelo para una impresora Data Products IZR650 son DA y ZI. Si esta impresora utilizara la tabla de conversión de códigos número 10, la identificación de impresora completa sería: DAZI10.
Códigos de conversión y tablas de conversión de códigos de impresora
Al especificar una identificación de impresora, utilice los códigos que se muestran en el lado derecho de la tabla A-3. TLE 2.7 cumple con TIS 988-2533, que especifica una tabla de códigos para imprimir al estándar TAC11x11.COD. Como no todas las impresoras utilizan esta tabla, el estándar TIS especifica un total de 17 tablas de consulta de conversión de códigos para convertir otros códigos de impresora conocidos a TAC11x11.COD (TAC es la abreviación de Thai API Consortium). Las API definidas por el Comité de internacionalización de Tailandia tienen el prefijo "TAC")
Estas 17 tablas de conversión de códigos se proporcionan con TLE 2.7 para convertir al estándar TAC11x11.COD los códigos proporcionados con varias impresoras. Las tablas, mostradas en Tabla D-3, están almacenadas en el directorio /usr/lib/lp/files.
Tabla D-3 Tablas de conversión de códigos
Tabla de conversión de códigos |
Código para su uso con la identificación de impresora |
---|---|
TAC11x10.COD |
10 |
TAC11x12.COD |
12 |
TAC11x13.COD |
13 |
TAC11x14.COD |
14 |
TAC11x15.COD |
15 |
TAC11x16.COD |
16 |
TAC11x17.COD |
17 |
TAC11x18.COD |
18 |
TAC11x19.COD |
19 |
TAC11x20.COD |
20 |
TAC11x21.COD |
21 |
TAC11x22.COD |
22 |
TAC11x40.COD |
40 |
TAC11x41.COD |
41 |
TAC11x42.COD |
42 |
TAC11x43.COD |
43 |
TAC11xAA.COD |
AA |
Si su impresora no utiliza una de las tablas de conversión de códigos de impresora, consulte la sección siguiente para obtener ayuda para crear su propia tabla.
Las tablas de conversión de impresora se utilizan para convertir instrucciones de impresión al formato TIS 988-2553, que es el formato de impresión predeterminado de WTT 2.0. Las tablas de conversión de códigos que se muestran en el estándar WTT 2.0 están incluidas con TLE 2.7.
Si la impresora que está utilizando no utiliza el formato TIS 988-2553 y no puede utilizar ninguna de las tablas de conversión de códigos, necesitará crear una tabla de conversión personalizada. Esta sección explica cómo crear una nueva tabla de conversión de códigos de impresora.
Sintaxis de las tablas de conversión
A continuación hay un ejemplo de un archivo de conversión de códigos:
-- -- -- -- TN -- ! TAC11x10.COD 16 AUG 1991 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F 3F A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA 3F 3F 3F 3F DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB 3F 3F 3F FF ! End of TAC11x10.COD
La primera línea de las tablas de conversión de códigos utiliza la sintaxis siguiente:
CC LG UM EX TN SP ! comentario
Si no se utiliza uno de los campos de dos caracteres, debe sustituirse por dos guiones (--). Los campos de la primera línea se explican en Tabla D-4.
Tabla D-4 Tablas de conversión de códigos
Campo |
Descripción |
---|---|
CC |
Código combinado de TIS 988-2553, por ejemplo, SaraI y MaiEk |
LG |
Gráfico de líneas |
UM |
El código de combinación de SaraAm y Nikhahit |
EX |
Extensión de ascendente |
TN |
Numerales tailandeses |
SP |
Código especial no definido en TIS 988-2553 |
!comentarios |
Otros comentarios que tenga. En el estándar WTT 2.0, este campo contiene el nombre del archivo y su fecha. El comentario debe estar precedido por el símbolo '!'. |
La parte central del archivo de conversión contiene 16 líneas de 16 códigos, un total de 256 códigos. Estos códigos son la sustitución de TIS 988-2553. A continuación se muestra el código TIS988-2553:
-- -- -- -- TN -- ! TAC11x11.COD 16 AUG 1991 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF ! End of TAC11x10.COD Nota: en esta tabla no hay ninguna conversión
La última línea de la tabla de conversión es otro comentario, precedido por el símbolo '!'. Las tablas de conversión de WTT 2.0 terminan con la línea:
! END OF nombrearchivo
El sistema operativo Solaris 7 incluye el entorno de idioma hebreo. Esta sección describe las características principales del entorno de idioma hebreo.
Puede que necesite incluir texto hebreo e inglés en el mismo archivo. Para conmutar entre los modos de entrada de hebreo e inglés, utilice Control+t. El mensaje de la parte inferior de cada herramienta muestra el idioma de entrada actual.
Esta sección describe cómo trabajar con texto hebreo; en especial cómo manipular el cursor en el modo de edición lógica.
Es posible que vea una imagen de cursor residual al principio de una línea de texto, después de introducirse el mismo. El funcionamiento no se ve afectado por esta imagen residual. Siga introduciendo datos.
Se produce una ambigüedad cuando el punto de inserción de texto está en el límite entre el texto hebreo e inglés. Para solucionar esta ambigüedad, se ha implementado un cursor dividido para reflejar las dos posiciones. La pantalla será ab|DC| donde "|" representa a cada cursor.
Puede que el cursor dividido no se muestre correctamente al presionar las teclas Inicio o Fin.
La impresión de hebreo está implementada utilizando un conjunto de filtros. El paquete del entorno nacional hebreo SUNWheu debería estar instalado en la máquina servidor a la que está conectada la impresora y en la máquina cliente.
Los filtros de la lista siguiente están incluidos en el paquete del entorno nacional hebreo.
Este filtro heb2ps convierte cualquier texto a postscript y envía la fuente hebrea junto con el texto a la impresora.
Tipos de entrada: heb2ps
Tipos de salida: postscript
Tipos de impresora: cualquiera
Impresoras: cualquiera
Tipo de filtro: lento
Comando: /usr/openwin/bin/mp
Opciones: INPUT * = -A4
Opciones: INPUT * = -L he
Cuando se imprime con el filtro hebl2r, no se realiza ninguna reordenación del texto de entrada. Se formatea el texto para que quepa en un tamaño de papel de 80 columnas. Esto resulta de utilidad al imprimir un documento en inglés con algunas palabras en hebreo.
Tipos de entrada: hebl2r
Tipos de salida: heb2ps
Tipos de impresora: cualquiera
Impresoras: cualquiera
Tipo de filtro: lento
Comando: /usr/lib/lp/postscript/convert_text
Opciones: INPUT * = -linewidth 80
Cuando se imprime con el filtro hebr21, se invierte todo el texto de forma indiscriminada y se alinea la salida de impresora resultante a la derecha.
Tipos de entrada: hebr21
Tipos de salida: heb2ps
Tipos de impresora: cualquiera
Impresoras: cualquiera
Tipo de filtro: lento
Comando: /usr/lib/lp/postscript/convert_text
Opciones: INPUT * = -linewidth 80 -inputLayoutDirection right_down
-outputLayoutDirection left_down
Cuando se imprime con el texto hebtxt, se ordena el texto en las direcciones de hebreo e inglés y se alinea la salida de impresión resultante a la derecha
Tipos de entrada: hebtxt
Tipos de salida: heb2ps
Tipos de impresora: cualquiera
Impresoras: cualquiera
Tipo de filtro: lento
Comando: /usr/lib/lp/postscript/convert_text
Opciones:
INPUT * = -inputTextMode text_mode_implicit -outputTextMode text_mode_visual
-lineWidth 80 -inputLayoutDirection left_down -outputLayoutDirection right_down
Para imprimir desde la línea de comandos, utilice el filtro hebtxt. El comando lp de impresión es lp -T hebtxt -d nombre_impresora.
Debe modificarse el campo de acción de impresión de los archivos de configuración de dt para agregar el filtro de texto de hebreo. por ejemplo, en la aplicación dtmail la acción de impresión del archivo /usr/dt/appconfig/types/he/dtmail.dt debería ser:
ACTION Print { LABEL Print ARG_TYPE DTMAIL_FILE TYPE COMMAND WINDOW_TYPE NO_STDIO EXEC_STRING sh -c ' \ dtmailpr -p -f %(File)Arg_1% | /usr/lib/lp/postscript/convert_text -inputTextMode text_mode_implicit -outputTextMode text_mode_visual -lineWidth 80 -inputLayoutDirection left_down -outputLayoutDirection right_down| mp -A4 -L he| dtlp -u %(File)Arg_1%;' }
Los parámetros convert_text que se muestran imprimirán el texto alineado a la derecha, de derecha a izquierda. Para imprimir el texto alineado a la izquierda, y de izquierda a derecha, sustituya los parámetros anteriores por -lineWidth 80.