Este apéndice describe la visualización, manipulación e impresión de texto mediante 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 del 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 del 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 con el objeto de indicar la modalidad de entrada en uso. Puede también convertir la entrada ASCII en caracteres tailandeses mediante el módulo de carga dinámica para la biblioteca X11R6 internacionalizada. Puede escribir el texto mediante 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 se basa en la especificación de la visualización del 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 en el nivel de Xlib y la salida de texto tailandés en el nivel del kit de herramientas, incluido 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 de texto tailandés (inserción, eliminación, selección, corte, copia, pegado, arrastre y suelta) 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.
A veces es necesario intercalar texto tailandés e inglés en el mismo archivo. Para conmutar una ventana entre inglés y tailandés y viceversa, pulse las teclas 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 eliminar 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 de inserción MAIHUNAKAT (vocal AV2) entre SARA_II (vocal AV3) y YOYAK (consonante).
No se puede componer MAIHUNAKAT con SARA_II, de forma que se debe mostrar en su propia celda.
El ejemplo siguiente muestra la eliminación de SARA_II (vocal AV3).
Se puede componer 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 espaciado y de no-espaciado.
En Solaris 7, el ajuste automático de caracteres de TLE se efectúa en la celda de visualización, y el software TLE compensa los caracteres de no-espaciado 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, se seleccionan todos sus caracteres (de espaciado y no espaciado).
Puede parecer que los múltiples niveles de visualización del idioma tailandés 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 (como dtpad). Al moverse el cursor a 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 mediante las cuatro fuentes tailandesas que se incluyen en esta versión. Las fuentes se muestran en las Tabla D–1 y Tabla D–2.
Puede mostrar una combinación de caracteres tailandeses e ingleses mediante las cuatro fuentes tailandesas que se incluyen en esta versión. Las fuentes se muestran en la Tabla D–1.
Tabla D–1 Fuentes TLE de Solaris 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 |
|
Negrita Cursiva |
-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 |
|
Negrita Cursiva |
-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 |
|
Negrita Cursiva |
-monotype-cordiaz-bold-i-normal--*-*-*-*-m-*-tis620.2533-0 |
|
Tabla D–2 Fuentes TLE de Solaris 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-nor mal--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: Información general sobre la versión.
Si está instalada la fuente Angsana UPC, puede imprimir desde cualquier herramienta de CDE 1.3 (las fuentes no se proporcionan en TLE de Solaris 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 configurado utiliza impresoras registradas con el estándar WTT 2.0, configúrelas mediante las instrucciones del manual Setting Up User Accounts, Printers, and Mail de la documentación de SunOS 5.6.
Una vez configurada la 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 reconduzca 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 de 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 en tailandés.
El programa thaifilter(1) es un filtro que convierte el texto en tailandés en tres niveles:
Caracteres de nivel básico (incluido cualquier carácter ASCII)
Caracteres de nivel superior
Caracteres de nivel inferior
Este sistema se denomina Clasificación en 3 niveles. Los dos usos principales para los archivos convertidos a la Clasificación en 3 niveles son:
Indicar a las impresoras que impriman los caracteres tailandeses en el nivel de visualización correcto.
Ver archivos de texto tailandeses en terminales que normalmente no admiten la visualización (normal) en varios niveles del texto tailandés.
Algunas impresoras ya vienen instaladas con software de Clasificación en 3 niveles. Por esta razón, el programa thaifilter(1) tiene la opción -x para desactivar la Clasificación en 3 niveles.
La página de 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 en tailandés:
Identificaciones de impresoras
Las identificaciones de impresoras son códigos de 6 caracteres definidos por TAPIC para especificar el modelo, marca y código de caracteres de una impresora. Los fabricantes de impresoras deberían tener sus códigos de impresora marcados claramente en ellas. 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 la marca y el modelo se enumeran en el Apéndice C, "Printer Brand, Model, and Code IDs," del Suplemento de idioma tailandés del 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 la Tabla D–3 muestra que las abreviaturas de marca y modelo para una impresora Data Products IZR650 son DAy ZI. Si esta impresora utilizara la tabla de conversión de códigos número 10, la identificación completa de la impresora 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. El TLE de Solaris 7 se ajusta a TIS 988-2533, que especifica una tabla de códigos de impresión en el 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 abreviatura 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 el TLE de Solaris 7 para convertir los códigos proporcionados con varias impresoras al estándar TAC11x11.COD. Las tablas, mostradas en la Tabla D–3, se guardan 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 con el fin de 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 enumeradas en el estándar WTT 2.0 se incluyen en el TLE de Solaris 7.
Si la impresora que utiliza no usa 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, se debe sustituir por dos guiones (--). Los campos de la primera línea se explican en la 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 |
Cualquier comentario que tenga. En el estándar WTT 2.0, este campo contiene el nombre del archivo y su fecha. El símbolo "!" debe preceder al comentario. |
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 Note: There is no conversion in this table
La última línea de la tabla de conversión es otro comentario, precedido de "!" debe preceder al comentario. Las tablas de conversión de WTT 2.0 terminan con la línea:
! END OF filename
El sistema operativo Solaris 7 incluye el entorno del idioma hebreo. Esta sección describe las características principales del entorno de idioma hebreo.
Si necesita 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 éste. 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 y el inglés. Para solucionarla, 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 pulsar las teclas Inicio o Fin.
La impresión de hebreo se implementa mediante un conjunto de filtros. Se debería instalar el paquete del entorno nacional hebreo SUNWheu en la máquina servidor a la que está conectada la impresora y en la máquina cliente.
Los filtros de la lista siguiente se incluyen 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 se ajuste a un tamaño de papel de 80 columnas. Esto es útil 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
INPUT * = -linewidth 80 -inputLayoutDirection right_down -outputLayoutDirection left_down
Cuando se imprime con el filtro 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
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 printer_name.
Debe modificarse el campo de acción de impresión de los archivos de configuración de dt para agregar el filtro de texto del hebreo. Por ejemplo, en la aplicación dtmailla 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.