exit (1);
}
+#define INHIBIT_TITLE
+
int
main (int argc, char **argv)
{
{
MText *title = mplist_value (plist);
+#ifndef INHIBIT_TITLE
printf ("@htmlonly\n title:\"");
+#else
+ printf ("@htmlonly\n");
+#endif
plist = mplist_next (plist);
+#ifndef INHIBIT_TITLE
mconv_encode_stream (Mutf8, title, stdout);
printf ("\"");
+#endif
if (mplist_key (plist) != Mnil)
{
MText *icon = mplist_value (plist);
NULL, NULL, NULL);
char *base;
char cmd[1024];
+ int result;
base = basename (strdup (iconfile));
sprintf (cmd, "convert -resize 50%% %s images/icon-%s",
iconfile, base);
- system (cmd);
+ result = system (cmd);
+ if (result != 0)
+ {
+ fprintf (stderr, "Command fail: %s", cmd);
+ exit (1);
+ }
printf (" icon:<img src=\"icon-%s\" border=\"1\" style=\"vertical-align:middle;\">\n", base);
}
else
}
else
{
+ MConverter *converter = mconv_stream_converter (Mutf8, stdout);
int len = mtext_len (mt), i, c;
+ int has_non_ascii = 0;
+ if (mtext_ref_char (mt, len - 1) != '\n')
+ {
+ mtext_ins_char (mt, len, '\n', 1);
+ len ++;
+ }
+
for (i = 0; i < len; i++)
{
c = mtext_ref_char (mt, i);
if (c >= 0x100)
- break;
+ {
+ has_non_ascii = 1;
+ break;
+ }
}
- if (i < len)
- printf ("@htmlonly\n<div class=\"fragment\"><pre class=\"fragment\">\n");
- else
- printf ("@verbatim\n");
+ if (has_non_ascii)
+ printf ("@if FOR_HTML\n");
+ printf ("@verbatim\n");
mconv_encode_stream (Mutf8, mt, stdout);
- if (mtext_ref_char (mt, mtext_len (mt) - 1) != '\n')
- printf ("\n");
- if (i < len)
+ printf ("@endverbatim\n");
+ if (has_non_ascii)
{
- MConverter *converter = mconv_stream_converter (Mutf8, stdout);
- int from;
-
- printf ("</pre></div><p>\n@endhtmlonly\n");
- printf ("@latexonly\n\\begin{verbatim}\n");
- if (i > 0)
- mconv_encode_range (converter, mt, 0, i);
- for (from = i; i < len; i++)
+ printf ("@endif\n@if FOR_LATEX\n");
+ printf ("@verbatim\n");
+ for (i = 0; i < len; i++)
{
c = mtext_ref_char (mt, i);
if (c >= 0x100)
- {
- if (i > from)
- mconv_encode_range (converter, mt, from, i);
- printf ("U+%04X", c);
- from = i + 1;
- }
+ printf ("<U+%04X>", c);
+ else
+ putchar (c);
}
- if (i > from)
- mconv_encode_range (converter, mt, from, i);
- printf ("\\end{verbatim}\n@endlatexonly\n");
- mconv_free_converter (converter);
+ printf ("@endverbatim\n");
+ printf ("@endif\n");
}
- else
- printf ("@endverbatim\n");
+ mconv_free_converter (converter);
}
M17N_FINI ();