void
print_ligkern_table(void)
{
    unsigned i;

    sort_ptr = 1;
    if (nl>0) {
        left(); out("LIGTABLE"); out_ln();
        for (i=0; i<nl; i++) {
            unsigned r = lig_kern_table[i].entries[0];
            if (r >= 256)
                activity[i] = A_ACCESSIBLE;
            else if ((activity[i] == A_ACCESSIBLE) && (r < STOP_FLAG)) {
                r += i + 1;
                if (r >= nl) {
                    fprintf(stderr, "Bad OFM file: Ligature/kern step %u skips too far;\n"
                                    "I made it stop.\n", i);
                    lig_kern_table[i].entries[0] = STOP_FLAG;
                    changed = TRUE;
                } else
                    activity[r] = A_ACCESSIBLE;
            }
        }
        for (i=0; i<nl; i++) {
            if (activity[i] == A_UNREACHABLE) {
                if (parenthesis_level == 1) {
                    left();
                    out("COMMENT THIS PART OF THE PROGRAM IS NEVER USED!");
                    out_ln();
                }
            } else if (parenthesis_level == 2)
                right();
            if (activity[i] != A_PASS_THROUGH) {
                while ((sort_ptr<=label_ptr) && (i==label_table[sort_ptr].rr)) {
                    print_label_command(label_table[sort_ptr].cc);
                    sort_ptr++;
                }
                print_one_lig_kern_entry(lig_kern_table+i, TRUE);
            }
        }
        if (parenthesis_level == 2)	/* the final step was unreachable */
            right();
        right();
    }
}
Example #2
0
void
ofm_read_simple(void)
{

    if (ofm_on==TRUE) {
        print_ofm_level(ofm_level-1);
        print_font_dir(font_dir);
    }
    header = (char *) ofm+check_sum_pos;
    retrieve_header();
    print_family();
    print_face();
    print_coding_scheme();
    print_design_size();
    out("(COMMENT DESIGNSIZE IS IN POINTS)"); out_ln();
    out("(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)"); out_ln();
    print_check_sum();
    if ((seven_bit == TRUE) || (ofm_level != OFM_TFM))
      print_seven_bit_safe_flag();
    retrieve_parameters(ofm+(4*param_base));
    print_parameters();
}
Example #3
0
void
right(void)
{
    if (parenthesis_level==0) internal_error_0("right");
    parenthesis_level--; out(")"); out_ln();
}