Ignore:
Timestamp:
Oct 30, 2006, 5:37:36 PM (14 years ago)
Author:
Sam Hocevar
Message:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcaca/trunk/cucul/export.c

    r1262 r1264  
    360360     * A line: 7 chars for "<br />\n"
    361361     * A glyph: 47 chars for "<span style="color:#xxx;background-color:#xxx">"
     362     *          83 chars for ";font-weight..."
    362363     *          up to 9 chars for "&#xxxxxx;", far less for pure ASCII
    363364     *          7 chars for "</span>" */
    364     ex->size = 1000 + cv->height * (7 + cv->width * (47 + 9 + 7));
     365    ex->size = 1000 + cv->height * (7 + cv->width * (47 + 83 + 9 + 7));
    365366    ex->data = malloc(ex->size);
    366367
     
    383384        {
    384385            cur += sprintf(cur, "<span style=\"color:#%.03x;"
    385                                 "background-color:#%.03x\">",
     386                                "background-color:#%.03x",
    386387                                _cucul_attr_to_rgb12fg(lineattr[x]),
    387388                                _cucul_attr_to_rgb12bg(lineattr[x]));
     389            if(lineattr[x] & CUCUL_BOLD)
     390                cur += sprintf(cur, ";font-weight:bold");
     391            if(lineattr[x] & CUCUL_ITALICS)
     392                cur += sprintf(cur, ";font-style:italic");
     393            if(lineattr[x] & CUCUL_UNDERLINE)
     394                cur += sprintf(cur, ";text-decoration:underline");
     395            if(lineattr[x] & CUCUL_BLINK)
     396                cur += sprintf(cur, ";text-decoration:blink");
     397            cur += sprintf(cur, "\">");
    388398
    389399            for(len = 0;
     
    429439     * A line: 10 chars for "<tr></tr>\n"
    430440     * A glyph: 40 chars for "<td bgcolor=#xxxxxx><font color=#xxxxxx>"
     441     *          up to 36 chars for "<b><i><u><blink></blink></u></i></b>"
    431442     *          up to 9 chars for "&#xxxxxx;", far less for pure ASCII
    432443     *          12 chars for "</font></td>" */
    433     ex->size = 1000 + cv->height * (10 + cv->width * (40 + 9 + 12));
     444    ex->size = 1000 + cv->height * (10 + cv->width * (40 + 36 + 9 + 12));
    434445    ex->data = malloc(ex->size);
    435446
     
    465476            cur += sprintf(cur, "><font color=#%.06lx>", (unsigned long int)
    466477                           _cucul_attr_to_rgb24fg(lineattr[x]));
     478
     479            if(lineattr[x] & CUCUL_BOLD)
     480                cur += sprintf(cur, "<b>");
     481            if(lineattr[x] & CUCUL_ITALICS)
     482                cur += sprintf(cur, "<i>");
     483            if(lineattr[x] & CUCUL_UNDERLINE)
     484                cur += sprintf(cur, "<u>");
     485            if(lineattr[x] & CUCUL_BLINK)
     486                cur += sprintf(cur, "<blink>");
    467487
    468488            for(i = 0; i < len; i++)
     
    477497                    cur += sprintf(cur, "&#%i;", (unsigned int)linechar[x + i]);
    478498            }
     499
     500            if(lineattr[x] & CUCUL_BLINK)
     501                cur += sprintf(cur, "</blink>");
     502            if(lineattr[x] & CUCUL_UNDERLINE)
     503                cur += sprintf(cur, "</u>");
     504            if(lineattr[x] & CUCUL_ITALICS)
     505                cur += sprintf(cur, "</i>");
     506            if(lineattr[x] & CUCUL_BOLD)
     507                cur += sprintf(cur, "</b>");
    479508
    480509            cur += sprintf(cur, "</font></td>");
Note: See TracChangeset for help on using the changeset viewer.