void short_display_n(int p,int m) { int i= 0; font_in_short_display= null_font; if(p==null) return; while(p!=null){ if(is_char_node(p)){ if(p<=max_halfword){ if(font(p)!=font_in_short_display){ if(!is_valid_font(font(p))) print_char('*'); else print_font_identifier(font(p)); print_char(' '); font_in_short_display= font(p); } print(character(p)); } }else{ if((type(p)==glue_node)|| (type(p)==disc_node)|| (type(p)==penalty_node)|| ((type(p)==kern_node)&&(subtype(p)==explicit_kern|| subtype(p)==italic_kern))){ incr(i); } if(i>=m) return; if(type(p)==disc_node){ print_char('|'); short_display(vlink(pre_break(p))); print_char('|'); short_display(vlink(post_break(p))); print_char('|'); }else{ print_short_node_contents(p); } } p= vlink(p); if(p==null) return; } update_terminal(); }
void tex::show_ligature(ptr p) { print_font_and_char(lig_char(p)); print(" (ligature "); if (subtype(p) > 1) print("|"); font_in_short_display = font(lig_char(p)); short_display(lig_ptr(p)); if (odd(subtype(p))) print("|"); print(")"); }
int main(int ac, char **av) { t_args *args; int ret; t_item *items; args = NULL; ret = 0; items = NULL; args = ft_get_args(ac, av); items = get_start(args->items); if (args->options->R == 0) args->options->l ? long_display(items, args) : short_display(items, args); ret = args->ret; clean_program(&args); return (ret); }
void short_display(int p) { while(p!=null){ if(is_char_node(p)){ if(lig_ptr(p)!=null){ short_display(lig_ptr(p)); }else{ if(font(p)!=font_in_short_display){ if(!is_valid_font(font(p))) print_char('*'); else print_font_identifier(font(p)); print_char(' '); font_in_short_display= font(p); } print(character(p)); } }else{ print_short_node_contents(p); } p= vlink(p); } }
void tex::short_display(ptr p) { int n; for (; p != null; p = link(p)) { if (is_char_node(p)) { if (font(p) != font_in_short_display) { if (font(p) < FONT_BASE || font(p) > FONT_MAX) { print("*"); } else { print_esc(null_str); print(font_id_text(font(p))); } print(" "); font_in_short_display = font(p); } print_ASCII(character(p)); } else { switch (tex::type(p)) { case HLIST_NODE: case VLIST_NODE: case INS_NODE: case WHATSIT_NODE: case MARK_NODE: case ADJUST_NODE: case UNSET_NODE: print("[]"); break; case RULE_NODE: print("|"); break; case GLUE_NODE: if (glue_ptr(p) != zero_glue) print(" "); break; case MATH_NODE: print("$"); break; case LIGATURE_NODE: short_display(lig_ptr(p)); break; case DISC_NODE: short_display(pre_break(p)); short_display(post_break(p)); n = replace_count(p); while (n > 0) { if (link(p) != null) p = link(p); decr(n); } break; default: break; } } } }