OPENTYPE FUENT ENVERSIÓN PARA PECLIMIENTO Y GENUNOS (¿Alguien entiende estas estúpidas tablas?)

StackOverflow https://stackoverflow.com/questions/2957441

Pregunta

Por lo tanto, esto es principalmente para diversión, estoy hurgando y tratando de encontrar mi camino dentro de algunas fuentes y tengo algunas preguntas en las que realmente apreciaría algo de ayuda si alguien ha hecho este tipo de cosas.

mesa CMAP

Las fuentes con las que estoy probando contienen varios subtables CMAP de diferentes formatos. Puedo leerlos, pero no entiendo cuál debería estar usando. es decir. ¿Cuál es la estrategia para elegir el subtendible más apropiado? ¿Esto tiene sentido?

mesa de glyf

Esto realmente está haciendo que me duela la cabeza. Voy por lo que es aqui. Mirando la segunda tabla en esa página, tengo 'n' endptsofcontours, instrucciones 'n' y banderas 'n', pero no me queda claro si tengo el mismo número de banderas que los contornos (sé cuántos contornos Tengo). Luego, para empeorar las cosas ... (¡divertido!) Tengo una variedad de xcoords y una variedad de ycoords. Estas matrices parecen ser de longitud indeterminada y pueden contener datos de byte o cortos, pero no vamos a decirle cuál.

Ok, supongo que esto es para lo que son las instrucciones y las banderas, pero como probablemente puedas decir, realmente no sé cómo lidiar con ellas. ¿Necesito un intérprete TrueType para acceder a los datos de coordenadas?

¿Fue útil?

Solución

Estás en lo cierto, por supuesto.

Bandas Bit 1: Si se establece, la coordenada X correspondiente es de 1 byte de largo. Si no se establece, 2 bytes.

Flags Bit 2: si se establece, la coordenada Y correspondiente es de 1 byte de largo. Si no se establece, 2 bytes.

Escribí código para caminar por las mesas trueType a largo Hace tiempo, en C por supuesto. Supongo que puede comparar sus resultados con la salida de ttfdump (aún disponible de Microsoft).

Otros consejos

Para la codificación de CMAP, favorezca cualquier codificación de unicode primero, ya sea ID de plataforma = 0 o ID de plataforma = 3 con ID de codificación = 10 o 1 (lista de ID de plataforma en la tabla de nombre) y favorecer el formato CMAP 12 (espacio unicode completo) en 4 (solo el plano multilingüe básico). Después de eso, las prioridades relativas de las codificaciones se vuelven más vagas {Wansung, Big5, PRC, Shift -Jis ...}, pero también menos importantes ya que una fuente tiende a ser principalmente una fuente japonesa, china o coreana, no todas arriba a la vez. Los formatos 4 y 12 son, con mucho, los más comunes sobre 0, 2, 6. El formato 14 se puede encontrar en las fuentes CJK con selectores de variación como suplemento para el formato 4 o 12, y el formato 13 se puede encontrar una fuente especial de "último recurso" (Usado durante el retroceso de la fuente cuando no hay una buena opción admite el texto dado).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top