Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words requiere fuentes TrueType para una variedad de tareas, incluida la representación de documentos en formatos de página fija, por ejemplo, PDF o XPS. Cuando Aspose.Words procesa un documento, necesita realizar incrustaciones y subconjuntos de incrustaciones de TrueType fuentes en el documento resultante, lo cual es una práctica normal durante la generación de un documento, incluidos los formatos populares PDF o XPS. Esto garantiza que el documento aparecerá igual para cualquier espectador. Además, la especificación XPS requiere que las fuentes estén siempre incrustadas en el documento.
Para garantizar que Aspose.Words mida con precisión los caracteres e incruste correctamente las fuentes relevantes, se deben cumplir las siguientes condiciones:
Tenga en cuenta que la fuente del documento representa una entidad, como apellido, estilo, tamaño, color, que es diferente de la entidad de fuente TrueType (fuente física). Aspose.Words convierte la fuente del documento en una fuente física en alguna etapa del procesamiento. Esto habilita ciertas tareas, más comúnmente la tarea de calcular el tamaño del texto durante la construcción del diseño y la incrustación / subconjunto en formatos de página fija. Asimismo, se habilitan otras tareas menos populares, como la resolución y sustitución de fuentes al cargar HTML o incrustar/subconjuntar en algunos formatos de flujo.
Todos los mecanismos de manipulación de fuentes disponibles están contenidos en la clase FontSettings. Esta clase es responsable de obtener fuentes dentro de las fuentes de fuentes definidas, así como del proceso de sustitución de fuentes, como se describe a continuación.
Las fuentes se analizan en varios pasos:
Cuando Aspose.Words encuentra una fuente en el documento por primera vez, intenta obtener información básica de la fuente, como el nombre completo de la fuente, el apellido, la versión y el estilo, de los archivos de fuentes ubicados en cada fuente. Después de recuperar todas las fuentes, Aspose.Words usa estos detalles para encontrar los datos de fuente requeridos o un reemplazo adecuado para la fuente solicitada.
Dado que el procedimiento descrito anteriormente requiere mucho tiempo, puede afectar negativamente al rendimiento de la aplicación en su primer lanzamiento. Sin embargo, cada instancia de FontSettings tiene su propia caché, lo que podría reducir el tiempo de procesamiento de los documentos posteriores. Por ejemplo, puede compartir una instancia de la clase FontSettings entre diferentes documentos, lo que le permite acelerar la carga de los documentos. El siguiente ejemplo demuestra esto:
En el caso de que FontSettings no esté definido explícitamente, Aspose.Words usa la instancia predeterminada FontSettings. Esta instancia también se comparte automáticamente entre documentos y se puede extraer de la siguiente manera:
Java
FontSettings fontSettings = FontSettings.getDefaultInstance();
Si está seguro de que todos los documentos de procesamiento requieren la misma configuración de fuente, se recomienda configurar y utilizar la instancia predeterminada FontSettings. Supongamos que necesita utilizar las mismas fuentes para todos sus documentos. En este caso, puede modificar la instancia predeterminada de la siguiente manera:
Un texto en un documento se puede formatear con varias fuentes, como Arial, Times New Roman, Verdana y otras. Cuando Aspose.Words representa un documento, intenta seleccionar las fuentes especificadas en el documento.
Sin embargo, hay situaciones en las que no se puede encontrar la fuente exacta y Aspose.Words debe sustituirla por una fuente similar. Aspose.Words selecciona la fuente de acuerdo con el siguiente proceso:
FontConfig. Esta característica que no esWindows debe usarse con un OS compatible con FontConfig. Casi cualquier OS basado en Unix ya tiene una biblioteca FontConfig diseñada para proporcionar configuración de fuentes en todo el sistema, personalización y acceso a las aplicaciones. De lo contrario, el usuario puede instalar fácilmente esta biblioteca.FontConfig está deshabilitada. Puede habilitarlo de la siguiente manera: fontSettings.getSubstitutionSettings().getFontConfigSubstitution()().setEnabled(true);
<TableSubstitutionSettings xmlns="Aspose.Words">
<SubstitutesTable>
<Item OriginalFont="Arabic Transparent" SubstituteFonts="Arial" />
…
</SubstitutesTable>
</TableSubstitutionSettings>
fontSettings.getSubstitutionSettings().getTableSubstitution().load("Table.xml");
fontSettings.getSubstitutionSettings().getTableSubstitution().save("MyTable.xml");
fontSettings.getSubstitutionSettings().getTableSubstitution().setEnabled(false);
FontInfoCollection fontInfos = doc.getFontInfos();
fontSettings.getSubstitutionSettings().getFontInfoSubstitution().setEnabled(false);
FontInfo también haya fallado. Esta regla también está habilitada de forma predeterminada. De acuerdo con esta regla, Aspose.Words intentará utilizar la fuente predeterminada especificada en la propiedad DefaultFontName. Si el usuario no ha elegido su propia fuente predeterminada, se utilizará “Times New Roman” como fuente predeterminada. Esta regla se puede deshabilitar como se muestra a continuación: fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setEnabled(false);
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().getDefaultFontName();
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setDefaultFontName("Arial");
A veces, puede no estar claro por qué ha cambiado el diseño del documento o por qué alguna fuente no se ve como se esperaba. En tales casos, los mensajes de advertencia de sustitución de fuentes implementados por la interfaz IWarningCallback vienen al rescate. Tienen el tipo de advertencia FontSubstitution y el formato de texto de descripción estándar, " No se ha encontrado la fuente ‘
Hay dos mecanismos diferentes utilizados en Aspose.Words: Sustitución de fuentes y respaldo de fuentes. La sustitución de fuentes se utiliza cuando la fuente especificada en el documento no se pudo encontrar entre las fuentes como se describió en las secciones anteriores. El mecanismo de respaldo de fuentes se usa cuando se resuelve la fuente, pero no contiene un carácter específico. En este caso, Aspose.Words intenta usar una de las fuentes alternativas para el carácter.
Existe un método BuildAutomatic que crea automáticamente la configuración alternativa escaneando las fuentes disponibles. Dado que este método puede producir una configuración alternativa no óptima, puede controlar el comportamiento alternativo de la fuente utilizando las propiedades de la clase FontFallbackSettings. Esta clase especifica la configuración del mecanismo de respaldo de fuentes. Puede obtener una instancia de la clase FontFallbackSettings de la siguiente manera:
Java
FontFallbackSettings settings = fontSettings.getFallbackSettings();
De manera similar a Table substitution rule, este mecanismo usa tablas XML para la configuración. Estas XML tablas se pueden cargar y guardar con los siguientes métodos:
Java
fontSettings.getFallbackSettings().load("MyNewFallbackTable.xml");
fontSettings.getFallbackSettings().save("Current_FallbackTable.xml");
La versión Aspose.Words incluye dos tablas: MsOfficeFallbackSetting.xml y NotoFallbackSetting.xml.
La tabla MsOfficeFallbackSetting define una estrategia de reemplazo para un rango de caracteres, que es similar a la estrategia utilizada por Microsoft Word. Por lo tanto,la estrategia requiere la instalación de Microsoft fuentes de Office. MsOfficeFallbackSetting se puede activar mediante el siguiente método:
.Java
fontSettings.getFallbackSettings().loadMsOfficeFallbackSettings();
La tabla NotoFallbackSetting se crea especialmente para usarse con fuentes Google Noto (consulte más información sobre la configuración de fuentes Google Noto en la siguiente sección) y se puede habilitar de la siguiente manera:
Java
fontSettings.getFallbackSettings().loadNotoFallbackSettings();
El siguiente ejemplo de código muestra cómo cargar la configuración de respaldo de fuentes desde un archivo XML:
En el ejemplo de código anterior, se usa el siguiente archivo XML:
<FontFallbackSettings xmlns="Aspose.Words">
<FallbackTable>
<!-- Fallback table consists of the rules. Each rule defines the fallback fonts which Aspose.Words should use for specified Unicode ranges and base fonts. Rules are checked one by one and the first applicable fallback font is used. If none of the rules are applicable then ".notdef" glyph (missing glyph) from the base font will be used. -->
<!-- This rule defines that "Vijaya" fallback font should be used for "U+0B80..U+0BFF Tamil" Unicode block. -->
<Rule Ranges="0B80-0BFF" FallbackFonts="Vijaya"/>
<!-- This rule defines that "Segoe UI Emoji" and "Segoe UI Symbol" fallback fonts should be used for "U+1F300..U+1F5FF Miscellaneous Symbols and Pictographs", "U+1F600..U+1F64F Emoticons" Unicode blocks. If "Segoe UI Emoji" font does not contains the glyph for the requested Unicode code point then "Segoe UI Symbol" will be checked. -->
<Rule Ranges="1F300-1F64F" FallbackFonts="Segoe UI Emoji, Segoe UI Symbol"/>
<!-- This rule defines that "Arial" fallback font should be used for "U+2000..U+206F General Punctuation", "U+2070..U+209F Superscripts and Subscripts" Unicode blocks and specific "U+20B9 INDIAN RUPEE SIGN" code point. -->
<Rule Ranges="2000-206F, 2070-209F, 20B9" FallbackFonts="Arial" />
<!-- These rules defines that for "U+3040..U+309F Hiragana" Unicode block "MS Gothic" fallback font should be used if base font is "Times New Roman" and "MS Mincho" fallback font for all other base fonts. -->
<Rule Ranges="3040-309F" FallbackFonts="MS Gothic" BaseFonts="Times New Roman"/>
<Rule Ranges="3040-309F" FallbackFonts="MS Mincho"/>
<!-- This rule defines that "Arial Unicode MS" fallback font should be used if applicable fallback font was not found by previous rules. -->
<Rule FallbackFonts="Arial Unicode MS"/>
</FallbackTable>
</FontFallbackSettings>Aspose.Words proporciona configuraciones predefinidas de respaldo de fuentes para Google Noto fuentes. Estas son fuentes gratuitas con licencia SIL Open Font License, que se pueden descargar desde Google Noto Fonts. La clase FontFallbackSettings proporciona un método LoadNotoFallbackSettings. Carga configuraciones alternativas predefinidas, que usan fuentes Google Noto como se muestra en el ejemplo de código a continuación:
Aspose.Words intenta encontrar TrueType fuentes en el sistema de archivos automáticamente. Por lo general, puede confiar en el comportamiento predeterminado de Aspose.Words para encontrar las fuentes TrueType, pero a veces necesita especificar sus propias carpetas que contengan fuentes TrueType. El Especifica la ubicación de las fuentes TrueType el tema describe cómo y dónde Aspose.Words busca las fuentes, así como cómo especificar sus propias ubicaciones de fuentes.
Existen algunas diferencias en el procesamiento de formatos de fuente en Aspose.Words y Microsoft Word como se muestra en la tabla a continuación:
| Microsoft Word | Aspose.Words | |
|---|---|---|
| TrueType fuentes y OpenType fuentes con TrueType contornos | Apoyado. | Apoyado. |
| OpenType fuentes con PostScript contornos | Compatible con la mayoría de los escenarios. No se admite la incrustación en formatos de página fija como PDF y XPS. El texto se reemplaza con imágenes de mapa de bits. | Compatible con la mayoría de los escenarios, incluida la incrustación en formatos de página fija. |
| OpenType Variaciones de fuente | Solo se admiten instancias con nombre. No se admiten variaciones continuas. | Compatible con la única instancia predeterminada. No se admiten instancias con nombre ni variaciones continuas. |
| Fuentes Type1 | Compatible con las versiones Windows anteriores a 2013 y MacOS. El soporte se elimina en las versiones Windows a partir de 2013. | No soportado. |
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.