version 1.54, 2014/08/10 23:54:41 |
version 1.58, 2014/10/10 15:26:29 |
|
|
/* $Id$ */ |
/* $Id$ */ |
/* |
/* |
* Copyright (c) 2008, 2009, 2011 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2008, 2009, 2011, 2014 Kristaps Dzonsons <kristaps@bsd.lv> |
* Copyright (c) 2013, 2014 Ingo Schwarze <schwarze@openbsd.org> |
* Copyright (c) 2013, 2014 Ingo Schwarze <schwarze@openbsd.org> |
* |
* |
* Permission to use, copy, modify, and distribute this software for any |
* Permission to use, copy, modify, and distribute this software for any |
Line 265 print_box(const struct eqn_box *ep, int indent) |
|
Line 265 print_box(const struct eqn_box *ep, int indent) |
|
int i; |
int i; |
const char *t; |
const char *t; |
|
|
|
static const char *posnames[] = { |
|
NULL, "sup", "subsup", "sub", |
|
"to", "from", "fromto", |
|
"over", "sqrt", NULL }; |
|
|
if (NULL == ep) |
if (NULL == ep) |
return; |
return; |
for (i = 0; i < indent; i++) |
for (i = 0; i < indent; i++) |
Line 275 print_box(const struct eqn_box *ep, int indent) |
|
Line 280 print_box(const struct eqn_box *ep, int indent) |
|
case EQN_ROOT: |
case EQN_ROOT: |
t = "eqn-root"; |
t = "eqn-root"; |
break; |
break; |
|
case EQN_LISTONE: |
case EQN_LIST: |
case EQN_LIST: |
t = "eqn-list"; |
t = "eqn-list"; |
break; |
break; |
Line 284 print_box(const struct eqn_box *ep, int indent) |
|
Line 290 print_box(const struct eqn_box *ep, int indent) |
|
case EQN_TEXT: |
case EQN_TEXT: |
t = "eqn-text"; |
t = "eqn-text"; |
break; |
break; |
|
case EQN_PILE: |
|
t = "eqn-pile"; |
|
break; |
case EQN_MATRIX: |
case EQN_MATRIX: |
t = "eqn-matrix"; |
t = "eqn-matrix"; |
break; |
break; |
} |
} |
|
|
assert(t); |
fputs(t, stdout); |
printf("%s(%d, %d, %d, %d, %d, \"%s\", \"%s\") %s\n", |
if (ep->pos) |
t, EQN_DEFSIZE == ep->size ? 0 : ep->size, |
printf(" pos=%s", posnames[ep->pos]); |
ep->pos + 1, ep->font, ep->mark, ep->pile, |
if (ep->left) |
ep->left ? ep->left : "", |
printf(" left=\"%s\"", ep->left); |
ep->right ? ep->right : "", |
if (ep->right) |
ep->text ? ep->text : ""); |
printf(" right=\"%s\"", ep->right); |
|
if (ep->top) |
|
printf(" top=\"%s\"", ep->top); |
|
if (ep->bottom) |
|
printf(" bottom=\"%s\"", ep->bottom); |
|
if (ep->text) |
|
printf(" text=\"%s\"", ep->text); |
|
if (ep->font) |
|
printf(" font=%d", ep->font); |
|
if (ep->size != EQN_DEFSIZE) |
|
printf(" size=%d", ep->size); |
|
if (ep->expectargs != UINT_MAX && ep->expectargs != ep->args) |
|
printf(" badargs=%zu(%zu)", ep->args, ep->expectargs); |
|
else if (ep->args) |
|
printf(" args=%zu", ep->args); |
|
putchar('\n'); |
|
|
print_box(ep->first, indent + 1); |
print_box(ep->first, indent + 1); |
print_box(ep->next, indent); |
print_box(ep->next, indent); |