col = 0;
newcol = true;
}
- if (newcol && g->unicode != NU) {
+ if (newcol && g->unicode != NU && !(g->unicode & U_HASVS)) {
printf("gsave %d 0 translate (%03lX) colnum grestore\n",
col * 40, unicol);
newcol = false;
}
printf("gsave %d %d translate ",
(col * 40),
- (int)-((g->unicode == NU ?
+ (int)-((g->unicode == NU || (g->unicode & U_HASVS) ?
row++ : (int)(g->unicode % nrow)) * 40));
- if (g->unicode != NU)
- printf("(U+%04lX)", (unsigned long)g->unicode);
- else
+ if (g->unicode == NU)
printf("()");
+ else if (g->unicode & U_HASVS)
+ printf("(<U+%04lX,U+%04lX>)",
+ (unsigned long)GET_UV(g->unicode),
+ (unsigned long)GET_UVS(g->unicode));
+ else
+ printf("(U+%04lX)", (unsigned long)g->unicode);
printf("/%s ", g->name);
printf("exemplify ");
if (g->flags & COMPAT) {