X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/db0faf5895c0635a7d6d77565598b10beb3da7b2..90aaa86507f004720d761a737478a99c19689078:/utils/tex2rtf/src/htmlutil.cpp diff --git a/utils/tex2rtf/src/htmlutil.cpp b/utils/tex2rtf/src/htmlutil.cpp index 2ba1279576..1029c30603 100644 --- a/utils/tex2rtf/src/htmlutil.cpp +++ b/utils/tex2rtf/src/htmlutil.cpp @@ -191,7 +191,7 @@ void ReopenFile(FILE **fd, char **fileName) else sprintf(buf, "%s%d.html", FileRoot, fileId); if (*fileName) delete[] *fileName; - *fileName = copystring(FileNameFromPath(buf)); + *fileName = copystring(wxFileNameFromPath(buf)); *fd = fopen(buf, "w"); fprintf(*fd, "\n"); } @@ -426,13 +426,13 @@ void AddBrowseButtons(char *upLabel, char *upFilename, if (truncateFilenames) { char buf1[80]; - strcpy(buf1, ConvertCase(FileNameFromPath(FileRoot))); + strcpy(buf1, ConvertCase(wxFileNameFromPath(FileRoot))); sprintf(buf, "\n%s ", buf1, ConvertCase("htm"), contentsReference); } else { char buf1[80]; - strcpy(buf1, ConvertCase(FileNameFromPath(FileRoot))); + strcpy(buf1, ConvertCase(wxFileNameFromPath(FileRoot))); sprintf(buf, "\n%s ", buf1, ConvertCase("_contents.html"), contentsReference); } // TexOutput(""); @@ -585,13 +585,16 @@ char *ParseColourString(char *bkStr, bool *isPicture) void OutputFont(void) { - // Output <FONT FACE=...> - TexOutput("<FONT FACE=\""); + // Only output <font face> if explicitly requested by htmlFaceName= directive in + // tex2rtf.ini. Otherwise do NOT set the font because we want to use browser's + // default font: if (htmlFaceName) - TexOutput(htmlFaceName); - else - TexOutput("Times New Roman"); - TexOutput("\">\n"); + { + // Output <FONT FACE=...> + TexOutput("<FONT FACE=\""); + TexOutput(htmlFaceName); + TexOutput("\">\n"); + } } // Output start of <BODY> block @@ -652,6 +655,24 @@ void OutputBodyStart(void) OutputFont(); } +void HTMLHead() +{ + TexOutput("<head>"); + if (htmlStylesheet) { + TexOutput("<link rel=stylesheet type=\"text/css\" href=\""); + TexOutput(htmlStylesheet); + TexOutput("\">"); + } +}; + +void HTMLHeadTo(FILE* f) +{ + if (htmlStylesheet) + fprintf(f,"<head><link rel=stylesheet type=\"text/css\" href=\"%s\">",htmlStylesheet); + else + fprintf(f,"<head>"); +} + // Called on start/end of macro examination void HTMLOnMacro(int macroId, int no_args, bool start) { @@ -682,16 +703,17 @@ void HTMLOnMacro(int macroId, int no_args, bool start) SetCurrentOutput(Chapters); - TexOutput("<head><title>"); + HTMLHead(); + TexOutput("<title>"); OutputCurrentSection(); // Repeat section header TexOutput("</title></head>\n"); OutputBodyStart(); char titleBuf[200]; if (truncateFilenames) - sprintf(titleBuf, "%s.htm", FileNameFromPath(FileRoot)); + sprintf(titleBuf, "%s.htm", wxFileNameFromPath(FileRoot)); else - sprintf(titleBuf, "%s_contents.html", FileNameFromPath(FileRoot)); + sprintf(titleBuf, "%s_contents.html", wxFileNameFromPath(FileRoot)); fprintf(Chapters, "<A NAME=\"%s\"></A>", topicName); @@ -720,8 +742,8 @@ void HTMLOnMacro(int macroId, int no_args, bool start) // Add this section title to the list of keywords if (htmlIndex) { - OutputCurrentSectionToString(wxBuffer); - AddKeyWordForTopic(topicName, wxBuffer, ConvertCase(currentFileName)); + OutputCurrentSectionToString(wxTex2RTFBuffer); + AddKeyWordForTopic(topicName, wxTex2RTFBuffer, ConvertCase(currentFileName)); } } break; @@ -751,7 +773,8 @@ void HTMLOnMacro(int macroId, int no_args, bool start) if (htmlWorkshopFiles) HTMLWorkshopAddToContents(1, topicName, SectionsName); SetCurrentOutput(Sections); - TexOutput("<head><title>"); + HTMLHead(); + TexOutput("<title>"); OutputCurrentSection(); TexOutput("</title></head>\n"); OutputBodyStart(); @@ -782,8 +805,8 @@ void HTMLOnMacro(int macroId, int no_args, bool start) // Add this section title to the list of keywords if (htmlIndex) { - OutputCurrentSectionToString(wxBuffer); - AddKeyWordForTopic(topicName, wxBuffer, currentFileName); + OutputCurrentSectionToString(wxTex2RTFBuffer); + AddKeyWordForTopic(topicName, wxTex2RTFBuffer, currentFileName); } } break; @@ -844,7 +867,8 @@ void HTMLOnMacro(int macroId, int no_args, bool start) if (htmlWorkshopFiles) HTMLWorkshopAddToContents(2, topicName, SubsectionsName); SetCurrentOutput(Subsections); - TexOutput("<head><title>"); + HTMLHead(); + TexOutput("<title>"); OutputCurrentSection(); TexOutput("</title></head>\n"); OutputBodyStart(); @@ -889,8 +913,8 @@ void HTMLOnMacro(int macroId, int no_args, bool start) // Add this section title to the list of keywords if (htmlIndex) { - OutputCurrentSectionToString(wxBuffer); - AddKeyWordForTopic(topicName, wxBuffer, currentFileName); + OutputCurrentSectionToString(wxTex2RTFBuffer); + AddKeyWordForTopic(topicName, wxTex2RTFBuffer, currentFileName); } } @@ -924,7 +948,8 @@ void HTMLOnMacro(int macroId, int no_args, bool start) if (htmlWorkshopFiles) HTMLWorkshopAddToContents(3, topicName, SubsubsectionsName); SetCurrentOutput(Subsubsections); - TexOutput("<head><title>"); + HTMLHead(); + TexOutput("<title>"); OutputCurrentSection(); TexOutput("</title></head>\n"); OutputBodyStart(); @@ -967,8 +992,8 @@ void HTMLOnMacro(int macroId, int no_args, bool start) // Add this section title to the list of keywords if (htmlIndex) { - OutputCurrentSectionToString(wxBuffer); - AddKeyWordForTopic(topicName, wxBuffer, currentFileName); + OutputCurrentSectionToString(wxTex2RTFBuffer); + AddKeyWordForTopic(topicName, wxTex2RTFBuffer, currentFileName); } } } @@ -2004,7 +2029,7 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) { TexOutput("<img src=\""); TexOutput(ConvertCase(wxFileNameFromPath(inlineFilename))); - TexOutput("\""); TexOutput(alignment); TexOutput("></A>"); + TexOutput("\""); TexOutput(alignment); TexOutput(">"); delete[] inlineFilename; } } @@ -2686,11 +2711,12 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) char titleBuf[150]; if (truncateFilenames) - sprintf(titleBuf, "%s.htm", FileNameFromPath(FileRoot)); + sprintf(titleBuf, "%s.htm", wxFileNameFromPath(FileRoot)); else - sprintf(titleBuf, "%s_contents.html", FileNameFromPath(FileRoot)); + sprintf(titleBuf, "%s_contents.html", wxFileNameFromPath(FileRoot)); - TexOutput("<head><title>"); + HTMLHead(); + TexOutput("<title>"); TexOutput(ReferencesNameString); TexOutput("</title></head>\n"); OutputBodyStart(); @@ -2896,7 +2922,7 @@ bool HTMLGo(void) OnError("Cannot open output file!"); return FALSE; } - AddTexRef("contents", FileNameFromPath(TitlepageName), ContentsNameString); + AddTexRef("contents", wxFileNameFromPath(TitlepageName), ContentsNameString); fprintf(Contents, "<P><P><H2>%s</H2><P><P>\n", ContentsNameString); @@ -2968,17 +2994,19 @@ bool HTMLGo(void) if (DocumentTitle) { SetCurrentOutput(tmpTitle); - TexOutput("\n<HTML>\n<HEAD><TITLE>"); + HTMLHead(); + TexOutput("\n<HEAD><TITLE>"); TraverseChildrenFromChunk(DocumentTitle); TexOutput("</TITLE></HEAD>\n"); } else { SetCurrentOutput(tmpTitle); + HTMLHeadTo(tmpTitle); if (contentsString) - fprintf(tmpTitle, "<HEAD><TITLE>%s</TITLE></HEAD>\n\n", contentsString); + fprintf(tmpTitle, "<TITLE>%s</TITLE></HEAD>\n\n", contentsString); else - fprintf(tmpTitle, "<HEAD><TITLE>%s</TITLE></HEAD>\n\n", FileNameFromPath(FileRoot)); + fprintf(tmpTitle, "<TITLE>%s</TITLE></HEAD>\n\n", wxFileNameFromPath(FileRoot)); } // Output frame information @@ -2992,8 +3020,8 @@ bool HTMLGo(void) fprintf(tmpTitle, "<FRAMESET COLS=\"30%%,70%%\">\n"); - fprintf(tmpTitle, "<FRAME SRC=\"%s\">\n", ConvertCase(FileNameFromPath(contentsFrameName))); - fprintf(tmpTitle, "<FRAME SRC=\"%s\" NAME=\"mainwindow\">\n", ConvertCase(FileNameFromPath(firstFileName))); + fprintf(tmpTitle, "<FRAME SRC=\"%s\">\n", ConvertCase(wxFileNameFromPath(contentsFrameName))); + fprintf(tmpTitle, "<FRAME SRC=\"%s\" NAME=\"mainwindow\">\n", ConvertCase(wxFileNameFromPath(firstFileName))); fprintf(tmpTitle, "</FRAMESET>\n"); fprintf(tmpTitle, "<NOFRAMES>\n"); @@ -3024,7 +3052,7 @@ bool HTMLGo(void) fprintf(tmpTitle, "\n</HTML>\n"); fclose(tmpTitle); - if (FileExists(TitlepageName)) wxRemoveFile(TitlepageName); + if (wxFileExists(TitlepageName)) wxRemoveFile(TitlepageName); if (!wxRenameFile("title.tmp", TitlepageName)) { wxCopyFile("title.tmp", TitlepageName); @@ -3037,7 +3065,7 @@ bool HTMLGo(void) if (lastTopic) delete[] lastTopic; lastTopic = NULL; - if (FileExists(ContentsName)) wxRemoveFile(ContentsName); + if (wxFileExists(ContentsName)) wxRemoveFile(ContentsName); if (!wxRenameFile(TmpContentsName, ContentsName)) { @@ -3122,11 +3150,11 @@ void GenerateHTMLWorkshopFiles(char *fname) "Default topic=%s\n" "Index file=%s.hhk\n" "Title=", - FileNameFromPath(fname), - FileNameFromPath(fname), - FileNameFromPath(fname), - FileNameFromPath(TitlepageName), - FileNameFromPath(fname) + wxFileNameFromPath(fname), + wxFileNameFromPath(fname), + wxFileNameFromPath(fname), + wxFileNameFromPath(TitlepageName), + wxFileNameFromPath(fname) ); if (DocumentTitle) { @@ -3137,19 +3165,19 @@ void GenerateHTMLWorkshopFiles(char *fname) fprintf(f, "\n\n[WINDOWS]\n" "%sHelp=,\"%s.hhc\",\"%s.hhk\",\"%s\",,,,,,0x2420,,0x380e,,,,,0,,,", - FileNameFromPath(fname), - FileNameFromPath(fname), - FileNameFromPath(fname), - FileNameFromPath(TitlepageName)); + wxFileNameFromPath(fname), + wxFileNameFromPath(fname), + wxFileNameFromPath(fname), + wxFileNameFromPath(TitlepageName)); fprintf(f, "\n\n[FILES]\n"); - fprintf(f, "%s\n", FileNameFromPath(TitlepageName)); + fprintf(f, "%s\n", wxFileNameFromPath(TitlepageName)); for (int i = 1; i <= fileId; i++) { if (truncateFilenames) - sprintf(buf, "%s%d.htm", FileNameFromPath(FileRoot), i); + sprintf(buf, "%s%d.htm", wxFileNameFromPath(FileRoot), i); else - sprintf(buf, "%s%d.html", FileNameFromPath(FileRoot), i); + sprintf(buf, "%s%d.html", wxFileNameFromPath(FileRoot), i); fprintf(f, "%s\n", buf); } fclose(f); @@ -3161,8 +3189,10 @@ void GenerateHTMLWorkshopFiles(char *fname) fprintf(f, "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">\n" - "<HTML>\n" - "<HEAD>\n" + "<HTML>\n"); + HTMLHeadTo(f); + fprintf(f, + "\n" "<meta name=\"GENERATOR\" content=\"tex2rtf\">\n" "<!-- Sitemap 1.0 -->\n" "</HEAD><BODY>\n" @@ -3237,8 +3267,10 @@ void HTMLWorkshopStartContents() fprintf(HTMLWorkshopContents, "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML//EN\">\n" - "<HTML>\n" - "<HEAD>\n" + "<HTML>\n"); + HTMLHeadTo(HTMLWorkshopContents); + fprintf(HTMLWorkshopContents, + "\n" "<meta name=\"GENERATOR\" content=\"tex2rtf\">\n" "<!-- Sitemap 1.0 -->\n" "</HEAD><BODY>\n" @@ -3249,7 +3281,7 @@ void HTMLWorkshopStartContents() "<LI> <OBJECT type=\"text/sitemap\">\n" "<param name=\"Local\" value=\"%s\">\n" "<param name=\"Name\" value=\"Contents\">\n</OBJECT>\n", - FileNameFromPath(TitlepageName) + wxFileNameFromPath(TitlepageName) ); }