He intentado insertar un carácter Unicode & # x2207; o & # x25BD ;, por lo que se muestra en el PDF generado por Apache FOP.¿Cómo puedo mostrar un carácter Unicode usando Apache fop? Mostrando "?" en lugar de personaje
Esto es lo que he hecho hasta ahora:
En primer lugar hay que conocer la punto de código Unicode correcta para representar el carácter de acuerdo con esta ayuda básica Apache XSL-FO Input, que punto de código Unicode se puede encontrar en Unicode. org dentro de una lista de Operadores Matemáticos. El código es
∇
& # x2207; NABLA, también podría usar▽
& # x25BD; un triángulo apuntando hacia abajo.Después de encontrar el código correcto que tengo que seleccionar una fuente que contiene el glifo necesario y el Adobe PostScript y especificación PDF especificar Base-14 Font Character Mapping que debe estar disponible para todos los intérpretes y PDF lector de PostScript, por lo que busco en la lista y el tipo de letra El símbolo contiene & # x2207;
∇
, (sin fuente contiene & # x25BD;▽
descartados)Después de eso buscar el código de resultado creo que debería usar en XSL: FO es:
<fo:block font-family="Symbol"> ∇ </fo:block>
El problema es cuando genera el PDF, el resultado no es el que esperaba "& # x2207;", pero en lugar de eso muestra un "?", leí que cuando no puede mostrar el carácter generalmente muestra "#", pero mi código está mostrando "?".
Estoy usando Apache fop 0.95, sospecho que es la versión que está causando el problema, y debería actualizar a 1.0, pero en este momento es la versión usada en producción, y el líder del equipo dijo que es difícil el momento de actualizarlo.
Entonces, ¿ese es el problema, podría ser algo más aparte de la versión? ¿Podría ser algo tonto que olvidé hacer? ¿Cómo puedo mostrar un carácter Unicode usando Apache fop?
Probé el código 'fo: block' tanto en FOP 1.0 como en FOP .95. Funcionó bien en ambas versiones. ¿Tiene acceso a stderr? Debería recibir una advertencia si hay un problema de fuente o glifo. –
@DevNull en realidad, todavía no lo he probado en FOP 1.0, solo FOP .95, estoy empezando a aprender esto, ¿podría decirme cómo puedo acceder a stderr para ver si se trata de un problema de fuente o glifo? –
Probablemente estás haciendo tu desarrollo en un IDE como Eclipse. Cada vez que ejecuta su código, la salida se envía a la consola; por defecto, (al menos en Eclipse) mostrará stderr como líneas rojas en esa consola. – Wivani