{
int i, start, size, cur;
enum hint_type vhints[XSIZE], hhints[YSIZE];
- bool printed;
+ bool printed, need_cntrmask;
select_hints(YSIZE, hstems, tedges, bedges, hhints);
cur = DESCENT * YPIX; printed = false;
for (i = 0; i < YSIZE; i++) {
switch (hhints[YSIZE - 1 - i]) {
- case hint_stem:
case hint_counter_stem:
+ need_cntrmask = true; /* FALLTHROUGH */
+ case hint_stem:
start = i * YPIX_S;
size = YPIX_S;
break;
size = XPIX_S + weight->weight;
for (i = 0; i < XSIZE; i++) {
switch (vhints[i]) {
- case hint_stem:
case hint_counter_stem:
+ need_cntrmask = true; /* FALLTHROUGH */
+ case hint_stem:
start = i * XPIX_S - weight->weight;
size = XPIX_S + weight->weight;
break;
printed = true;
}
if (printed) printf(" vstem");
+
+ if (need_cntrmask) {
+ int nhints = 0;
+ printf(" cntrmask ");
+ for (i = 0; i < YSIZE; i++)
+ if (hhints[i]) {
+ printf("%c", "X0100"[hhints[i]]);
+ nhints++;
+ }
+ for (i = 0; i < XSIZE; i++)
+ if (vhints[i]) {
+ printf("%c", "X0100"[vhints[i]]);
+ nhints++;
+ }
+ printf("0000000" + (nhints - 1) % 8);
+ }
}
/*