SEPARADOR DE DOCUMENTOS QUE RECONOCE IDIOMA
CAMPO DE LA INVENCIÓN La materia objeto se relaciona con sistemas de impresión, y de manera más particular, los pasos de procesamiento para un trabajo de impresión para separar el trabajo en porciones segregadas para facilitar el procesamiento independiente de las porciones. ANTECEDENTES DE LA INVENCIÓN Generar documentos listos para imprimir para ser impresos por un sistema de impresión requiere adquirir toda la información (contenido, gráficos, aspectos especiales de producción, etc.) requerida para ver, procesar y producir el documento deseado en una forma electrónica comprensible por una máquina impresora. Esos sistemas van de aquellos que son simples y modestamente caros como es bien sabido por los usuarios consumidores de sistemas de computadora personal, hasta sistemas de impresión comerciales que son capaces de generar hasta cien páginas por minuto a todo color. Se piensa que todos los sistemas tienen como objetivo de alto nivel imprimir más rápido. Existen tres métodos generales que han sido aplicados en el pasado para lograr este objetivo. Primero, los métodos de procesamiento en serie más rápidos sugieren utilizar los programas y sistemas de programación y usar procesadores más Ref: 154330 rápidos y más caros. Segundo, el procesamiento en paralelo de trabajos envía trabajos separados a sistemas separados y entonces los imprime en una impresora común. Tercero, los sistemas de páginas en paralelo basados en el Formato de Documento Portátil ("PDF") convierten el trabajo a PDF, y entonces separa el archivo PDF en páginas las cuales son convertidas a una forma lista para imprimir en procesadores independientes múltiples, con el trabajo siendo impreso en una impresora común. La optimización de los programas y sistemas de programación tiene sus límites y los procesadores más rápidos también son limitados por la tecnología actualmente disponible. El procesamiento en paralelo de trabajos da como resultado un desempeño de trabajo único pobre, tiempo de trabajo impre'decible , rendimiento reducido cuando existe un solo trabajo, largo en la fila de espera. Las soluciones basadas en . PDF existentes son lentas debido a su necesidad de convertir con frecuencia de un lenguaje de entrada diferente en PDF y entonces escribir el archivo PDF en un disco de memoria temporal de entrada. El procesamiento en paralelo de páginas ha sufrido de las ineficiencias de una desventaja del rendimiento debido a que ocurre una sobrecarga de trabajo sobre una base por página. En consecuencia, en la necesidad continua de mejorar sistemas de impresión eficientes y veloces, existe la necesidad de un sistema que no se límite al paralelismo de un solo trabajo o página y que pueda facilitar el control y flujo de datos de un trabajo de impresión al sistema de impresión, que separe a la vez el trabajo de impresión en una pluralidad de porciones de trabajo de impresión, cada una de las cuales puede ser procesadas independientemente y en paralelo. Como puede ser' separado mejor un trabajo de impresión asegurando a la vez un paralelismo de página o porciones es un objetivo de esta invención. Además del procesamiento en paralelo, existen varias otras razones por las cuales la independencia de las páginas es valiosa. Puede ser invocado el administrador de documentos para invertir errores de las 'páginas de un documento antes de imprimir en una impresora que imprima páginas volteadas hacia arriba. Un usuario puede desear reimprimir solo una porción de un documento largo, posiblemente debido a un error en el proceso de impresión original o procesamiento posterior. En este caso el administrador de documentos sería invocado para extraer un subdocumento que contenga las páginas deseadas de todo el documentos antes de que este sea convertido a una forma lista para imprimir. En cualquiera de esos casos el administrador de documentos debe construir un documento valido que, cuando sea convertido a una forma lista para imprimir, produzca el mismo conjunto de páginas que habrían sido producidas si todo el documento hubiera sido impreso físicamente y entonces invertido mecánicamente (en el primer caso) o las páginas deseadas extraídas, del conjunto más grande de páginas (físicas) . Cuando el contenido de una página dada depende del contenido de una página anterior, no es posible usar los métodos de la técnica anterior. En este caso, la independencia de las páginas ha sido violada. Cuando el contenido de cualquier página dada no depende de ninguna manera de las páginas anteriores procesadas, el documento es independiente de la página. Las Convenciones de Estructuración de Documentos " ("DSC") que conforman al PostScript® es un sistema que vuelve el procesamiento independiente de páginas disponible. Sin embargo, existe excepciones en esta convención, de modo que la independencia de páginas no siempre puede ser garantizada.
Para que un PostScript maestro se ajuste debe obedecer la gramática especificada por el reporte #5001 de Adobe, Especificación de las Convenciones de Estructuración de Documentos en Lenguaje PostScript, disponible del sitio de soporte en la red del desarrollador de Adobe. Aunque muchos PostScript maestros violan las reglas, existe aún una cantidad sustancial de documentos que la cumplen. Existen varias razones pára esta conclusión. Primera, las convenciones están ahora cumpliendo diez años, lo cual ha dado tiempo a los escritores de aplicaciones y controladores para modificar sus programas y sistemas de programación, y los programas y sistemas de programación pre-DSC han caído fuera de uso. Segunda, los PostScript maestros de interés son producidos todos automáticamente por un conjunto pequeño de aplicaciones (o un conjunto aún más limitado de controladores invocados por otras aplicaciones) . Si esas aplicaciones fallan alguna vez en producción de documentos que cumplan este es un conjunto muy limitado de formas. La experiencia apoya este punto de vista: la mayoría de las aplicaciones parecen producir PostScript adecuado, mientras que las excepciones parecen efectuar violaciones en formas predecibles. Los sistemas administradores de documentos son algunas veces invocados para efectuar tareas como subagrupación de trabajos y reordenamiento de páginas (típicamente inversión de páginas) . Los requerimientos de ese sistema son con mucho similares a aquellos de un separador, el cual divide los trabajos en páginas o grupos de páginas independientes: cada grupo cuando se imprima debe ser impreso correctamente a pesar de haber sido removido del ambiente del trabajo en el cual se originó. En consecuencia existe la necesidad de un sistema que no se límite a manipular las páginas en documentos perfectamente conformados, sino que pueda manejar documentos cercanos a la conformación, rompiendo las reglas en forma predecibles . Ese sistema es un objeto de esta invención. Las convenciones describen material contenido en comentarios con formato especial, lo cual significa que un documento PostScript no necesita conformarse para ser impreso correctamente . Ciertos servicios de impresión dependen de la conformación, lo cual suministra motivación a los escritores de aplicación al conformarse. Un documento conformado con el DSC comienza con el comentario "% ! PS-Adobe-3.0 <type>opt" donde el tipo indica si este es un archivo regular, un archivo PostScript encapsulado (EPSF) , o del tipo interrogación (Query) , Servidor de salida (ExitServer) o recurso (Resource) . Para la presente invención, se tiene interés principal en un archivo regular, para los cuales no se suministra un tipo, un EPSF, cuando este ocurre con un subdocumento en un archivo regular. Se espera que un administrador de documentos (el cual podría ser un separador) asuma que un documento está conformado si comienza con este comentario. La experiencia ha demostrado que los archivos con la versión 2.1 probablemente sean igualmente independientes de la página. Las convenciones describen un documento como si tuviera un prologo y un documento de iniciación, el prologo contiene material que debe ser copiado al inicio de cada subdocumento cuando un documento es dividido, y el documento de iniciación que contiene una pequeña cantidad que también debe ser copiada, seguido por el material de página independiente. Este comienza con un comentario "%%BeginSetup : " y finaliza con un comentario "%%EndSetup" , el cual sería seguido inmediatamente por el primer comentario "%%Page : <label>#" .
El contenido de una página normalmente comienza con un comentario "%%Page:", y finaliza con un comentario "%%PageTrailer" , aunque el comentario "%%PageTrailer" es opcional . Las especificaciones de la convención claramente indican que únicamente deberá aparecer %%EOF en un documento, y que un administrador de documentos deberá tomar la primera ocurrencia como indicadora del final del archivo. Sin embargo, se ha sabido que PageMaker"1' combina documentos múltiples anexándolos (incluyendo el %%E0F) a un archivo. Este es un ejemplo de un error de conformación que es reconocido y fijado fácilmente. Además de las convenciones de estructuración de comentarios, el creador deberá colocar todo el material PostScript necesario en todas las páginas antes del primer comentario "%%Page:", con la advertencia que a un creador se le permitirá señalar una falla con el comentario "%%PagerOrder : Special" . Si un administrador de documentos ve este comentario, normalmente se espera que asuma que el documento no es independiente de la página. Sin embargo, al menos una aplicación usa siempre esa secuencia, desactivando efectivamente cualesquier características de administración de documentos que requieran independencia de la página. La meta de esta invención es permitir que un administrador de documentos ignore "%%PageOrder : Special" , (para aplicaciones conocidas) sin generar una salida incorrecta.
En consecuencia, existe la necesidad de un sistema o un método para identificar indicaciones o idiomas preseleccionados que se sabe impiden el manejo independiente de porciones seleccionadas del trabajo de impresión. El trabajo de impresión necesita entonces ser ajustado para facilitar su separación con ajuste mínimo del trabajo de presión en sí. El objeto de la invención satisface esas necesidades y supera de este modo los problemas especificados anteriormente, así como otros. SUMARIO DE LA INVENCIÓN En un trabajo de impresión de documentos casi independiente de la página, como el generado típicamente por aplicaciones y controladores modernos, existe suficiente información en el material del éncabezado de los archivos del trabajo de impresión para identificar al creador. Para aquellos creadores que se sabe generan archivos incorrectos o archivos que estarían fuera de la conformación de independencia de la página debido a la inclusión de ciertos idiomas o indicaciones predeterminadas, se hace una búsqueda que aquellos idiomas en los archivos que hacen que el procesamiento de los archivos falle cuando se separen en páginas segregadas. La acción correctiva es implementada mientras se separan los archivos en páginas o porciones, de modo que los archivos pueden ser reordenados de manera segura, interpretados y/o impresos en paralelo, subagrupados, o tratados de cualquier otra manera que requiera independencia de la página o segmentos. La implementación de la invención objetivo facilita el RIP paralelo de páginas (Procesamiento de Imágenes por Trama) , así como otras aplicaciones incluyendo inversión de páginas antes del RIP, subconjunto RIP e impresión, e impresión en paralelo de páginas en impresoras múltiples. La invención objeto comprende una implementación única de paralelismo para la cual no podemos encontrar un término definido de manera satisfactoria, y de este modo funciona conforme a nuestra propia lexicografía, nos referiremos a este concepto como paralelismo de "fragmento" . El paralelismo de fragmento es un nivel intermedio del paralelismo entre el paralelismo de trabajo y el paralelismo de página. Un fragmento es una colección de datos en trama que consiste de al menos una página y no más de un trabajo. Un segmento puede ser un número entero de páginas menor que un trabajo completo pero tiene un encabezado de trama que ocurre sobre una base de fragmento en oposición a una base por página. El sistema de impresión de la invención objeto comprende una impresora; una pluralidad de nodos de procesamiento, estando colocado cada nodo de procesamiento para procesar una porción de un trabajo de impresión en un formato dependiente de la impresora; y un administrador de procesamiento para separar el trabajo de impresión en porciones segregadas para su procesamiento independiente por los nodos de procesamiento en el formato dependiente de la impresora. El administrador de procesamiento incluye ' medios para identificar idiomas seleccionados dentro del trabajo de impresión que se sabe impide la separación del trabajo de impresión en una pluralidad de las porciones para el procesamiento independiente. El administrador de procesamiento agrega los idiomas o porciones identificadas seleccionadas del trabajo de impresión asociadas con los idiomas que manipulan al trabajo de impresión, para segregar porciones durante la separación para permitir el procesamiento exitoso. Los idiomas son anexados a un encabezado del trabajo de impresión y prefijados a cada una de las porciones segregadas. De acuerdo con otro aspecto de la presente invención, se proporciona un método para separar un trabajo de impresión casi independiente de la página en una pluralidad de fragmentos de trabajo para el procesamiento paralelo independiente por una pluralidad de nodos de procesamiento. El método comprende buscar el trabajo de impresión para idiomas predeterminados que se sabe impiden el procesamiento independiente exitoso de los fragmentos. Los idiomas son guardados en la porción del encabezado del trabajo de impresión. El trabajo es separado en segmentos de trabajo y los idiomas son agregados a los segmentos de trabajo para permitir su procesamiento independiente exitoso. La adición preferiblemente comprende prefijar el encabezado a los segmentos de trabajo. Una primera ventaja particular de la invención objeto es una funcionalidad de procesamiento del nodo de RIP paralelo cuando el trabajo de impresión no es garantizado por la página.
La segunda ventaja es la separación del trabajo de impresión de modo que los archivos del trabajo de impresión puedan ser reordenados de manera segura, interpretados, y/o impresos en paralelo, subagrupados o tratados en cualquier otra forma que requiera independencia de la página. Esa separación permite; particularmente, el RIP paralelo de página así como la inversión de páginas antes del RIP, subconjuntos de RIP e impresión, e impresión paralela de páginas en impresoras múltiples . Otras ventajas' y beneficios de la presente invención se volverán evidentes a aquellos expertos en la técnica tras la lectura y comprensión de la siguiente descripción detallada de las modalidades preferidas. BREVE DESCRIPCION DE LAS FIGURAS La Figura 1 es un diagrama de bloques que ilustra la arquitectura para el control y flujo de datos de un sistema de impresión formado de acuerdo a la presente invención; y la Figura 2 es un diagrama de flujo que resume el método para procesar un trabajo de impresión de acuerdo con la presente invención. DESCRIPCION DE LAS MODALIDADES PREFERIDAS Aunque la presente invención será descrita aquí posteriormente en relación con modalidades preferidas de la misma, deberá comprenderse que no se pretende limitar la invención a aquellas modalidades. Por el contrario, se pretende cubrir todas las alternativas, mod ficaciones y equivalentes que puedan ser incluidas dentro del espíritu y alcance de la invención como se define en las reivindicaciones anexas. La presente invención resuelve la necesidad continua de manejar mejor un trabajo de impresión, especialmente donde porciones seleccionadas del trabajo necesitan un procesamiento especial así como sistemas de impresión más rápido - particularmente sistemas donde cada página puede ser de color y diferente. El sistema explota el paralelismo para facilitar su velocidad, y adicionalmente una implementación de paralelismo no conocida en los sistemas de impresión de la técnica anterior, que se había limitado al paralelismo de trabajo o paralelismo de página. La invención objeto puede explorar un nivel intermedio de paralelismo aquí definido como paralelismo de "fragmento" . Se pretende que un fragmento de datos de trabajo de impresión comprende una colección de datos que puedan ser puestos en trama de al menos una página y no más de un trabajo. El paralelismo de trabajo ocurriría cuando un trabajo es más pequeño que el tamaño de fragmento mínimo, el paralelismo de página ocurre cuando el tamaño de fragmento mínimo es de 0 (bytes/paginas) . La invención objeto es útil para separar un trabajo de impresión en porciones para el procesamiento en paralelo de cualquier trabajo, página o fragmento. La invención objeto es descrita en gran medida en el contexto de la separación de un trabajo en un conjunto de fragmentos los cuales, combinados, forman el documento completo. Sin embargo, existen otras aplicaciones. Un separador se adapta fácilmente al problema de la invención de páginas: en la implementación más simple se producen fragmentos de página únicos, y entonces son recabados en orden inverso para formar el documento invertido. El documento invertido puede ahora ser impreso usando un sistema en serie o en paralelo. Un método un tanto más eficiente sería hacer un solo pase a través del documento para encontrar el material que pudiera haber estado en el encabezado pero que no estaba, y anexar este, al encabezado, y entonces producir el encabezado solo una vez, seguido por todas las páginas en orden inverso. Otra aplicación es el subagrupamiento de trabajo, en el cual se requiere un subconjunto específico del documento. El separador puede proceder sin producir ninguna salida hasta que alcance la primera página a ser impresa. Entonces forma un solo fragmento que contiene todas las páginas solicitadas (las cuales pueden o no estar contiguas) . Este fragmento contiene ahora un subconjunto deseado. El fragmento puede ahora ser impreso usando un sistema en serie o en paralelo.
Un método mas eficiente en el caso en paralelo sería hacer que el separador suprima las páginas a no ser impresas pero que produzca fragmentos múltiples en la misma forma que si no existiera subagrupamiento . Además de los requerimientos descritos en la sección de los antecedentes de la presente solicitud, pueden existir otros requerimientos de conformación, la mayoría de los cuales serán seguidos. El analizador sintáctico/separador (el cual se pretende implemente una modalidad de la presente invención) verifica muchos de los requerimientos, en parte para incrementar el nivel de confianza de la conformación del documento (y en consecuencia la capacidad de separación) , y en parte para determinar si deberán ser buscadas cualesquier fallas conocidas (sobre la base del creador) . Se ha sabido que dos sistemas bien conocidos particularmente útiles para crear impresión de gráficos, Quark® y PageMaker® incluyen violaciones de la independencia de página a pesar de conformarse al DSC. Tanto el Quark y el PageMaker a veces definen una fuente (parece ser que encuentran la fuente y aplican una transformación a esta, capturándola en un diccionario global) justo antes de que sea usada por primera vez (es decir después del inicio de la primera página) , y entonces usan esta sin redefinirla en páginas subsecuentes. Ambos usan la convención de que las fuentes definidas de esta manera tienen nombre en el diccionario global que comienza con " " (seis caracteres subrayados) . Para fijar maestros generados por esos dos creadores, el administrador de documentos verifica el idioma de seis caracteres subrayados después del primer comentario "%%Page" : . Esto se efectúa aumentando la lista de indicaciones que el analizador lexicológico encuentra para incluir la indicación w primero, agregando " " a la tabla que ya contiene indicadores para
"<eol>%" y "%%", y en segundo lugar verificando el número correcto de subrayados adicionales cuando se encuentre un doble subrayado (recuérdese que el administrador de documentos explora dos bytes del archivo a la vez, y usa una tabla de consulta para determinar si una secuencia de dos bytes puede ser el inicio de un comentario) . Esto introduce muy poca sobrecarga para archivos Quark y PageMaker que no incluyen esta falla idiomática, y en consecuencia no sobrecarga a todos los otros tipos de archivos. Una vez encontrada una indicación de seis caracteres subrayada, separado, son invocadas las rutinas dependientes del creador para capturar exactamente el conjunto correcto de líneas antes y después de la indicación, y esas son anexadas al final del texto ya capturado de la sección del encabezado, para ser prefijadas a todas las páginas subsecuentes (pero no a - la actual ) . El siguiente ejemplo muestra una pieza de un código PostScript que hace que un documento pierda la independencia de página. Este es solo un ejemplo, y es típicamente de un idioma encontrado en archivos QuarkXPress: %%Page: 1 1 %%BeginPageSetup %RBIIncludePageSlotInvocation mTSsetup pmSVsetup initializepage (skywalker; page : 1 of 5) setjob %%EndPageSetup gS 0 0 589 767, rC 1 G 0 0 0 0 rF 0 0: M %QRKSequentialPageRange : 1 5 %QRKPageBegin: 1 %QRKSequentialPage : 1 QuarkXPress_4.04 begin F/ss X 1 1 pen 0 H 0 a b []0 p OH (29 29 679 679 initclip F re u) kp xpbu-1 F 60 45 spO T, xpsern calcbnd xpbn s2qd -1000-1000 :M f58 sf OS -1000-1000 :M xps2ps xpbu 0 0 F 0 (I 55 -Helvé ica-Román) T F/ | HelveticaNeueRoman 0 T dfnt xpbn
5,8, 8, f end %%QRKPageEnd endp %%PageTrailer %%Page: 2 2. Este fragmento PostScript localiza una fuente, aplica una transformación a esta, y almacena esta usando el símbolo "I 55-Helvetica-Roman" en un diccionario global llamado "QuarkXPress_ .04" . Esto lo hace por medio de la especificación de un número de parámetros (números y nombres) e invocando un número de procedimientos definidos anteriormente (como "xpbu" y "xpbn") . Todo esto se hace en la porción del documento que será parte de la página 1, y no parte del encabezado del documento (esto sigue al primer comentario "%%Page:"). Si el administrador de documentos fuera a separar el documento en su material del encabezado y entonces preanexar únicamente aquélla porción a cada una de las paginas (es decir las porciones que comienzan con cada "%%Page" y finalizan inmediatamente antes del siguiente "%%Page" o el fin de archivo) , el documento no se imprimiría, puesto que las últimas páginas hacen referencia al símbolo "| 55-Helvetica-Roman" . Con referencia particular a las Figuras 1 y 2, la arquitectura del sistema, el control de los pasos de flujo de datos y procesamiento de la invención objeto comprenden una máquina impresora 10 la cual es administrada por un nodo de procesamiento 12 responsable de la presentación de trabajos a la impresora 10 y el administrador de la impresora. Cuando un trabajo de impresión es presentado al sistema de impresión, el sistema de operaciones simultáneas periféricas de entrada 13 guarda el contenido en una memoria o en un disco. El nodo de presentación del trabajo también avisa al administrador de objetos de la instalación 14 del arribo de trabajo de impresión. El administrador de objetos de la instalación 14 funciona como un montaje administrador de procesamiento para efectuar las funciones de supervisión necesarias, como identificar el lenguaje de trabajo de impresión, tamaño del trabajo, y cómo/dónde encontrar datos , del trabajo de impresión dentro del sistema de memoria. Puede ser usado cualquiera de los diferentes mecanismos conocidos para comunicar la ubicación de los datos, incluyendo el nombre de archivo de la red para un sistema distribuido, y dirección de memoria para un sistema centralizado. El nodo del administrador del procesamiento 14 también incluye un separador para separar un trabajo de impresión en porciones capaces de ser procesadas independientemente en la instalación de descomposición común 16 comprendida de una pluralidad de nodos de procesamiento de operación independientes (RIP) . La instalación de descomposición común proporciona la traducción del trabajo de impresión en su forma de entrada a una forma dependiente de la impresora lista para su presentación en la impresora 10. La invención objeto está relacionada, de manera más particular, con como el operador de la instalación 14 separa el trabajo en fragmentos de trabajo los cuales tienen garantizada su independencia por el procesamiento independiente en los RIP. El primer paso comprende buscar el trabajo de impresión para verificar 20 si existan idiomas o indicaciones que se sabe normalmente generan una falla tras el procesamiento independiente si el trabajo impreso fuera a ser separado en porciones independientes. En otras palabras, pueden ser identificados ciertos idiomas predeterminados los cuales se sabe implican, por ejemplo, la manipulación de fuentes pero están colocados en un lugar dentro del trabajo de impresión que impide la separación ' del trabajo en páginas para el procesamiento en paralelo de páginas independientes generadas. Idioma o indicación significa una porción del trabajo de impresión que efectúa cualquier manipulación, como la manipulación de fuentes, así como otros tipos de manipulación del contenido de trabajo. Después de ser verificada la inclusión de esos idiomas, la porción del trabajo de impresión asociada con el idioma es guardada 22 para facilitar su movimiento o adición a diferentes lugares en el trabajo de impresión que garantizan la independencia de la página. El administrador de objeto de la instalación puede separar 24 el trabajo de impresión en cualesquier porciones más apropiadas para el procesamiento RIP, es decir, páginas o fragmentos. La porción guardada asociada con el idioma es entonces préanexada 26 a los fragmentos divididos, garantizando por lo tanto la independencia de los fragmentos para el procesamiento exitoso en la instalación de descomposición común 16. Los fragmentos son entonces procesados 28 en la instalación 16. Después del comentario inicial % ! PS -Adobe -3.0 , todos los comentarios DSC restantes son precedidos por un nuevo carácter de retorno de línea o carro, (ASCII 13 y 10) y comienza con dos caracteres "¾" . Por lo tanto, pueden encontrarse en la ejecución de PostScript explorando los dos bytes del archivo (una palabra corta) a un tiempo y usando una sola tabla de consulta por palabra corta. La porción inicial del archivo contiene únicamente comentarios, y para esta porción es más eficiente usar una búsqueda alineada por bytes. En la primera línea sin comentarios, el analizador sintáctico cambia a búsqueda alineada corta. Construyendo la tabla de consulta al vuelo, el analizador sintáctico es inmune a dependencia del orden de bytes. Un algoritmo para encontrar un idioma y guardar la porción necesaria y para preanexar esta a las páginas subsecuentes es el siguiente. 1. Después de encontrar un comentario "%%Page:" en un archivo conocido a ser creado por QuarkXpress, 1. Se ha encontrado = falso. 2. Avanzar al siguiente fin de línea. 3. Fijar StartingPositionl a la posición de inicio de la línea actual. 4. Fijar StartingPosition2 en 0 5. Para un máximo de 28 líneas, 5.1. Si la línea actual comienza con
"%%QRKSequentialPage : " 5.1.1 fijar el valor verdadero, abandonar este bucle (pasar al paso 6) 5.2. Si la línea actual comienza con "initializepage : " , 5.2.1 fijar endingPositionl en el lugar del fin de línea anterior, 5.2.2 fijar startingPosition2 en el lugar del fin de la línea actual . 5.3. Avanzar a la siguiente línea 6. Si encontrar es falso detener (no se encontró el idioma) 7. Fijar encontrar = falso 8. Avanzar a la siguiente línea. 9. Si la línea actual no comienza con "QuarkXPress" detener (el idioma no se encontró) 10. Fijar más = falso 11. Para un máximo de 30 líneas 11.1 Si la línea actual contiene seis subrayados. 11.1.1. Fijar encontrar = verdadero 11.1.2. Fijar más = verdadero 11.1.3 Abandonar este bucle (pasar al paso 12) 11.2 Avanzar a la siguiente línea 12. Si encontrar, es falso detener (no se encontró el idioma) . 13. Si más es cierto. 13.1. Para un máximo de 4 líneas 13.1.1. Si la línea actual comienza con "xpbn" 13.1.1.1. Salir de este bucle (pasar al paso 14) 13.1.2. Avanzar a la siguiente línea 13.2. Fijar endingPosition2 en el fin de 'la línea actual . 13.3. Pasar al paso 10 14. Guardar la porción de startPositionl a endingPositionl , y de startPosition2 a endingPosition2. Las porciones guardadas acumuladas son entonces anexadas al texto de 'la porción del encabezado, seguida por la única línea fin para cerrar un diccionario abierto por el inicio de QuarkXPress -4.04 Toda esta secuencia es usada en lugar de simplemente el texto de la porción del encabezado, para preceder cada página, en el caso de la impresión de página en paralelo, o imprimir de atrás hacia adelante, o para preceder cada bloque independiente de páginas, en el caso de la impresión de subconjunto. Lo que se mencionó anteriormente, es • Verificar que el idioma sea usado en el archivo
• Guardar la porción de manipulación de la fuente, omitiendo la página de inicialización . · Hacer que los pares inicio/fin sean iguales en la porción guardada. De esa manera, las páginas posteriores pueden hacerse independientes de páginas previas asegurando que las definiciones de fuente sean colocadas en la sección del encabezado.
Algunos archivos contienen un comentario
"%%IncludeResource : " antes de definir fuentes con mucho de la misma manera anterior; cuando esa indicación es encontrada a nivel del archivo (no en documentos anexos) sigue un procesamiento similar. Ha sido observado otro modo de falla con PageMaker. PageMaker permite que el usuario cree un documento a partir de archivos independientes múltiples. Cuando el usuario lo hace, el maestro PostScript emitido aparece documentos conformados múltiples concatenados juntos, que contienen por lo tanto comentarios "%%EOF" múltiples, en violación del estándar. Para . facilidad de esos maestros, el administrador de documentos verifica después del fin de archivo para ver si está realmente al final del archivo físico, y entonces regresa nuevamente e intenta analizar gramaticalmente un nuevo documento . En resumen, la esencia de la invención es editar automáticamente porciones de archivos PDL casi independientes de página, para hacerlos independientes de página, y entonces continuar con cualquier operación como la inversión de la página, impresión en paralelo de páginas o impresión en subconjutos, que requiere independencia de página. El método usa la técnica de reconocimiento de idioma, dependiente del hecho' de que ciertos patrones nunca aparecen en el archivo excepto cuando se este haciendo algo que rompa la independencia de página, y también dependiendo de que aquellos archivos sean fijados fácilmente por operaciones de edición simples. Aunque han sido descritas modalidades particulares, alternativas, modificaciones, variaciones, y mejoras y equivalentes sustanciales que solo pueden ser inadvertidas actualmente pueden ocurrírsele a la solicitante o expertos en la técnica. En consecuencia, las reivindicaciones anexas como se presentaron y como puedan ser enmendadas pretendan abarcar todas aquellas alternativas, modificaciones, variaciones, mejoras y equivalentes sustanciales. Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.