From 6c155d33875eb3641bf845fbac186c1b5470708e Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Thu, 8 Jan 2004 11:54:30 +0000 Subject: [PATCH] Applied patch [ 867187 ] wxWindows-like markup in TEX2RTF tool git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25095 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- utils/tex2rtf/src/bmputils.h | 98 +- utils/tex2rtf/src/htmlutil.cpp | 1344 ++++++++++---------- utils/tex2rtf/src/readshg.cpp | 32 +- utils/tex2rtf/src/readshg.h | 6 +- utils/tex2rtf/src/rtfutils.cpp | 2090 ++++++++++++++++---------------- utils/tex2rtf/src/rtfutils.h | 6 +- utils/tex2rtf/src/table.cpp | 10 +- utils/tex2rtf/src/table.h | 2 +- utils/tex2rtf/src/tex2any.cpp | 1955 +++++++++++++++-------------- utils/tex2rtf/src/tex2any.h | 201 ++- utils/tex2rtf/src/tex2rtf.cpp | 485 ++++---- utils/tex2rtf/src/tex2rtf.h | 30 +- utils/tex2rtf/src/texutils.cpp | 622 +++++----- utils/tex2rtf/src/xlputils.cpp | 540 ++++----- 14 files changed, 3652 insertions(+), 3769 deletions(-) diff --git a/utils/tex2rtf/src/bmputils.h b/utils/tex2rtf/src/bmputils.h index 0f8b07a453..a8d685423e 100644 --- a/utils/tex2rtf/src/bmputils.h +++ b/utils/tex2rtf/src/bmputils.h @@ -13,7 +13,7 @@ static char hexArray[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; -void DecToHex(int dec, char *buf) +void DecToHex(int dec, wxChar *buf) { int firstDigit = (int)(dec/16.0); int secondDigit = (int)(dec - (firstDigit*16.0)); @@ -41,30 +41,46 @@ static unsigned long getint(FILE *fp) bool GetBMPHeader(FILE *fp, int *Width, int *Height, int *Planes, int *BitsPerPixel) { - unsigned long bfSize, bfOffBits, biSize, biWidth, biHeight, biPlanes; - unsigned long biBitCount, biCompression, biSizeImage, biXPelsPerMeter; - unsigned long biYPelsPerMeter, biClrUsed, biClrImportant; + // Remember about all fields but store only important ones + unsigned long /* + bfSize, + bfOffBits, + biSize, + */ + biWidth, + biHeight, + biPlanes, + biBitCount + /* , + biCompression, + biSizeImage, + biXPelsPerMeter, + biYPelsPerMeter, + biClrUsed, + biClrImportant + */ + ; /* read the file type (first two bytes) */ int c = getc(fp); int c1 = getc(fp); if (c!='B' || c1!='M') { return FALSE; } - bfSize = getint(fp); + /* bfSize = */ getint(fp); getshort(fp); /* reserved and ignored */ getshort(fp); - bfOffBits = getint(fp); + /* bfOffBits = */ getint(fp); - biSize = getint(fp); + /* biSize = */ getint(fp); biWidth = getint(fp); biHeight = getint(fp); biPlanes = getshort(fp); biBitCount = getshort(fp); - biCompression = getint(fp); - biSizeImage = getint(fp); - biXPelsPerMeter = getint(fp); - biYPelsPerMeter = getint(fp); - biClrUsed = getint(fp); - biClrImportant = getint(fp); + /* biCompression = */ getint(fp); + /* biSizeImage = */ getint(fp); + /* biXPelsPerMeter = */ getint(fp); + /* biYPelsPerMeter = */ getint(fp); + /* biClrUsed = */ getint(fp); + /* biClrImportant = */ getint(fp); *Width = (int)biWidth; *Height = (int)biHeight; @@ -91,19 +107,19 @@ bool OutputBitmapHeader(FILE *fd, bool isWinHelp = FALSE) int goalW = 15*Width; int goalH = 15*Height; - TexOutput("{\\pict"); - if (isWinHelp) TexOutput("\\wbitmap0"); - else TexOutput("\\dibitmap"); - - char buf[50]; - TexOutput("\\picw"); sprintf(buf, "%d", Width); TexOutput(buf); - TexOutput("\\pich"); sprintf(buf, "%d", Height); TexOutput(buf); - TexOutput("\\wbmbitspixel"); sprintf(buf, "%d", BitsPerPixel); TexOutput(buf); - TexOutput("\\wbmplanes"); sprintf(buf, "%d", Planes); TexOutput(buf); - TexOutput("\\wbmwidthbytes"); sprintf(buf, "%d", scanLineWidth); TexOutput(buf); - TexOutput("\\picwgoal"); sprintf(buf, "%d", goalW); TexOutput(buf); - TexOutput("\\pichgoal"); sprintf(buf, "%d", goalH); TexOutput(buf); - TexOutput("\n"); + TexOutput(_T("{\\pict")); + if (isWinHelp) TexOutput(_T("\\wbitmap0")); + else TexOutput(_T("\\dibitmap)")); + + wxChar buf[50]; + TexOutput(_T("\\picw")); wxSprintf(buf, _T("%d"), Width); TexOutput(buf); + TexOutput(_T("\\pich")); wxSprintf(buf, _T("%d"), Height); TexOutput(buf); + TexOutput(_T("\\wbmbitspixel")); wxSprintf(buf, _T("%d"), BitsPerPixel); TexOutput(buf); + TexOutput(_T("\\wbmplanes")); wxSprintf(buf, _T("%d"), Planes); TexOutput(buf); + TexOutput(_T("\\wbmwidthbytes")); wxSprintf(buf, _T("%d"), scanLineWidth); TexOutput(buf); + TexOutput(_T("\\picwgoal")); wxSprintf(buf, _T("%d"), goalW); TexOutput(buf); + TexOutput(_T("\\pichgoal")); wxSprintf(buf, _T("%d"), goalH); TexOutput(buf); + TexOutput(_T("\n")); return TRUE; } @@ -113,20 +129,20 @@ bool OutputBitmapData(FILE *fd) fseek(fd, 14, SEEK_SET); int bytesSoFar = 0; int ch = getc(fd); - char hexBuf[3]; + wxChar hexBuf[3]; while (ch != EOF) { if (bytesSoFar == scanLineWidth) { bytesSoFar = 0; - TexOutput("\n"); + TexOutput(_T("\n")); } DecToHex(ch, hexBuf); TexOutput(hexBuf); bytesSoFar ++; ch = getc(fd); } - TexOutput("\n}\n"); + TexOutput(_T("\n}\n")); return TRUE; } @@ -158,7 +174,7 @@ bool GetMetafileHeader(FILE *handle, int *width, int *height) return TRUE; } -bool OutputMetafileHeader(FILE *handle, bool isWinHelp, int userWidth, int userHeight) +bool OutputMetafileHeader(FILE *handle, bool WXUNUSED(isWinHelp), int userWidth, int userHeight) { int Width, Height; if (!GetMetafileHeader(handle, &Width, &Height)) @@ -187,22 +203,22 @@ bool OutputMetafileHeader(FILE *handle, bool isWinHelp, int userWidth, int userH goalH = userHeight; } - TexOutput("{\\pict"); - TexOutput("\\wmetafile8"); + TexOutput(_T("{\\pict")); + TexOutput(_T("\\wmetafile8")); - char buf[50]; - TexOutput("\\picw"); sprintf(buf, "%d", Width); TexOutput(buf); - TexOutput("\\pich"); sprintf(buf, "%d", Height); TexOutput(buf); - TexOutput("\\picwgoal"); sprintf(buf, "%d", goalW); TexOutput(buf); - TexOutput("\\pichgoal"); sprintf(buf, "%d", goalH); TexOutput(buf); - TexOutput("\n"); + wxChar buf[50]; + TexOutput(_T("\\picw")); wxSprintf(buf, _T("%d"), Width); TexOutput(buf); + TexOutput(_T("\\pich")); wxSprintf(buf, _T("%d"), Height); TexOutput(buf); + TexOutput(_T("\\picwgoal")); wxSprintf(buf, _T("%d"), goalW); TexOutput(buf); + TexOutput(_T("\\pichgoal")); wxSprintf(buf, _T("%d"), goalH); TexOutput(buf); + TexOutput(_T("\n")); return TRUE; } bool OutputMetafileData(FILE *handle) { int bytesSoFar = 0; - char hexBuf[3]; + wxChar hexBuf[3]; int ch; do { @@ -210,7 +226,7 @@ bool OutputMetafileData(FILE *handle) if (bytesSoFar == scanLineWidth) { bytesSoFar = 0; - TexOutput("\n"); + TexOutput(_T("\n")); } if (ch != EOF) { @@ -219,7 +235,7 @@ bool OutputMetafileData(FILE *handle) bytesSoFar ++; } } while (ch != EOF); - TexOutput("\n}\n"); + TexOutput(_T("\n}\n")); return TRUE; } diff --git a/utils/tex2rtf/src/htmlutil.cpp b/utils/tex2rtf/src/htmlutil.cpp index 46aa726a93..a286f46279 100644 --- a/utils/tex2rtf/src/htmlutil.cpp +++ b/utils/tex2rtf/src/htmlutil.cpp @@ -35,11 +35,11 @@ static inline wxChar* copystring(const wxChar* s) extern wxHashTable TexReferences; -extern void DecToHex(int, char *); -void GenerateHTMLIndexFile(char *fname); +extern void DecToHex(int, wxChar *); +void GenerateHTMLIndexFile(wxChar *fname); -void GenerateHTMLWorkshopFiles(char *fname); -void HTMLWorkshopAddToContents(int level, char *s, char *file); +void GenerateHTMLWorkshopFiles(wxChar *fname); +void HTMLWorkshopAddToContents(int level, wxChar *s, wxChar *file); void HTMLWorkshopStartContents(); void HTMLWorkshopEndContents(); @@ -47,15 +47,15 @@ void OutputContentsFrame(void); #include "readshg.h" // Segmented hypergraphics parsing -char *ChaptersName = NULL; -char *SectionsName = NULL; -char *SubsectionsName = NULL; -char *SubsubsectionsName = NULL; -char *TitlepageName = NULL; -char *lastFileName = NULL; -char *lastTopic = NULL; -char *currentFileName = NULL; -char *contentsFrameName = NULL; +wxChar *ChaptersName = NULL; +wxChar *SectionsName = NULL; +wxChar *SubsectionsName = NULL; +wxChar *SubsubsectionsName = NULL; +wxChar *TitlepageName = NULL; +wxChar *lastFileName = NULL; +wxChar *lastTopic = NULL; +wxChar *currentFileName = NULL; +wxChar *contentsFrameName = NULL; static TexChunk *descriptionItemArg = NULL; static TexChunk *helpRefFilename = NULL; @@ -81,7 +81,7 @@ static bool inFigure = FALSE; static bool inTable = FALSE; // This is defined in the Tex2Any library. -extern char *BigBuffer; +extern wxChar *BigBuffer; // DHS Two-column table dimensions. static int TwoColWidthA = -1; @@ -91,9 +91,9 @@ static int TwoColWidthB = -1; class HyperReference: public wxObject { public: - char *refName; - char *refFile; - HyperReference(char *name, char *file) + wxChar *refName; + wxChar *refFile; + HyperReference(wxChar *name, wxChar *file) { if (name) refName = copystring(name); if (file) refFile = copystring(file); @@ -103,9 +103,9 @@ class HyperReference: public wxObject class TexNextPage: public wxObject { public: - char *label; - char *filename; - TexNextPage(char *theLabel, char *theFile) + wxChar *label; + wxChar *filename; + TexNextPage(wxChar *theLabel, wxChar *theFile) { label = copystring(theLabel); filename = copystring(theFile); @@ -119,23 +119,23 @@ class TexNextPage: public wxObject wxHashTable TexNextPages(wxKEY_STRING); -static char *CurrentChapterName = NULL; -static char *CurrentChapterFile = NULL; -static char *CurrentSectionName = NULL; -static char *CurrentSectionFile = NULL; -static char *CurrentSubsectionName = NULL; -static char *CurrentSubsectionFile = NULL; -static char *CurrentSubsubsectionName = NULL; -static char *CurrentSubsubsectionFile = NULL; -static char *CurrentTopic = NULL; - -static void SetCurrentTopic(char *s) +static wxChar *CurrentChapterName = NULL; +static wxChar *CurrentChapterFile = NULL; +static wxChar *CurrentSectionName = NULL; +static wxChar *CurrentSectionFile = NULL; +static wxChar *CurrentSubsectionName = NULL; +static wxChar *CurrentSubsectionFile = NULL; +static wxChar *CurrentSubsubsectionName = NULL; +static wxChar *CurrentSubsubsectionFile = NULL; +static wxChar *CurrentTopic = NULL; + +static void SetCurrentTopic(wxChar *s) { if (CurrentTopic) delete[] CurrentTopic; CurrentTopic = copystring(s); } -void SetCurrentChapterName(char *s, char *file) +void SetCurrentChapterName(wxChar *s, wxChar *file) { if (CurrentChapterName) delete[] CurrentChapterName; CurrentChapterName = copystring(s); @@ -146,7 +146,7 @@ void SetCurrentChapterName(char *s, char *file) SetCurrentTopic(s); } -void SetCurrentSectionName(char *s, char *file) +void SetCurrentSectionName(wxChar *s, wxChar *file) { if (CurrentSectionName) delete[] CurrentSectionName; CurrentSectionName = copystring(s); @@ -156,7 +156,7 @@ void SetCurrentSectionName(char *s, char *file) currentFileName = CurrentSectionFile; SetCurrentTopic(s); } -void SetCurrentSubsectionName(char *s, char *file) +void SetCurrentSubsectionName(wxChar *s, wxChar *file) { if (CurrentSubsectionName) delete[] CurrentSubsectionName; CurrentSubsectionName = copystring(s); @@ -165,7 +165,7 @@ void SetCurrentSubsectionName(char *s, char *file) currentFileName = CurrentSubsectionFile; SetCurrentTopic(s); } -void SetCurrentSubsubsectionName(char *s, char *file) +void SetCurrentSubsubsectionName(wxChar *s, wxChar *file) { if (CurrentSubsubsectionName) delete[] CurrentSubsubsectionName; CurrentSubsubsectionName = copystring(s); @@ -180,23 +180,23 @@ void SetCurrentSubsubsectionName(char *s, char *file) * */ -void ReopenFile(FILE **fd, char **fileName) +void ReopenFile(FILE **fd, wxChar **fileName) { if (*fd) { - fprintf(*fd, "\n\n"); + wxFprintf(*fd, _T("\n\n")); fclose(*fd); } fileId ++; - char buf[400]; + wxChar buf[400]; if (truncateFilenames) - sprintf(buf, "%s%d.htm", FileRoot, fileId); + wxSprintf(buf, _T("%s%d.htm"), FileRoot, fileId); else - sprintf(buf, "%s%d.html", FileRoot, fileId); + wxSprintf(buf, _T("%s%d.html"), FileRoot, fileId); if (*fileName) delete[] *fileName; *fileName = copystring(wxFileNameFromPath(buf)); - *fd = fopen(buf, "w"); - fprintf(*fd, "\n"); + *fd = wxFopen(buf, _T("w")); + wxFprintf(*fd, _T("\n")); } /* @@ -204,7 +204,7 @@ void ReopenFile(FILE **fd, char **fileName) * in subsectionCombine mode */ -static char *SectionContentsFilename = NULL; +static wxChar *SectionContentsFilename = NULL; static FILE *SectionContentsFD = NULL; void ReopenSectionContentsFile(void) @@ -221,13 +221,13 @@ void ReopenSectionContentsFile(void) // Create the name from the current section filename if ( CurrentSectionFile ) { - char buf[256]; - strcpy(buf, CurrentSectionFile); + wxChar buf[256]; + wxStrcpy(buf, CurrentSectionFile); wxStripExtension(buf); - strcat(buf, ".con"); + wxStrcat(buf, _T(".con")); SectionContentsFilename = copystring(buf); - SectionContentsFD = fopen(SectionContentsFilename, "w"); + SectionContentsFD = wxFopen(SectionContentsFilename, _T("w")); } } @@ -244,7 +244,7 @@ void ProcessText2HTML(TexChunk *chunk) int ptr = 0; int i = 0; char ch = 1; - int len = strlen(chunk->value); + int len = wxStrlen(chunk->value); while (ch != 0) { ch = chunk->value[i]; @@ -254,7 +254,7 @@ void ProcessText2HTML(TexChunk *chunk) ((len > i+1 && chunk->value[i+1] == 13) && (len > i+2 && chunk->value[i+2] == 10)))) { - BigBuffer[ptr] = 0; strcat(BigBuffer, "

\n\n"); ptr += 5; + BigBuffer[ptr] = 0; wxStrcat(BigBuffer, _T("

\n\n")); ptr += 5; i += 2; changed = TRUE; } @@ -273,7 +273,7 @@ void ProcessText2HTML(TexChunk *chunk) else if (ch == '<') // Change < to < { BigBuffer[ptr] = 0; - strcat(BigBuffer, "<"); + wxStrcat(BigBuffer, _T("<")); ptr += 4; i += 1; changed = TRUE; @@ -281,7 +281,7 @@ void ProcessText2HTML(TexChunk *chunk) else if (ch == '>') // Change > to > { BigBuffer[ptr] = 0; - strcat(BigBuffer, ">"); + wxStrcat(BigBuffer, _T(">")); ptr += 4; i += 1; changed = TRUE; @@ -366,60 +366,60 @@ void Text2HTML(TexChunk *chunk) * */ -void AddBrowseButtons(char *upLabel, char *upFilename, - char *previousLabel, char *previousFilename, - char *thisLabel, char *thisFilename) +void AddBrowseButtons(wxChar *upLabel, wxChar *upFilename, + wxChar *previousLabel, wxChar *previousFilename, + wxChar *thisLabel, wxChar *thisFilename) { - char contentsReferenceBuf[80]; - char upReferenceBuf[80]; - char backReferenceBuf[80]; - char forwardReferenceBuf[80]; + wxChar contentsReferenceBuf[80]; + wxChar upReferenceBuf[80]; + wxChar backReferenceBuf[80]; + wxChar forwardReferenceBuf[80]; if (htmlBrowseButtons == HTML_BUTTONS_NONE) return; - char *contentsReference = NULL; + wxChar *contentsReference; // no need to initialize because always assigned below if (htmlBrowseButtons == HTML_BUTTONS_TEXT) contentsReference = ContentsNameString; else { // contentsReference = "\"Contents\""; contentsReference = contentsReferenceBuf; - sprintf(contentsReference, "\"Contents\"", ConvertCase("contents.gif")); + wxSprintf(contentsReference, _T("\"Contents\""), ConvertCase(_T("contents.gif"))); } - char *upReference = NULL; + wxChar *upReference; // no need to initialize because always assigned below if (htmlBrowseButtons == HTML_BUTTONS_TEXT) upReference = UpNameString; else { // upReference = "\"Up\""; upReference = upReferenceBuf; - sprintf(upReference, "\"Up\"", ConvertCase("up.gif")); + wxSprintf(upReference, _T("\"Up\""), ConvertCase(_T("up.gif"))); } - char *backReference = NULL; + wxChar *backReference; // no need to initialize because always assigned below if (htmlBrowseButtons == HTML_BUTTONS_TEXT) - backReference = "<<"; + backReference = _T("<<"); else { // backReference = "\"Previous\""; backReference = backReferenceBuf; - sprintf(backReference, "\"Previous\"", ConvertCase("back.gif")); + wxSprintf(backReference, _T("\"Previous\""), ConvertCase(_T("back.gif"))); } - char *forwardReference = NULL; + wxChar *forwardReference; // no need to initialize because always assigned below if (htmlBrowseButtons == HTML_BUTTONS_TEXT) - forwardReference = ">>"; + forwardReference = _T(">>"); else { // forwardReference = "\"Next\""; forwardReference = forwardReferenceBuf; - sprintf(forwardReference, "\"Next\"", ConvertCase("forward.gif")); + wxSprintf(forwardReference, _T("\"Next\""), ConvertCase(_T("forward.gif"))); } - TexOutput("

"); + TexOutput(_T("
")); - char buf[200]; + wxChar buf[200]; /* * Contents button @@ -428,19 +428,19 @@ void AddBrowseButtons(char *upLabel, char *upFilename, if (truncateFilenames) { - char buf1[80]; - strcpy(buf1, ConvertCase(wxFileNameFromPath(FileRoot))); - sprintf(buf, "\n%s ", buf1, ConvertCase("htm"), contentsReference); + wxChar buf1[80]; + wxStrcpy(buf1, ConvertCase(wxFileNameFromPath(FileRoot))); + wxSprintf(buf, _T("\n%s "), buf1, ConvertCase(_T("htm")), contentsReference); } else { - char buf1[80]; - strcpy(buf1, ConvertCase(wxFileNameFromPath(FileRoot))); - sprintf(buf, "\n%s ", buf1, ConvertCase("_contents.html"), contentsReference); + wxChar buf1[80]; + wxStrcpy(buf1, ConvertCase(wxFileNameFromPath(FileRoot))); + wxSprintf(buf, _T("\n%s "), buf1, ConvertCase(_T("_contents.html")), contentsReference); } -// TexOutput(""); +// TexOutput(_T("<NOFRAMES>")); TexOutput(buf); -// TexOutput(""); +// TexOutput(_T("")); /* * Up button @@ -449,15 +449,15 @@ void AddBrowseButtons(char *upLabel, char *upFilename, if (upLabel && upFilename) { - if (strlen(upLabel) > 0) - sprintf(buf, "%s ", ConvertCase(upFilename), upLabel, upReference); + if (wxStrlen(upLabel) > 0) + wxSprintf(buf, _T("%s "), ConvertCase(upFilename), upLabel, upReference); else - sprintf(buf, "%s ", ConvertCase(upFilename), upReference); - if (strcmp(upLabel, "contents") == 0) + wxSprintf(buf, _T("%s "), ConvertCase(upFilename), upReference); + if (wxStrcmp(upLabel, _T("contents")) == 0) { -// TexOutput(""); +// TexOutput(_T("<NOFRAMES>")); TexOutput(buf); -// TexOutput(""); +// TexOutput(_T("")); } else TexOutput(buf); @@ -470,12 +470,12 @@ void AddBrowseButtons(char *upLabel, char *upFilename, if (previousLabel && previousFilename) { - sprintf(buf, "%s ", ConvertCase(previousFilename), previousLabel, backReference); - if (strcmp(previousLabel, "contents") == 0) + wxSprintf(buf, _T("%s "), ConvertCase(previousFilename), previousLabel, backReference); + if (wxStrcmp(previousLabel, _T("contents")) == 0) { -// TexOutput(""); +// TexOutput(_T("<NOFRAMES>")); TexOutput(buf); -// TexOutput(""); +// TexOutput(_T("")); } else TexOutput(buf); @@ -483,12 +483,12 @@ void AddBrowseButtons(char *upLabel, char *upFilename, else { // A placeholder so the buttons don't keep moving position - sprintf(buf, "%s ", backReference); + wxSprintf(buf, _T("%s "), backReference); TexOutput(buf); } - char *nextLabel = NULL; - char *nextFilename = NULL; + wxChar *nextLabel = NULL; + wxChar *nextFilename = NULL; // Get the next page, and record the previous page's 'next' page // (i.e. this page) @@ -517,13 +517,13 @@ void AddBrowseButtons(char *upLabel, char *upFilename, if (nextLabel && nextFilename) { - sprintf(buf, "%s ", ConvertCase(nextFilename), nextLabel, forwardReference); + wxSprintf(buf, _T("%s "), ConvertCase(nextFilename), nextLabel, forwardReference); TexOutput(buf); } else { // A placeholder so the buttons don't keep moving position - sprintf(buf, "%s ", forwardReference); + wxSprintf(buf, _T("%s "), forwardReference); TexOutput(buf); } @@ -531,8 +531,8 @@ void AddBrowseButtons(char *upLabel, char *upFilename, * Horizontal rule to finish it off nicely. * */ - TexOutput("
"); - TexOutput("
\n"); + TexOutput(_T("
")); + TexOutput(_T("
\n")); // Update last topic/filename if (lastFileName) @@ -545,39 +545,41 @@ void AddBrowseButtons(char *upLabel, char *upFilename, // A colour string is either 3 numbers separated by semicolons (RGB), // or a reference to a GIF. Return the filename or a hex string like #934CE8 -char *ParseColourString(char *bkStr, bool *isPicture) +wxChar *ParseColourString(wxChar *bkStr, bool *isPicture) { - static char resStr[300]; - strcpy(resStr, bkStr); - char *tok1 = strtok(resStr, ";"); - char *tok2 = strtok(NULL, ";"); - if (tok1) + static wxChar resStr[300]; + wxStrcpy(resStr, bkStr); + wxStringTokenizer tok(resStr, _T(";"), wxTOKEN_STRTOK); + if (tok.HasMoreTokens()) { - if (!tok2) + wxString token1 = tok.GetNextToken(); + if (!tok.HasMoreTokens()) { *isPicture = TRUE; return resStr; } else { + wxString token2 = tok.GetNextToken(); *isPicture = FALSE; - char *tok3 = strtok(NULL, ";"); - if (tok3) + if (tok.HasMoreTokens()) { + wxString token3 = tok.GetNextToken(); + // Now convert 3 strings into decimal numbers, and then hex numbers. - int red = atoi(tok1); - int green = atoi(tok2); - int blue = atoi(tok3); + int red = wxAtoi(token1.c_str()); + int green = wxAtoi(token2.c_str()); + int blue = wxAtoi(token3.c_str()); - strcpy(resStr, "#"); + wxStrcpy(resStr, _T("#")); - char buf[3]; + wxChar buf[3]; DecToHex(red, buf); - strcat(resStr, buf); + wxStrcat(resStr, buf); DecToHex(green, buf); - strcat(resStr, buf); + wxStrcat(resStr, buf); DecToHex(blue, buf); - strcat(resStr, buf); + wxStrcat(resStr, buf); return resStr; } else return NULL; @@ -594,32 +596,35 @@ void OutputFont(void) if (htmlFaceName) { // Output - TexOutput("\n"); + TexOutput(_T("\">\n")); } } // Output start of block void OutputBodyStart(void) { - TexOutput("\n\n"); + TexOutput(_T(">\n")); OutputFont(); } void HTMLHead() { - TexOutput(""); + TexOutput(_T("")); if (htmlStylesheet) { - TexOutput(""); + TexOutput(_T("\">")); } }; void HTMLHeadTo(FILE* f) { if (htmlStylesheet) - fprintf(f,"",htmlStylesheet); + wxFprintf(f,_T(""),htmlStylesheet); else - fprintf(f,""); + wxFprintf(f,_T("")); } // Called on start/end of macro examination @@ -697,7 +702,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) SetCurrentOutput(NULL); startedSections = TRUE; - char *topicName = FindTopicName(GetNextChunk()); + wxChar *topicName = FindTopicName(GetNextChunk()); ReopenFile(&Chapters, &ChaptersName); AddTexRef(topicName, ChaptersName, ChapterNameString); @@ -707,38 +712,38 @@ void HTMLOnMacro(int macroId, int no_args, bool start) SetCurrentOutput(Chapters); HTMLHead(); - TexOutput(""); + TexOutput(_T("<title>")); OutputCurrentSection(); // Repeat section header - TexOutput("\n"); + TexOutput(_T("\n")); OutputBodyStart(); - char titleBuf[200]; + wxChar titleBuf[200]; if (truncateFilenames) - sprintf(titleBuf, "%s.htm", wxFileNameFromPath(FileRoot)); + wxSprintf(titleBuf, _T("%s.htm"), wxFileNameFromPath(FileRoot)); else - sprintf(titleBuf, "%s_contents.html", wxFileNameFromPath(FileRoot)); + wxSprintf(titleBuf, _T("%s_contents.html"), wxFileNameFromPath(FileRoot)); - fprintf(Chapters, "", topicName); + wxFprintf(Chapters, _T(""), topicName); - AddBrowseButtons("", titleBuf, // Up + AddBrowseButtons(_T(""), titleBuf, // Up lastTopic, lastFileName, // Last topic topicName, ChaptersName); // This topic - fprintf(Contents, "\n
  • ", ConvertCase(ChaptersName), topicName); + wxFprintf(Contents, _T("\n
  • "), ConvertCase(ChaptersName), topicName); if (htmlFrameContents && FrameContents) { SetCurrentOutput(FrameContents); - fprintf(FrameContents, "\n
  • ", ConvertCase(ChaptersName), topicName); + wxFprintf(FrameContents, _T("\n
  • "), ConvertCase(ChaptersName), topicName); OutputCurrentSection(); - fprintf(FrameContents, "\n"); + wxFprintf(FrameContents, _T("\n")); } SetCurrentOutputs(Contents, Chapters); - fprintf(Chapters, "\n

    "); + wxFprintf(Chapters, _T("\n

    ")); OutputCurrentSection(); - fprintf(Contents, "\n"); - fprintf(Chapters, "

    \n"); + wxFprintf(Contents, _T("\n")); + wxFprintf(Chapters, _T("\n")); SetCurrentOutput(Chapters); @@ -768,7 +773,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) SetCurrentOutput(NULL); startedSections = TRUE; - char *topicName = FindTopicName(GetNextChunk()); + wxChar *topicName = FindTopicName(GetNextChunk()); ReopenFile(&Sections, &SectionsName); AddTexRef(topicName, SectionsName, SectionNameString); @@ -777,12 +782,12 @@ void HTMLOnMacro(int macroId, int no_args, bool start) SetCurrentOutput(Sections); HTMLHead(); - TexOutput(""); + TexOutput(_T("<title>")); OutputCurrentSection(); - TexOutput("\n"); + TexOutput(_T("\n")); OutputBodyStart(); - fprintf(Sections, "", topicName); + wxFprintf(Sections, _T(""), topicName); AddBrowseButtons(CurrentChapterName, CurrentChapterFile, // Up lastTopic, lastFileName, // Last topic topicName, SectionsName); // This topic @@ -791,18 +796,18 @@ void HTMLOnMacro(int macroId, int no_args, bool start) SetCurrentOutputs(jumpFrom, Sections); if (DocumentStyle == LATEX_ARTICLE) - fprintf(jumpFrom, "\n
  • ", ConvertCase(SectionsName), topicName); + wxFprintf(jumpFrom, _T("\n
  • "), ConvertCase(SectionsName), topicName); else - fprintf(jumpFrom, "\n", ConvertCase(SectionsName), topicName); + wxFprintf(jumpFrom, _T("\n"), ConvertCase(SectionsName), topicName); - fprintf(Sections, "\n

    "); + wxFprintf(Sections, _T("\n

    ")); OutputCurrentSection(); if (DocumentStyle == LATEX_ARTICLE) - fprintf(jumpFrom, "\n"); + wxFprintf(jumpFrom, _T("\n")); else - fprintf(jumpFrom, "
    \n"); - fprintf(Sections, "

    \n"); + wxFprintf(jumpFrom, _T("

    \n")); + wxFprintf(Sections, _T("\n")); SetCurrentOutput(Sections); // Add this section title to the list of keywords @@ -823,7 +828,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) { if (!Sections) { - OnError("You cannot have a subsection before a section!"); + OnError(_T("You cannot have a subsection before a section!")); } else { @@ -835,11 +840,11 @@ void HTMLOnMacro(int macroId, int no_args, bool start) if ( combineSubSections && !subsectionStarted ) { // Read old .con file in at this point - char buf[256]; - strcpy(buf, CurrentSectionFile); + wxChar buf[256]; + wxStrcpy(buf, CurrentSectionFile); wxStripExtension(buf); - strcat(buf, ".con"); - FILE *fd = fopen(buf, "r"); + wxStrcat(buf, _T(".con")); + FILE *fd = wxFopen(buf, _T("r")); if ( fd ) { int ch = getc(fd); @@ -850,7 +855,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) } fclose(fd); } - fprintf(Sections, "

    \n"); + wxFprintf(Sections, _T("

    \n")); // Close old file, create a new file for the sub(sub)section contents entries ReopenSectionContentsFile(); @@ -859,7 +864,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) startedSections = TRUE; subsectionStarted = TRUE; - char *topicName = FindTopicName(GetNextChunk()); + wxChar *topicName = FindTopicName(GetNextChunk()); if ( !combineSubSections ) { @@ -871,23 +876,23 @@ void HTMLOnMacro(int macroId, int no_args, bool start) SetCurrentOutput(Subsections); HTMLHead(); - TexOutput(""); + TexOutput(_T("<title>")); OutputCurrentSection(); - TexOutput("\n"); + TexOutput(_T("\n")); OutputBodyStart(); - fprintf(Subsections, "", topicName); + wxFprintf(Subsections, _T(""), topicName); AddBrowseButtons(CurrentSectionName, CurrentSectionFile, // Up lastTopic, lastFileName, // Last topic topicName, SubsectionsName); // This topic SetCurrentOutputs(Sections, Subsections); - fprintf(Sections, "\n", ConvertCase(SubsectionsName), topicName); + wxFprintf(Sections, _T("\n"), ConvertCase(SubsectionsName), topicName); - fprintf(Subsections, "\n

    "); + wxFprintf(Subsections, _T("\n

    ")); OutputCurrentSection(); - fprintf(Sections, "
    \n"); - fprintf(Subsections, "

    \n"); + wxFprintf(Sections, _T("

    \n")); + wxFprintf(Subsections, _T("

    \n")); SetCurrentOutput(Subsections); } @@ -897,18 +902,18 @@ void HTMLOnMacro(int macroId, int no_args, bool start) SetCurrentSubsectionName(topicName, SectionsName); // if ( subsectionNo != 0 ) - fprintf(Sections, "\n
    \n"); + wxFprintf(Sections, _T("\n
    \n")); // We're putting everything into the section file - fprintf(Sections, "", topicName); - fprintf(Sections, "\n

    "); + wxFprintf(Sections, _T(""), topicName); + wxFprintf(Sections, _T("\n

    ")); OutputCurrentSection(); - fprintf(Sections, "

    \n"); + wxFprintf(Sections, _T("\n")); SetCurrentOutput(SectionContentsFD); - fprintf(SectionContentsFD, "", topicName); + wxFprintf(SectionContentsFD, _T(""), topicName); OutputCurrentSection(); - TexOutput("
    \n"); + TexOutput(_T("
    \n")); if (htmlWorkshopFiles) HTMLWorkshopAddToContents(2, topicName, SectionsName); SetCurrentOutput(Sections); @@ -931,7 +936,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) { if (!Subsections && !combineSubSections) { - OnError("You cannot have a subsubsection before a subsection!"); + OnError(_T("You cannot have a subsubsection before a subsection!")); } else { @@ -940,7 +945,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) startedSections = TRUE; - char *topicName = FindTopicName(GetNextChunk()); + wxChar *topicName = FindTopicName(GetNextChunk()); if ( !combineSubSections ) { @@ -952,41 +957,41 @@ void HTMLOnMacro(int macroId, int no_args, bool start) SetCurrentOutput(Subsubsections); HTMLHead(); - TexOutput(""); + TexOutput(_T("<title>")); OutputCurrentSection(); - TexOutput("\n"); + TexOutput(_T("\n")); OutputBodyStart(); - fprintf(Subsubsections, "", topicName); + wxFprintf(Subsubsections, _T(""), topicName); AddBrowseButtons(CurrentSubsectionName, CurrentSubsectionFile, // Up lastTopic, lastFileName, // Last topic topicName, SubsubsectionsName); // This topic SetCurrentOutputs(Subsections, Subsubsections); - fprintf(Subsections, "\n", ConvertCase(SubsubsectionsName), topicName); + wxFprintf(Subsections, _T("\n"), ConvertCase(SubsubsectionsName), topicName); - fprintf(Subsubsections, "\n

    "); + wxFprintf(Subsubsections, _T("\n

    ")); OutputCurrentSection(); - fprintf(Subsections, "
    \n"); - fprintf(Subsubsections, "

    \n"); + wxFprintf(Subsections, _T("

    \n")); + wxFprintf(Subsubsections, _T("\n")); } else { AddTexRef(topicName, SectionsName, SubsubsectionNameString); SetCurrentSubsectionName(topicName, SectionsName); - fprintf(Sections, "\n
    \n"); + wxFprintf(Sections, _T("\n
    \n")); // We're putting everything into the section file - fprintf(Sections, "", topicName); - fprintf(Sections, "\n

    "); + wxFprintf(Sections, _T(""), topicName); + wxFprintf(Sections, _T("\n

    ")); OutputCurrentSection(); - fprintf(Sections, "

    \n"); + wxFprintf(Sections, _T("\n")); /* TODO: where do we put subsubsection contents entry - indented, with subsection entries? SetCurrentOutput(SectionContentsFD); - fprintf(SectionContentsFD, "", topicName); + wxFprintf(SectionContentsFD, "", topicName); OutputCurrentSection(); - TexOutput("
    "); + TexOutput(_T("
    ")); */ if (htmlWorkshopFiles) HTMLWorkshopAddToContents(2, topicName, SectionsName); SetCurrentOutput(Sections); @@ -1047,19 +1052,19 @@ void HTMLOnMacro(int macroId, int no_args, bool start) } case ltVOID: // if (start) -// TexOutput("void"); +// TexOutput(_T("void")); break; case ltHARDY: if (start) - TexOutput("HARDY"); + TexOutput(_T("HARDY")); break; case ltWXCLIPS: if (start) - TexOutput("wxCLIPS"); + TexOutput(_T("wxCLIPS")); break; case ltAMPERSAND: if (start) - TexOutput("&"); + TexOutput(_T("&")); break; case ltSPECIALAMPERSAND: { @@ -1069,17 +1074,17 @@ void HTMLOnMacro(int macroId, int no_args, bool start) { // End cell, start cell - TexOutput("
    "); + TexOutput(_T("
    ")); // Start new row and cell, setting alignment for the first cell. if (currentColumn < noColumns) currentColumn ++; - char buf[100]; + wxChar buf[100]; if (TableData[currentColumn].justification == 'c') - sprintf(buf, "\n"); + wxSprintf(buf, _T("\n")); else if (TableData[currentColumn].justification == 'r') - sprintf(buf, "\n"); + wxSprintf(buf, _T("\n")); else if (TableData[currentColumn].absWidth) { // Convert from points * 20 into pixels. @@ -1088,15 +1093,15 @@ void HTMLOnMacro(int macroId, int no_args, bool start) // Say the display is 100 DPI (dots/pixels per inch). // There are 72 pts to the inch. So 1pt = 1/72 inch, or 100 * 1/72 dots. int pixels = (int)(points * 100.0 / 72.0); - sprintf(buf, "", pixels); + wxSprintf(buf, _T(""), pixels); } else - sprintf(buf, "\n"); + wxSprintf(buf, _T("\n")); TexOutput(buf); OutputFont(); } else - TexOutput("&"); + TexOutput(_T("&")); } break; } @@ -1109,10 +1114,10 @@ void HTMLOnMacro(int macroId, int no_args, bool start) // End row. In fact, tables without use of \row or \ruledrow isn't supported for // HTML: the syntax is too different (e.g. how do we know where to put the first // if we've ended the last row?). So normally you wouldn't use \\ to end a row. - TexOutput("\n"); + TexOutput(_T("\n")); } else - TexOutput("
    \n"); + TexOutput(_T("
    \n")); } break; } @@ -1124,11 +1129,11 @@ void HTMLOnMacro(int macroId, int no_args, bool start) currentColumn = 0; // Start new row and cell, setting alignment for the first cell. - char buf[100]; + wxChar buf[100]; if (TableData[currentColumn].justification == 'c') - sprintf(buf, "\n"); + wxSprintf(buf, _T("\n")); else if (TableData[currentColumn].justification == 'r') - sprintf(buf, "\n"); + wxSprintf(buf, _T("\n")); else if (TableData[currentColumn].absWidth) { // Convert from points * 20 into pixels. @@ -1137,10 +1142,10 @@ void HTMLOnMacro(int macroId, int no_args, bool start) // Say the display is 100 DPI (dots/pixels per inch). // There are 72 pts to the inch. So 1pt = 1/72 inch, or 100 * 1/72 dots. int pixels = (int)(points * 100.0 / 72.0); - sprintf(buf, "\n", pixels); + wxSprintf(buf, _T("\n"), pixels); } else - sprintf(buf, "\n"); + wxSprintf(buf, _T("\n")); TexOutput(buf); OutputFont(); } @@ -1148,7 +1153,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) { // End cell and row // Start new row and cell - TexOutput("\n\n"); + TexOutput(_T("\n\n")); } break; } @@ -1156,7 +1161,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) case ltBRCLEAR: { if (start) - TexOutput("
    "); + TexOutput(_T("
    ")); break; } case ltRTFSP: // Explicit space, RTF only @@ -1166,18 +1171,18 @@ void HTMLOnMacro(int macroId, int no_args, bool start) if (start) { if (inVerbatim) - TexOutput("~"); + TexOutput(_T("~")); else - TexOutput(" "); + TexOutput(_T(" ")); } break; } case ltINDENTED : { if ( start ) - TexOutput("\n")); break; } case ltITEMIZE: @@ -1201,14 +1206,14 @@ void HTMLOnMacro(int macroId, int no_args, bool start) switch (listType) { case LATEX_ITEMIZE: - TexOutput("\n")); break; case LATEX_ENUMERATE: - TexOutput("\n"); + TexOutput(_T("\n")); break; case LATEX_DESCRIPTION: default: - TexOutput("\n"); + TexOutput(_T("\n")); break; } @@ -1241,9 +1246,9 @@ void HTMLOnMacro(int macroId, int no_args, bool start) case ltTWOCOLLIST : { if ( start ) - TexOutput("\n\n"); + TexOutput(_T("\n
    \n")); else { - TexOutput("\n
    \n"); + TexOutput(_T("\n\n")); // DHS TwoColWidthA = -1; TwoColWidthB = -1; @@ -1253,7 +1258,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) case ltPAR: { if (start) - TexOutput("

    \n"); + TexOutput(_T("

    \n")); break; } /* For footnotes we need to output the text at the bottom of the page and @@ -1263,28 +1268,28 @@ void HTMLOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput("); + TexOutput(_T("")); } - else TexOutput(""); + else TexOutput(_T("")); break; } */ case ltVERB: { if (start) - TexOutput(""); - else TexOutput(""); + TexOutput(_T("")); + else TexOutput(_T("")); break; } case ltVERBATIM: { if (start) { - char buf[100]; - sprintf(buf, "

    \n");
    +      wxChar buf[100];
    +      wxSprintf(buf, _T("
    \n"));
           TexOutput(buf);
         }
    -    else TexOutput("
    \n"); + else TexOutput(_T("
    \n")); break; } case ltCENTERLINE: @@ -1292,9 +1297,9 @@ void HTMLOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput("
    "); + TexOutput(_T("
    ")); } - else TexOutput("
    "); + else TexOutput(_T("
    ")); break; } case ltFLUSHLEFT: @@ -1302,9 +1307,9 @@ void HTMLOnMacro(int macroId, int no_args, bool start) /* if (start) { - TexOutput("{\\ql "); + TexOutput(_T("{\\ql ")); } - else TexOutput("}\\par\\pard\n"); + else TexOutput(_T("}\\par\\pard\n")); */ break; } @@ -1313,9 +1318,9 @@ void HTMLOnMacro(int macroId, int no_args, bool start) /* if (start) { - TexOutput("{\\qr "); + TexOutput(_T("{\\qr ")); } - else TexOutput("}\\par\\pard\n"); + else TexOutput(_T("}\\par\\pard\n")); */ break; } @@ -1324,9 +1329,9 @@ void HTMLOnMacro(int macroId, int no_args, bool start) if (start) { // Netscape extension - TexOutput(""); + TexOutput(_T("")); } - else TexOutput(""); + else TexOutput(_T("")); break; } case ltTINY: @@ -1334,9 +1339,9 @@ void HTMLOnMacro(int macroId, int no_args, bool start) if (start) { // Netscape extension - TexOutput(""); + TexOutput(_T("")); } - else TexOutput(""); + else TexOutput(_T("")); break; } case ltNORMALSIZE: @@ -1344,9 +1349,9 @@ void HTMLOnMacro(int macroId, int no_args, bool start) if (start) { // Netscape extension - TexOutput(""); + TexOutput(_T("")); } - else TexOutput(""); + else TexOutput(_T("")); break; } case ltlarge: @@ -1354,9 +1359,9 @@ void HTMLOnMacro(int macroId, int no_args, bool start) if (start) { // Netscape extension - TexOutput(""); + TexOutput(_T("")); } - else TexOutput(""); + else TexOutput(_T("")); break; } case ltLarge: @@ -1364,9 +1369,9 @@ void HTMLOnMacro(int macroId, int no_args, bool start) if (start) { // Netscape extension - TexOutput(""); + TexOutput(_T("")); } - else TexOutput(""); + else TexOutput(_T("")); break; } case ltLARGE: @@ -1374,9 +1379,9 @@ void HTMLOnMacro(int macroId, int no_args, bool start) if (start) { // Netscape extension - TexOutput(""); + TexOutput(_T("")); } - else TexOutput(""); + else TexOutput(_T("")); break; } case ltBFSERIES: @@ -1385,9 +1390,9 @@ void HTMLOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput(""); + TexOutput(_T("")); } - else TexOutput(""); + else TexOutput(_T("")); break; } case ltITSHAPE: @@ -1396,9 +1401,9 @@ void HTMLOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput(""); + TexOutput(_T("")); } - else TexOutput(""); + else TexOutput(_T("")); break; } case ltEMPH: @@ -1406,18 +1411,18 @@ void HTMLOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput(""); + TexOutput(_T("")); } - else TexOutput(""); + else TexOutput(_T("")); break; } case ltUNDERLINE: { if (start) { - TexOutput("")); break; } case ltTTFAMILY: @@ -1426,52 +1431,52 @@ void HTMLOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput(""); + TexOutput(_T("")); } - else TexOutput(""); + else TexOutput(_T("")); break; } case ltCOPYRIGHT: { if (start) - TexOutput("©", TRUE); + TexOutput(_T("©"), TRUE); break; } case ltREGISTERED: { if (start) - TexOutput("®", TRUE); + TexOutput(_T("®"), TRUE); break; } // Arrows case ltLEFTARROW: { - if (start) TexOutput("<--"); + if (start) TexOutput(_T("<--")); break; } case ltLEFTARROW2: { - if (start) TexOutput("<=="); + if (start) TexOutput(_T("<==")); break; } case ltRIGHTARROW: { - if (start) TexOutput("-->"); + if (start) TexOutput(_T("-->")); break; } case ltRIGHTARROW2: { - if (start) TexOutput("==>"); + if (start) TexOutput(_T("==>")); break; } case ltLEFTRIGHTARROW: { - if (start) TexOutput("<-->"); + if (start) TexOutput(_T("<-->")); break; } case ltLEFTRIGHTARROW2: { - if (start) TexOutput("<==>"); + if (start) TexOutput(_T("<==>")); break; } /* @@ -1493,15 +1498,15 @@ void HTMLOnMacro(int macroId, int no_args, bool start) { if (descriptionItemArg) { - TexOutput("
    "); + TexOutput(_T("
    ")); TraverseChildrenFromChunk(descriptionItemArg); - TexOutput("\n"); + TexOutput(_T("\n")); descriptionItemArg = NULL; } - TexOutput("
    "); + TexOutput(_T("
    ")); } else - TexOutput("
  • "); + TexOutput(_T("
  • ")); } } break; @@ -1511,25 +1516,25 @@ void HTMLOnMacro(int macroId, int no_args, bool start) if (start && DocumentTitle && DocumentAuthor) { // Add a special label for the contents page. -// TexOutput("
    \n"); - TexOutput(""); - TexOutput("

    \n"); +// TexOutput(_T("
    \n")); + TexOutput(_T("")); + TexOutput(_T("

    \n")); TraverseChildrenFromChunk(DocumentTitle); - TexOutput("

    "); - TexOutput("

    "); - TexOutput("\n"); - TexOutput("

    \n\n"); - TexOutput("

    "); + TexOutput(_T("

    ")); + TexOutput(_T("

    ")); + TexOutput(_T("\n")); + TexOutput(_T("

    \n\n")); + TexOutput(_T("

    ")); TraverseChildrenFromChunk(DocumentAuthor); - TexOutput("

    \n\n"); + TexOutput(_T("

    \n\n")); if (DocumentDate) { - TexOutput("

    "); + TexOutput(_T("

    ")); TraverseChildrenFromChunk(DocumentDate); - TexOutput("

    \n\n"); + TexOutput(_T("

    \n\n")); } -// TexOutput("\n

    \n"); - TexOutput("\n


    \n"); +// TexOutput(_T("\n\n")); + TexOutput(_T("\n


    \n")); /* // Now do optional frame contents page @@ -1538,24 +1543,24 @@ void HTMLOnMacro(int macroId, int no_args, bool start) SetCurrentOutput(FrameContents); // Add a special label for the contents page. - TexOutput("

    \n"); - TexOutput("

    \n"); + TexOutput(_T("
    \n")); + TexOutput(_T("

    \n")); TraverseChildrenFromChunk(DocumentTitle); - TexOutput("

    "); - TexOutput("

    "); - TexOutput("\n"); - TexOutput("

    \n\n"); - TexOutput("

    "); + TexOutput(_T("

    ")); + TexOutput(_T("

    ")); + TexOutput(_T("\n")); + TexOutput(_T("

    \n\n")); + TexOutput(_T("

    ")); TraverseChildrenFromChunk(DocumentAuthor); - TexOutput("

    \n\n"); + TexOutput(_T("

    \n\n")); if (DocumentDate) { - TexOutput("

    "); + TexOutput(_T("

    ")); TraverseChildrenFromChunk(DocumentDate); - TexOutput("

    \n\n"); + TexOutput(_T("

    \n\n")); } - TexOutput("\n

    \n"); - TexOutput("


    \n"); + TexOutput(_T("\n\n")); + TexOutput(_T("


    \n")); SetCurrentOutput(Titlepage); } @@ -1584,7 +1589,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) else { DefaultOnMacro(macroId, no_args, start); - TexOutput("\n"); + TexOutput(_T("\n")); } break; } @@ -1592,7 +1597,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput("


    \n"); + TexOutput(_T("
    \n")); } break; } @@ -1600,7 +1605,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput("
    \n"); + TexOutput(_T("
    \n")); } break; } @@ -1608,7 +1613,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) { if (start) { - FILE *fd = fopen(ContentsName, "r"); + FILE *fd = wxFopen(ContentsName, _T("r")); if (fd) { int ch = getc(fd); @@ -1621,8 +1626,8 @@ void HTMLOnMacro(int macroId, int no_args, bool start) } else { - TexOutput("RUN TEX2RTF AGAIN FOR CONTENTS PAGE\n"); - OnInform("Run Tex2RTF again to include contents page."); + TexOutput(_T("RUN TEX2RTF AGAIN FOR CONTENTS PAGE\n")); + OnInform(_T("Run Tex2RTF again to include contents page.")); } } break; @@ -1630,22 +1635,22 @@ void HTMLOnMacro(int macroId, int no_args, bool start) case ltLANGLEBRA: { if (start) - TexOutput("<"); + TexOutput(_T("<")); break; } case ltRANGLEBRA: { if (start) - TexOutput(">"); + TexOutput(_T(">")); break; } case ltQUOTE: case ltQUOTATION: { if (start) - TexOutput("
    "); + TexOutput(_T("
    ")); else - TexOutput("
    "); + TexOutput(_T("
    ")); break; } case ltCAPTION: @@ -1654,27 +1659,27 @@ void HTMLOnMacro(int macroId, int no_args, bool start) if (start) { if (inTabular) - TexOutput("\n"); + TexOutput(_T("\n")); - char figBuf[40]; + wxChar figBuf[40]; if ( inFigure ) { figureNo ++; if (DocumentStyle != LATEX_ARTICLE) - sprintf(figBuf, "%s %d.%d: ", FigureNameString, chapterNo, figureNo); + wxSprintf(figBuf, _T("%s %d.%d: "), FigureNameString, chapterNo, figureNo); else - sprintf(figBuf, "%s %d: ", FigureNameString, figureNo); + wxSprintf(figBuf, _T("%s %d: "), FigureNameString, figureNo); } else { tableNo ++; if (DocumentStyle != LATEX_ARTICLE) - sprintf(figBuf, "%s %d.%d: ", TableNameString, chapterNo, tableNo); + wxSprintf(figBuf, _T("%s %d.%d: "), TableNameString, chapterNo, tableNo); else - sprintf(figBuf, "%s %d: ", TableNameString, tableNo); + wxSprintf(figBuf, _T("%s %d: "), TableNameString, tableNo); } TexOutput(figBuf); @@ -1682,9 +1687,9 @@ void HTMLOnMacro(int macroId, int no_args, bool start) else { if (inTabular) - TexOutput("\n\n"); + TexOutput(_T("\n\n")); - char *topicName = FindTopicName(GetNextChunk()); + wxChar *topicName = FindTopicName(GetNextChunk()); int n = inFigure ? figureNo : tableNo; @@ -1696,7 +1701,7 @@ void HTMLOnMacro(int macroId, int no_args, bool start) } case ltSS: { - if (start) TexOutput("ß"); + if (start) TexOutput(_T("ß")); break; } case ltFIGURE: @@ -1739,42 +1744,41 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) if (!start && (arg_no == 1)) currentSection = GetArgChunk(); return FALSE; - break; } case ltFUNC: { if (start && (arg_no == 1)) - TexOutput(""); + TexOutput(_T("")); if (!start && (arg_no == 1)) - TexOutput(" "); + TexOutput(_T(" ")); if (start && (arg_no == 2)) { - if (!suppressNameDecoration) TexOutput(""); + if (!suppressNameDecoration) TexOutput(_T("")); currentMember = GetArgChunk(); } if (!start && (arg_no == 2)) { - if (!suppressNameDecoration) TexOutput(""); + if (!suppressNameDecoration) TexOutput(_T("")); } if (start && (arg_no == 3)) - TexOutput("("); + TexOutput(_T("(")); if (!start && (arg_no == 3)) - TexOutput(")"); + TexOutput(_T(")")); break; } case ltCLIPSFUNC: { if (start && (arg_no == 1)) - TexOutput(""); + TexOutput(_T("")); if (!start && (arg_no == 1)) - TexOutput(" "); + TexOutput(_T(" ")); if (start && (arg_no == 2)) { - if (!suppressNameDecoration) TexOutput("( "); + if (!suppressNameDecoration) TexOutput(_T("( ")); currentMember = GetArgChunk(); } if (!start && (arg_no == 2)) @@ -1782,64 +1786,64 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } if (!start && (arg_no == 3)) - TexOutput(")"); + TexOutput(_T(")")); break; } case ltPFUNC: { if (!start && (arg_no == 1)) - TexOutput(" "); + TexOutput(_T(" ")); if (start && (arg_no == 2)) - TexOutput("(*"); + TexOutput(_T("(*")); if (!start && (arg_no == 2)) - TexOutput(")"); + TexOutput(_T(")")); if (start && (arg_no == 2)) currentMember = GetArgChunk(); if (start && (arg_no == 3)) - TexOutput("("); + TexOutput(_T("(")); if (!start && (arg_no == 3)) - TexOutput(")"); + TexOutput(_T(")")); break; } case ltPARAM: { if (start && (arg_no == 1)) - TexOutput(""); + TexOutput(_T("")); if (!start && (arg_no == 1)) - TexOutput(""); + TexOutput(_T("")); if (start && (arg_no == 2)) { - TexOutput(""); + TexOutput(_T("")); } if (!start && (arg_no == 2)) { - TexOutput(""); + TexOutput(_T("")); } break; } case ltCPARAM: { if (start && (arg_no == 1)) - TexOutput(""); + TexOutput(_T("")); if (!start && (arg_no == 1)) - TexOutput(" "); // This is the difference from param - one space! + TexOutput(_T(" ")); // This is the difference from param - one space! if (start && (arg_no == 2)) { - TexOutput(""); + TexOutput(_T("")); } if (!start && (arg_no == 2)) { - TexOutput(""); + TexOutput(_T("")); } break; } case ltMEMBER: { if (!start && (arg_no == 1)) - TexOutput(" "); + TexOutput(_T(" ")); if (start && (arg_no == 2)) currentMember = GetArgChunk(); @@ -1849,9 +1853,9 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) { if (start) { - char *sec = NULL; + wxChar *sec = NULL; - char *refName = GetArgData(); + wxChar *refName = GetArgData(); if (refName) { TexRef *texRef = FindReference(refName); @@ -1883,14 +1887,14 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) if (start) { TexChunk *ref = GetArgChunk(); - TexOutput(""); + TexOutput(_T("\">")); if (helpRefText) TraverseChildrenFromChunk(helpRefText); - TexOutput(""); + TexOutput(_T("")); } return FALSE; } @@ -1916,48 +1920,48 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) { if (start) { - char *refName = GetArgData(); - char *refFilename = NULL; + wxChar *refName = GetArgData(); + wxChar *refFilename = NULL; if (refName) { TexRef *texRef = FindReference(refName); if (texRef) { - if (texRef->refFile && strcmp(texRef->refFile, "??") != 0) + if (texRef->refFile && wxStrcmp(texRef->refFile, _T("??")) != 0) refFilename = texRef->refFile; - TexOutput(""); + TexOutput(_T("\">")); if (helpRefText) TraverseChildrenFromChunk(helpRefText); - TexOutput(""); + TexOutput(_T("")); } else { if (helpRefText) TraverseChildrenFromChunk(helpRefText); if (!ignoreBadRefs) - TexOutput(" (REF NOT FOUND)"); + TexOutput(_T(" (REF NOT FOUND)")); wxString errBuf; - errBuf.Printf("Warning: unresolved reference '%s'", refName); - OnInform((char *)errBuf.c_str()); + errBuf.Printf(_T("Warning: unresolved reference '%s'"), refName); + OnInform((wxChar *)errBuf.c_str()); } } - else TexOutput("??"); + else TexOutput(_T("??")); } return FALSE; } @@ -1972,110 +1976,113 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) { if (start) { - char *alignment = ""; + wxChar *alignment = _T(""); if (macroId == ltIMAGEL) - alignment = " align=left"; + alignment = _T(" align=left"); else if (macroId == ltIMAGER) - alignment = " align=right"; + alignment = _T(" align=right"); // Try to find an XBM or GIF image first. - char *filename = copystring(GetArgData()); - char buf[500]; + wxChar *filename = copystring(GetArgData()); + wxChar buf[500]; - strcpy(buf, filename); + wxStrcpy(buf, filename); StripExtension(buf); - strcat(buf, ".xbm"); + wxStrcat(buf, _T(".xbm")); wxString f = TexPathList.FindValidPath(buf); - if (f == "") // Try for a GIF instead + if (f == _T("")) // Try for a GIF instead { - strcpy(buf, filename); + wxStrcpy(buf, filename); StripExtension(buf); - strcat(buf, ".gif"); + wxStrcat(buf, _T(".gif")); f = TexPathList.FindValidPath(buf); } - if (f == "") // Try for a JPEG instead + if (f == _T("")) // Try for a JPEG instead { - strcpy(buf, filename); + wxStrcpy(buf, filename); StripExtension(buf); - strcat(buf, ".jpg"); + wxStrcat(buf, _T(".jpg")); f = TexPathList.FindValidPath(buf); } - if (f == "") // Try for a PNG instead + if (f == _T("")) // Try for a PNG instead { - strcpy(buf, filename); + wxStrcpy(buf, filename); StripExtension(buf); - strcat(buf, ".png"); + wxStrcat(buf, _T(".png")); f = TexPathList.FindValidPath(buf); } - if (f != "") + if (f != _T("")) { - char *inlineFilename = copystring(f); + wxChar *inlineFilename = copystring(f); #if 0 - char *originalFilename = TexPathList.FindValidPath(filename); + wxChar *originalFilename = TexPathList.FindValidPath(filename); // If we have found the existing filename, make the inline // image point to the original file (could be PS, for example) - if (originalFilename && (strcmp(inlineFilename, originalFilename) != 0)) + if (originalFilename && (wxStrcmp(inlineFilename, originalFilename) != 0)) { - TexOutput(""); - TexOutput("")); + TexOutput(_T(""); + TexOutput(_T("\"")); + TexOutput(alignment); + TexOutput(_T(">")); } else #endif { - TexOutput(""); + TexOutput(_T("\"")); + TexOutput(alignment); + TexOutput(_T(">")); delete[] inlineFilename; } } else { // Last resort - a link to a PS file. - TexOutput("Picture\n"); - sprintf(buf, "Warning: could not find an inline XBM/GIF for %s.", filename); + TexOutput(_T("\">Picture\n")); + wxSprintf(buf, _T("Warning: could not find an inline XBM/GIF for %s."), filename); OnInform(buf); } } } return FALSE; - break; } // First arg is PSBOX spec (ignored), second is image file, third is map name. case ltIMAGEMAP: { - static char *imageFile = NULL; + static wxChar *imageFile = NULL; if (start && (arg_no == 2)) { // Try to find an XBM or GIF image first. - char *filename = copystring(GetArgData()); - char buf[500]; + wxChar *filename = copystring(GetArgData()); + wxChar buf[500]; - strcpy(buf, filename); + wxStrcpy(buf, filename); StripExtension(buf); - strcat(buf, ".xbm"); + wxStrcat(buf, _T(".xbm")); wxString f = TexPathList.FindValidPath(buf); - if (f == "") // Try for a GIF instead + if (f == _T("")) // Try for a GIF instead { - strcpy(buf, filename); + wxStrcpy(buf, filename); StripExtension(buf); - strcat(buf, ".gif"); + wxStrcat(buf, _T(".gif")); f = TexPathList.FindValidPath(buf); } - if (f == "") + if (f == _T("")) { - char buf[300]; - sprintf(buf, "Warning: could not find an inline XBM/GIF for %s.", filename); + wxChar buf[300]; + wxSprintf(buf, _T("Warning: could not find an inline XBM/GIF for %s."), filename); OnInform(buf); } delete[] filename; @@ -2093,34 +2100,33 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) { // First, try to find a .shg (segmented hypergraphics file) // that we can convert to a map file - char buf[256]; - strcpy(buf, imageFile); + wxChar buf[256]; + wxStrcpy(buf, imageFile); StripExtension(buf); - strcat(buf, ".shg"); + wxStrcat(buf, _T(".shg")); wxString f = TexPathList.FindValidPath(buf); - if (f != "") + if (f != _T("")) { // The default HTML file to go to is THIS file (so a no-op) - SHGToMap((char*) (const char*) f, currentFileName); + SHGToMap((wxChar *)f.c_str(), currentFileName); } - char *mapName = GetArgData(); - TexOutput(""); - TexOutput("")); + TexOutput(_T("

    "); + TexOutput(_T("\" ISMAP>

    ")); delete[] imageFile; imageFile = NULL; } } return FALSE; - break; } case ltINDENTED : { @@ -2145,74 +2151,72 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) { /* if (start && (arg_no == 1)) - TexOutput("\n

    "); + TexOutput(_T("\n
    ")); if (start && (arg_no == 2)) - TexOutput("
    "); + TexOutput(_T("
    ")); */ if (arg_no == 1) { if ( start ) { // DHS if (TwoColWidthA > -1) { - char buf[100]; - sprintf(buf,"\n\n",TwoColWidthA); + wxChar buf[100]; + wxSprintf(buf,_T("\n\n"),TwoColWidthA); TexOutput(buf); } else - TexOutput("\n\n"); + TexOutput(_T("\n\n")); OutputFont(); } else - TexOutput("\n\n"); + TexOutput(_T("\n\n")); } if (arg_no == 2) { // DHS if ( start ) { if (TwoColWidthB > -1) { - char buf[100]; - sprintf(buf,"\n\n",TwoColWidthB); + wxChar buf[100]; + wxSprintf(buf,_T("\n\n"),TwoColWidthB); TexOutput(buf); } else - TexOutput("\n\n"); + TexOutput(_T("\n\n")); OutputFont(); } else - TexOutput("\n\n"); + TexOutput(_T("\n\n")); } return TRUE; - break; } case ltNUMBEREDBIBITEM: { if (arg_no == 1 && start) { - TexOutput("\n
    "); + TexOutput(_T("\n
    ")); } if (arg_no == 2 && !start) - TexOutput("

    \n"); + TexOutput(_T("

    \n")); break; } case ltBIBITEM: { - char buf[100]; + wxChar buf[100]; if (arg_no == 1 && start) { - char *citeKey = GetArgData(); + wxChar *citeKey = GetArgData(); TexRef *ref = (TexRef *)TexReferences.Get(citeKey); if (ref) { if (ref->sectionNumber) delete[] ref->sectionNumber; - sprintf(buf, "[%d]", citeCount); + wxSprintf(buf, _T("[%d]"), citeCount); ref->sectionNumber = copystring(buf); } - sprintf(buf, "\n

    [%d] ", citeCount); + wxSprintf(buf, _T("\n
    [%d] "), citeCount); TexOutput(buf); citeCount ++; return FALSE; } if (arg_no == 2 && !start) - TexOutput("

    \n"); + TexOutput(_T("

    \n")); return TRUE; - break; } case ltMARGINPAR: case ltMARGINPARODD: @@ -2222,11 +2226,11 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) { if (start) { - TexOutput("


    \n"); + TexOutput(_T("
    \n")); return TRUE; } else - TexOutput("

    \n"); + TexOutput(_T("


    \n")); break; } // DHS @@ -2234,24 +2238,22 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); float points = ParseUnitArgument(val); TwoColWidthA = (int)((points * 100.0) / 72.0); } return FALSE; - break; } // DHS case ltTWOCOLWIDTHB: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); float points = ParseUnitArgument(val); TwoColWidthB = (int)((points * 100.0) / 72.0); } return FALSE; - break; } /* * Accents @@ -2261,40 +2263,40 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { case 'a': - TexOutput("à"); + TexOutput(_T("à")); break; case 'e': - TexOutput("è"); + TexOutput(_T("è")); break; case 'i': - TexOutput("ì"); + TexOutput(_T("ì")); break; case 'o': - TexOutput("ò"); + TexOutput(_T("ò")); break; case 'u': - TexOutput("ù"); + TexOutput(_T("ù")); break; case 'A': - TexOutput("À"); + TexOutput(_T("À")); break; case 'E': - TexOutput("È"); + TexOutput(_T("È")); break; case 'I': - TexOutput("Ì"); + TexOutput(_T("Ì")); break; case 'O': - TexOutput("Ò"); + TexOutput(_T("Ò")); break; case 'U': - TexOutput("Ì"); + TexOutput(_T("Ì")); break; default: break; @@ -2302,52 +2304,51 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_ACUTE: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { case 'a': - TexOutput("á"); + TexOutput(_T("á")); break; case 'e': - TexOutput("é"); + TexOutput(_T("é")); break; case 'i': - TexOutput("í"); + TexOutput(_T("í")); break; case 'o': - TexOutput("ó"); + TexOutput(_T("ó")); break; case 'u': - TexOutput("ú"); + TexOutput(_T("ú")); break; case 'y': - TexOutput("ý"); + TexOutput(_T("ý")); break; case 'A': - TexOutput("Á"); + TexOutput(_T("Á")); break; case 'E': - TexOutput("É"); + TexOutput(_T("É")); break; case 'I': - TexOutput("Í"); + TexOutput(_T("Í")); break; case 'O': - TexOutput("Ó"); + TexOutput(_T("Ó")); break; case 'U': - TexOutput("Ú"); + TexOutput(_T("Ú")); break; case 'Y': - TexOutput("Ý"); + TexOutput(_T("Ý")); break; default: break; @@ -2355,46 +2356,45 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_CARET: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { case 'a': - TexOutput("â"); + TexOutput(_T("â")); break; case 'e': - TexOutput("ê"); + TexOutput(_T("ê")); break; case 'i': - TexOutput("î"); + TexOutput(_T("î")); break; case 'o': - TexOutput("ô"); + TexOutput(_T("ô")); break; case 'u': - TexOutput("û"); + TexOutput(_T("û")); break; case 'A': - TexOutput("Â"); + TexOutput(_T("Â")); break; case 'E': - TexOutput("Ê"); + TexOutput(_T("Ê")); break; case 'I': - TexOutput("Î"); + TexOutput(_T("Î")); break; case 'O': - TexOutput("Ô"); + TexOutput(_T("Ô")); break; case 'U': - TexOutput("Î"); + TexOutput(_T("Î")); break; default: break; @@ -2402,37 +2402,36 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_TILDE: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { case ' ': - TexOutput("~"); + TexOutput(_T("~")); break; case 'a': - TexOutput("ã"); + TexOutput(_T("ã")); break; case 'n': - TexOutput("ñ"); + TexOutput(_T("ñ")); break; case 'o': - TexOutput("õ"); + TexOutput(_T("õ")); break; case 'A': - TexOutput("Ã"); + TexOutput(_T("Ã")); break; case 'N': - TexOutput("Ñ"); + TexOutput(_T("Ñ")); break; case 'O': - TexOutput("Õ"); + TexOutput(_T("Õ")); break; default: break; @@ -2440,52 +2439,51 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_UMLAUT: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { case 'a': - TexOutput("ä"); + TexOutput(_T("ä")); break; case 'e': - TexOutput("ë"); + TexOutput(_T("ë")); break; case 'i': - TexOutput("ï"); + TexOutput(_T("ï")); break; case 'o': - TexOutput("ö"); + TexOutput(_T("ö")); break; case 'u': - TexOutput("ü"); + TexOutput(_T("ü")); break; case 'y': - TexOutput("ÿ"); + TexOutput(_T("ÿ")); break; case 'A': - TexOutput("Ä"); + TexOutput(_T("Ä")); break; case 'E': - TexOutput("Ë"); + TexOutput(_T("Ë")); break; case 'I': - TexOutput("Ï"); + TexOutput(_T("Ï")); break; case 'O': - TexOutput("Ö"); + TexOutput(_T("Ö")); break; case 'U': - TexOutput("Ü"); + TexOutput(_T("Ü")); break; case 'Y': - TexOutput("Ÿ"); + TexOutput(_T("Ÿ")); break; default: break; @@ -2493,22 +2491,21 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_DOT: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { case 'a': - TexOutput("å"); + TexOutput(_T("å")); break; case 'A': - TexOutput("Å"); + TexOutput(_T("Å")); break; default: break; @@ -2516,13 +2513,12 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltBACKGROUND: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { bool isPicture = FALSE; @@ -2542,13 +2538,12 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltBACKGROUNDIMAGE: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { if (backgroundImageString) @@ -2557,13 +2552,12 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltBACKGROUNDCOLOUR: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { if (backgroundColourString) @@ -2572,13 +2566,12 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltTEXTCOLOUR: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { if (textColourString) @@ -2587,13 +2580,12 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltLINKCOLOUR: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { if (linkColourString) @@ -2602,13 +2594,12 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltFOLLOWEDLINKCOLOUR: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { if (followedLinkColourString) @@ -2617,22 +2608,21 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_CADILLA: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { case 'c': - TexOutput("ç"); + TexOutput(_T("ç")); break; case 'C': - TexOutput("Ç"); + TexOutput(_T("Ç")); break; default: break; @@ -2640,7 +2630,6 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } /* case ltFOOTNOTE: @@ -2666,25 +2655,25 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) tableVerticalLineLeft = FALSE; tableVerticalLineRight = FALSE; - char *alignString = copystring(GetArgData()); + wxChar *alignString = copystring(GetArgData()); ParseTableArgument(alignString); - TexOutput("\n"); + TexOutput(_T("
    \n")); // Write the first row formatting for compatibility // with standard Latex if (compatibilityMode) { - TexOutput("\n\n
    "); + TexOutput(_T("
    ")); OutputFont(); /* for (int i = 0; i < noColumns; i++) { currentWidth += TableData[i].width; - sprintf(buf, "\\cellx%d", currentWidth); + wxSprintf(buf, _T("\\cellx%d"), currentWidth); TexOutput(buf); } - TexOutput("\\pard\\intbl\n"); + TexOutput(_T("\\pard\\intbl\n")); */ } delete[] alignString; @@ -2694,7 +2683,7 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } else if (arg_no == 2 && !start) { - TexOutput("
    \n"); + TexOutput(_T("\n")); inTabular = FALSE; } break; @@ -2704,35 +2693,35 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) if (start && (arg_no == 1)) { ReopenFile(&Chapters, &ChaptersName); - AddTexRef("bibliography", ChaptersName, "bibliography"); - SetCurrentSubsectionName("bibliography", ChaptersName); + AddTexRef(_T("bibliography"), ChaptersName, _T("bibliography")); + SetCurrentSubsectionName(_T("bibliography"), ChaptersName); citeCount = 1; SetCurrentOutput(Chapters); - char titleBuf[150]; + wxChar titleBuf[150]; if (truncateFilenames) - sprintf(titleBuf, "%s.htm", wxFileNameFromPath(FileRoot)); + wxSprintf(titleBuf, _T("%s.htm"), wxFileNameFromPath(FileRoot)); else - sprintf(titleBuf, "%s_contents.html", wxFileNameFromPath(FileRoot)); + wxSprintf(titleBuf, _T("%s_contents.html"), wxFileNameFromPath(FileRoot)); HTMLHead(); - TexOutput(""); + TexOutput(_T("<title>")); TexOutput(ReferencesNameString); - TexOutput("\n"); + TexOutput(_T("\n")); OutputBodyStart(); - fprintf(Chapters, "\n

    %s", "bibliography", ReferencesNameString); - AddBrowseButtons("contents", titleBuf, // Up + wxFprintf(Chapters, _T("\n

    %s"), _T("bibliography"), ReferencesNameString); + AddBrowseButtons(_T("contents"), titleBuf, // Up lastTopic, lastFileName, // Last topic - "bibliography", ChaptersName); // This topic + _T("bibliography"), ChaptersName); // This topic SetCurrentOutputs(Contents, Chapters); - fprintf(Contents, "\n
  • ", ConvertCase(ChaptersName), "bibliography"); + wxFprintf(Contents, _T("\n
  • "), ConvertCase(ChaptersName), "bibliography"); - fprintf(Contents, "%s\n", ReferencesNameString); - fprintf(Chapters, "
  • \n\n"); + wxFprintf(Contents, _T("%s\n"), ReferencesNameString); + wxFprintf(Chapters, _T("

    \n\n")); SetCurrentOutput(Chapters); return FALSE; @@ -2741,15 +2730,14 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) { } return TRUE; - break; } case ltINDEX: { /* Build up list of keywords associated with topics */ if (start) { -// char *entry = GetArgData(); - char buf[300]; +// wxChar *entry = GetArgData(); + wxChar buf[300]; OutputChunkToString(GetArgChunk(), buf); if (CurrentTopic) { @@ -2757,7 +2745,6 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltFCOL: // case ltBCOL: @@ -2768,24 +2755,23 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) { case 1: { - char *name = GetArgData(); - char buf2[10]; + wxChar *name = GetArgData(); + wxChar buf2[10]; if (!FindColourHTMLString(name, buf2)) { - strcpy(buf2, "#000000"); - char buf[100]; - sprintf(buf, "Could not find colour name %s", name); + wxStrcpy(buf2, _T("#000000")); + wxChar buf[100]; + wxSprintf(buf, _T("Could not find colour name %s"), name); OnError(buf); } - TexOutput(""); + TexOutput(_T("\">")); break; } case 2: { return TRUE; - break; } default: break; @@ -2793,10 +2779,9 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } else { - if (arg_no == 2) TexOutput(""); + if (arg_no == 2) TexOutput(_T("")); } return FALSE; - break; } case ltINSERTATLEVEL: { @@ -2814,8 +2799,8 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) { oldLevelFile = CurrentOutput1; - char *str = GetArgData(); - currentLevelNo = atoi(str); + wxChar *str = GetArgData(); + currentLevelNo = wxAtoi(str); FILE* outputFile; // TODO: cope with article style (no chapters) switch (currentLevelNo) @@ -2849,12 +2834,10 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) if (outputFile) CurrentOutput1 = outputFile; return FALSE; - break; } case 2: { return TRUE; - break; } default: break; @@ -2872,7 +2855,6 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start) } default: return DefaultOnArgument(macroId, arg_no, start); - break; } return TRUE; } @@ -2894,88 +2876,88 @@ bool HTMLGo(void) // recursively Text2HTML(GetTopLevelChunk()); - char buf[300]; + wxChar buf[300]; if (truncateFilenames) - sprintf(buf, "%s.htm", FileRoot); + wxSprintf(buf, _T("%s.htm"), FileRoot); else - sprintf(buf, "%s_contents.html", FileRoot); + wxSprintf(buf, _T("%s_contents.html"), FileRoot); if (TitlepageName) delete[] TitlepageName; TitlepageName = copystring(buf); - Titlepage = fopen(buf, "w"); + Titlepage = wxFopen(buf, _T("w")); if (truncateFilenames) - sprintf(buf, "%s_fc.htm", FileRoot); + wxSprintf(buf, _T("%s_fc.htm"), FileRoot); else - sprintf(buf, "%s_fcontents.html", FileRoot); + wxSprintf(buf, _T("%s_fcontents.html"), FileRoot); contentsFrameName = copystring(buf); - Contents = fopen(TmpContentsName, "w"); + Contents = wxFopen(TmpContentsName, _T("w")); if (htmlFrameContents) { -// FrameContents = fopen(TmpFrameContentsName, "w"); - FrameContents = fopen(contentsFrameName, "w"); - fprintf(FrameContents, "\n
      \n"); +// FrameContents = wxFopen(TmpFrameContentsName, _T("w")); + FrameContents = wxFopen(contentsFrameName, _T("w")); + wxFprintf(FrameContents, _T("\n
        \n")); } if (!Titlepage || !Contents) { - OnError("Cannot open output file!"); + OnError(_T("Cannot open output file!")); return FALSE; } - AddTexRef("contents", wxFileNameFromPath(TitlepageName), ContentsNameString); + AddTexRef(_T("contents"), wxFileNameFromPath(TitlepageName), ContentsNameString); - fprintf(Contents, "

        %s

        \n", ContentsNameString); + wxFprintf(Contents, _T("

        %s

        \n"), ContentsNameString); - fprintf(Contents, "

          \n"); + wxFprintf(Contents, _T("
            \n")); SetCurrentOutput(Titlepage); if (htmlWorkshopFiles) HTMLWorkshopStartContents(); - OnInform("Converting..."); + OnInform(_T("Converting...")); TraverseDocument(); - fprintf(Contents, "
          \n\n"); + wxFprintf(Contents, _T("
        \n\n")); // SetCurrentOutput(Titlepage); fclose(Titlepage); if (Contents) { -// fprintf(Titlepage, "\n\n"); +// wxFprintf(Titlepage, _T("\n\n")); fclose(Contents); Contents = NULL; } if (FrameContents) { - fprintf(FrameContents, "\n
      \n"); - fprintf(FrameContents, "\n"); + wxFprintf(FrameContents, _T("\n
    \n")); + wxFprintf(FrameContents, _T("\n")); fclose(FrameContents); FrameContents = NULL; } if (Chapters) { - fprintf(Chapters, "\n\n"); + wxFprintf(Chapters, _T("\n\n")); fclose(Chapters); Chapters = NULL; } if (Sections) { - fprintf(Sections, "\n\n"); + wxFprintf(Sections, _T("\n\n")); fclose(Sections); Sections = NULL; } if (Subsections && !combineSubSections) { - fprintf(Subsections, "\n\n"); + wxFprintf(Subsections, _T("\n\n")); fclose(Subsections); Subsections = NULL; } if (Subsubsections && !combineSubSections) { - fprintf(Subsubsections, "\n\n"); + wxFprintf(Subsubsections, _T("\n\n")); fclose(Subsubsections); Subsubsections = NULL; } @@ -2990,50 +2972,50 @@ bool HTMLGo(void) // This is necessary in order to put the title of the document // at the TOP of the file within , even though we only find out // what it is later on. - FILE *tmpTitle = fopen("title.tmp", "w"); + FILE *tmpTitle = wxFopen(_T("title.tmp"), _T("w")); if (tmpTitle) { if (DocumentTitle) { SetCurrentOutput(tmpTitle); HTMLHead(); - TexOutput("\n"); + TexOutput(_T("\n<HEAD><TITLE>")); TraverseChildrenFromChunk(DocumentTitle); - TexOutput("\n"); + TexOutput(_T("\n")); } else { SetCurrentOutput(tmpTitle); HTMLHeadTo(tmpTitle); if (contentsString) - fprintf(tmpTitle, "%s\n\n", contentsString); + wxFprintf(tmpTitle, _T("%s\n\n"), contentsString); else - fprintf(tmpTitle, "%s\n\n", wxFileNameFromPath(FileRoot)); + wxFprintf(tmpTitle, _T("%s\n\n"), wxFileNameFromPath(FileRoot)); } // Output frame information if (htmlFrameContents) { - char firstFileName[300]; + wxChar firstFileName[300]; if (truncateFilenames) - sprintf(firstFileName, "%s1.htm", FileRoot); + wxSprintf(firstFileName, _T("%s1.htm"), FileRoot); else - sprintf(firstFileName, "%s1.html", FileRoot); + wxSprintf(firstFileName, _T("%s1.html"), FileRoot); - fprintf(tmpTitle, "\n"); + wxFprintf(tmpTitle, _T("\n")); - fprintf(tmpTitle, "\n", ConvertCase(wxFileNameFromPath(contentsFrameName))); - fprintf(tmpTitle, "\n", ConvertCase(wxFileNameFromPath(firstFileName))); - fprintf(tmpTitle, "\n"); + wxFprintf(tmpTitle, _T("\n"), ConvertCase(wxFileNameFromPath(contentsFrameName))); + wxFprintf(tmpTitle, _T("\n"), ConvertCase(wxFileNameFromPath(firstFileName))); + wxFprintf(tmpTitle, _T("\n")); - fprintf(tmpTitle, "\n"); + wxFprintf(tmpTitle, _T("<NOFRAMES>\n")); } // Output <BODY...> to temporary title page OutputBodyStart(); // Concat titlepage - FILE *fd = fopen(TitlepageName, "r"); + FILE *fd = wxFopen(TitlepageName, _T("r")); if (fd) { int ch = getc(fd); @@ -3045,20 +3027,20 @@ bool HTMLGo(void) fclose(fd); } - fprintf(tmpTitle, "\n</FONT></BODY>\n"); + wxFprintf(tmpTitle, _T("\n</FONT></BODY>\n")); if (htmlFrameContents) { - fprintf(tmpTitle, "\n\n"); + wxFprintf(tmpTitle, _T("\n\n")); } - fprintf(tmpTitle, "\n\n"); + wxFprintf(tmpTitle, _T("\n\n")); fclose(tmpTitle); if (wxFileExists(TitlepageName)) wxRemoveFile(TitlepageName); - if (!wxRenameFile("title.tmp", TitlepageName)) + if (!wxRenameFile(_T("title.tmp"), TitlepageName)) { - wxCopyFile("title.tmp", TitlepageName); - wxRemoveFile("title.tmp"); + wxCopyFile(_T("title.tmp"), TitlepageName); + wxRemoveFile(_T("title.tmp")); } } @@ -3078,8 +3060,8 @@ bool HTMLGo(void) // Generate .htx file if requested if (htmlIndex) { - char htmlIndexName[300]; - sprintf(htmlIndexName, "%s.htx", FileRoot); + wxChar htmlIndexName[300]; + wxSprintf(htmlIndexName, _T("%s.htx"), FileRoot); GenerateHTMLIndexFile(htmlIndexName); } @@ -3098,28 +3080,29 @@ bool HTMLGo(void) } // Output .htx index file -void GenerateHTMLIndexFile(char *fname) +void GenerateHTMLIndexFile(wxChar *fname) { - FILE *fd = fopen(fname, "w"); + FILE *fd = wxFopen(fname, _T("w")); if (!fd) return; TopicTable.BeginFind(); - wxNode *node = NULL; - while ((node = TopicTable.Next())) + wxNode *node = TopicTable.Next(); + while (node) { TexTopic *texTopic = (TexTopic *)node->GetData(); - const char *topicName = node->GetKeyString(); + const wxChar *topicName = node->GetKeyString(); if (texTopic->filename && texTopic->keywords) { wxStringListNode *node1 = texTopic->keywords->GetFirst(); while (node1) { - char *s = (char *)node1->GetData(); - fprintf(fd, "%s|%s|%s\n", topicName, texTopic->filename, s); + wxChar *s = (wxChar *)node1->GetData(); + wxFprintf(fd, _T("%s|%s|%s\n"), topicName, texTopic->filename, s); node1 = node1->GetNext(); } } + node = TopicTable.Next(); } fclose(fd); } @@ -3133,25 +3116,25 @@ void GenerateHTMLIndexFile(char *fname) // output .hpp, .hhc and .hhk files: -void GenerateHTMLWorkshopFiles(char *fname) +void GenerateHTMLWorkshopFiles(wxChar *fname) { FILE *f; - char buf[300]; + wxChar buf[300]; /* Generate project file : */ - sprintf(buf, "%s.hhp", fname); - f = fopen(buf, "wt"); - fprintf(f, - "[OPTIONS]\n" - "Compatibility=1.1\n" - "Full-text search=Yes\n" - "Contents file=%s.hhc\n" - "Compiled file=%s.chm\n" - "Default Window=%sHelp\n" - "Default topic=%s\n" - "Index file=%s.hhk\n" - "Title=", + wxSprintf(buf, _T("%s.hhp"), fname); + f = wxFopen(buf, _T("wt")); + wxFprintf(f, + _T("[OPTIONS]\n") + _T("Compatibility=1.1\n") + _T("Full-text search=Yes\n") + _T("Contents file=%s.hhc\n") + _T("Compiled file=%s.chm\n") + _T("Default Window=%sHelp\n") + _T("Default topic=%s\n") + _T("Index file=%s.hhk\n") + _T("Title="), wxFileNameFromPath(fname), wxFileNameFromPath(fname), wxFileNameFromPath(fname), @@ -3163,70 +3146,71 @@ void GenerateHTMLWorkshopFiles(char *fname) SetCurrentOutput(f); TraverseChildrenFromChunk(DocumentTitle); } - else fprintf(f, "(unknown)"); + else wxFprintf(f, _T("(unknown)")); - fprintf(f, "\n\n[WINDOWS]\n" - "%sHelp=,\"%s.hhc\",\"%s.hhk\",\"%s\",,,,,,0x2420,,0x380e,,,,,0,,,", + wxFprintf(f, _T("\n\n[WINDOWS]\n") + _T("%sHelp=,\"%s.hhc\",\"%s.hhk\",\"%s\",,,,,,0x2420,,0x380e,,,,,0,,,"), wxFileNameFromPath(fname), wxFileNameFromPath(fname), wxFileNameFromPath(fname), wxFileNameFromPath(TitlepageName)); - fprintf(f, "\n\n[FILES]\n"); - fprintf(f, "%s\n", wxFileNameFromPath(TitlepageName)); + wxFprintf(f, _T("\n\n[FILES]\n")); + wxFprintf(f, _T("%s\n"), wxFileNameFromPath(TitlepageName)); for (int i = 1; i <= fileId; i++) { if (truncateFilenames) - sprintf(buf, "%s%d.htm", wxFileNameFromPath(FileRoot), i); + wxSprintf(buf, _T("%s%d.htm"), wxFileNameFromPath(FileRoot), i); else - sprintf(buf, "%s%d.html", wxFileNameFromPath(FileRoot), i); - fprintf(f, "%s\n", buf); + wxSprintf(buf, _T("%s%d.html"), wxFileNameFromPath(FileRoot), i); + wxFprintf(f, _T("%s\n"), buf); } fclose(f); /* Generate index file : */ - sprintf(buf, "%s.hhk", fname); - f = fopen(buf, "wt"); + wxSprintf(buf, _T("%s.hhk"), fname); + f = wxFopen(buf, _T("wt")); - fprintf(f, - "\n" - "\n"); + wxFprintf(f, + _T("\n") + _T("\n")); HTMLHeadTo(f); - fprintf(f, - "\n" - "\n" - "\n" - "\n" - "\n" - " \n" - "\n" - "
      \n"); + wxFprintf(f, + _T("\n") + _T("\n") + _T("\n") + _T("\n") + _T("\n") + _T(" \n") + _T("\n") + _T("
        \n")); TopicTable.BeginFind(); - wxNode *node = NULL; - while ((node = TopicTable.Next())) + wxNode *node = TopicTable.Next(); + while (node) { TexTopic *texTopic = (TexTopic *)node->GetData(); - const char *topicName = node->GetKeyString(); + const wxChar *topicName = node->GetKeyString(); if (texTopic->filename && texTopic->keywords) { wxStringListNode *node1 = texTopic->keywords->GetFirst(); while (node1) { - char *s = (char *)node1->GetData(); - fprintf(f, - "
      • \n" - " \n" - " \n" - " \n", + wxChar *s = (wxChar *)node1->GetData(); + wxFprintf(f, + _T("
      • \n") + _T(" \n") + _T(" \n") + _T(" \n"), texTopic->filename, topicName, s); node1 = node1->GetNext(); } } + node = TopicTable.Next(); } - fprintf(f, "
      \n"); + wxFprintf(f, _T("
    \n")); fclose(f); } @@ -3235,54 +3219,54 @@ void GenerateHTMLWorkshopFiles(char *fname) static FILE *HTMLWorkshopContents = NULL; static int HTMLWorkshopLastLevel = 0; -void HTMLWorkshopAddToContents(int level, char *s, char *file) +void HTMLWorkshopAddToContents(int level, wxChar *s, wxChar *file) { int i; if (level > HTMLWorkshopLastLevel) for (i = HTMLWorkshopLastLevel; i < level; i++) - fprintf(HTMLWorkshopContents, "
      "); + wxFprintf(HTMLWorkshopContents, _T("
        ")); if (level < HTMLWorkshopLastLevel) for (i = level; i < HTMLWorkshopLastLevel; i++) - fprintf(HTMLWorkshopContents, "
      "); + wxFprintf(HTMLWorkshopContents, _T("
    ")); SetCurrentOutput(HTMLWorkshopContents); - fprintf(HTMLWorkshopContents, - "
  • \n" - " \n" - " \n") + _T(" \n") + _T(" \n" - " \n"); + wxFprintf(HTMLWorkshopContents, + _T("\">\n") + _T(" \n")); HTMLWorkshopLastLevel = level; } void HTMLWorkshopStartContents() { - char buf[300]; - sprintf(buf, "%s.hhc", FileRoot); - HTMLWorkshopContents = fopen(buf, "wt"); + wxChar buf[300]; + wxSprintf(buf, _T("%s.hhc"), FileRoot); + HTMLWorkshopContents = wxFopen(buf, _T("wt")); HTMLWorkshopLastLevel = 0; - fprintf(HTMLWorkshopContents, - "\n" - "\n"); + wxFprintf(HTMLWorkshopContents, + _T("\n") + _T("\n")); HTMLHeadTo(HTMLWorkshopContents); - fprintf(HTMLWorkshopContents, - "\n" - "\n" - "\n" - "\n" - "\n" - " \n" - "\n" - "
      \n" - "
    • \n" - "\n" - "\n\n", + wxFprintf(HTMLWorkshopContents, + _T("\n") + _T("\n") + _T("\n") + _T("\n") + _T("\n") + _T(" \n") + _T("\n") + _T("
        \n") + _T("
      • \n") + _T("\n") + _T("\n\n"), wxFileNameFromPath(TitlepageName) ); @@ -3292,6 +3276,6 @@ void HTMLWorkshopStartContents() void HTMLWorkshopEndContents() { for (int i = HTMLWorkshopLastLevel; i >= 0; i--) - fprintf(HTMLWorkshopContents, "
      \n"); + wxFprintf(HTMLWorkshopContents, _T("
    \n")); fclose(HTMLWorkshopContents); } diff --git a/utils/tex2rtf/src/readshg.cpp b/utils/tex2rtf/src/readshg.cpp index 76b5572908..a7454b736c 100644 --- a/utils/tex2rtf/src/readshg.cpp +++ b/utils/tex2rtf/src/readshg.cpp @@ -38,8 +38,8 @@ // HotSpots *array; // int n = ParseSHG("thing.shg", &array); -int ParseSHG( const char* fileName, HotSpot **hotspots) -{ FILE* fSHG = fopen( fileName, "rb"); +int ParseSHG( const wxChar* fileName, HotSpot **hotspots) +{ FILE* fSHG = wxFopen( fileName, _T("rb")); long offset; int nHotspots = 0; @@ -110,7 +110,7 @@ int ParseSHG( const char* fileName, HotSpot **hotspots) // Convert Windows .SHG file to HTML map file -bool SHGToMap(char *filename, char *defaultFile) +bool SHGToMap(wxChar *filename, wxChar *defaultFile) { // Test the SHG parser HotSpot *hotspots = NULL; @@ -118,41 +118,41 @@ bool SHGToMap(char *filename, char *defaultFile) if (n == 0) return FALSE; - char buf[100]; - sprintf(buf, "Converting .SHG file to HTML map file: there are %d hotspots in %s.", n, filename); + wxChar buf[100]; + wxSprintf(buf, _T("Converting .SHG file to HTML map file: there are %d hotspots in %s."), n, filename); OnInform(buf); - char outBuf[256]; - strcpy(outBuf, filename); + wxChar outBuf[256]; + wxStrcpy(outBuf, filename); StripExtension(outBuf); - strcat(outBuf, ".map"); + wxStrcat(outBuf, _T(".map")); - FILE *fd = fopen(outBuf, "w"); + FILE *fd = wxFopen(outBuf, _T("w")); if (!fd) { - OnError("Could not open .map file for writing."); + OnError(_T("Could not open .map file for writing.")); delete[] hotspots; return FALSE; } - fprintf(fd, "default %s\n", defaultFile); + wxFprintf(fd, _T("default %s\n"), defaultFile); for (int i = 0; i < n; i++) { - char *refFilename = "??"; + wxChar *refFilename = _T("??"); TexRef *texRef = FindReference(hotspots[i].szHlpTopic_Macro); if (texRef) refFilename = texRef->refFile; else { - char buf[300]; - sprintf(buf, "Warning: could not find hotspot reference %s", hotspots[i].szHlpTopic_Macro); + wxChar buf[300]; + wxSprintf(buf, _T("Warning: could not find hotspot reference %s"), hotspots[i].szHlpTopic_Macro); OnInform(buf); } - fprintf(fd, "rect %s %d %d %d %d\n", refFilename, (int)hotspots[i].left, (int)hotspots[i].top, + wxFprintf(fd, _T("rect %s %d %d %d %d\n"), refFilename, (int)hotspots[i].left, (int)hotspots[i].top, (int)hotspots[i].right, (int)hotspots[i].bottom); } - fprintf(fd, "\n"); + wxFprintf(fd, _T("\n")); fclose(fd); diff --git a/utils/tex2rtf/src/readshg.h b/utils/tex2rtf/src/readshg.h index b26d4fea09..f710f3a341 100644 --- a/utils/tex2rtf/src/readshg.h +++ b/utils/tex2rtf/src/readshg.h @@ -46,7 +46,7 @@ struct HotSpot top, right, bottom; - char szHlpTopic_Macro[65]; + wxChar szHlpTopic_Macro[65]; bool IsVisible; }; @@ -55,10 +55,10 @@ struct HotSpot // HotSpots *array; // int n = ParseSHG("thing.shg", &array); -extern int ParseSHG( const char* fileName, HotSpot **hotspots); +extern int ParseSHG( const wxChar* fileName, HotSpot **hotspots); // Converts Windows .SHG file to HTML map file -extern bool SHGToMap(char *filename, char *defaultFile); +extern bool SHGToMap(wxChar *filename, wxChar *defaultFile); #endif diff --git a/utils/tex2rtf/src/rtfutils.cpp b/utils/tex2rtf/src/rtfutils.cpp index 676d2f5613..974e5d5d86 100644 --- a/utils/tex2rtf/src/rtfutils.cpp +++ b/utils/tex2rtf/src/rtfutils.cpp @@ -46,22 +46,21 @@ static int indentLevel = 0; static int forbidParindent = 0; // if > 0, no parindent (e.g. in center environment) int forbidResetPar = 0; // If > 0, don't reset memory of having output a new par -static char *contentsLineSection = NULL; -static char *contentsLineValue = NULL; +static wxChar *contentsLineSection = NULL; +static wxChar *contentsLineValue = NULL; static TexChunk *descriptionItemArg = NULL; static wxStringList environmentStack; // Stack of paragraph styles we need to remember static int footnoteCount = 0; static int citeCount = 1; -extern char *FileRoot; extern bool winHelp; extern bool startedSections; extern FILE *Contents; extern FILE *Chapters; extern FILE *Popups; extern FILE *WinHelpContentsFile; -extern char *RTFCharset; +extern wxChar *RTFCharset; // This is defined in the Tex2Any library and isn't in use after parsing -extern char *BigBuffer; +extern wxChar *BigBuffer; extern wxHashTable TexReferences; @@ -79,7 +78,7 @@ static bool hotSpotUnderline = TRUE; static bool bitmapTransparency = TRUE; // Linear RTF requires us to set the style per section. -static char *currentNumberStyle = NULL; +static wxChar *currentNumberStyle = NULL; static int currentItemSep = 8; static int CurrentTextWidth = 8640; // Say, six inches static int CurrentLeftMarginOdd = 400; @@ -117,39 +116,39 @@ static bool inTable = FALSE; * Current topics * */ -static char *CurrentChapterName = NULL; -static char *CurrentSectionName = NULL; -static char *CurrentSubsectionName = NULL; -static char *CurrentTopic = NULL; +static wxChar *CurrentChapterName = NULL; +static wxChar *CurrentSectionName = NULL; +static wxChar *CurrentSubsectionName = NULL; +static wxChar *CurrentTopic = NULL; static bool InPopups() { - if (CurrentChapterName && (strcmp(CurrentChapterName, "popups") == 0)) + if (CurrentChapterName && (wxStrcmp(CurrentChapterName, _T("popups")) == 0)) return TRUE; - if (CurrentSectionName && (strcmp(CurrentSectionName, "popups") == 0)) + if (CurrentSectionName && (wxStrcmp(CurrentSectionName, _T("popups")) == 0)) return TRUE; return FALSE; } -static void SetCurrentTopic(char *s) +static void SetCurrentTopic(wxChar *s) { if (CurrentTopic) delete[] CurrentTopic; CurrentTopic = copystring(s); } -void SetCurrentChapterName(char *s) +void SetCurrentChapterName(wxChar *s) { if (CurrentChapterName) delete[] CurrentChapterName; CurrentChapterName = copystring(s); SetCurrentTopic(s); } -void SetCurrentSectionName(char *s) +void SetCurrentSectionName(wxChar *s) { if (CurrentSectionName) delete[] CurrentSectionName; CurrentSectionName = copystring(s); SetCurrentTopic(s); } -void SetCurrentSubsectionName(char *s) +void SetCurrentSubsectionName(wxChar *s) { if (CurrentSubsectionName) delete[] CurrentSubsectionName; CurrentSubsectionName = copystring(s); @@ -160,7 +159,7 @@ void SetCurrentSubsectionName(char *s) // Level 1 is a chapter, 2 is a section, etc. void NotifyParentHasChildren(int parentLevel) { - char *parentTopic = NULL; + wxChar *parentTopic = NULL; switch (parentLevel) { case 1: @@ -220,43 +219,40 @@ void OutputSectionKeyword(FILE *fd) OutputCurrentSectionToString(wxTex2RTFBuffer); unsigned int i; - for (i = 0; i < strlen(wxTex2RTFBuffer); i++) + for (i = 0; i < wxStrlen(wxTex2RTFBuffer); i++) if (wxTex2RTFBuffer[i] == ':') wxTex2RTFBuffer[i] = ' '; // Don't write to index if there's some RTF in the string else if ( wxTex2RTFBuffer[i] == '{' ) return; - fprintf(fd, "K{\\footnote {K} "); - fprintf(fd, "%s", wxTex2RTFBuffer); + wxFprintf(fd, _T("K{\\footnote {K} ")); + wxFprintf(fd, _T("%s"), wxTex2RTFBuffer); - fprintf(fd, "}\n"); + wxFprintf(fd, _T("}\n")); } // Write a line for the .cnt file, if we're doing this. -void WriteWinHelpContentsFileLine(char *topicName, char *xitle, int level) +void WriteWinHelpContentsFileLine(wxChar *topicName, wxChar *xitle, int level) { // First, convert any RTF characters to ASCII - char title[255]; + wxChar title[255]; int s=0; int d=0; while ( (xitle[s]!=0)&&(d<255) ) { - char ch=xitle[s]&0xff; + wxChar ch=xitle[s]&0xff; if (ch==0x5c) { - char ch1=xitle[s+1]&0xff; - char ch2=xitle[s+2]&0xff; - char ch3=xitle[s+3]&0xff; + wxChar ch1=xitle[s+1]&0xff; + wxChar ch2=xitle[s+2]&0xff; + wxChar ch3=xitle[s+3]&0xff; s+=4; // next character - char a=0; - if ((ch1==0x27)&&(ch2==0x66)&&(ch3==0x36)) { title[d++]='ö'; a=1; } - if ((ch1==0x27)&&(ch2==0x65)&&(ch3==0x34)) { title[d++]='ä'; a=1; } - if ((ch1==0x27)&&(ch2==0x66)&&(ch3==0x63)) { title[d++]='ü'; a=1; } - if ((ch1==0x27)&&(ch2==0x64)&&(ch3==0x36)) { title[d++]='Ö'; a=1; } - if ((ch1==0x27)&&(ch2==0x63)&&(ch3==0x34)) { title[d++]='Ä'; a=1; } - if ((ch1==0x27)&&(ch2==0x64)&&(ch3==0x63)) { title[d++]='Ãœ'; a=1; } -// if (a==0) -// printf("!!!!! %04X %04X %04X %04X! \n",ch1,ch2,ch3,ch4); + if ((ch1==0x27)&&(ch2==0x66)&&(ch3==0x36)) { title[d++]='ö'; } + if ((ch1==0x27)&&(ch2==0x65)&&(ch3==0x34)) { title[d++]='ä'; } + if ((ch1==0x27)&&(ch2==0x66)&&(ch3==0x63)) { title[d++]='ü'; } + if ((ch1==0x27)&&(ch2==0x64)&&(ch3==0x36)) { title[d++]='Ö'; } + if ((ch1==0x27)&&(ch2==0x63)&&(ch3==0x34)) { title[d++]='Ä'; } + if ((ch1==0x27)&&(ch2==0x64)&&(ch3==0x63)) { title[d++]='Ãœ'; } } else { title[d++]=ch; s++; @@ -287,10 +283,10 @@ void WriteWinHelpContentsFileLine(char *topicName, char *xitle, int level) { // At this level, we have a pointer to a further hierarchy. // So we need a 'book' consisting of (say) Chapter 1. - fprintf(WinHelpContentsFile, "%d %s\n", level, title); + wxFprintf(WinHelpContentsFile, _T("%d %s\n"), level, title); // Then we have a 'page' consisting of the text for this chapter - fprintf(WinHelpContentsFile, "%d %s=%s\n", level+1, title, topicName); + wxFprintf(WinHelpContentsFile, _T("%d %s=%s\n"), level+1, title, topicName); // Then we'll be writing out further pages or books at level + 1... @@ -300,7 +296,7 @@ void WriteWinHelpContentsFileLine(char *topicName, char *xitle, int level) } else { - fprintf(WinHelpContentsFile, "%d %s=%s\n", level, title, topicName); + wxFprintf(WinHelpContentsFile, _T("%d %s=%s\n"), level, title, topicName); } } else @@ -308,20 +304,20 @@ void WriteWinHelpContentsFileLine(char *topicName, char *xitle, int level) if (level == 1 || ContentsLevels[level-1]) { // Always have a book at level 1 - fprintf(WinHelpContentsFile, "%d %s\n", level, title); - fprintf(WinHelpContentsFile, "%d %s=%s\n", level+1, title, topicName); + wxFprintf(WinHelpContentsFile, _T("%d %s\n"), level, title); + wxFprintf(WinHelpContentsFile, _T("%d %s=%s\n"), level+1, title, topicName); ContentsLevels[level-1] = TRUE; } else // Probably doesn't have children if it hasn't been added to the topic table - fprintf(WinHelpContentsFile, "%d %s=%s\n", level, title, topicName); + wxFprintf(WinHelpContentsFile, _T("%d %s=%s\n"), level, title, topicName); } } } -void SplitIndexEntry(char *entry, char *buf1, char *buf2) +void SplitIndexEntry(wxChar *entry, wxChar *buf1, wxChar *buf2) { - int len = strlen(entry); int i = 0; + int len = wxStrlen(entry); int i = 0; while ((i < len) && entry[i] != '!') { buf1[i] = entry[i]; i ++; } buf1[i] = 0; buf2[0] = 0; int j = 0; @@ -338,7 +334,7 @@ void SplitIndexEntry(char *entry, char *buf1, char *buf2) * Output topic index entries in WinHelp RTF * */ -void GenerateKeywordsForTopic(char *topic) +void GenerateKeywordsForTopic(wxChar *topic) { TexTopic *texTopic = (TexTopic *)TopicTable.Get(topic); if (!texTopic) @@ -350,32 +346,32 @@ void GenerateKeywordsForTopic(char *topic) wxStringListNode *node = list->GetFirst(); while (node) { - char *s = (char *)node->GetData(); + wxChar *s = (wxChar *)node->GetData(); // Must separate out main entry form subentry (only 1 subentry allowed) - char buf1[100]; char buf2[100]; + wxChar buf1[100]; wxChar buf2[100]; SplitIndexEntry(s, buf1, buf2); // Check for ':' which messes up index unsigned int i; - for (i = 0; i < strlen(buf1) ; i++) + for (i = 0; i < wxStrlen(buf1) ; i++) if (buf1[i] == ':') buf1[i] = ' '; - for (i = 0; i < strlen(buf2) ; i++) + for (i = 0; i < wxStrlen(buf2) ; i++) if (buf2[i] == ':') buf2[i] = ' '; // {K} is a strange fix to prevent words beginning with K not // being indexed properly - TexOutput("K{\\footnote {K} "); + TexOutput(_T("K{\\footnote {K} ")); TexOutput(buf1); - if (strlen(buf2) > 0) + if (wxStrlen(buf2) > 0) { // Output subentry - TexOutput(", "); + TexOutput(_T(", ")); TexOutput(buf2); } - TexOutput("}\n"); + TexOutput(_T("}\n")); node = node->GetNext(); } } @@ -386,21 +382,21 @@ void GenerateKeywordsForTopic(char *topic) * */ -void GenerateIndexEntry(char *entry) +void GenerateIndexEntry(wxChar *entry) { if (useWord) { - char buf1[100]; char buf2[100]; + wxChar buf1[100]; wxChar buf2[100]; SplitIndexEntry(entry, buf1, buf2); - TexOutput("{\\xe\\v {"); + TexOutput(_T("{\\xe\\v {")); TexOutput(buf1); - if (strlen(buf2) > 0) + if (wxStrlen(buf2) > 0) { - TexOutput("\\:"); + TexOutput(_T("\\:")); TexOutput(buf2); } - TexOutput("}}"); + TexOutput(_T("}}")); } } @@ -411,15 +407,15 @@ void GenerateIndexEntry(char *entry) void WriteColourTable(FILE *fd) { - fprintf(fd, "{\\colortbl"); + wxFprintf(fd, _T("{\\colortbl")); wxNode *node = ColourTable.GetFirst(); while (node) { ColourTableEntry *entry = (ColourTableEntry *)node->GetData(); - fprintf(fd, "\\red%d\\green%d\\blue%d;\n", entry->red, entry->green, entry->blue); + wxFprintf(fd, _T("\\red%d\\green%d\\blue%d;\n"), entry->red, entry->green, entry->blue); node = node->GetNext(); } - fprintf(fd, "}"); + wxFprintf(fd, _T("}")); } /* @@ -433,22 +429,22 @@ void WriteHeadingStyle(FILE *fd, int heading) { case 1: { - fprintf(fd, "\\b\\fs%d", chapterFont*2); + wxFprintf(fd, _T("\\b\\fs%d"), chapterFont*2); break; } case 2: { - fprintf(fd, "\\b\\fs%d", sectionFont*2); + wxFprintf(fd, _T("\\b\\fs%d"), sectionFont*2); break; } case 3: { - fprintf(fd, "\\b\\fs%d", subsectionFont*2); + wxFprintf(fd, _T("\\b\\fs%d"), subsectionFont*2); break; } case 4: { - fprintf(fd, "\\b\\fs%d", subsectionFont*2); + wxFprintf(fd, _T("\\b\\fs%d"), subsectionFont*2); break; } default: @@ -458,61 +454,61 @@ void WriteHeadingStyle(FILE *fd, int heading) void WriteRTFHeader(FILE *fd) { - fprintf(fd, "{\\rtf1\\%s \\deff0\n", RTFCharset); - fprintf(fd, "{\\fonttbl{\\f0\\froman Times New Roman;}{\\f1\\ftech Symbol;}{\\f2\\fswiss Arial;}\n"); - fprintf(fd, "{\\f3\\fmodern Courier;}{\\f4\\ftech Wingdings;}{\\f5\\ftech Monotype Sorts;}\n}"); + wxFprintf(fd, _T("{\\rtf1\\%s \\deff0\n"), RTFCharset); + wxFprintf(fd, _T("{\\fonttbl{\\f0\\froman Times New Roman;}{\\f1\\ftech Symbol;}{\\f2\\fswiss Arial;}\n")); + wxFprintf(fd, _T("{\\f3\\fmodern Courier;}{\\f4\\ftech Wingdings;}{\\f5\\ftech Monotype Sorts;}\n}")); /* * Style sheet */ - fprintf(fd, "{\\stylesheet{\\f2\\fs20 \\snext0 Normal;}\n"); + wxFprintf(fd, _T("{\\stylesheet{\\f2\\fs20 \\snext0 Normal;}\n")); // Headings - fprintf(fd, "{\\s1 "); WriteHeadingStyle(fd, 1); fprintf(fd, "\\sbasedon0\\snext0 heading 1;}\n"); - fprintf(fd, "{\\s2 "); WriteHeadingStyle(fd, 2); fprintf(fd, "\\sbasedon0\\snext0 heading 2;}\n"); - fprintf(fd, "{\\s3 "); WriteHeadingStyle(fd, 3); fprintf(fd, "\\sbasedon0\\snext0 heading 3;}\n"); - fprintf(fd, "{\\s4 "); WriteHeadingStyle(fd, 4); fprintf(fd, "\\sbasedon0\\snext0 heading 4;}\n"); + wxFprintf(fd, _T("{\\s1 ")); WriteHeadingStyle(fd, 1); wxFprintf(fd, _T("\\sbasedon0\\snext0 heading 1;}\n")); + wxFprintf(fd, _T("{\\s2 ")); WriteHeadingStyle(fd, 2); wxFprintf(fd, _T("\\sbasedon0\\snext0 heading 2;}\n")); + wxFprintf(fd, _T("{\\s3 ")); WriteHeadingStyle(fd, 3); wxFprintf(fd, _T("\\sbasedon0\\snext0 heading 3;}\n")); + wxFprintf(fd, _T("{\\s4 ")); WriteHeadingStyle(fd, 4); wxFprintf(fd, _T("\\sbasedon0\\snext0 heading 4;}\n")); // Table of contents styles - fprintf(fd, "{\\s20\\sb300\\tqr\\tldot\\tx8640 \\b\\f2 \\sbasedon0\\snext0 toc 1;}\n"); + wxFprintf(fd, _T("{\\s20\\sb300\\tqr\\tldot\\tx8640 \\b\\f2 \\sbasedon0\\snext0 toc 1;}\n")); - fprintf(fd, "{\\s21\\sb90\\tqr\\tldot\\li400\\tqr\\tx8640 \\f2\\fs20\\sbasedon0\\snext0 toc 2;}\n"); - fprintf(fd, "{\\s22\\sb90\\tqr\\tldot\\li800\\tx8640 \\f2\\fs20 \\sbasedon0\\snext0 toc 3;}\n"); - fprintf(fd, "{\\s23\\sb90\\tqr\\tldot\\li1200\\tx8640 \\f2\\fs20 \\sbasedon0\\snext0 toc 4;}\n"); + wxFprintf(fd, _T("{\\s21\\sb90\\tqr\\tldot\\li400\\tqr\\tx8640 \\f2\\fs20\\sbasedon0\\snext0 toc 2;}\n")); + wxFprintf(fd, _T("{\\s22\\sb90\\tqr\\tldot\\li800\\tx8640 \\f2\\fs20 \\sbasedon0\\snext0 toc 3;}\n")); + wxFprintf(fd, _T("{\\s23\\sb90\\tqr\\tldot\\li1200\\tx8640 \\f2\\fs20 \\sbasedon0\\snext0 toc 4;}\n")); // Index styles - fprintf(fd, "{\\s30\\fi-200\\li200\\tqr\\tx3960 \\f2\\fs18 \\sbasedon0\\snext0 index 1;}\n"); - fprintf(fd, "{\\s31\\fi-200\\li400\\tqr\\tx3960 \\f2\\fs18 \\sbasedon0\\snext0 index 2;}\n"); - fprintf(fd, "{\\s32\\fi-200\\li600\\tqr\\tx3960 \\f2\\fs18 \\sbasedon0\\snext0 index 3;}\n"); - fprintf(fd, "{\\s33\\fi-200\\li800\\tqr\\tx3960 \\f2\\fs18 \\sbasedon0\\snext0 index 4;}\n"); - fprintf(fd, "{\\s35\\qc\\sb240\\sa120 \\b\\f2\\fs26 \\sbasedon0\\snext30 index heading;}\n"); - fprintf(fd, "}\n"); + wxFprintf(fd, _T("{\\s30\\fi-200\\li200\\tqr\\tx3960 \\f2\\fs18 \\sbasedon0\\snext0 index 1;}\n")); + wxFprintf(fd, _T("{\\s31\\fi-200\\li400\\tqr\\tx3960 \\f2\\fs18 \\sbasedon0\\snext0 index 2;}\n")); + wxFprintf(fd, _T("{\\s32\\fi-200\\li600\\tqr\\tx3960 \\f2\\fs18 \\sbasedon0\\snext0 index 3;}\n")); + wxFprintf(fd, _T("{\\s33\\fi-200\\li800\\tqr\\tx3960 \\f2\\fs18 \\sbasedon0\\snext0 index 4;}\n")); + wxFprintf(fd, _T("{\\s35\\qc\\sb240\\sa120 \\b\\f2\\fs26 \\sbasedon0\\snext30 index heading;}\n")); + wxFprintf(fd, _T("}\n")); WriteColourTable(fd); - fprintf(fd, "\n\\ftnbj\\ftnrestart"); // Latex default is footnotes at bottom of page, not section. - fprintf(fd, "\n"); + wxFprintf(fd, _T("\n\\ftnbj\\ftnrestart")); // Latex default is footnotes at bottom of page, not section. + wxFprintf(fd, _T("\n")); } -void OutputNumberStyle(char *numberStyle) +void OutputNumberStyle(wxChar *numberStyle) { if (numberStyle) { - if (strcmp(numberStyle, "arabic") == 0) + if (wxStrcmp(numberStyle, _T("arabic")) == 0) { - TexOutput("\\pgndec"); + TexOutput(_T("\\pgndec")); } - else if (strcmp(numberStyle, "roman") == 0) + else if (wxStrcmp(numberStyle, _T("roman")) == 0) { - TexOutput("\\pgnlcrm"); + TexOutput(_T("\\pgnlcrm")); } - else if (strcmp(numberStyle, "Roman") == 0) + else if (wxStrcmp(numberStyle, _T("Roman")) == 0) { - TexOutput("\\pgnucrm"); + TexOutput(_T("\\pgnucrm")); } - else if (strcmp(numberStyle, "alph") == 0) + else if (wxStrcmp(numberStyle, _T("alph")) == 0) { - TexOutput("\\pgnlcltr"); + TexOutput(_T("\\pgnlcltr")); } - else if (strcmp(numberStyle, "Alph") == 0) + else if (wxStrcmp(numberStyle, _T("Alph")) == 0) { - TexOutput("\\pgnucltr"); + TexOutput(_T("\\pgnucltr")); } } } @@ -521,63 +517,63 @@ void OutputNumberStyle(char *numberStyle) * Write a Windows help project file */ -bool WriteHPJ(char *filename) +bool WriteHPJ(wxChar *filename) { - char hpjFilename[256]; - char helpFile[50]; - char rtfFile[50]; - strcpy(hpjFilename, filename); + wxChar hpjFilename[256]; + wxChar helpFile[50]; + wxChar rtfFile[50]; + wxStrcpy(hpjFilename, filename); StripExtension(hpjFilename); - strcat(hpjFilename, ".hpj"); + wxStrcat(hpjFilename, _T(".hpj")); - strcpy(helpFile, wxFileNameFromPath(filename)); + wxStrcpy(helpFile, wxFileNameFromPath(filename)); StripExtension(helpFile); - strcpy(rtfFile, helpFile); - strcat(helpFile, ".hlp"); - strcat(rtfFile, ".rtf"); + wxStrcpy(rtfFile, helpFile); + wxStrcat(helpFile, _T(".hlp")); + wxStrcat(rtfFile, _T(".rtf")); - FILE *fd = fopen(hpjFilename, "w"); + FILE *fd = wxFopen(hpjFilename, _T("w")); if (!fd) return FALSE; - char *helpTitle = winHelpTitle; + wxChar *helpTitle = winHelpTitle; if (!helpTitle) - helpTitle = "Untitled"; + helpTitle = _T("Untitled"); wxString thePath = wxPathOnly(InputFile); if (thePath.IsEmpty()) - thePath = "."; - fprintf(fd, "[OPTIONS]\n"); - fprintf(fd, "BMROOT=%s ; Assume that bitmaps are where the source is\n", thePath.c_str()); - fprintf(fd, "TITLE=%s\n", helpTitle); - fprintf(fd, "CONTENTS=Contents\n"); + thePath = _T("."); + wxFprintf(fd, _T("[OPTIONS]\n")); + wxFprintf(fd, _T("BMROOT=%s ; Assume that bitmaps are where the source is\n"), thePath.c_str()); + wxFprintf(fd, _T("TITLE=%s\n"), helpTitle); + wxFprintf(fd, _T("CONTENTS=Contents\n")); if (winHelpVersion > 3) { - fprintf(fd, "; COMPRESS=12 Hall Zeck ; Max compression, but needs lots of memory\n"); - fprintf(fd, "COMPRESS=8 Zeck\n"); - fprintf(fd, "LCID=0x809 0x0 0x0 ;English (British)\n"); - fprintf(fd, "HLP=.\\%s.hlp\n", wxFileNameFromPath(FileRoot)); + wxFprintf(fd, _T("; COMPRESS=12 Hall Zeck ; Max compression, but needs lots of memory\n")); + wxFprintf(fd, _T("COMPRESS=8 Zeck\n")); + wxFprintf(fd, _T("LCID=0x809 0x0 0x0 ;English (British)\n")); + wxFprintf(fd, _T("HLP=.\\%s.hlp\n"), wxFileNameFromPath(FileRoot)); } else { - fprintf(fd, "COMPRESS=HIGH\n"); + wxFprintf(fd, _T("COMPRESS=HIGH\n")); } - fprintf(fd, "\n"); + wxFprintf(fd, _T("\n")); if (winHelpVersion > 3) { - fprintf(fd, "[WINDOWS]\n"); - fprintf(fd, "Main=\"\",(553,102,400,600),20736,(r14876671),(r12632256),f3\n"); - fprintf(fd, "\n"); + wxFprintf(fd, _T("[WINDOWS]\n")); + wxFprintf(fd, _T("Main=\"\",(553,102,400,600),20736,(r14876671),(r12632256),f3\n")); + wxFprintf(fd, _T("\n")); } - fprintf(fd, "[FILES]\n%s\n\n", rtfFile); - fprintf(fd, "[CONFIG]\n"); + wxFprintf(fd, _T("[FILES]\n%s\n\n"), rtfFile); + wxFprintf(fd, _T("[CONFIG]\n")); if (useUpButton) - fprintf(fd, "CreateButton(\"Up\", \"&Up\", \"JumpId(`%s', `Contents')\")\n", helpFile); - fprintf(fd, "BrowseButtons()\n\n"); - fprintf(fd, "[MAP]\n\n[BITMAPS]\n\n"); + wxFprintf(fd, _T("CreateButton(\"Up\", \"&Up\", \"JumpId(`%s', `Contents')\")\n"), helpFile); + wxFprintf(fd, _T("BrowseButtons()\n\n")); + wxFprintf(fd, _T("[MAP]\n\n[BITMAPS]\n\n")); fclose(fd); return TRUE; } @@ -596,8 +592,8 @@ void ProcessText2RTF(TexChunk *chunk) bool changed = FALSE; int ptr = 0; int i = 0; - char ch = 1; - int len = strlen(chunk->value); + wxChar ch = 1; + int len = wxStrlen(chunk->value); while (ch != 0) { ch = chunk->value[i]; @@ -606,7 +602,7 @@ void ProcessText2RTF(TexChunk *chunk) { if (inVerbatim) { - BigBuffer[ptr] = 0; strcat(BigBuffer, "\\par\n"); ptr += 5; + BigBuffer[ptr] = 0; wxStrcat(BigBuffer, _T("\\par\n")); ptr += 5; i ++; changed = TRUE; } @@ -756,18 +752,18 @@ void Text2RTF(TexChunk *chunk) * */ -char browseBuf[10]; +wxChar browseBuf[10]; static long browseId = 0; -char *GetBrowseString(void) +wxChar *GetBrowseString(void) { - char buf[10]; + wxChar buf[10]; browseId ++; - sprintf(buf, "%ld", browseId); - int noZeroes = 5-strlen(buf); - strcpy(browseBuf, "browse"); + wxSprintf(buf, _T("%ld"), browseId); + int noZeroes = 5-wxStrlen(buf); + wxStrcpy(browseBuf, _T("browse")); for (int i = 0; i < noZeroes; i++) - strcat(browseBuf, "0"); - strcat(browseBuf, buf); + wxStrcat(browseBuf, _T("0")); + wxStrcat(browseBuf, buf); return browseBuf; } @@ -777,7 +773,7 @@ char *GetBrowseString(void) * */ -void PushEnvironmentStyle(char *style) +void PushEnvironmentStyle(wxChar *style) { environmentStack.Add(style); } @@ -787,7 +783,7 @@ void PopEnvironmentStyle(void) wxStringListNode *node = environmentStack.GetLast(); if (node) { - char *val = (char *)node->GetData(); + wxChar *val = (wxChar *)node->GetData(); delete[] val; delete node; } @@ -799,18 +795,18 @@ void WriteEnvironmentStyles(void) wxStringListNode *node = environmentStack.GetLast(); while (node) { - char *val = (char *)node->GetData(); + wxChar *val = (wxChar *)node->GetData(); TexOutput(val); node = node->GetNext(); } if (!inTabular && (ParIndent > 0) && (forbidParindent == 0)) { - char buf[15]; - sprintf(buf, "\\fi%d", ParIndent*20); // Convert points to TWIPS + wxChar buf[15]; + wxSprintf(buf, _T("\\fi%d"), ParIndent*20); // Convert points to TWIPS TexOutput(buf); } if (environmentStack.GetCount() > 0 || (ParIndent > 0)) - TexOutput("\n"); + TexOutput(_T("\n")); } @@ -821,56 +817,56 @@ void WriteEnvironmentStyles(void) void OutputRTFHeaderCommands(void) { - char buf[300]; - if (PageStyle && strcmp(PageStyle, "plain") == 0) + wxChar buf[300]; + if (PageStyle && wxStrcmp(PageStyle, _T("plain")) == 0) { - TexOutput("{\\headerl }{\\headerr }"); + TexOutput(_T("{\\headerl }{\\headerr }")); } - else if (PageStyle && strcmp(PageStyle, "empty") == 0) + else if (PageStyle && wxStrcmp(PageStyle, _T("empty")) == 0) { - TexOutput("{\\headerl }{\\headerr }"); + TexOutput(_T("{\\headerl }{\\headerr }")); } - else if (PageStyle && strcmp(PageStyle, "headings") == 0) + else if (PageStyle && wxStrcmp(PageStyle, _T("headings")) == 0) { // Left header - TexOutput("{\\headerl\\fi0 "); + TexOutput(_T("{\\headerl\\fi0 ")); if (headerRule) - TexOutput("\\brdrb\\brdrs\\brdrw15\\brsp20 "); + TexOutput(_T("\\brdrb\\brdrs\\brdrw15\\brsp20 ")); - TexOutput("{\\i \\qr "); + TexOutput(_T("{\\i \\qr ")); if (DocumentStyle == LATEX_ARTICLE) { - sprintf(buf, "SECTION %d", sectionNo); + wxSprintf(buf, _T("SECTION %d"), sectionNo); TexOutput(buf); } else { - sprintf(buf, "CHAPTER %d: ", chapterNo); + wxSprintf(buf, _T("CHAPTER %d: "), chapterNo); TexOutput(buf); } - TexOutput("{\\field{\\*\\fldinst PAGE \\\\* MERGEFORMAT }{\\fldrslt 1}}"); - TexOutput("}\\par\\pard}"); + TexOutput(_T("{\\field{\\*\\fldinst PAGE \\\\* MERGEFORMAT }{\\fldrslt 1}}")); + TexOutput(_T("}\\par\\pard}")); // Right header - TexOutput("{\\headerr\\fi0 "); + TexOutput(_T("{\\headerr\\fi0 ")); if (headerRule) - TexOutput("\\brdrb\\brdrs\\brdrw15\\brsp20 "); + TexOutput(_T("\\brdrb\\brdrs\\brdrw15\\brsp20 ")); - TexOutput("{\\i \\qc "); + TexOutput(_T("{\\i \\qc ")); if (DocumentStyle == LATEX_ARTICLE) { - sprintf(buf, "SECTION %d", sectionNo); + wxSprintf(buf, _T("SECTION %d"), sectionNo); TexOutput(buf); } else { - sprintf(buf, "CHAPTER %d", chapterNo); + wxSprintf(buf, _T("CHAPTER %d"), chapterNo); TexOutput(buf); } - TexOutput("{\\field{\\*\\fldinst PAGE \\\\* MERGEFORMAT }{\\fldrslt 1}}"); - TexOutput("}\\par\\pard}"); + TexOutput(_T("{\\field{\\*\\fldinst PAGE \\\\* MERGEFORMAT }{\\fldrslt 1}}")); + TexOutput(_T("}\\par\\pard}")); } else { @@ -879,70 +875,70 @@ void OutputRTFHeaderCommands(void) if (LeftHeaderEven || CentreHeaderEven || RightHeaderEven) { - TexOutput("{\\headerl\\fi0 "); + TexOutput(_T("{\\headerl\\fi0 ")); if (headerRule) - TexOutput("\\brdrb\\brdrs\\brdrw15\\brsp20 "); + TexOutput(_T("\\brdrb\\brdrs\\brdrw15\\brsp20 ")); if (LeftHeaderEven) { if (!CentreHeaderEven && !RightHeaderEven) - TexOutput("\\ql "); + TexOutput(_T("\\ql ")); TraverseChildrenFromChunk(LeftHeaderEven); } if (CentreHeaderEven) { if (!LeftHeaderEven && !RightHeaderEven) - TexOutput("\\qc "); + TexOutput(_T("\\qc ")); else - TexOutput("\\tab\\tab\\tab "); + TexOutput(_T("\\tab\\tab\\tab ")); TraverseChildrenFromChunk(CentreHeaderEven); } if (RightHeaderEven) { if (!LeftHeaderEven && !CentreHeaderEven) - TexOutput("\\qr "); + TexOutput(_T("\\qr ")); else - TexOutput("\\tab\\tab\\tab\\tab\\tab\\tab "); + TexOutput(_T("\\tab\\tab\\tab\\tab\\tab\\tab ")); TraverseChildrenFromChunk(RightHeaderEven); } - TexOutput("\\par\\pard}"); + TexOutput(_T("\\par\\pard}")); } if (LeftHeaderOdd || CentreHeaderOdd || RightHeaderOdd) { - TexOutput("{\\headerr\\fi0 "); + TexOutput(_T("{\\headerr\\fi0 ")); if (headerRule) - TexOutput("\\brdrb\\brdrs\\brdrw15\\brsp20 "); + TexOutput(_T("\\brdrb\\brdrs\\brdrw15\\brsp20 ")); if (LeftHeaderOdd) { if (!CentreHeaderOdd && !RightHeaderOdd) - TexOutput("\\ql "); + TexOutput(_T("\\ql ")); TraverseChildrenFromChunk(LeftHeaderOdd); } if (CentreHeaderOdd) { if (!LeftHeaderOdd && !RightHeaderOdd) - TexOutput("\\qc "); + TexOutput(_T("\\qc ")); else - TexOutput("\\tab\\tab\\tab "); + TexOutput(_T("\\tab\\tab\\tab ")); TraverseChildrenFromChunk(CentreHeaderOdd); } if (RightHeaderOdd) { if (!LeftHeaderOdd && !CentreHeaderOdd) - TexOutput("\\qr "); + TexOutput(_T("\\qr ")); else - TexOutput("\\tab\\tab\\tab\\tab\\tab\\tab "); + TexOutput(_T("\\tab\\tab\\tab\\tab\\tab\\tab ")); TraverseChildrenFromChunk(RightHeaderOdd); } - TexOutput("\\par\\pard}"); + TexOutput(_T("\\par\\pard}")); } // As an approximation, don't put a header on the first page of a section. // This may not always be desired, but it's a reasonable guess. - TexOutput("{\\headerf }"); + TexOutput(_T("{\\headerf }")); forbidResetPar = oldForbidResetPar; } @@ -950,120 +946,120 @@ void OutputRTFHeaderCommands(void) void OutputRTFFooterCommands(void) { - if (PageStyle && strcmp(PageStyle, "plain") == 0) + if (PageStyle && wxStrcmp(PageStyle, _T("plain")) == 0) { - TexOutput("{\\footerl\\fi0 "); + TexOutput(_T("{\\footerl\\fi0 ")); if (footerRule) - TexOutput("\\brdrt\\brdrs\\brdrw15\\brsp20 "); - TexOutput("{\\qc "); - TexOutput("{\\field{\\*\\fldinst PAGE \\\\* MERGEFORMAT }{\\fldrslt 1}}"); - TexOutput("}\\par\\pard}"); + TexOutput(_T("\\brdrt\\brdrs\\brdrw15\\brsp20 ")); + TexOutput(_T("{\\qc ")); + TexOutput(_T("{\\field{\\*\\fldinst PAGE \\\\* MERGEFORMAT }{\\fldrslt 1}}")); + TexOutput(_T("}\\par\\pard}")); - TexOutput("{\\footerr\\fi0 "); + TexOutput(_T("{\\footerr\\fi0 ")); if (footerRule) - TexOutput("\\brdrt\\brdrs\\brdrw15\\brsp20 "); - TexOutput("{\\qc "); - TexOutput("{\\field{\\*\\fldinst PAGE \\\\* MERGEFORMAT }{\\fldrslt 1}}"); - TexOutput("}\\par\\pard}"); + TexOutput(_T("\\brdrt\\brdrs\\brdrw15\\brsp20 ")); + TexOutput(_T("{\\qc ")); + TexOutput(_T("{\\field{\\*\\fldinst PAGE \\\\* MERGEFORMAT }{\\fldrslt 1}}")); + TexOutput(_T("}\\par\\pard}")); } - else if (PageStyle && strcmp(PageStyle, "empty") == 0) + else if (PageStyle && wxStrcmp(PageStyle, _T("empty")) == 0) { - TexOutput("{\\footerl }{\\footerr }"); + TexOutput(_T("{\\footerl }{\\footerr }")); } - else if (PageStyle && strcmp(PageStyle, "headings") == 0) + else if (PageStyle && wxStrcmp(PageStyle, _T("headings")) == 0) { - TexOutput("{\\footerl }{\\footerr }"); + TexOutput(_T("{\\footerl }{\\footerr }")); } else { if (LeftFooterEven || CentreFooterEven || RightFooterEven) { - TexOutput("{\\footerl\\fi0 "); + TexOutput(_T("{\\footerl\\fi0 ")); if (footerRule) - TexOutput("\\brdrt\\brdrs\\brdrw15\\brsp20 "); + TexOutput(_T("\\brdrt\\brdrs\\brdrw15\\brsp20 ")); if (LeftFooterEven) { if (!CentreFooterEven && !RightFooterEven) - TexOutput("\\ql "); + TexOutput(_T("\\ql ")); TraverseChildrenFromChunk(LeftFooterEven); } if (CentreFooterEven) { if (!LeftFooterEven && !RightFooterEven) - TexOutput("\\qc "); + TexOutput(_T("\\qc ")); else - TexOutput("\\tab\\tab\\tab "); + TexOutput(_T("\\tab\\tab\\tab ")); TraverseChildrenFromChunk(CentreFooterEven); } if (RightFooterEven) { if (!LeftFooterEven && !CentreFooterEven) - TexOutput("\\qr "); + TexOutput(_T("\\qr ")); else - TexOutput("\\tab\\tab\\tab\\tab\\tab\\tab "); + TexOutput(_T("\\tab\\tab\\tab\\tab\\tab\\tab ")); TraverseChildrenFromChunk(RightFooterEven); } - TexOutput("\\par\\pard}"); + TexOutput(_T("\\par\\pard}")); } if (LeftFooterOdd || CentreFooterOdd || RightFooterOdd) { - TexOutput("{\\footerr\\fi0 "); + TexOutput(_T("{\\footerr\\fi0 ")); if (footerRule) - TexOutput("\\brdrt\\brdrs\\brdrw15\\brsp20 "); + TexOutput(_T("\\brdrt\\brdrs\\brdrw15\\brsp20 ")); if (LeftFooterOdd) { if (!CentreFooterOdd && !RightFooterOdd) - TexOutput("\\ql "); + TexOutput(_T("\\ql ")); TraverseChildrenFromChunk(LeftFooterOdd); } if (CentreFooterOdd) { if (!LeftFooterOdd && !RightFooterOdd) - TexOutput("\\qc "); + TexOutput(_T("\\qc ")); else - TexOutput("\\tab\\tab\\tab "); + TexOutput(_T("\\tab\\tab\\tab ")); TraverseChildrenFromChunk(CentreFooterOdd); } if (RightFooterOdd) { if (!LeftFooterOdd && !CentreFooterOdd) - TexOutput("\\qr "); + TexOutput(_T("\\qr ")); else - TexOutput("\\tab\\tab\\tab\\tab\\tab\\tab "); + TexOutput(_T("\\tab\\tab\\tab\\tab\\tab\\tab ")); TraverseChildrenFromChunk(RightFooterOdd); } - TexOutput("\\par\\pard}"); + TexOutput(_T("\\par\\pard}")); } // As an approximation, put a footer on the first page of a section. // This may not always be desired, but it's a reasonable guess. if (LeftFooterOdd || CentreFooterOdd || RightFooterOdd) { - TexOutput("{\\footerf\\fi0 "); + TexOutput(_T("{\\footerf\\fi0 ")); if (LeftFooterOdd) { if (!CentreFooterOdd && !RightFooterOdd) - TexOutput("\\ql "); + TexOutput(_T("\\ql ")); TraverseChildrenFromChunk(LeftFooterOdd); } if (CentreFooterOdd) { if (!LeftFooterOdd && !RightFooterOdd) - TexOutput("\\qc "); + TexOutput(_T("\\qc ")); else - TexOutput("\\tab\\tab\\tab "); + TexOutput(_T("\\tab\\tab\\tab ")); TraverseChildrenFromChunk(CentreFooterOdd); } if (RightFooterOdd) { if (!LeftFooterOdd && !CentreFooterOdd) - TexOutput("\\qr "); + TexOutput(_T("\\qr ")); else - TexOutput("\\tab\\tab\\tab\\tab\\tab\\tab "); + TexOutput(_T("\\tab\\tab\\tab\\tab\\tab\\tab ")); TraverseChildrenFromChunk(RightFooterOdd); } - TexOutput("\\par\\pard}"); + TexOutput(_T("\\par\\pard}")); } } } @@ -1072,8 +1068,8 @@ void OutputRTFFooterCommands(void) void RTFOnMacro(int macroId, int no_args, bool start) { /* - char tmpBuf[40]; - sprintf(tmpBuf, "%d (%d)", macroId, (int)start); + wxChar tmpBuf[40]; + wxSprintf(tmpBuf, _T("%d (%d)"), macroId, (int)start); OutputDebugString("RTFOnMacro Start "); OutputDebugString(tmpBuf); OutputDebugString("\n"); wxYield(); */ @@ -1091,7 +1087,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) issuedNewParagraph = 0; } - char buf[300]; + wxChar buf[300]; switch (macroId) { case ltCHAPTER: @@ -1111,7 +1107,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (macroId != ltCHAPTERSTAR && macroId != ltCHAPTERHEADINGSTAR) chapterNo ++; - char *topicName = FindTopicName(GetNextChunk()); + wxChar *topicName = FindTopicName(GetNextChunk()); SetCurrentChapterName(topicName); if (winHelpContents && winHelp && !InPopups()) @@ -1124,9 +1120,9 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (winHelp) { if (!InPopups()) - fprintf(Contents, "\n{\\uldb "); - fprintf(Chapters, "\\page"); - fprintf(Chapters, "\n${\\footnote "); + wxFprintf(Contents, _T("\n{\\uldb ")); + wxFprintf(Chapters, _T("\\page")); + wxFprintf(Chapters, _T("\n${\\footnote ")); if (!InPopups()) SetCurrentOutputs(Contents, Chapters); else @@ -1134,12 +1130,12 @@ void RTFOnMacro(int macroId, int no_args, bool start) } else { - fprintf(Chapters, "\\sect\\pgncont\\titlepg\n"); + wxFprintf(Chapters, _T("\\sect\\pgncont\\titlepg\n")); // If a non-custom page style, we generate the header now. - if (PageStyle && (strcmp(PageStyle, "plain") == 0 || - strcmp(PageStyle, "empty") == 0 || - strcmp(PageStyle, "headings") == 0)) + if (PageStyle && (wxStrcmp(PageStyle, _T("plain")) == 0 || + wxStrcmp(PageStyle, _T("empty")) == 0 || + wxStrcmp(PageStyle, _T("headings")) == 0)) { OutputRTFHeaderCommands(); OutputRTFFooterCommands(); @@ -1156,11 +1152,11 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (macroId == ltCHAPTER) { // Section - fprintf(Contents, "\\par\n\\pard{\\b %d\\tab ", chapterNo); + wxFprintf(Contents, _T("\\par\n\\pard{\\b %d\\tab "), chapterNo); } else if (macroId == ltCHAPTERHEADING) { - fprintf(Contents, "\\par\n\\pard{\\b "); + wxFprintf(Contents, _T("\\par\n\\pard{\\b ")); } else SetCurrentOutput(NULL); // No entry in table of contents } @@ -1174,9 +1170,9 @@ void RTFOnMacro(int macroId, int no_args, bool start) OutputCurrentSection(); if (winHelp) - fprintf(Contents, "}{\\v %s}\\par\\pard\n", topicName); + wxFprintf(Contents, _T("}{\\v %s}\\par\\pard\n"), topicName); else if ((macroId == ltCHAPTER) || (macroId == ltCHAPTERHEADING)) - fprintf(Contents, "}\\par\\par\\pard\n"); + wxFprintf(Contents, _T("}\\par\\par\\pard\n")); // From here, just output to chapter SetCurrentOutput(Chapters); @@ -1184,8 +1180,8 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (winHelp) { - fprintf(Chapters, "}\n#{\\footnote %s}\n", topicName); - fprintf(Chapters, "+{\\footnote %s}\n", GetBrowseString()); + wxFprintf(Chapters, _T("}\n#{\\footnote %s}\n"), topicName); + wxFprintf(Chapters, _T("+{\\footnote %s}\n"), GetBrowseString()); OutputSectionKeyword(Chapters); @@ -1195,37 +1191,37 @@ void RTFOnMacro(int macroId, int no_args, bool start) // If we're generating a .cnt file, we don't want to be able // jump up to the old-style contents page, so disable it. if (winHelpContents) - fprintf(Chapters, "!{\\footnote DisableButton(\"Up\")}\n"); + wxFprintf(Chapters, _T("!{\\footnote DisableButton(\"Up\")}\n")); else - fprintf(Chapters, "!{\\footnote EnableButton(\"Up\");ChangeButtonBinding(\"Up\", \"JumpId(`%s.hlp', `%s')\")}\n", - wxFileNameFromPath(FileRoot), "Contents"); + wxFprintf(Chapters, _T("!{\\footnote EnableButton(\"Up\");ChangeButtonBinding(\"Up\", \"JumpId(`%s.hlp', `%s')\")}\n"), + wxFileNameFromPath(FileRoot), _T("Contents")); } } if (!InPopups()) { - char *styleCommand = ""; + wxChar *styleCommand = _T(""); if (!winHelp && useHeadingStyles && (macroId == ltCHAPTER || macroId == ltCHAPTERHEADING || macroId == ltCHAPTERHEADINGSTAR)) - styleCommand = "\\s1"; - fprintf(Chapters, "\\pard{%s", ((winHelp && !InPopups()) ? "\\keepn\\sa140\\sb140" : styleCommand)); - WriteHeadingStyle(Chapters, 1); fprintf(Chapters, " "); + styleCommand = _T("\\s1"); + wxFprintf(Chapters, _T("\\pard{%s"), ((winHelp && !InPopups()) ? _T("\\keepn\\sa140\\sb140") : styleCommand)); + WriteHeadingStyle(Chapters, 1); wxFprintf(Chapters, _T(" ")); if (!winHelp) { if (macroId == ltCHAPTER) { if (useWord) -// fprintf(Chapters, "{\\bkmkstart %s}%d{\\bkmkend %s}. ", topicName, chapterNo, - fprintf(Chapters, "{\\bkmkstart %s}{\\bkmkend %s}", topicName, topicName); +// wxFprintf(Chapters, "{\\bkmkstart %s}%d{\\bkmkend %s}. ", topicName, chapterNo, + wxFprintf(Chapters, _T("{\\bkmkstart %s}{\\bkmkend %s}"), topicName, topicName); else - fprintf(Chapters, "%d. ", chapterNo); + wxFprintf(Chapters, _T("%d. "), chapterNo); } else if ( useWord ) { - fprintf(Chapters, "{\\bkmkstart %s}{\\bkmkend %s}", topicName, topicName); + wxFprintf(Chapters, _T("{\\bkmkstart %s}{\\bkmkend %s}"), topicName, topicName); } } OutputCurrentSection(); - TexOutput("\\par\\pard}\\par\n"); + TexOutput(_T("\\par\\pard}\\par\n")); } issuedNewParagraph = 2; } @@ -1253,7 +1249,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (macroId != ltSECTIONSTAR && macroId != ltSECTIONHEADINGSTAR) sectionNo ++; - char *topicName = FindTopicName(GetNextChunk()); + wxChar *topicName = FindTopicName(GetNextChunk()); SetCurrentSectionName(topicName); NotifyParentHasChildren(1); if (winHelpContents && winHelp && !InPopups()) @@ -1269,20 +1265,20 @@ void RTFOnMacro(int macroId, int no_args, bool start) // Newline for a new section if this is an article if ((DocumentStyle == LATEX_ARTICLE) && ((macroId == ltSECTION) || (macroId == ltSECTIONSTAR) || (macroId == ltSECTIONHEADINGSTAR))) - fprintf(Sections, "\\page\n"); + wxFprintf(Sections, _T("\\page\n")); if (!InPopups()) - fprintf(jumpFrom, "\n{\\uldb "); + wxFprintf(jumpFrom, _T("\n{\\uldb ")); } else { if (DocumentStyle == LATEX_ARTICLE) { - TexOutput("\\sect\\pgncont\n"); + TexOutput(_T("\\sect\\pgncont\n")); // If a non-custom page style, we generate the header now. - if (PageStyle && (strcmp(PageStyle, "plain") == 0 || - strcmp(PageStyle, "empty") == 0 || - strcmp(PageStyle, "headings") == 0)) + if (PageStyle && (wxStrcmp(PageStyle, _T("plain")) == 0 || + wxStrcmp(PageStyle, _T("empty")) == 0 || + wxStrcmp(PageStyle, _T("headings")) == 0)) { OutputRTFHeaderCommands(); OutputRTFFooterCommands(); @@ -1295,9 +1291,9 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (!InPopups()) { if (DocumentStyle == LATEX_REPORT) - fprintf(Contents, "\n\\pard{\\tab %d.%d\\tab ", chapterNo, sectionNo); + wxFprintf(Contents, _T("\n\\pard{\\tab %d.%d\\tab "), chapterNo, sectionNo); else - fprintf(Contents, "\\par\n\\pard{\\b %d\\tab ", sectionNo); + wxFprintf(Contents, _T("\\par\n\\pard{\\b %d\\tab "), sectionNo); } } else if (macroId == ltSECTIONHEADING) @@ -1305,9 +1301,9 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (!InPopups()) { if (DocumentStyle == LATEX_REPORT) - fprintf(Contents, "\n\\pard{\\tab "); //, chapterNo, sectionNo); + wxFprintf(Contents, _T("\n\\pard{\\tab ")); //, chapterNo, sectionNo); else - fprintf(Contents, "\\par\n\\pard{\\b "); //, sectionNo); + wxFprintf(Contents, _T("\\par\n\\pard{\\b ")); //, sectionNo); } } else SetCurrentOutput(NULL); @@ -1316,12 +1312,12 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (startedSections) { if (winHelp) - fprintf(Sections, "\\page\n"); + wxFprintf(Sections, _T("\\page\n")); } startedSections = TRUE; if (winHelp) - fprintf(Sections, "\n${\\footnote "); + wxFprintf(Sections, _T("\n${\\footnote ")); // Output heading to contents page if (!InPopups()) @@ -1330,34 +1326,34 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (winHelp) { if (!InPopups()) - fprintf(jumpFrom, "}{\\v %s}\\par\\pard\n", topicName); + wxFprintf(jumpFrom, _T("}{\\v %s}\\par\\pard\n"), topicName); } else if ((macroId != ltSECTIONSTAR) && (macroId != ltGLOSS)) { if (DocumentStyle == LATEX_REPORT) - fprintf(Contents, "}\\par\\pard\n"); + wxFprintf(Contents, _T("}\\par\\pard\n")); else - fprintf(Contents, "}\\par\\par\\pard\n"); + wxFprintf(Contents, _T("}\\par\\par\\pard\n")); } SetCurrentOutput(winHelp ? Sections : Chapters); if (winHelp) { - fprintf(Sections, "}\n#{\\footnote %s}\n", topicName); - fprintf(Sections, "+{\\footnote %s}\n", GetBrowseString()); + wxFprintf(Sections, _T("}\n#{\\footnote %s}\n"), topicName); + wxFprintf(Sections, _T("+{\\footnote %s}\n"), GetBrowseString()); OutputSectionKeyword(Sections); GenerateKeywordsForTopic(topicName); if (useUpButton) { if (DocumentStyle == LATEX_ARTICLE) { - fprintf(Sections, "!{\\footnote EnableButton(\"Up\");ChangeButtonBinding(\"Up\", \"JumpId(`%s.hlp', `%s')\")}\n", - wxFileNameFromPath(FileRoot), "Contents"); + wxFprintf(Sections, _T("!{\\footnote EnableButton(\"Up\");ChangeButtonBinding(\"Up\", \"JumpId(`%s.hlp', `%s')\")}\n"), + wxFileNameFromPath(FileRoot), _T("Contents")); } else if (CurrentChapterName) { - fprintf(Sections, "!{\\footnote EnableButton(\"Up\");ChangeButtonBinding(\"Up\", \"JumpId(`%s.hlp', `%s')\")}\n", + wxFprintf(Sections, _T("!{\\footnote EnableButton(\"Up\");ChangeButtonBinding(\"Up\", \"JumpId(`%s.hlp', `%s')\")}\n"), wxFileNameFromPath(FileRoot), CurrentChapterName); } } @@ -1365,24 +1361,24 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (!InPopups()) { - char *styleCommand = ""; + wxChar *styleCommand = _T(""); if (!winHelp && useHeadingStyles && (macroId != ltSECTIONSTAR)) { if (DocumentStyle == LATEX_ARTICLE) - styleCommand = "\\s1"; + styleCommand = _T("\\s1"); else - styleCommand = "\\s2"; + styleCommand = _T("\\s2"); } - char *keep = ""; + wxChar *keep = _T(""); if (winHelp && (macroId != ltGLOSS) && !InPopups()) - keep = "\\keepn\\sa140\\sb140"; + keep = _T("\\keepn\\sa140\\sb140"); - fprintf(winHelp ? Sections : Chapters, "\\pard{%s%s", + wxFprintf(winHelp ? Sections : Chapters, _T("\\pard{%s%s"), keep, styleCommand); WriteHeadingStyle((winHelp ? Sections : Chapters), (DocumentStyle == LATEX_ARTICLE ? 1 : 2)); - fprintf(winHelp ? Sections : Chapters, " "); + wxFprintf(winHelp ? Sections : Chapters, _T(" ")); if (!winHelp) { @@ -1391,29 +1387,29 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (DocumentStyle == LATEX_REPORT) { if (useWord) -// fprintf(Chapters, "{\\bkmkstart %s}%d.%d{\\bkmkend %s}. ", topicName, chapterNo, sectionNo, - fprintf(Chapters, "{\\bkmkstart %s}{\\bkmkend %s}", topicName, +// wxFprintf(Chapters, _T("{\\bkmkstart %s}%d.%d{\\bkmkend %s}. "), topicName, chapterNo, sectionNo, + wxFprintf(Chapters, _T("{\\bkmkstart %s}{\\bkmkend %s}"), topicName, topicName); else - fprintf(Chapters, "%d.%d. ", chapterNo, sectionNo); + wxFprintf(Chapters, _T("%d.%d. "), chapterNo, sectionNo); } else { if (useWord) -// fprintf(Chapters, "{\\bkmkstart %s}%d{\\bkmkend %s}. ", topicName, sectionNo, - fprintf(Chapters, "{\\bkmkstart %s}{\\bkmkend %s}", topicName, +// wxFprintf(Chapters, "{\\bkmkstart %s}%d{\\bkmkend %s}. ", topicName, sectionNo, + wxFprintf(Chapters, _T("{\\bkmkstart %s}{\\bkmkend %s}"), topicName, topicName); else - fprintf(Chapters, "%d. ", sectionNo); + wxFprintf(Chapters, _T("%d. "), sectionNo); } } else if ( useWord ) { - fprintf(Chapters, "{\\bkmkstart %s}{\\bkmkend %s}", topicName, topicName); + wxFprintf(Chapters, _T("{\\bkmkstart %s}{\\bkmkend %s}"), topicName, topicName); } } OutputCurrentSection(); - TexOutput("\\par\\pard}\\par\n"); + TexOutput(_T("\\par\\pard}\\par\n")); } issuedNewParagraph = 2; } @@ -1428,7 +1424,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (winHelp && !Sections) { - OnError("You cannot have a subsection before a section!"); + OnError(_T("You cannot have a subsection before a section!")); } else { @@ -1437,7 +1433,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (macroId != ltSUBSECTIONSTAR) subsectionNo ++; - char *topicName = FindTopicName(GetNextChunk()); + wxChar *topicName = FindTopicName(GetNextChunk()); SetCurrentSubsectionName(topicName); NotifyParentHasChildren(2); if (winHelpContents && winHelp && !InPopups()) @@ -1452,7 +1448,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) SetCurrentOutputs(Sections, Subsections); SetCurrentOutputs(Sections, Subsections); if (!InPopups()) - fprintf(Sections, "\n{\\uldb "); + wxFprintf(Sections, _T("\n{\\uldb ")); } else { @@ -1461,9 +1457,9 @@ void RTFOnMacro(int macroId, int no_args, bool start) { SetCurrentOutput(Contents); if (DocumentStyle == LATEX_REPORT) - fprintf(Contents, "\n\\pard\\tab\\tab %d.%d.%d\\tab ", chapterNo, sectionNo, subsectionNo); + wxFprintf(Contents, _T("\n\\pard\\tab\\tab %d.%d.%d\\tab "), chapterNo, sectionNo, subsectionNo); else - fprintf(Contents, "\n\\pard\\tab %d.%d\\tab ", sectionNo, subsectionNo); + wxFprintf(Contents, _T("\n\\pard\\tab %d.%d\\tab "), sectionNo, subsectionNo); } else SetCurrentOutput(NULL); } if (startedSections) @@ -1471,15 +1467,15 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (winHelp) { if (!InPopups()) - fprintf(Subsections, "\\page\n"); + wxFprintf(Subsections, _T("\\page\n")); } else - fprintf(Chapters, "\\par\n"); + wxFprintf(Chapters, _T("\\par\n")); } startedSections = TRUE; if (winHelp) - fprintf(Subsections, "\n${\\footnote "); + wxFprintf(Subsections, _T("\n${\\footnote ")); // Output to contents page if (!InPopups()) @@ -1488,53 +1484,53 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (winHelp) { if (!InPopups()) - fprintf(Sections, "}{\\v %s}\\par\\pard\n", topicName); + wxFprintf(Sections, _T("}{\\v %s}\\par\\pard\n"), topicName); } else if ((macroId != ltSUBSECTIONSTAR) && (macroId != ltMEMBERSECTION) && (macroId != ltFUNCTIONSECTION)) - fprintf(Contents, "\\par\\pard\n"); + wxFprintf(Contents, _T("\\par\\pard\n")); SetCurrentOutput(winHelp ? Subsections : Chapters); if (winHelp) { - fprintf(Subsections, "}\n#{\\footnote %s}\n", topicName); - fprintf(Subsections, "+{\\footnote %s}\n", GetBrowseString()); + wxFprintf(Subsections, _T("}\n#{\\footnote %s}\n"), topicName); + wxFprintf(Subsections, _T("+{\\footnote %s}\n"), GetBrowseString()); OutputSectionKeyword(Subsections); GenerateKeywordsForTopic(topicName); if (useUpButton && CurrentSectionName) { - fprintf(Subsections, "!{\\footnote EnableButton(\"Up\");ChangeButtonBinding(\"Up\", \"JumpId(`%s.hlp', `%s')\")}\n", + wxFprintf(Subsections, _T("!{\\footnote EnableButton(\"Up\");ChangeButtonBinding(\"Up\", \"JumpId(`%s.hlp', `%s')\")}\n"), wxFileNameFromPath(FileRoot), CurrentSectionName); } } if (!winHelp && indexSubsections && useWord) { // Insert index entry for this subsection - TexOutput("{\\xe\\v {"); + TexOutput(_T("{\\xe\\v {")); OutputCurrentSection(); - TexOutput("}}"); + TexOutput(_T("}}")); } if (!InPopups()) { - char *styleCommand = ""; + wxChar *styleCommand = _T(""); if (!winHelp && useHeadingStyles && (macroId != ltSUBSECTIONSTAR)) { if (DocumentStyle == LATEX_ARTICLE) - styleCommand = "\\s2"; + styleCommand = _T("\\s2"); else - styleCommand = "\\s3"; + styleCommand = _T("\\s3"); } - char *keep = ""; + wxChar *keep = _T(""); if (winHelp && !InPopups()) - keep = "\\keepn\\sa140\\sb140"; + keep = _T("\\keepn\\sa140\\sb140"); - fprintf(winHelp ? Subsections : Chapters, "\\pard{%s%s", + wxFprintf(winHelp ? Subsections : Chapters, _T("\\pard{%s%s"), keep, styleCommand); WriteHeadingStyle((winHelp ? Subsections : Chapters), (DocumentStyle == LATEX_ARTICLE ? 2 : 3)); - fprintf(winHelp ? Subsections : Chapters, " "); + wxFprintf(winHelp ? Subsections : Chapters, _T(" ")); if (!winHelp) { @@ -1544,29 +1540,29 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (DocumentStyle == LATEX_REPORT) { if (useWord) -// fprintf(Chapters, "{\\bkmkstart %s}%d.%d.%d{\\bkmkend %s}. ", topicName, chapterNo, sectionNo, subsectionNo, - fprintf(Chapters, "{\\bkmkstart %s}{\\bkmkend %s}", topicName, +// wxFprintf(Chapters, _T("{\\bkmkstart %s}%d.%d.%d{\\bkmkend %s}. "), topicName, chapterNo, sectionNo, subsectionNo, + wxFprintf(Chapters, _T("{\\bkmkstart %s}{\\bkmkend %s}"), topicName, topicName); else - fprintf(Chapters, "%d.%d.%d. ", chapterNo, sectionNo, subsectionNo); + wxFprintf(Chapters, _T("%d.%d.%d. "), chapterNo, sectionNo, subsectionNo); } else { if (useWord) -// fprintf(Chapters, "{\\bkmkstart %s}%d.%d{\\bkmkend %s}. ", topicName, sectionNo, subsectionNo, - fprintf(Chapters, "{\\bkmkstart %s}{\\bkmkend %s}", topicName, +// wxFprintf(Chapters, _T("{\\bkmkstart %s}%d.%d{\\bkmkend %s}. "), topicName, sectionNo, subsectionNo, + wxFprintf(Chapters, _T("{\\bkmkstart %s}{\\bkmkend %s}"), topicName, topicName); else - fprintf(Chapters, "%d.%d. ", sectionNo, subsectionNo); + wxFprintf(Chapters, _T("%d.%d. "), sectionNo, subsectionNo); } } else if ( useWord ) { - fprintf(Chapters, "{\\bkmkstart %s}{\\bkmkend %s}", topicName, topicName); + wxFprintf(Chapters, _T("{\\bkmkstart %s}{\\bkmkend %s}"), topicName, topicName); } } OutputCurrentSection(); // Repeat section header - TexOutput("\\par\\pard}\\par\n"); + TexOutput(_T("\\par\\pard}\\par\n")); } issuedNewParagraph = 2; } @@ -1580,14 +1576,14 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (winHelp && !Subsections) { - OnError("You cannot have a subsubsection before a subsection!"); + OnError(_T("You cannot have a subsubsection before a subsection!")); } else { if (macroId != ltSUBSUBSECTIONSTAR) subsubsectionNo ++; - char *topicName = FindTopicName(GetNextChunk()); + wxChar *topicName = FindTopicName(GetNextChunk()); SetCurrentTopic(topicName); NotifyParentHasChildren(3); if (winHelpContents && winHelp) @@ -1600,7 +1596,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (winHelp) { SetCurrentOutputs(Subsections, Subsubsections); - fprintf(Subsections, "\n{\\uldb "); + wxFprintf(Subsections, _T("\n{\\uldb ")); } else { @@ -1609,7 +1605,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (DocumentStyle == LATEX_ARTICLE) { SetCurrentOutput(Contents); - fprintf(Contents, "\n\\tab\\tab %d.%d.%d\\tab ", + wxFprintf(Contents, _T("\n\\tab\\tab %d.%d.%d\\tab "), sectionNo, subsectionNo, subsubsectionNo); } else @@ -1622,63 +1618,63 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (startedSections) { if (winHelp) - fprintf(Subsubsections, "\\page\n"); + wxFprintf(Subsubsections, _T("\\page\n")); else - fprintf(Chapters, "\\par\n"); + wxFprintf(Chapters, _T("\\par\n")); } startedSections = TRUE; if (winHelp) - fprintf(Subsubsections, "\n${\\footnote "); + wxFprintf(Subsubsections, _T("\n${\\footnote ")); // Output header to contents page OutputCurrentSection(); if (winHelp) - fprintf(Subsections, "}{\\v %s}\\par\\pard\n", topicName); + wxFprintf(Subsections, _T("}{\\v %s}\\par\\pard\n"), topicName); else if ((DocumentStyle == LATEX_ARTICLE) && (macroId != ltSUBSUBSECTIONSTAR)) - fprintf(Contents, "\\par\\pard\n"); + wxFprintf(Contents, _T("\\par\\pard\n")); SetCurrentOutput(winHelp ? Subsubsections : Chapters); if (winHelp) { - fprintf(Subsubsections, "}\n#{\\footnote %s}\n", topicName); - fprintf(Subsubsections, "+{\\footnote %s}\n", GetBrowseString()); + wxFprintf(Subsubsections, _T("}\n#{\\footnote %s}\n"), topicName); + wxFprintf(Subsubsections, _T("+{\\footnote %s}\n"), GetBrowseString()); OutputSectionKeyword(Subsubsections); GenerateKeywordsForTopic(topicName); if (useUpButton && CurrentSubsectionName) { - fprintf(Subsubsections, "!{\\footnote EnableButton(\"Up\");ChangeButtonBinding(\"Up\", \"JumpId(`%s.hlp', `%s')\")}\n", + wxFprintf(Subsubsections, _T("!{\\footnote EnableButton(\"Up\");ChangeButtonBinding(\"Up\", \"JumpId(`%s.hlp', `%s')\")}\n"), wxFileNameFromPath(FileRoot), CurrentSubsectionName); } } if (!winHelp && indexSubsections && useWord) { // Insert index entry for this subsubsection - TexOutput("{\\xe\\v {"); + TexOutput(_T("{\\xe\\v {")); OutputCurrentSection(); - TexOutput("}}"); + TexOutput(_T("}}")); } - char *styleCommand = ""; + wxChar *styleCommand = _T(""); if (!winHelp && useHeadingStyles && (macroId != ltSUBSUBSECTIONSTAR)) { if (DocumentStyle == LATEX_ARTICLE) - styleCommand = "\\s3"; + styleCommand = _T("\\s3"); else - styleCommand = "\\s4"; + styleCommand = _T("\\s4"); } - char *keep = ""; + wxChar *keep = _T(""); if (winHelp) - keep = "\\keepn\\sa140\\sb140"; + keep = _T("\\keepn\\sa140\\sb140"); - fprintf(winHelp ? Subsubsections : Chapters, "\\pard{%s%s", + wxFprintf(winHelp ? Subsubsections : Chapters, _T("\\pard{%s%s"), keep, styleCommand); WriteHeadingStyle((winHelp ? Subsubsections : Chapters), (DocumentStyle == LATEX_ARTICLE ? 3 : 4)); - fprintf(winHelp ? Subsubsections : Chapters, " "); + wxFprintf(winHelp ? Subsubsections : Chapters, _T(" ")); if (!winHelp) { @@ -1687,31 +1683,31 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (DocumentStyle == LATEX_ARTICLE) { if (useWord) -// fprintf(Chapters, "{\\bkmkstart %s}%d.%d.%d{\\bkmkend %s}. ", topicName, sectionNo, subsectionNo, subsubsectionNo, - fprintf(Chapters, "{\\bkmkstart %s}{\\bkmkend %s}", topicName, +// wxFprintf(Chapters, _T("{\\bkmkstart %s}%d.%d.%d{\\bkmkend %s}. "), topicName, sectionNo, subsectionNo, subsubsectionNo, + wxFprintf(Chapters, _T("{\\bkmkstart %s}{\\bkmkend %s}"), topicName, topicName); else - fprintf(Chapters, "%d.%d.%d. ", sectionNo, subsectionNo, subsubsectionNo); + wxFprintf(Chapters, _T("%d.%d.%d. "), sectionNo, subsectionNo, subsubsectionNo); } else { if (useWord) -// fprintf(Chapters, "{\\bkmkstart %s}%d.%d.%d.%d{\\bkmkend %s}. ", topicName, chapterNo, sectionNo, subsectionNo, subsubsectionNo, - fprintf(Chapters, "{\\bkmkstart %s}{\\bkmkend %s}", topicName, +// wxFprintf(Chapters, _T("{\\bkmkstart %s}%d.%d.%d.%d{\\bkmkend %s}. "), topicName, chapterNo, sectionNo, subsectionNo, subsubsectionNo, + wxFprintf(Chapters, _T("{\\bkmkstart %s}{\\bkmkend %s}"), topicName, topicName); else - fprintf(Chapters, "%d.%d.%d.%d. ", chapterNo, sectionNo, subsectionNo, subsubsectionNo); + wxFprintf(Chapters, _T("%d.%d.%d.%d. "), chapterNo, sectionNo, subsectionNo, subsubsectionNo); } } else if ( useWord ) { - fprintf(Chapters, "{\\bkmkstart %s}{\\bkmkend %s}", topicName, topicName); + wxFprintf(Chapters, _T("{\\bkmkstart %s}{\\bkmkend %s}"), topicName, topicName); } } OutputCurrentSection(); // Repeat section header - TexOutput("\\par\\pard}\\par\n"); + TexOutput(_T("\\par\\pard}\\par\n")); issuedNewParagraph = 2; -// if (winHelp) TexOutput("\\pard"); +// if (winHelp) TexOutput(_T("\\pard")); } } break; @@ -1721,11 +1717,11 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (!start) { - char *topicName = FindTopicName(GetNextChunk()); + wxChar *topicName = FindTopicName(GetNextChunk()); SetCurrentTopic(topicName); - TexOutput("\\pard\\par"); - char figBuf[200]; + TexOutput(_T("\\pard\\par")); + wxChar figBuf[200]; if (inFigure) { @@ -1734,13 +1730,13 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (winHelp || !useWord) { if (DocumentStyle != LATEX_ARTICLE) - sprintf(figBuf, "%s %d.%d: ", FigureNameString, chapterNo, figureNo); + wxSprintf(figBuf, _T("%s %d.%d: "), FigureNameString, chapterNo, figureNo); else - sprintf(figBuf, "%s %d: ", FigureNameString, figureNo); + wxSprintf(figBuf, _T("%s %d: "), FigureNameString, figureNo); } else { - sprintf(figBuf, "%s {\\field\\flddirty{\\*\\fldinst SEQ Figure \\\\* ARABIC }{\\fldrslt {\\bkmkstart %s}??{\\bkmkend %s}}}: ", + wxSprintf(figBuf, _T("%s {\\field\\flddirty{\\*\\fldinst SEQ Figure \\\\* ARABIC }{\\fldrslt {\\bkmkstart %s}??{\\bkmkend %s}}}: "), FigureNameString, topicName, topicName); } } @@ -1751,13 +1747,13 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (winHelp || !useWord) { if (DocumentStyle != LATEX_ARTICLE) - sprintf(figBuf, "%s %d.%d: ", TableNameString, chapterNo, tableNo); + wxSprintf(figBuf, _T("%s %d.%d: "), TableNameString, chapterNo, tableNo); else - sprintf(figBuf, "%s %d: ", TableNameString, tableNo); + wxSprintf(figBuf, _T("%s %d: "), TableNameString, tableNo); } else { - sprintf(figBuf, "%s {\\field\\flddirty{\\*\\fldinst SEQ Table \\\\* ARABIC }{\\fldrslt {\\bkmkstart %s}??{\\bkmkend %s}}}: ", + wxSprintf(figBuf, _T("%s {\\field\\flddirty{\\*\\fldinst SEQ Table \\\\* ARABIC }{\\fldrslt {\\bkmkstart %s}??{\\bkmkend %s}}}: "), TableNameString, topicName, topicName); } } @@ -1768,14 +1764,14 @@ void RTFOnMacro(int macroId, int no_args, bool start) ((DocumentStyle != LATEX_ARTICLE) ? n : 0)); if (winHelp) - TexOutput("\\qc{\\b "); + TexOutput(_T("\\qc{\\b ")); else - TexOutput("\\ql{\\b "); + TexOutput(_T("\\ql{\\b ")); TexOutput(figBuf); OutputCurrentSection(); - TexOutput("}\\par\\pard\n"); + TexOutput(_T("}\\par\\pard\n")); WriteEnvironmentStyles(); } break; @@ -1786,27 +1782,27 @@ void RTFOnMacro(int macroId, int no_args, bool start) // SetCurrentOutput(winHelp ? Subsections : Chapters); if (start) { - TexOutput("{"); + TexOutput(_T("{")); } else { - TexOutput("}\n"); + TexOutput(_T("}\n")); if (winHelp) { - TexOutput("K{\\footnote {K} "); + TexOutput(_T("K{\\footnote {K} ")); suppressNameDecoration = TRUE; TraverseChildrenFromChunk(currentMember); suppressNameDecoration = FALSE; - TexOutput("}\n"); + TexOutput(_T("}\n")); } if (!winHelp && useWord) { // Insert index entry for this function - TexOutput("{\\xe\\v {"); + TexOutput(_T("{\\xe\\v {")); suppressNameDecoration = TRUE; // Necessary so don't print "(\\bf" etc. TraverseChildrenFromChunk(currentMember); suppressNameDecoration = FALSE; - TexOutput("}}"); + TexOutput(_T("}}")); } } break; @@ -1816,27 +1812,27 @@ void RTFOnMacro(int macroId, int no_args, bool start) // SetCurrentOutput(winHelp ? Subsections : Chapters); if (start) { - TexOutput("{"); + TexOutput(_T("{")); } else { - TexOutput("}\n"); + TexOutput(_T("}\n")); if (winHelp) { - TexOutput("K{\\footnote {K} "); + TexOutput(_T("K{\\footnote {K} ")); suppressNameDecoration = TRUE; // Necessary so don't print "(\\bf" etc. TraverseChildrenFromChunk(currentMember); suppressNameDecoration = FALSE; - TexOutput("}\n"); + TexOutput(_T("}\n")); } if (!winHelp && useWord) { // Insert index entry for this function - TexOutput("{\\xe\\v {"); + TexOutput(_T("{\\xe\\v {")); suppressNameDecoration = TRUE; // Necessary so don't print "(\\bf" etc. TraverseChildrenFromChunk(currentMember); suppressNameDecoration = FALSE; - TexOutput("}}"); + TexOutput(_T("}}")); } } break; @@ -1846,25 +1842,25 @@ void RTFOnMacro(int macroId, int no_args, bool start) // SetCurrentOutput(winHelp ? Subsections : Chapters); if (start) { - TexOutput("{\\b "); + TexOutput(_T("{\\b ")); } else { - TexOutput("}\n"); + TexOutput(_T("}\n")); if (winHelp) { - TexOutput("K{\\footnote {K} "); + TexOutput(_T("K{\\footnote {K} ")); TraverseChildrenFromChunk(currentMember); - TexOutput("}\n"); + TexOutput(_T("}\n")); } if (!winHelp && useWord) { // Insert index entry for this function - TexOutput("{\\xe\\v {"); + TexOutput(_T("{\\xe\\v {")); suppressNameDecoration = TRUE; // Necessary so don't print "(\\bf" etc. TraverseChildrenFromChunk(currentMember); suppressNameDecoration = FALSE; - TexOutput("}}"); + TexOutput(_T("}}")); } } break; @@ -1882,19 +1878,19 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (!winHelp && useWord) { // Insert Word for Windows table of contents - TexOutput("\\par\\pard\\pgnrestart\\sect\\titlepg"); + TexOutput(_T("\\par\\pard\\pgnrestart\\sect\\titlepg")); // In linear RTF, same as chapter headings. - sprintf(buf, "{\\b\\fs%d %s}\\par\\par\\pard\n\n", chapterFont*2, ContentsNameString); + wxSprintf(buf, _T("{\\b\\fs%d %s}\\par\\par\\pard\n\n"), chapterFont*2, ContentsNameString); TexOutput(buf); - sprintf(buf, "{\\field{\\*\\fldinst TOC \\\\o \"1-%d\" }{\\fldrslt PRESS F9 TO REFORMAT CONTENTS}}\n", contentsDepth); + wxSprintf(buf, _T("{\\field{\\*\\fldinst TOC \\\\o \"1-%d\" }{\\fldrslt PRESS F9 TO REFORMAT CONTENTS}}\n"), contentsDepth); TexOutput(buf); -// TexOutput("\\sect\\sectd"); +// TexOutput(_T("\\sect\\sectd")); } else { - FILE *fd = fopen(ContentsName, "r"); + FILE *fd = wxFopen(ContentsName, _T("r")); if (fd) { int ch = getc(fd); @@ -1907,8 +1903,8 @@ void RTFOnMacro(int macroId, int no_args, bool start) } else { - TexOutput("{\\i RUN TEX2RTF AGAIN FOR CONTENTS PAGE}\\par\n"); - OnInform("Run Tex2RTF again to include contents page."); + TexOutput(_T("{\\i RUN TEX2RTF AGAIN FOR CONTENTS PAGE}\\par\n")); + OnInform(_T("Run Tex2RTF again to include contents page.")); } } } @@ -1917,19 +1913,19 @@ void RTFOnMacro(int macroId, int no_args, bool start) case ltVOID: { // if (start) -// TexOutput("{\\b void}"); +// TexOutput(_T("{\\b void}")); break; } case ltHARDY: { if (start) - TexOutput("{\\scaps HARDY}"); + TexOutput(_T("{\\scaps HARDY}")); break; } case ltWXCLIPS: { if (start) - TexOutput("wxCLIPS"); + TexOutput(_T("wxCLIPS")); break; } case ltSPECIALAMPERSAND: @@ -1937,9 +1933,9 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (start) { if (inTabular) - TexOutput("\\cell "); + TexOutput(_T("\\cell ")); else - TexOutput("&"); + TexOutput(_T("&")); } break; } @@ -1948,9 +1944,9 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (start) { if (inVerbatim) - TexOutput("~"); + TexOutput(_T("~")); else - TexOutput(" "); + TexOutput(_T(" ")); } break; } @@ -1960,38 +1956,38 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (inTabular) { -// TexOutput("\\cell\\row\\trowd\\trgaph108\\trleft-108\n"); - TexOutput("\\cell\\row\\trowd\\trgaph108\n"); +// TexOutput(_T("\\cell\\row\\trowd\\trgaph108\\trleft-108\n")); + TexOutput(_T("\\cell\\row\\trowd\\trgaph108\n")); int currentWidth = 0; for (int i = 0; i < noColumns; i++) { currentWidth += TableData[i].width; if (TableData[i].rightBorder) - TexOutput("\\clbrdrr\\brdrs\\brdrw15"); + TexOutput(_T("\\clbrdrr\\brdrs\\brdrw15")); if (TableData[i].leftBorder) - TexOutput("\\clbrdrl\\brdrs\\brdrw15"); + TexOutput(_T("\\clbrdrl\\brdrs\\brdrw15")); - sprintf(buf, "\\cellx%d", currentWidth); + wxSprintf(buf, _T("\\cellx%d"), currentWidth); TexOutput(buf); } - TexOutput("\\pard\\intbl\n"); + TexOutput(_T("\\pard\\intbl\n")); } else - TexOutput("\\line\n"); + TexOutput(_T("\\line\n")); } break; } case ltRANGLEBRA: { if (start) - TexOutput("\tab "); + TexOutput(_T("\tab ")); break; } case ltRTFSP: // Explicit space, RTF only { if (start) - TexOutput(" "); + TexOutput(_T(" ")); break; } case ltITEMIZE: @@ -2002,7 +1998,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (indentLevel > 0) { - TexOutput("\\par\\par\n"); + TexOutput(_T("\\par\\par\n")); issuedNewParagraph = 2; } else @@ -2011,14 +2007,14 @@ void RTFOnMacro(int macroId, int no_args, bool start) // just done so if (!issuedNewParagraph) { - TexOutput("\\par\\pard"); + TexOutput(_T("\\par\\pard")); WriteEnvironmentStyles(); issuedNewParagraph = 1; } else issuedNewParagraph = 0; } indentLevel ++; - TexOutput("\\fi0\n"); + TexOutput(_T("\\fi0\n")); int listType; if (macroId == ltENUMERATE) listType = LATEX_ENUMERATE; @@ -2038,7 +2034,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) ItemizeStruc *struc = new ItemizeStruc(listType, indentSize2, indentSize1); itemizeStack.Insert(struc); - sprintf(buf, "\\tx%d\\tx%d\\li%d", indentSize1, indentSize2, indentSize2); + wxSprintf(buf, _T("\\tx%d\\tx%d\\li%d"), indentSize1, indentSize2, indentSize2); PushEnvironmentStyle(buf); } else @@ -2079,8 +2075,8 @@ void RTFOnMacro(int macroId, int no_args, bool start) ItemizeStruc *struc = new ItemizeStruc(LATEX_TWOCOL, indentSize); itemizeStack.Insert(struc); -// sprintf(buf, "\\tx%d\\li%d\\ri%d", indentSize, indentSize, TwoColWidthA+TwoColWidthB+oldIndent); - sprintf(buf, "\\tx%d\\li%d", indentSize, indentSize); +// wxSprintf(buf, _T("\\tx%d\\li%d\\ri%d"), indentSize, indentSize, TwoColWidthA+TwoColWidthB+oldIndent); + wxSprintf(buf, _T("\\tx%d\\li%d"), indentSize, indentSize); PushEnvironmentStyle(buf); } else @@ -2095,7 +2091,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) } /* // JACS June 1997 - TexOutput("\\pard\n"); + TexOutput(_T("\\pard\n")); WriteEnvironmentStyles(); */ /* why do we need this? */ @@ -2117,22 +2113,22 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (!start) { struc->currentItem += 1; - char indentBuf[60]; + wxChar indentBuf[60]; int indentSize1 = struc->labelIndentation; int indentSize2 = struc->indentation; - TexOutput("\n"); + TexOutput(_T("\n")); if (struc->currentItem > 1) { if (currentItemSep > 0) - TexOutput("\\par"); + TexOutput(_T("\\par")); - TexOutput("\\par"); + TexOutput(_T("\\par")); // WriteEnvironmentStyles(); } - sprintf(buf, "\\tx%d\\tx%d\\li%d\\fi-%d\n", indentSize1, indentSize2, + wxSprintf(buf, _T("\\tx%d\\tx%d\\li%d\\fi-%d\n"), indentSize1, indentSize2, indentSize2, 20*itemIndentTab); TexOutput(buf); @@ -2142,14 +2138,14 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (descriptionItemArg) { - TexOutput("\\tab{ "); + TexOutput(_T("\\tab{ ")); TraverseChildrenFromChunk(descriptionItemArg); - TexOutput("}\\tab"); + TexOutput(_T("}\\tab")); descriptionItemArg = NULL; } else { - sprintf(indentBuf, "\\tab{\\b %d.}\\tab", struc->currentItem); + wxSprintf(indentBuf, _T("\\tab{\\b %d.}\\tab"), struc->currentItem); TexOutput(indentBuf); } break; @@ -2158,9 +2154,9 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (descriptionItemArg) { - TexOutput("\\tab{ "); + TexOutput(_T("\\tab{ ")); TraverseChildrenFromChunk(descriptionItemArg); - TexOutput("}\\tab"); + TexOutput(_T("}\\tab")); descriptionItemArg = NULL; } else @@ -2168,14 +2164,14 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (bulletFile && winHelp) { if (winHelpVersion > 3) // Transparent bitmap - sprintf(indentBuf, "\\tab\\{bmct %s\\}\\tab", bulletFile); + wxSprintf(indentBuf, _T("\\tab\\{bmct %s\\}\\tab"), bulletFile); else - sprintf(indentBuf, "\\tab\\{bmc %s\\}\\tab", bulletFile); + wxSprintf(indentBuf, _T("\\tab\\{bmc %s\\}\\tab"), bulletFile); } else if (winHelp) - sprintf(indentBuf, "\\tab{\\b o}\\tab"); + wxSprintf(indentBuf, _T("\\tab{\\b o}\\tab")); else - sprintf(indentBuf, "\\tab{\\f1\\'b7}\\tab"); + wxSprintf(indentBuf, _T("\\tab{\\f1\\'b7}\\tab")); TexOutput(indentBuf); } break; @@ -2185,9 +2181,9 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (descriptionItemArg) { - TexOutput("\\tab{\\b "); + TexOutput(_T("\\tab{\\b ")); TraverseChildrenFromChunk(descriptionItemArg); - TexOutput("} "); + TexOutput(_T("} ")); descriptionItemArg = NULL; } break; @@ -2215,22 +2211,22 @@ void RTFOnMacro(int macroId, int no_args, bool start) if (node2) oldIndent = ((ItemizeStruc *)node2->GetData())->indentation; - TexOutput("\n"); + TexOutput(_T("\n")); if (struc->currentItem > 1) { if (currentItemSep > 0) - TexOutput("\\par"); + TexOutput(_T("\\par")); // WriteEnvironmentStyles(); } -// sprintf(buf, "\\tx%d\\li%d\\fi-%d\\ri%d\n", TwoColWidthA, +// wxSprintf(buf, _T("\\tx%d\\li%d\\fi-%d\\ri%d\n"), TwoColWidthA, // TwoColWidthA, TwoColWidthA, TwoColWidthA+TwoColWidthB+oldIndent); /* - sprintf(buf, "\\tx%d\\li%d\\fi-%d\n", TwoColWidthA, + wxSprintf(buf, _T("\\tx%d\\li%d\\fi-%d\n"), TwoColWidthA, TwoColWidthA, TwoColWidthA); */ - sprintf(buf, "\\tx%d\\li%d\\fi-%d\n", TwoColWidthA + oldIndent, + wxSprintf(buf, _T("\\tx%d\\li%d\\fi-%d\n"), TwoColWidthA + oldIndent, TwoColWidthA + oldIndent, TwoColWidthA); TexOutput(buf); } @@ -2246,21 +2242,21 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (!issuedNewParagraph) { - TexOutput("\\par\\pard"); + TexOutput(_T("\\par\\pard")); WriteEnvironmentStyles(); issuedNewParagraph = 1; } else issuedNewParagraph = 0; } - sprintf(buf, "{\\f3\\fs20 "); + wxSprintf(buf, _T("{\\f3\\fs20 ")); TexOutput(buf); } else { - TexOutput("}"); + TexOutput(_T("}")); if (macroId == ltVERBATIM) { - TexOutput("\\pard\n"); + TexOutput(_T("\\pard\n")); // issuedNewParagraph = 1; WriteEnvironmentStyles(); } @@ -2272,13 +2268,13 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput("\\fi0\\qc "); + TexOutput(_T("\\fi0\\qc ")); forbidParindent ++; - PushEnvironmentStyle("\\qc"); + PushEnvironmentStyle(_T("\\qc")); } else { - TexOutput("\\par\\pard\n"); + TexOutput(_T("\\par\\pard\n")); issuedNewParagraph = 1; forbidParindent --; PopEnvironmentStyle(); @@ -2290,13 +2286,13 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput("\\fi0\\ql "); + TexOutput(_T("\\fi0\\ql ")); forbidParindent ++; - PushEnvironmentStyle("\\ql"); + PushEnvironmentStyle(_T("\\ql")); } else { - TexOutput("\\par\\pard\n"); + TexOutput(_T("\\par\\pard\n")); issuedNewParagraph = 1; forbidParindent --; PopEnvironmentStyle(); @@ -2308,13 +2304,13 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput("\\fi0\\qr "); + TexOutput(_T("\\fi0\\qr ")); forbidParindent ++; - PushEnvironmentStyle("\\qr"); + PushEnvironmentStyle(_T("\\qr")); } else { - TexOutput("\\par\\pard\n"); + TexOutput(_T("\\par\\pard\n")); issuedNewParagraph = 1; forbidParindent --; PopEnvironmentStyle(); @@ -2327,10 +2323,10 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (start) { - sprintf(buf, "{\\fs%d\n", smallFont*2); + wxSprintf(buf, _T("{\\fs%d\n"), smallFont*2); TexOutput(buf); } - else TexOutput("}\n"); + else TexOutput(_T("}\n")); break; } case ltTINY: @@ -2338,80 +2334,80 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (start) { - sprintf(buf, "{\\fs%d\n", tinyFont*2); + wxSprintf(buf, _T("{\\fs%d\n"), tinyFont*2); TexOutput(buf); } - else TexOutput("}\n"); + else TexOutput(_T("}\n")); break; } case ltNORMALSIZE: { if (start) { - sprintf(buf, "{\\fs%d\n", normalFont*2); + wxSprintf(buf, _T("{\\fs%d\n"), normalFont*2); TexOutput(buf); } - else TexOutput("}\n"); + else TexOutput(_T("}\n")); break; } case ltlarge: { if (start) { - sprintf(buf, "{\\fs%d\n", largeFont1*2); + wxSprintf(buf, _T("{\\fs%d\n"), largeFont1*2); TexOutput(buf); } - else TexOutput("}\n"); + else TexOutput(_T("}\n")); break; } case ltLarge: { if (start) { - sprintf(buf, "{\\fs%d\n", LargeFont2*2); + wxSprintf(buf, _T("{\\fs%d\n"), LargeFont2*2); TexOutput(buf); } - else TexOutput("}\n"); + else TexOutput(_T("}\n")); break; } case ltLARGE: { if (start) { - sprintf(buf, "{\\fs%d\n", LARGEFont3*2); + wxSprintf(buf, _T("{\\fs%d\n"), LARGEFont3*2); TexOutput(buf); } - else TexOutput("}\n"); + else TexOutput(_T("}\n")); break; } case lthuge: { if (start) { - sprintf(buf, "{\\fs%d\n", hugeFont1*2); + wxSprintf(buf, _T("{\\fs%d\n"), hugeFont1*2); TexOutput(buf); } - else TexOutput("}\n"); + else TexOutput(_T("}\n")); break; } case ltHuge: { if (start) { - sprintf(buf, "{\\fs%d\n", HugeFont2*2); + wxSprintf(buf, _T("{\\fs%d\n"), HugeFont2*2); TexOutput(buf); } - else TexOutput("}\n"); + else TexOutput(_T("}\n")); break; } case ltHUGE: { if (start) { - sprintf(buf, "{\\fs%d\n", HUGEFont3*2); + wxSprintf(buf, _T("{\\fs%d\n"), HUGEFont3*2); TexOutput(buf); } - else TexOutput("}\n"); + else TexOutput(_T("}\n")); break; } case ltTEXTBF: @@ -2420,18 +2416,18 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput("{\\b "); + TexOutput(_T("{\\b ")); } - else TexOutput("}"); + else TexOutput(_T("}")); break; } case ltUNDERLINE: { if (start) { - TexOutput("{\\ul "); + TexOutput(_T("{\\ul ")); } - else TexOutput("}"); + else TexOutput(_T("}")); break; } case ltTEXTIT: @@ -2442,9 +2438,9 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput("{\\i "); + TexOutput(_T("{\\i ")); } - else TexOutput("}"); + else TexOutput(_T("}")); break; } // Roman font: do nothing. Should really switch between @@ -2456,9 +2452,9 @@ void RTFOnMacro(int macroId, int no_args, bool start) /* if (start) { - TexOutput("{\\plain "); + TexOutput(_T("{\\plain ")); } - else TexOutput("}"); + else TexOutput(_T("}")); */ break; } @@ -2467,9 +2463,9 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput("{\\b0 "); + TexOutput(_T("{\\b0 ")); } - else TexOutput("}"); + else TexOutput(_T("}")); break; } // Upright (un-italic or slant) @@ -2477,9 +2473,9 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput("{\\i0 "); + TexOutput(_T("{\\i0 ")); } - else TexOutput("}"); + else TexOutput(_T("}")); break; } case ltTEXTSC: @@ -2488,9 +2484,9 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput("{\\scaps "); + TexOutput(_T("{\\scaps ")); } - else TexOutput("}"); + else TexOutput(_T("}")); break; } case ltTEXTTT: @@ -2499,27 +2495,27 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput("{\\f3 "); + TexOutput(_T("{\\f3 ")); } - else TexOutput("}"); + else TexOutput(_T("}")); break; } case ltLBRACE: { if (start) - TexOutput("\\{"); + TexOutput(_T("\\{")); break; } case ltRBRACE: { if (start) - TexOutput("\\}"); + TexOutput(_T("\\}")); break; } case ltBACKSLASH: { if (start) - TexOutput("\\\\"); + TexOutput(_T("\\\\")); break; } case ltPAR: @@ -2528,13 +2524,13 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if ( issuedNewParagraph == 0 ) { - TexOutput("\\par\\pard"); + TexOutput(_T("\\par\\pard")); issuedNewParagraph ++; // Extra par if parskip is more than zero (usually looks best.) if (!inTabular && (ParSkip > 0)) { - TexOutput("\\par"); + TexOutput(_T("\\par")); issuedNewParagraph ++; } WriteEnvironmentStyles(); @@ -2549,7 +2545,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) // Extra par if parskip is more than zero (usually looks best.) if (!inTabular && (ParSkip > 0)) { - TexOutput("\\par"); + TexOutput(_T("\\par")); issuedNewParagraph ++; } WriteEnvironmentStyles(); @@ -2557,16 +2553,16 @@ void RTFOnMacro(int macroId, int no_args, bool start) /* if (!issuedNewParagraph || (issuedNewParagraph > 1)) { - TexOutput("\\par\\pard"); + TexOutput(_T("\\par\\pard")); // Extra par if parskip is more than zero (usually looks best.) if (!inTabular && (ParSkip > 0)) - TexOutput("\\par"); + TexOutput(_T("\\par")); WriteEnvironmentStyles(); } */ - TexOutput("\n"); + TexOutput(_T("\n")); } break; } @@ -2575,46 +2571,46 @@ void RTFOnMacro(int macroId, int no_args, bool start) // In Windows Help, no newpages until we've started some chapters or sections if (!(winHelp && !startedSections)) if (start) - TexOutput("\\page\n"); + TexOutput(_T("\\page\n")); break; } case ltMAKETITLE: { if (start && DocumentTitle) { - TexOutput("\\par\\pard"); + TexOutput(_T("\\par\\pard")); if (!winHelp) - TexOutput("\\par"); - sprintf(buf, "\\qc{\\fs%d\\b ", titleFont*2); + TexOutput(_T("\\par")); + wxSprintf(buf, _T("\\qc{\\fs%d\\b "), titleFont*2); TexOutput(buf); TraverseChildrenFromChunk(DocumentTitle); - TexOutput("}\\par\\pard\n"); + TexOutput(_T("}\\par\\pard\n")); if (DocumentAuthor) { if (!winHelp) - TexOutput("\\par"); - sprintf(buf, "\\par\\qc{\\fs%d ", authorFont*2); + TexOutput(_T("\\par")); + wxSprintf(buf, _T("\\par\\qc{\\fs%d "), authorFont*2); TexOutput(buf); TraverseChildrenFromChunk(DocumentAuthor); - TexOutput("}"); - TexOutput("\\par\\pard\n"); + TexOutput(_T("}")); + TexOutput(_T("\\par\\pard\n")); } if (DocumentDate) { - TexOutput("\\par"); - sprintf(buf, "\\qc{\\fs%d ", authorFont*2); + TexOutput(_T("\\par")); + wxSprintf(buf, _T("\\qc{\\fs%d "), authorFont*2); TexOutput(buf); TraverseChildrenFromChunk(DocumentDate); - TexOutput("}\\par\\pard\n"); + TexOutput(_T("}\\par\\pard\n")); } // If linear RTF, we want this titlepage to be in a separate // section with its own (blank) header and footer if (!winHelp && (DocumentStyle != LATEX_ARTICLE)) { - TexOutput("{\\header }{\\footer }\n"); + TexOutput(_T("{\\header }{\\footer }\n")); // Not sure about this: we get too many sections. -// TexOutput("\\sect"); +// TexOutput(_T("\\sect")); } } break; @@ -2625,16 +2621,16 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (contentsLineSection && contentsLineValue) { - if (strcmp(contentsLineSection, "chapter") == 0) + if (wxStrcmp(contentsLineSection, _T("chapter")) == 0) { - fprintf(Contents, "\\par\n{\\b %s}\\par\n", contentsLineValue); + wxFprintf(Contents, _T("\\par\n{\\b %s}\\par\n"), contentsLineValue); } - else if (strcmp(contentsLineSection, "section") == 0) + else if (wxStrcmp(contentsLineSection, _T("section")) == 0) { if (DocumentStyle != LATEX_ARTICLE) - fprintf(Contents, "\n\\tab%s\\par\n", contentsLineValue); + wxFprintf(Contents, _T("\n\\tab%s\\par\n"), contentsLineValue); else - fprintf(Contents, "\\par\n{\\b %s}\\par\n", contentsLineValue); + wxFprintf(Contents, _T("\\par\n{\\b %s}\\par\n"), contentsLineValue); } } } @@ -2644,7 +2640,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput("\\brdrb\\brdrs\\par\\pard\n"); + TexOutput(_T("\\brdrb\\brdrs\\par\\pard\n")); issuedNewParagraph = 1; WriteEnvironmentStyles(); } @@ -2654,7 +2650,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput("\\brdrb\\brdrs\\par\\pard\n"); + TexOutput(_T("\\brdrb\\brdrs\\par\\pard\n")); issuedNewParagraph = 1; WriteEnvironmentStyles(); } @@ -2669,16 +2665,16 @@ void RTFOnMacro(int macroId, int no_args, bool start) case ltNUMBEREDBIBITEM: { if (start) - TexOutput("\\li260\\fi-260 "); // Indent from 2nd line + TexOutput(_T("\\li260\\fi-260 ")); // Indent from 2nd line else - TexOutput("\\par\\pard\\par\n\n"); + TexOutput(_T("\\par\\pard\\par\n\n")); break; } case ltTHEPAGE: { if (start) { - TexOutput("{\\field{\\*\\fldinst PAGE \\\\* MERGEFORMAT }{\\fldrslt 1}}"); + TexOutput(_T("{\\field{\\*\\fldinst PAGE \\\\* MERGEFORMAT }{\\fldrslt 1}}")); } break; } @@ -2686,8 +2682,8 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (start) { -// TexOutput("{\\field{\\*\\fldinst SECTION \\\\* MERGEFORMAT }{\\fldrslt 1}}"); - sprintf(buf, "%d", chapterNo); +// TexOutput(_T("{\\field{\\*\\fldinst SECTION \\\\* MERGEFORMAT }{\\fldrslt 1}}")); + wxSprintf(buf, _T("%d"), chapterNo); TexOutput(buf); } break; @@ -2696,8 +2692,8 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (start) { -// TexOutput("{\\field{\\*\\fldinst SECTION \\\\* MERGEFORMAT }{\\fldrslt 1}}"); - sprintf(buf, "%d", sectionNo); +// TexOutput(_T("{\\field{\\*\\fldinst SECTION \\\\* MERGEFORMAT }{\\fldrslt 1}}")); + wxSprintf(buf, _T("%d"), sectionNo); TexOutput(buf); } break; @@ -2706,7 +2702,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (!start && !winHelp) { - TexOutput("\\cols2\n"); + TexOutput(_T("\\cols2\n")); } break; } @@ -2714,7 +2710,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (!start && !winHelp) { - TexOutput("\\cols1\n"); + TexOutput(_T("\\cols1\n")); } break; } @@ -2722,10 +2718,10 @@ void RTFOnMacro(int macroId, int no_args, bool start) { if (start && useWord && !winHelp) { - FakeCurrentSection("Index"); + FakeCurrentSection(_T("Index")); OnMacro(ltPAR, 0, TRUE); OnMacro(ltPAR, 0, FALSE); - TexOutput("\\par{\\field{\\*\\fldinst INDEX \\\\h \"\\emdash A\\emdash \"\\\\c \"2\"}{\\fldrslt PRESS F9 TO REFORMAT INDEX}}\n"); + TexOutput(_T("\\par{\\field{\\*\\fldinst INDEX \\\\h \"\\emdash A\\emdash \"\\\\c \"2\"}{\\fldrslt PRESS F9 TO REFORMAT INDEX}}\n")); } break; } @@ -2738,8 +2734,8 @@ void RTFOnMacro(int macroId, int no_args, bool start) OnMacro(ltPAR, 0, FALSE); OnMacro(ltPAR, 0, TRUE); OnMacro(ltPAR, 0, FALSE); - char buf[200]; - sprintf(buf, "{\\field\\fldedit{\\*\\fldinst TOC \\\\c \"%s\" }{\\fldrslt PRESS F9 TO REFORMAT LIST OF FIGURES}}\n", + wxChar buf[200]; + wxSprintf(buf, _T("{\\field\\fldedit{\\*\\fldinst TOC \\\\c \"%s\" }{\\fldrslt PRESS F9 TO REFORMAT LIST OF FIGURES}}\n"), FigureNameString); TexOutput(buf); } @@ -2754,8 +2750,8 @@ void RTFOnMacro(int macroId, int no_args, bool start) OnMacro(ltPAR, 0, FALSE); OnMacro(ltPAR, 0, TRUE); OnMacro(ltPAR, 0, FALSE); - char buf[200]; - sprintf(buf, "{\\field\\fldedit{\\*\\fldinst TOC \\\\c \"%s\" }{\\fldrslt PRESS F9 TO REFORMAT LIST OF TABLES}}\n", + wxChar buf[200]; + wxSprintf(buf, _T("{\\field\\fldedit{\\*\\fldinst TOC \\\\c \"%s\" }{\\fldrslt PRESS F9 TO REFORMAT LIST OF TABLES}}\n"), TablesNameString); TexOutput(buf); } @@ -2763,350 +2759,350 @@ void RTFOnMacro(int macroId, int no_args, bool start) } // Symbols case ltALPHA: - if (start) TexOutput("{\\f1\\'61}"); + if (start) TexOutput(_T("{\\f1\\'61}")); break; case ltBETA: - if (start) TexOutput("{\\f1\\'62}"); + if (start) TexOutput(_T("{\\f1\\'62}")); break; case ltGAMMA: - if (start) TexOutput("{\\f1\\'63}"); + if (start) TexOutput(_T("{\\f1\\'63}")); break; case ltDELTA: - if (start) TexOutput("{\\f1\\'64}"); + if (start) TexOutput(_T("{\\f1\\'64}")); break; case ltEPSILON: case ltVAREPSILON: - if (start) TexOutput("{\\f1\\'65}"); + if (start) TexOutput(_T("{\\f1\\'65}")); break; case ltZETA: - if (start) TexOutput("{\\f1\\'7A}"); + if (start) TexOutput(_T("{\\f1\\'7A}")); break; case ltETA: - if (start) TexOutput("{\\f1\\'68}"); + if (start) TexOutput(_T("{\\f1\\'68}")); break; case ltTHETA: case ltVARTHETA: - if (start) TexOutput("{\\f1\\'71}"); + if (start) TexOutput(_T("{\\f1\\'71}")); break; case ltIOTA: - if (start) TexOutput("{\\f1\\'69}"); + if (start) TexOutput(_T("{\\f1\\'69}")); break; case ltKAPPA: - if (start) TexOutput("{\\f1\\'6B}"); + if (start) TexOutput(_T("{\\f1\\'6B}")); break; case ltLAMBDA: - if (start) TexOutput("{\\f1\\'6C}"); + if (start) TexOutput(_T("{\\f1\\'6C}")); break; case ltMU: - if (start) TexOutput("{\\f1\\'6D}"); + if (start) TexOutput(_T("{\\f1\\'6D}")); break; case ltNU: - if (start) TexOutput("{\\f1\\'6E}"); + if (start) TexOutput(_T("{\\f1\\'6E}")); break; case ltXI: - if (start) TexOutput("{\\f1\\'78}"); + if (start) TexOutput(_T("{\\f1\\'78}")); break; case ltPI: - if (start) TexOutput("{\\f1\\'70}"); + if (start) TexOutput(_T("{\\f1\\'70}")); break; case ltVARPI: - if (start) TexOutput("{\\f1\\'76}"); + if (start) TexOutput(_T("{\\f1\\'76}")); break; case ltRHO: case ltVARRHO: - if (start) TexOutput("{\\f1\\'72}"); + if (start) TexOutput(_T("{\\f1\\'72}")); break; case ltSIGMA: - if (start) TexOutput("{\\f1\\'73}"); + if (start) TexOutput(_T("{\\f1\\'73}")); break; case ltVARSIGMA: - if (start) TexOutput("{\\f1\\'56}"); + if (start) TexOutput(_T("{\\f1\\'56}")); break; case ltTAU: - if (start) TexOutput("{\\f1\\'74}"); + if (start) TexOutput(_T("{\\f1\\'74}")); break; case ltUPSILON: - if (start) TexOutput("{\\f1\\'75}"); + if (start) TexOutput(_T("{\\f1\\'75}")); break; case ltPHI: case ltVARPHI: - if (start) TexOutput("{\\f1\\'66}"); + if (start) TexOutput(_T("{\\f1\\'66}")); break; case ltCHI: - if (start) TexOutput("{\\f1\\'63}"); + if (start) TexOutput(_T("{\\f1\\'63}")); break; case ltPSI: - if (start) TexOutput("{\\f1\\'79}"); + if (start) TexOutput(_T("{\\f1\\'79}")); break; case ltOMEGA: - if (start) TexOutput("{\\f1\\'77}"); + if (start) TexOutput(_T("{\\f1\\'77}")); break; case ltCAP_GAMMA: - if (start) TexOutput("{\\f1\\'47}"); + if (start) TexOutput(_T("{\\f1\\'47}")); break; case ltCAP_DELTA: - if (start) TexOutput("{\\f1\\'44}"); + if (start) TexOutput(_T("{\\f1\\'44}")); break; case ltCAP_THETA: - if (start) TexOutput("{\\f1\\'51}"); + if (start) TexOutput(_T("{\\f1\\'51}")); break; case ltCAP_LAMBDA: - if (start) TexOutput("{\\f1\\'4C}"); + if (start) TexOutput(_T("{\\f1\\'4C}")); break; case ltCAP_XI: - if (start) TexOutput("{\\f1\\'58}"); + if (start) TexOutput(_T("{\\f1\\'58}")); break; case ltCAP_PI: - if (start) TexOutput("{\\f1\\'50}"); + if (start) TexOutput(_T("{\\f1\\'50}")); break; case ltCAP_SIGMA: - if (start) TexOutput("{\\f1\\'53}"); + if (start) TexOutput(_T("{\\f1\\'53}")); break; case ltCAP_UPSILON: - if (start) TexOutput("{\\f1\\'54}"); + if (start) TexOutput(_T("{\\f1\\'54}")); break; case ltCAP_PHI: - if (start) TexOutput("{\\f1\\'46}"); + if (start) TexOutput(_T("{\\f1\\'46}")); break; case ltCAP_PSI: - if (start) TexOutput("{\\f1\\'59}"); + if (start) TexOutput(_T("{\\f1\\'59}")); break; case ltCAP_OMEGA: - if (start) TexOutput("{\\f1\\'57}"); + if (start) TexOutput(_T("{\\f1\\'57}")); break; // Binary operation symbols case ltLE: case ltLEQ: - if (start) TexOutput("{\\f1\\'A3}"); + if (start) TexOutput(_T("{\\f1\\'A3}")); break; case ltLL: - if (start) TexOutput("<<"); + if (start) TexOutput(_T("<<")); break; case ltSUBSET: - if (start) TexOutput("{\\f1\\'CC}"); + if (start) TexOutput(_T("{\\f1\\'CC}")); break; case ltSUBSETEQ: - if (start) TexOutput("{\\f1\\'CD}"); + if (start) TexOutput(_T("{\\f1\\'CD}")); break; case ltIN: - if (start) TexOutput("{\\f1\\'CE}"); + if (start) TexOutput(_T("{\\f1\\'CE}")); break; case ltGE: case ltGEQ: - if (start) TexOutput("{\\f1\\'B3}"); + if (start) TexOutput(_T("{\\f1\\'B3}")); break; case ltGG: - if (start) TexOutput(">>"); + if (start) TexOutput(_T(">>")); break; case ltSUPSET: - if (start) TexOutput("{\\f1\\'C9}"); + if (start) TexOutput(_T("{\\f1\\'C9}")); break; case ltSUPSETEQ: - if (start) TexOutput("{\\f1\\'CD}"); + if (start) TexOutput(_T("{\\f1\\'CD}")); break; case ltNI: - if (start) TexOutput("{\\f1\\'27}"); + if (start) TexOutput(_T("{\\f1\\'27}")); break; case ltPERP: - if (start) TexOutput("{\\f1\\'5E}"); + if (start) TexOutput(_T("{\\f1\\'5E}")); break; case ltNEQ: - if (start) TexOutput("{\\f1\\'B9}"); + if (start) TexOutput(_T("{\\f1\\'B9}")); break; case ltAPPROX: - if (start) TexOutput("{\\f1\\'BB}"); + if (start) TexOutput(_T("{\\f1\\'BB}")); break; case ltCONG: - if (start) TexOutput("{\\f1\\'40}"); + if (start) TexOutput(_T("{\\f1\\'40}")); break; case ltEQUIV: - if (start) TexOutput("{\\f1\\'BA}"); + if (start) TexOutput(_T("{\\f1\\'BA}")); break; case ltPROPTO: - if (start) TexOutput("{\\f1\\'B5}"); + if (start) TexOutput(_T("{\\f1\\'B5}")); break; case ltSIM: - if (start) TexOutput("{\\f1\\'7E}"); + if (start) TexOutput(_T("{\\f1\\'7E}")); break; case ltSMILE: - if (start) TexOutput("{\\f4\\'4A}"); + if (start) TexOutput(_T("{\\f4\\'4A}")); break; case ltFROWN: - if (start) TexOutput("{\\f4\\'4C}"); + if (start) TexOutput(_T("{\\f4\\'4C}")); break; case ltMID: - if (start) TexOutput("|"); + if (start) TexOutput(_T("|")); break; // Negated relation symbols case ltNOTEQ: - if (start) TexOutput("{\\f1\\'B9}"); + if (start) TexOutput(_T("{\\f1\\'B9}")); break; case ltNOTIN: - if (start) TexOutput("{\\f1\\'CF}"); + if (start) TexOutput(_T("{\\f1\\'CF}")); break; case ltNOTSUBSET: - if (start) TexOutput("{\\f1\\'CB}"); + if (start) TexOutput(_T("{\\f1\\'CB}")); break; // Arrows case ltLEFTARROW: - if (start) TexOutput("{\\f1\\'AC}"); + if (start) TexOutput(_T("{\\f1\\'AC}")); break; case ltLEFTARROW2: - if (start) TexOutput("{\\f1\\'DC}"); + if (start) TexOutput(_T("{\\f1\\'DC}")); break; case ltRIGHTARROW: - if (start) TexOutput("{\\f1\\'AE}"); + if (start) TexOutput(_T("{\\f1\\'AE}")); break; case ltRIGHTARROW2: - if (start) TexOutput("{\\f1\\'DE}"); + if (start) TexOutput(_T("{\\f1\\'DE}")); break; case ltLEFTRIGHTARROW: - if (start) TexOutput("{\\f1\\'AB}"); + if (start) TexOutput(_T("{\\f1\\'AB}")); break; case ltLEFTRIGHTARROW2: - if (start) TexOutput("{\\f1\\'DB}"); + if (start) TexOutput(_T("{\\f1\\'DB}")); break; case ltUPARROW: - if (start) TexOutput("{\\f1\\'AD}"); + if (start) TexOutput(_T("{\\f1\\'AD}")); break; case ltUPARROW2: - if (start) TexOutput("{\\f1\\'DD}"); + if (start) TexOutput(_T("{\\f1\\'DD}")); break; case ltDOWNARROW: - if (start) TexOutput("{\\f1\\'AF}"); + if (start) TexOutput(_T("{\\f1\\'AF}")); break; case ltDOWNARROW2: - if (start) TexOutput("{\\f1\\'DF}"); + if (start) TexOutput(_T("{\\f1\\'DF}")); break; // Miscellaneous symbols case ltALEPH: - if (start) TexOutput("{\\f1\\'CO}"); + if (start) TexOutput(_T("{\\f1\\'CO}")); break; case ltWP: - if (start) TexOutput("{\\f1\\'C3}"); + if (start) TexOutput(_T("{\\f1\\'C3}")); break; case ltRE: - if (start) TexOutput("{\\f1\\'C2}"); + if (start) TexOutput(_T("{\\f1\\'C2}")); break; case ltIM: - if (start) TexOutput("{\\f1\\'C1}"); + if (start) TexOutput(_T("{\\f1\\'C1}")); break; case ltEMPTYSET: - if (start) TexOutput("{\\f1\\'C6}"); + if (start) TexOutput(_T("{\\f1\\'C6}")); break; case ltNABLA: - if (start) TexOutput("{\\f1\\'D1}"); + if (start) TexOutput(_T("{\\f1\\'D1}")); break; case ltSURD: - if (start) TexOutput("{\\f1\\'D6}"); + if (start) TexOutput(_T("{\\f1\\'D6}")); break; case ltPARTIAL: - if (start) TexOutput("{\\f1\\'B6}"); + if (start) TexOutput(_T("{\\f1\\'B6}")); break; case ltBOT: - if (start) TexOutput("{\\f1\\'5E}"); + if (start) TexOutput(_T("{\\f1\\'5E}")); break; case ltFORALL: - if (start) TexOutput("{\\f1\\'22}"); + if (start) TexOutput(_T("{\\f1\\'22}")); break; case ltEXISTS: - if (start) TexOutput("{\\f1\\'24}"); + if (start) TexOutput(_T("{\\f1\\'24}")); break; case ltNEG: - if (start) TexOutput("{\\f1\\'D8}"); + if (start) TexOutput(_T("{\\f1\\'D8}")); break; case ltSHARP: - if (start) TexOutput("{\\f1\\'23}"); + if (start) TexOutput(_T("{\\f1\\'23}")); break; case ltANGLE: - if (start) TexOutput("{\\f1\\'D0}"); + if (start) TexOutput(_T("{\\f1\\'D0}")); break; case ltTRIANGLE: - if (start) TexOutput("{\\f5\\'73}"); + if (start) TexOutput(_T("{\\f5\\'73}")); break; case ltCLUBSUIT: - if (start) TexOutput("{\\f5\\'A8}"); + if (start) TexOutput(_T("{\\f5\\'A8}")); break; case ltDIAMONDSUIT: - if (start) TexOutput("{\\f5\\'A9}"); + if (start) TexOutput(_T("{\\f5\\'A9}")); break; case ltHEARTSUIT: - if (start) TexOutput("{\\f5\\'AA}"); + if (start) TexOutput(_T("{\\f5\\'AA}")); break; case ltSPADESUIT: - if (start) TexOutput("{\\f5\\'AB}"); + if (start) TexOutput(_T("{\\f5\\'AB}")); break; case ltINFTY: - if (start) TexOutput("{\\f1\\'A5}"); + if (start) TexOutput(_T("{\\f1\\'A5}")); break; case ltCOPYRIGHT: - if (start) TexOutput("{\\f0\\'A9}"); + if (start) TexOutput(_T("{\\f0\\'A9}")); break; case ltREGISTERED: - if (start) TexOutput("{\\f0\\'AE}"); + if (start) TexOutput(_T("{\\f0\\'AE}")); break; case ltPM: - if (start) TexOutput("{\\f1\\'B1}"); + if (start) TexOutput(_T("{\\f1\\'B1}")); break; case ltMP: - if (start) TexOutput("{\\f1\\'B1}"); + if (start) TexOutput(_T("{\\f1\\'B1}")); break; case ltTIMES: - if (start) TexOutput("{\\f1\\'B4}"); + if (start) TexOutput(_T("{\\f1\\'B4}")); break; case ltDIV: - if (start) TexOutput("{\\f1\\'B8}"); + if (start) TexOutput(_T("{\\f1\\'B8}")); break; case ltCDOT: - if (start) TexOutput("{\\f1\\'D7}"); + if (start) TexOutput(_T("{\\f1\\'D7}")); break; case ltAST: - if (start) TexOutput("{\\f1\\'2A}"); + if (start) TexOutput(_T("{\\f1\\'2A}")); break; case ltSTAR: - if (start) TexOutput("{\\f5\\'AB}"); + if (start) TexOutput(_T("{\\f5\\'AB}")); break; case ltCAP: - if (start) TexOutput("{\\f1\\'C7}"); + if (start) TexOutput(_T("{\\f1\\'C7}")); break; case ltCUP: - if (start) TexOutput("{\\f1\\'C8}"); + if (start) TexOutput(_T("{\\f1\\'C8}")); break; case ltVEE: - if (start) TexOutput("{\\f1\\'DA}"); + if (start) TexOutput(_T("{\\f1\\'DA}")); break; case ltWEDGE: - if (start) TexOutput("{\\f1\\'D9}"); + if (start) TexOutput(_T("{\\f1\\'D9}")); break; case ltCIRC: - if (start) TexOutput("{\\f1\\'B0}"); + if (start) TexOutput(_T("{\\f1\\'B0}")); break; case ltBULLET: - if (start) TexOutput("{\\f1\\'B7}"); + if (start) TexOutput(_T("{\\f1\\'B7}")); break; case ltDIAMOND: - if (start) TexOutput("{\\f1\\'E0}"); + if (start) TexOutput(_T("{\\f1\\'E0}")); break; case ltBOX: - if (start) TexOutput("{\\f1\\'C6}"); + if (start) TexOutput(_T("{\\f1\\'C6}")); break; case ltDIAMOND2: - if (start) TexOutput("{\\f1\\'E0}"); + if (start) TexOutput(_T("{\\f1\\'E0}")); break; case ltBIGTRIANGLEDOWN: - if (start) TexOutput("{\\f1\\'D1}"); + if (start) TexOutput(_T("{\\f1\\'D1}")); break; case ltOPLUS: - if (start) TexOutput("{\\f1\\'C5}"); + if (start) TexOutput(_T("{\\f1\\'C5}")); break; case ltOTIMES: - if (start) TexOutput("{\\f1\\'C4}"); + if (start) TexOutput(_T("{\\f1\\'C4}")); break; case ltSS: - if (start) TexOutput("{\\'DF}"); + if (start) TexOutput(_T("{\\'DF}")); break; case ltFIGURE: { @@ -3131,7 +3127,7 @@ void RTFOnMacro(int macroId, int no_args, bool start) // Called on start/end of argument examination bool RTFOnArgument(int macroId, int arg_no, bool start) { - char buf[300]; + wxChar buf[300]; switch (macroId) { case ltCHAPTER: @@ -3153,34 +3149,33 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) if (!start && (arg_no == 1)) currentSection = GetArgChunk(); return FALSE; - break; } case ltFUNC: { if (start && (arg_no == 1)) - TexOutput("\\pard\\li600\\fi-600{\\b "); + TexOutput(_T("\\pard\\li600\\fi-600{\\b ")); if (!start && (arg_no == 1)) - TexOutput("} "); + TexOutput(_T("} ")); if (start && (arg_no == 2)) { - if (!suppressNameDecoration) TexOutput("{\\b "); + if (!suppressNameDecoration) TexOutput(_T("{\\b ")); currentMember = GetArgChunk(); } if (!start && (arg_no == 2)) { - if (!suppressNameDecoration) TexOutput("}"); + if (!suppressNameDecoration) TexOutput(_T("}")); } if (start && (arg_no == 3)) - TexOutput("("); + TexOutput(_T("(")); if (!start && (arg_no == 3)) { -// TexOutput(")\\li0\\fi0"); -// TexOutput(")\\par\\pard\\li0\\fi0"); +// TexOutput(_T(")\\li0\\fi0")); +// TexOutput(_T(")\\par\\pard\\li0\\fi0")); // issuedNewParagraph = 1; - TexOutput(")"); + TexOutput(_T(")")); WriteEnvironmentStyles(); } break; @@ -3188,23 +3183,23 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) case ltCLIPSFUNC: { if (start && (arg_no == 1)) - TexOutput("\\pard\\li260\\fi-260{\\b "); + TexOutput(_T("\\pard\\li260\\fi-260{\\b ")); if (!start && (arg_no == 1)) - TexOutput("} "); + TexOutput(_T("} ")); if (start && (arg_no == 2)) { - if (!suppressNameDecoration) TexOutput("({\\b "); + if (!suppressNameDecoration) TexOutput(_T("({\\b ")); currentMember = GetArgChunk(); } if (!start && (arg_no == 2)) { - if (!suppressNameDecoration) TexOutput("}"); + if (!suppressNameDecoration) TexOutput(_T("}")); } if (!start && (arg_no == 3)) { - TexOutput(")\\li0\\fi0"); + TexOutput(_T(")\\li0\\fi0")); WriteEnvironmentStyles(); } break; @@ -3212,24 +3207,24 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) case ltPFUNC: { if (start && (arg_no == 1)) - TexOutput("\\pard\\li260\\fi-260"); + TexOutput(_T("\\pard\\li260\\fi-260")); if (!start && (arg_no == 1)) - TexOutput(" "); + TexOutput(_T(" ")); if (start && (arg_no == 2)) - TexOutput("(*"); + TexOutput(_T("(*")); if (!start && (arg_no == 2)) - TexOutput(")"); + TexOutput(_T(")")); if (start && (arg_no == 2)) currentMember = GetArgChunk(); if (start && (arg_no == 3)) - TexOutput("("); + TexOutput(_T("(")); if (!start && (arg_no == 3)) { - TexOutput(")\\li0\\fi0"); + TexOutput(_T(")\\li0\\fi0")); WriteEnvironmentStyles(); } break; @@ -3237,39 +3232,39 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) case ltPARAM: { if (start && (arg_no == 1)) - TexOutput("{\\b "); + TexOutput(_T("{\\b ")); if (!start && (arg_no == 1)) - TexOutput("}"); + TexOutput(_T("}")); if (start && (arg_no == 2)) { - TexOutput("{\\i "); + TexOutput(_T("{\\i ")); } if (!start && (arg_no == 2)) { - TexOutput("}"); + TexOutput(_T("}")); } break; } case ltCPARAM: { if (start && (arg_no == 1)) - TexOutput("{\\b "); + TexOutput(_T("{\\b ")); if (!start && (arg_no == 1)) - TexOutput("} "); // This is the difference from param - one space! + TexOutput(_T("} ")); // This is the difference from param - one space! if (start && (arg_no == 2)) { - TexOutput("{\\i "); + TexOutput(_T("{\\i ")); } if (!start && (arg_no == 2)) { - TexOutput("}"); + TexOutput(_T("}")); } break; } case ltMEMBER: { if (!start && (arg_no == 1)) - TexOutput(" "); + TexOutput(_T(" ")); if (start && (arg_no == 2)) currentMember = GetArgChunk(); @@ -3279,10 +3274,9 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (start) { - char *sec = NULL; - char *secName = NULL; + wxChar *sec = NULL; - char *refName = GetArgData(); + wxChar *refName = GetArgData(); if (winHelp || !useWord) { if (refName) @@ -3291,7 +3285,6 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) if (texRef) { sec = texRef->sectionNumber; - secName = texRef->sectionName; } } if (sec) @@ -3301,7 +3294,7 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } else { - fprintf(Chapters, "{\\field{\\*\\fldinst REF %s \\\\* MERGEFORMAT }{\\fldrslt ??}}", + wxFprintf(Chapters, _T("{\\field{\\*\\fldinst REF %s \\\\* MERGEFORMAT }{\\fldrslt ??}}"), refName); } return FALSE; @@ -3316,23 +3309,23 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) if ((GetNoArgs() - arg_no) == 1) { if (start) - TexOutput("{\\uldb "); + TexOutput(_T("{\\uldb ")); else - TexOutput("}"); + TexOutput(_T("}")); } if ((GetNoArgs() - arg_no) == 0) // Arg = 2, or 3 if first is optional { if (start) { - TexOutput("{\\v "); + TexOutput(_T("{\\v ")); // Remove green colour/underlining if specified if (!hotSpotUnderline && !hotSpotColour) - TexOutput("%"); + TexOutput(_T("%")); else if (!hotSpotColour) - TexOutput("*"); + TexOutput(_T("*")); } - else TexOutput("}"); + else TexOutput(_T("}")); } } else // If a linear document, must resolve the references ourselves @@ -3342,9 +3335,9 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) // In a linear document we display the anchor text in italic plus // the page number. if (start) - TexOutput("{\\i "); + TexOutput(_T("{\\i ")); else - TexOutput("}"); + TexOutput(_T("}")); if (start) helpRefText = GetArgChunk(); @@ -3355,24 +3348,24 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (macroId != ltHELPREFN) { - char *refName = GetArgData(); + wxChar *refName = GetArgData(); TexRef *texRef = NULL; if (refName) texRef = FindReference(refName); if (start) { if (texRef || !ignoreBadRefs) - TexOutput(" ("); + TexOutput(_T(" (")); if (refName) { if (texRef || !ignoreBadRefs) { if (useWord) { - TexOutput("p. "); - TexOutput("{\\field{\\*\\fldinst PAGEREF "); + TexOutput(_T("p. ")); + TexOutput(_T("{\\field{\\*\\fldinst PAGEREF ")); TexOutput(refName); - TexOutput(" \\\\* MERGEFORMAT }{\\fldrslt ??}}"); + TexOutput(_T(" \\\\* MERGEFORMAT }{\\fldrslt ??}}")); } else { @@ -3380,24 +3373,26 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) // so can't do page references if (texRef) { - TexOutput(texRef->sectionName) ; TexOutput(" "); TexOutput(texRef->sectionNumber); + TexOutput(texRef->sectionName); + TexOutput(_T(" ")); + TexOutput(texRef->sectionNumber); } else { if (!ignoreBadRefs) - TexOutput("??"); - sprintf(buf, "Warning: unresolved reference '%s'", refName); + TexOutput(_T("??")); + wxSprintf(buf, _T("Warning: unresolved reference '%s'"), refName); OnInform(buf); } } } } - else TexOutput("??"); + else TexOutput(_T("??")); } else { if (texRef || !ignoreBadRefs) - TexOutput(")"); + TexOutput(_T(")")); } } return FALSE; @@ -3416,11 +3411,11 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) if (start) { inVerbatim = TRUE; - TexOutput(" ({\\f3 "); + TexOutput(_T(" ({\\f3 ")); } else { - TexOutput("})"); + TexOutput(_T("})")); inVerbatim = FALSE; } return TRUE; @@ -3434,23 +3429,23 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) if ((GetNoArgs() - arg_no) == 1) { if (start) - TexOutput("{\\ul "); + TexOutput(_T("{\\ul ")); else - TexOutput("}"); + TexOutput(_T("}")); } if ((GetNoArgs() - arg_no) == 0) // Arg = 2, or 3 if first is optional { if (start) { - TexOutput("{\\v "); + TexOutput(_T("{\\v ")); // Remove green colour/underlining if specified if (!hotSpotUnderline && !hotSpotColour) - TexOutput("%"); + TexOutput(_T("%")); else if (!hotSpotColour) - TexOutput("*"); + TexOutput(_T("*")); } - else TexOutput("}"); + else TexOutput(_T("}")); } } else // A linear document... @@ -3459,9 +3454,9 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { // In a linear document we just display the anchor text in italic if (start) - TexOutput("{\\i "); + TexOutput(_T("{\\i ")); else - TexOutput("}"); + TexOutput(_T("}")); return TRUE; } else return FALSE; @@ -3479,7 +3474,6 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) return FALSE; } else return FALSE; - break; } case ltIMAGE: case ltIMAGEL: @@ -3495,71 +3489,88 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) if (start && (arg_no == 1)) { - char *imageDimensions = copystring(GetArgData()); - char buf1[50]; - strcpy(buf1, imageDimensions); - char *tok1 = strtok(buf1, ";:"); - char *tok2 = strtok(NULL, ";:"); - // Convert points to TWIPS (1 twip = 1/20th of point) - imageWidth = (int)(20*(tok1 ? ParseUnitArgument(tok1) : 0)); - imageHeight = (int)(20*(tok2 ? ParseUnitArgument(tok2) : 0)); + wxChar *imageDimensions = copystring(GetArgData()); + + // imageWidth - Convert points to TWIPS (1 twip = 1/20th of point) + wxStringTokenizer tok(imageDimensions, _T(";:"), wxTOKEN_STRTOK); + if(tok.HasMoreTokens()) + { + wxString token = tok.GetNextToken(); + imageWidth = (int)(20*ParseUnitArgument((wxChar*)token.c_str())); + } + else + { + imageWidth = 0; + } + + // imageHeight - Convert points to TWIPS (1 twip = 1/20th of point) + if(tok.HasMoreTokens()) + { + wxString token = tok.GetNextToken(); + imageHeight = (int)(20*ParseUnitArgument((wxChar*)token.c_str())); + } + else + { + imageHeight = 0; + } + if (imageDimensions) // glt delete [] imageDimensions; return FALSE; } else if (start && (arg_no == 2 )) { - char *filename = copystring(GetArgData()); - wxString f = ""; - if ((winHelp || (strcmp(bitmapMethod, "includepicture") == 0) || (strcmp(bitmapMethod, "import") == 0)) && useWord) + wxChar *filename = copystring(GetArgData()); + wxString f = _T(""); + if ((winHelp || (wxStrcmp(bitmapMethod, _T("includepicture")) == 0) || (wxStrcmp(bitmapMethod, _T("import")) == 0)) && useWord) { - if (f == "") // Try for a .shg (segmented hypergraphics file) + if (f == _T("")) // Try for a .shg (segmented hypergraphics file) { - strcpy(buf, filename); + wxStrcpy(buf, filename); StripExtension(buf); - strcat(buf, ".shg"); + wxStrcat(buf, _T(".shg")); f = TexPathList.FindValidPath(buf); } - if (f == "") // Try for a .bmp + if (f == _T("")) // Try for a .bmp { - strcpy(buf, filename); + wxStrcpy(buf, filename); StripExtension(buf); - strcat(buf, ".bmp"); + wxStrcat(buf, _T(".bmp")); f = TexPathList.FindValidPath(buf); } - if (f == "") // Try for a metafile instead + if (f == _T("")) // Try for a metafile instead { - strcpy(buf, filename); + wxStrcpy(buf, filename); StripExtension(buf); - strcat(buf, ".wmf"); + wxStrcat(buf, _T(".wmf")); f = TexPathList.FindValidPath(buf); } - if (f != "") + if (f != _T("")) { if (winHelp) { if (bitmapTransparency && (winHelpVersion > 3)) - TexOutput("\\{bmct "); + TexOutput(_T("\\{bmct ")); else - TexOutput("\\{bmc "); + TexOutput(_T("\\{bmc ")); wxString str = wxFileNameFromPath(f); - TexOutput((char*) (const char*) str); - TexOutput("\\}"); + TexOutput((wxChar*) (const wxChar*) str); + TexOutput(_T("\\}")); } else { // Microsoft Word method - if (strcmp(bitmapMethod, "import") == 0) - TexOutput("{\\field{\\*\\fldinst IMPORT "); + if (wxStrcmp(bitmapMethod, _T("import")) == 0) + TexOutput(_T("{\\field{\\*\\fldinst IMPORT ")); else - TexOutput("{\\field{\\*\\fldinst INCLUDEPICTURE "); + TexOutput(_T("{\\field{\\*\\fldinst INCLUDEPICTURE ")); // Full path appears not to be valid! wxString str = wxFileNameFromPath(f); - TexOutput((char*)(const char*) str); + TexOutput((wxChar*)(const wxChar*) str); /* - int len = strlen(f); - char smallBuf[2]; smallBuf[1] = 0; + int len = wxStrlen(f); + wxChar smallBuf[2]; smallBuf[1] = 0; for (int i = 0; i < len; i++) { smallBuf[0] = f[i]; @@ -3568,15 +3579,15 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) TexOutput(smallBuf); } */ - TexOutput("}{\\fldrslt PRESS F9 TO FORMAT PICTURE}}"); + TexOutput(_T("}{\\fldrslt PRESS F9 TO FORMAT PICTURE}}")); } } else { - TexOutput("[No BMP or WMF for image file "); + TexOutput(_T("[No BMP or WMF for image file ")); TexOutput(filename); - TexOutput("]"); - sprintf(buf, "Warning: could not find a BMP or WMF equivalent for %s.", filename); + TexOutput(_T("]")); + wxSprintf(buf, _T("Warning: could not find a BMP or WMF equivalent for %s."), filename); OnInform(buf); } if (filename) // glt @@ -3584,21 +3595,21 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } else // linear RTF { - if (f == "") // Try for a .bmp + if (f == _T("")) // Try for a .bmp { - strcpy(buf, filename); + wxStrcpy(buf, filename); StripExtension(buf); - strcat(buf, ".bmp"); + wxStrcat(buf, _T(".bmp")); f = TexPathList.FindValidPath(buf); } - if (f != "") + if (f != _T("")) { - FILE *fd = fopen(f, "rb"); + FILE *fd = wxFopen(f, _T("rb")); if (OutputBitmapHeader(fd, winHelp)) OutputBitmapData(fd); else { - sprintf(buf, "Could not read bitmap %s.\nMay be in wrong format (needs RGB-encoded Windows BMP).", (const char*) f); + wxSprintf(buf, _T("Could not read bitmap %s.\nMay be in wrong format (needs RGB-encoded Windows BMP)."), f.c_str()); OnError(buf); } fclose(fd); @@ -3606,21 +3617,21 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) else // Try for a metafile instead { #ifdef __WXMSW__ - strcpy(buf, filename); + wxStrcpy(buf, filename); StripExtension(buf); - strcat(buf, ".wmf"); + wxStrcat(buf, _T(".wmf")); f = TexPathList.FindValidPath(buf); - if (f != "") + if (f != _T("")) { // HFILE handle = _lopen(f, READ); - FILE *fd = fopen(f, "rb"); + FILE *fd = wxFopen(f, _T("rb")); if (OutputMetafileHeader(fd, winHelp, imageWidth, imageHeight)) { OutputMetafileData(fd); } else { - sprintf(buf, "Could not read metafile %s. Perhaps it's not a placeable metafile?", (const char*)f); + wxSprintf(buf, _T("Could not read metafile %s. Perhaps it's not a placeable metafile?"), f.c_str()); OnError(buf); } fclose(fd); @@ -3628,10 +3639,10 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) else { #endif - TexOutput("[No BMP or WMF for image file "); + TexOutput(_T("[No BMP or WMF for image file ")); TexOutput(filename); - TexOutput("]"); - sprintf(buf, "Warning: could not find a BMP or WMF equivalent for %s.", filename); + TexOutput(_T("]")); + wxSprintf(buf, _T("Warning: could not find a BMP or WMF equivalent for %s."), filename); OnInform(buf); #ifdef __WXMSW__ } @@ -3642,7 +3653,6 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } else return FALSE; - break; } case ltTABULAR: case ltSUPERTABULAR: @@ -3658,11 +3668,11 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) tableVerticalLineRight = FALSE; int currentWidth = 0; - char *alignString = copystring(GetArgData()); + wxChar *alignString = copystring(GetArgData()); ParseTableArgument(alignString); -// TexOutput("\\trowd\\trgaph108\\trleft-108"); - TexOutput("\\trowd\\trgaph108"); +// TexOutput(_T("\\trowd\\trgaph108\\trleft-108")); + TexOutput(_T("\\trowd\\trgaph108")); // Write the first row formatting for compatibility // with standard Latex @@ -3671,10 +3681,10 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) for (int i = 0; i < noColumns; i++) { currentWidth += TableData[i].width; - sprintf(buf, "\\cellx%d", currentWidth); + wxSprintf(buf, _T("\\cellx%d"), currentWidth); TexOutput(buf); } - TexOutput("\\pard\\intbl\n"); + TexOutput(_T("\\pard\\intbl\n")); } delete[] alignString; @@ -3683,7 +3693,7 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } else if (arg_no == 2 && !start) { - TexOutput("\\pard\n"); + TexOutput(_T("\\pard\n")); WriteEnvironmentStyles(); inTabular = FALSE; } @@ -3695,9 +3705,9 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (start) { - TexOutput("\\li360\n"); + TexOutput(_T("\\li360\n")); forbidParindent ++; - PushEnvironmentStyle("\\li360"); + PushEnvironmentStyle(_T("\\li360")); } else { @@ -3712,8 +3722,8 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (start) { - TexOutput("\\li360\n"); - PushEnvironmentStyle("\\li360"); + TexOutput(_T("\\li360\n")); + PushEnvironmentStyle(_T("\\li360")); } else { @@ -3731,7 +3741,7 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (start) { - sprintf(buf, "\\box\\trgaph108%s\n", ((macroId == ltNORMALBOXD) ? "\\brdrdb" : "\\brdrs")); + wxSprintf(buf, _T("\\box\\trgaph108%s\n"), ((macroId == ltNORMALBOXD) ? _T("\\brdrdb") : _T("\\brdrs"))); TexOutput(buf); PushEnvironmentStyle(buf); } @@ -3747,14 +3757,14 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (start) { - char *data = GetArgData(); - if (strcmp(data, "10") == 0) + wxChar *data = GetArgData(); + if (wxStrcmp(data, _T("10")) == 0) SetFontSizes(10); - else if (strcmp(data, "11") == 0) + else if (wxStrcmp(data, _T("11")) == 0) SetFontSizes(11); - else if (strcmp(data, "12") == 0) + else if (wxStrcmp(data, _T("12")) == 0) SetFontSizes(12); - sprintf(buf, "\\fs%d\n", normalFont*2); + wxSprintf(buf, _T("\\fs%d\n"), normalFont*2); TexOutput(buf); TexOutput(buf); return FALSE; @@ -3765,13 +3775,13 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (start) { - char *data = GetArgData(); - if (strcmp(data, "Swiss") == 0) - TexOutput("\\f2\n"); - else if (strcmp(data, "Symbol") == 0) - TexOutput("\\f1\n"); - else if (strcmp(data, "Times") == 0) - TexOutput("\\f0\n"); + wxChar *data = GetArgData(); + if (wxStrcmp(data, _T("Swiss")) == 0) + TexOutput(_T("\\f2\n")); + else if (wxStrcmp(data, _T("Symbol")) == 0) + TexOutput(_T("\\f1\n")); + else if (wxStrcmp(data, _T("Times")) == 0) + TexOutput(_T("\\f0\n")); return FALSE; } @@ -3781,11 +3791,11 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (start && arg_no == 1) { - char *data = GetArgData(); + wxChar *data = GetArgData(); ParIndent = ParseUnitArgument(data); if (ParIndent == 0 || forbidParindent == 0) { - sprintf(buf, "\\fi%d\n", ParIndent*20); + wxSprintf(buf, _T("\\fi%d\n"), ParIndent*20); TexOutput(buf); } return FALSE; @@ -3809,7 +3819,7 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) case 1: { if (!start) - TexOutput("\\tab "); + TexOutput(_T("\\tab ")); break; } case 2: @@ -3817,8 +3827,8 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) if (!start) { if (macroId == ltTWOCOLITEMRULED) - TexOutput("\\brdrb\\brdrs\\brdrw15\\brsp20 "); - TexOutput("\\par\\pard\n"); + TexOutput(_T("\\brdrb\\brdrs\\brdrw15\\brsp20 ")); + TexOutput(_T("\\par\\pard\n")); issuedNewParagraph = 1; WriteEnvironmentStyles(); } @@ -3826,7 +3836,6 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } } return TRUE; - break; } /* * Accents @@ -3836,40 +3845,40 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { case 'a': - TexOutput("\\'e0"); + TexOutput(_T("\\'e0")); break; case 'e': - TexOutput("\\'e8"); + TexOutput(_T("\\'e8")); break; case 'i': - TexOutput("\\'ec"); + TexOutput(_T("\\'ec")); break; case 'o': - TexOutput("\\'f2"); + TexOutput(_T("\\'f2")); break; case 'u': - TexOutput("\\'f9"); + TexOutput(_T("\\'f9")); break; case 'A': - TexOutput("\\'c0"); + TexOutput(_T("\\'c0")); break; case 'E': - TexOutput("\\'c8"); + TexOutput(_T("\\'c8")); break; case 'I': - TexOutput("\\'cc"); + TexOutput(_T("\\'cc")); break; case 'O': - TexOutput("\\'d2"); + TexOutput(_T("\\'d2")); break; case 'U': - TexOutput("\\'d9"); + TexOutput(_T("\\'d9")); break; default: break; @@ -3877,52 +3886,51 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_ACUTE: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { case 'a': - TexOutput("\\'e1"); + TexOutput(_T("\\'e1")); break; case 'e': - TexOutput("\\'e9"); + TexOutput(_T("\\'e9")); break; case 'i': - TexOutput("\\'ed"); + TexOutput(_T("\\'ed")); break; case 'o': - TexOutput("\\'f3"); + TexOutput(_T("\\'f3")); break; case 'u': - TexOutput("\\'fa"); + TexOutput(_T("\\'fa")); break; case 'y': - TexOutput("\\'fd"); + TexOutput(_T("\\'fd")); break; case 'A': - TexOutput("\\'c1"); + TexOutput(_T("\\'c1")); break; case 'E': - TexOutput("\\'c9"); + TexOutput(_T("\\'c9")); break; case 'I': - TexOutput("\\'cd"); + TexOutput(_T("\\'cd")); break; case 'O': - TexOutput("\\'d3"); + TexOutput(_T("\\'d3")); break; case 'U': - TexOutput("\\'da"); + TexOutput(_T("\\'da")); break; case 'Y': - TexOutput("\\'dd"); + TexOutput(_T("\\'dd")); break; default: break; @@ -3930,46 +3938,45 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_CARET: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { case 'a': - TexOutput("\\'e2"); + TexOutput(_T("\\'e2")); break; case 'e': - TexOutput("\\'ea"); + TexOutput(_T("\\'ea")); break; case 'i': - TexOutput("\\'ee"); + TexOutput(_T("\\'ee")); break; case 'o': - TexOutput("\\'f4"); + TexOutput(_T("\\'f4")); break; case 'u': - TexOutput("\\'fb"); + TexOutput(_T("\\'fb")); break; case 'A': - TexOutput("\\'c2"); + TexOutput(_T("\\'c2")); break; case 'E': - TexOutput("\\'ca"); + TexOutput(_T("\\'ca")); break; case 'I': - TexOutput("\\'ce"); + TexOutput(_T("\\'ce")); break; case 'O': - TexOutput("\\'d4"); + TexOutput(_T("\\'d4")); break; case 'U': - TexOutput("\\'db"); + TexOutput(_T("\\'db")); break; default: break; @@ -3977,37 +3984,36 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_TILDE: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { case 'a': - TexOutput("\\'e3"); + TexOutput(_T("\\'e3")); break; case ' ': - TexOutput("~"); + TexOutput(_T("~")); break; case 'n': - TexOutput("\\'f1"); + TexOutput(_T("\\'f1")); break; case 'o': - TexOutput("\\'f5"); + TexOutput(_T("\\'f5")); break; case 'A': - TexOutput("\\'c3"); + TexOutput(_T("\\'c3")); break; case 'N': - TexOutput("\\'d1"); + TexOutput(_T("\\'d1")); break; case 'O': - TexOutput("\\'d5"); + TexOutput(_T("\\'d5")); break; default: break; @@ -4015,55 +4021,54 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_UMLAUT: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { case 'a': - TexOutput("\\'e4"); + TexOutput(_T("\\'e4")); break; case 'e': - TexOutput("\\'eb"); + TexOutput(_T("\\'eb")); break; case 'i': - TexOutput("\\'ef"); + TexOutput(_T("\\'ef")); break; case 'o': - TexOutput("\\'f6"); + TexOutput(_T("\\'f6")); break; case 'u': - TexOutput("\\'fc"); + TexOutput(_T("\\'fc")); break; case 's': - TexOutput("\\'df"); + TexOutput(_T("\\'df")); break; case 'y': - TexOutput("\\'ff"); + TexOutput(_T("\\'ff")); break; case 'A': - TexOutput("\\'c4"); + TexOutput(_T("\\'c4")); break; case 'E': - TexOutput("\\'cb"); + TexOutput(_T("\\'cb")); break; case 'I': - TexOutput("\\'cf"); + TexOutput(_T("\\'cf")); break; case 'O': - TexOutput("\\'d6"); + TexOutput(_T("\\'d6")); break; case 'U': - TexOutput("\\'dc"); + TexOutput(_T("\\'dc")); break; case 'Y': - TexOutput("\\'df"); + TexOutput(_T("\\'df")); break; default: break; @@ -4071,22 +4076,21 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_DOT: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { case 'a': - TexOutput("\\'e5"); + TexOutput(_T("\\'e5")); break; case 'A': - TexOutput("\\'c5"); + TexOutput(_T("\\'c5")); break; default: break; @@ -4094,22 +4098,21 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_CADILLA: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { case 'c': - TexOutput("\\'e7"); + TexOutput(_T("\\'e7")); break; case 'C': - TexOutput("\\'c7"); + TexOutput(_T("\\'c7")); break; default: break; @@ -4117,11 +4120,10 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltFOOTNOTE: { - static char *helpTopic = NULL; + static wxChar *helpTopic = NULL; static FILE *savedOutput = NULL; if (winHelp) { @@ -4129,30 +4131,30 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (start) { - OnInform("Consider using \\footnotepopup instead of \\footnote."); + OnInform(_T("Consider using \\footnotepopup instead of \\footnote.")); footnoteCount ++; - char footBuf[20]; - sprintf(footBuf, "(%d)", footnoteCount); + wxChar footBuf[20]; + wxSprintf(footBuf, _T("(%d)"), footnoteCount); - TexOutput(" {\\ul "); + TexOutput(_T(" {\\ul ")); TexOutput(footBuf); - TexOutput("}"); + TexOutput(_T("}")); helpTopic = FindTopicName(NULL); - TexOutput("{\\v "); + TexOutput(_T("{\\v ")); // Remove green colour/underlining if specified if (!hotSpotUnderline && !hotSpotColour) - TexOutput("%"); + TexOutput(_T("%")); else if (!hotSpotColour) - TexOutput("*"); + TexOutput(_T("*")); TexOutput(helpTopic); - TexOutput("}"); + TexOutput(_T("}")); - fprintf(Popups, "\\page\n"); -// fprintf(Popups, "\n${\\footnote }"); // No title - fprintf(Popups, "\n#{\\footnote %s}\n", helpTopic); - fprintf(Popups, "+{\\footnote %s}\n", GetBrowseString()); + wxFprintf(Popups, _T("\\page\n")); +// wxFprintf(Popups, _T("\n${\\footnote }")); // No title + wxFprintf(Popups, _T("\n#{\\footnote %s}\n"), helpTopic); + wxFprintf(Popups, _T("+{\\footnote %s}\n"), GetBrowseString()); savedOutput = CurrentOutput1; SetCurrentOutput(Popups); } @@ -4168,19 +4170,18 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (start) { - TexOutput(" {\\super \\chftn{\\footnote \\fs20 {\\super \\chftn}", TRUE); + TexOutput(_T(" {\\super \\chftn{\\footnote \\fs20 {\\super \\chftn}"), TRUE); } else { - TexOutput("}}", TRUE); + TexOutput(_T("}}"), TRUE); } return TRUE; } - break; } case ltFOOTNOTEPOPUP: { - static char *helpTopic = NULL; + static wxChar *helpTopic = NULL; static FILE *savedOutput = NULL; if (winHelp) { @@ -4188,9 +4189,9 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (start) { - TexOutput("{\\ul "); + TexOutput(_T("{\\ul ")); } - else TexOutput("}"); + else TexOutput(_T("}")); return TRUE; } else if (arg_no == 2) @@ -4198,21 +4199,21 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) if (start) { helpTopic = FindTopicName(NULL); - TexOutput("{\\v "); + TexOutput(_T("{\\v ")); // Remove green colour/underlining if specified if (!hotSpotUnderline && !hotSpotColour) - TexOutput("%"); + TexOutput(_T("%")); else if (!hotSpotColour) - TexOutput("*"); + TexOutput(_T("*")); TexOutput(helpTopic); - TexOutput("}"); + TexOutput(_T("}")); - fprintf(Popups, "\\page\n"); -// fprintf(Popups, "\n${\\footnote }"); // No title - fprintf(Popups, "\n#{\\footnote %s}\n", helpTopic); - fprintf(Popups, "+{\\footnote %s}\n", GetBrowseString()); + wxFprintf(Popups, _T("\\page\n")); +// wxFprintf(Popups, _T("\n${\\footnote }")); // No title + wxFprintf(Popups, _T("\n#{\\footnote %s}\n"), helpTopic); + wxFprintf(Popups, _T("+{\\footnote %s}\n"), GetBrowseString()); savedOutput = CurrentOutput1; SetCurrentOutput(Popups); } @@ -4229,11 +4230,11 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) return TRUE; if (start) { - TexOutput(" {\\super \\chftn{\\footnote \\fs20 {\\super \\chftn}", TRUE); + TexOutput(_T(" {\\super \\chftn{\\footnote \\fs20 {\\super \\chftn}"), TRUE); } else { - TexOutput("}}", TRUE); + TexOutput(_T("}}"), TRUE); } return TRUE; } @@ -4245,7 +4246,6 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) return FALSE; else return TRUE; - break; } case ltSETHEADER: { @@ -4261,32 +4261,32 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { case 1: LeftHeaderEven = GetArgChunk(); - if (strlen(GetArgData(LeftHeaderEven)) == 0) + if (wxStrlen(GetArgData(LeftHeaderEven)) == 0) LeftHeaderEven = NULL; break; case 2: CentreHeaderEven = GetArgChunk(); - if (strlen(GetArgData(CentreHeaderEven)) == 0) + if (wxStrlen(GetArgData(CentreHeaderEven)) == 0) CentreHeaderEven = NULL; break; case 3: RightHeaderEven = GetArgChunk(); - if (strlen(GetArgData(RightHeaderEven)) == 0) + if (wxStrlen(GetArgData(RightHeaderEven)) == 0) RightHeaderEven = NULL; break; case 4: LeftHeaderOdd = GetArgChunk(); - if (strlen(GetArgData(LeftHeaderOdd)) == 0) + if (wxStrlen(GetArgData(LeftHeaderOdd)) == 0) LeftHeaderOdd = NULL; break; case 5: CentreHeaderOdd = GetArgChunk(); - if (strlen(GetArgData(CentreHeaderOdd)) == 0) + if (wxStrlen(GetArgData(CentreHeaderOdd)) == 0) CentreHeaderOdd = NULL; break; case 6: RightHeaderOdd = GetArgChunk(); - if (strlen(GetArgData(RightHeaderOdd)) == 0) + if (wxStrlen(GetArgData(RightHeaderOdd)) == 0) RightHeaderOdd = NULL; OutputRTFHeaderCommands(); break; @@ -4295,7 +4295,6 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltSETFOOTER: { @@ -4311,32 +4310,32 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { case 1: LeftFooterEven = GetArgChunk(); - if (strlen(GetArgData(LeftFooterEven)) == 0) + if (wxStrlen(GetArgData(LeftFooterEven)) == 0) LeftFooterEven = NULL; break; case 2: CentreFooterEven = GetArgChunk(); - if (strlen(GetArgData(CentreFooterEven)) == 0) + if (wxStrlen(GetArgData(CentreFooterEven)) == 0) CentreFooterEven = NULL; break; case 3: RightFooterEven = GetArgChunk(); - if (strlen(GetArgData(RightFooterEven)) == 0) + if (wxStrlen(GetArgData(RightFooterEven)) == 0) RightFooterEven = NULL; break; case 4: LeftFooterOdd = GetArgChunk(); - if (strlen(GetArgData(LeftFooterOdd)) == 0) + if (wxStrlen(GetArgData(LeftFooterOdd)) == 0) LeftFooterOdd = NULL; break; case 5: CentreFooterOdd = GetArgChunk(); - if (strlen(GetArgData(CentreFooterOdd)) == 0) + if (wxStrlen(GetArgData(CentreFooterOdd)) == 0) CentreFooterOdd = NULL; break; case 6: RightFooterOdd = GetArgChunk(); - if (strlen(GetArgData(RightFooterOdd)) == 0) + if (wxStrlen(GetArgData(RightFooterOdd)) == 0) RightFooterOdd = NULL; OutputRTFFooterCommands(); break; @@ -4345,7 +4344,6 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltMARKRIGHT: { @@ -4359,13 +4357,12 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) LeftHeaderEven = NULL; CentreHeaderEven = NULL; RightHeaderEven = NULL; - OnInform("Consider using setheader/setfooter rather than markright."); + OnInform(_T("Consider using setheader/setfooter rather than markright.")); } RTFOnArgument(ltSETHEADER, 4, start); if (!start) OutputRTFHeaderCommands(); return FALSE; - break; } case ltMARKBOTH: { @@ -4383,10 +4380,9 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) LeftHeaderEven = NULL; CentreHeaderEven = NULL; RightHeaderEven = NULL; - OnInform("Consider using setheader/setfooter rather than markboth."); + OnInform(_T("Consider using setheader/setfooter rather than markboth.")); } return RTFOnArgument(ltSETHEADER, 1, start); - break; } case 2: { @@ -4394,7 +4390,6 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) if (!start) OutputRTFHeaderCommands(); return FALSE; - break; } } break; @@ -4409,16 +4404,15 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) if (winHelp) return FALSE; if (start) { - TexOutput("\\pgnrestart"); - char *data = GetArgData(); + TexOutput(_T("\\pgnrestart")); + wxChar *data = GetArgData(); if (currentNumberStyle) delete[] currentNumberStyle; currentNumberStyle = copystring(data); OutputNumberStyle(currentNumberStyle); - TexOutput("\n"); + TexOutput(_T("\n")); } return FALSE; - break; } case ltTWOCOLUMN: { @@ -4431,7 +4425,7 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); currentItemSep = ParseUnitArgument(val); return FALSE; } @@ -4440,18 +4434,17 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) case ltEVENSIDEMARGIN: { return FALSE; - break; } case ltODDSIDEMARGIN: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); int twips = (int)(20*ParseUnitArgument(val)); // Add an inch since in LaTeX it's specified minus an inch twips += 1440; CurrentLeftMarginOdd = twips; - sprintf(buf, "\\margl%d\n", twips); + wxSprintf(buf, _T("\\margl%d\n"), twips); TexOutput(buf); CurrentMarginParX = CurrentLeftMarginOdd + CurrentTextWidth + CurrentMarginParSep; @@ -4462,7 +4455,7 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); int twips = (int)(20*ParseUnitArgument(val)); CurrentMarginParWidth = twips; } @@ -4472,7 +4465,7 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); int twips = (int)(20*ParseUnitArgument(val)); CurrentMarginParSep = twips; CurrentMarginParX = CurrentLeftMarginOdd + CurrentTextWidth + CurrentMarginParSep; @@ -4483,7 +4476,7 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); int twips = (int)(20*ParseUnitArgument(val)); CurrentTextWidth = twips; @@ -4491,7 +4484,7 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) CurrentRightMarginOdd = PageWidth - CurrentTextWidth - CurrentLeftMarginOdd; CurrentRightMarginEven = PageWidth - CurrentTextWidth - CurrentLeftMarginEven; CurrentMarginParX = CurrentLeftMarginOdd + CurrentTextWidth + CurrentMarginParSep; - sprintf(buf, "\\margr%d\n", CurrentRightMarginOdd); + wxSprintf(buf, _T("\\margr%d\n"), CurrentRightMarginOdd); TexOutput(buf); } return FALSE; @@ -4503,12 +4496,12 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (winHelp) { - TexOutput("\\box\n"); - PushEnvironmentStyle("\\box"); + TexOutput(_T("\\box\n")); + PushEnvironmentStyle(_T("\\box")); } else { - sprintf(buf, "\\phpg\\posx%d\\absw%d\n", CurrentMarginParX, CurrentMarginParWidth); + wxSprintf(buf, _T("\\phpg\\posx%d\\absw%d\n"), CurrentMarginParX, CurrentMarginParWidth); TexOutput(buf); } return TRUE; @@ -4517,12 +4510,12 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (winHelp) { - TexOutput("\\par\\pard\n"); + TexOutput(_T("\\par\\pard\n")); PopEnvironmentStyle(); WriteEnvironmentStyles(); } else - TexOutput("\\par\\pard\n"); + TexOutput(_T("\\par\\pard\n")); issuedNewParagraph = 1; } return FALSE; @@ -4533,8 +4526,8 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (winHelp) { - TexOutput("\\box\n"); - PushEnvironmentStyle("\\box"); + TexOutput(_T("\\box\n")); + PushEnvironmentStyle(_T("\\box")); } else { @@ -4544,12 +4537,12 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) // mirror mode, on an even (left-hand) page. int x = PageWidth - CurrentRightMarginOdd - CurrentMarginParWidth - CurrentMarginParSep - CurrentTextWidth + GutterWidth; - sprintf(buf, "\\phpg\\posx%d\\absw%d\n", x, CurrentMarginParWidth); + wxSprintf(buf, _T("\\phpg\\posx%d\\absw%d\n"), x, CurrentMarginParWidth); TexOutput(buf); } else { - sprintf(buf, "\\phpg\\posx%d\\absw%d\n", CurrentMarginParX, CurrentMarginParWidth); + wxSprintf(buf, _T("\\phpg\\posx%d\\absw%d\n"), CurrentMarginParX, CurrentMarginParWidth); TexOutput(buf); } } @@ -4559,13 +4552,13 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (winHelp) { - TexOutput("\\par\\pard\n"); + TexOutput(_T("\\par\\pard\n")); PopEnvironmentStyle(); WriteEnvironmentStyles(); } else issuedNewParagraph = 1; - TexOutput("\\par\\pard\n"); + TexOutput(_T("\\par\\pard\n")); } return FALSE; } @@ -4573,23 +4566,21 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); int twips = (int)(20*ParseUnitArgument(val)); TwoColWidthA = twips; } return FALSE; - break; } case ltTWOCOLWIDTHB: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); int twips = (int)(20*ParseUnitArgument(val)); TwoColWidthB = twips; } return FALSE; - break; } case ltROW: case ltRULEDROW: @@ -4600,7 +4591,7 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) if (!compatibilityMode || (currentRowNumber > 0)) { - TexOutput("\\pard\\intbl"); + TexOutput(_T("\\pard\\intbl")); if (macroId == ltRULEDROW) ruleBottom = 1; @@ -4609,31 +4600,31 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) currentWidth += TableData[i].width; if (ruleTop == 1) { - TexOutput("\\clbrdrt\\brdrs\\brdrw15"); + TexOutput(_T("\\clbrdrt\\brdrs\\brdrw15")); } else if (ruleTop > 1) { - TexOutput("\\clbrdrt\\brdrdb\\brdrw15"); + TexOutput(_T("\\clbrdrt\\brdrdb\\brdrw15")); } if (ruleBottom == 1) { - TexOutput("\\clbrdrb\\brdrs\\brdrw15"); + TexOutput(_T("\\clbrdrb\\brdrs\\brdrw15")); } else if (ruleBottom > 1) { - TexOutput("\\clbrdrb\\brdrdb\\brdrw15"); + TexOutput(_T("\\clbrdrb\\brdrdb\\brdrw15")); } if (TableData[i].rightBorder) - TexOutput("\\clbrdrr\\brdrs\\brdrw15"); + TexOutput(_T("\\clbrdrr\\brdrs\\brdrw15")); if (TableData[i].leftBorder) - TexOutput("\\clbrdrl\\brdrs\\brdrw15"); + TexOutput(_T("\\clbrdrl\\brdrs\\brdrw15")); - sprintf(buf, "\\cellx%d", currentWidth); + wxSprintf(buf, _T("\\cellx%d"), currentWidth); TexOutput(buf); } - TexOutput("\\pard\\intbl\n"); + TexOutput(_T("\\pard\\intbl\n")); } ruleTop = 0; ruleBottom = 0; @@ -4642,8 +4633,8 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } else { -// TexOutput("\\cell\\row\\trowd\\trgaph108\\trleft-108\n"); - TexOutput("\\cell\\row\\trowd\\trgaph108\n"); +// TexOutput(_T("\\cell\\row\\trowd\\trgaph108\\trleft-108\n")); + TexOutput(_T("\\cell\\row\\trowd\\trgaph108\n")); } break; } @@ -4656,9 +4647,8 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { case 1: { - noMultiColumns = atoi(GetArgData()); + noMultiColumns = wxAtoi(GetArgData()); return FALSE; - break; } case 2: { @@ -4675,7 +4665,7 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) if (arg_no == 3) { for (int i = 1; i < noMultiColumns; i ++) - TexOutput("\\cell"); + TexOutput(_T("\\cell")); } } break; @@ -4685,7 +4675,7 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) if (start && (arg_no == 1)) { // indentLevel ++; -// TexOutput("\\fi0\n"); +// TexOutput(_T("\\fi0\n")); int oldIndent = 0; wxNode *node = itemizeStack.GetFirst(); if (node) @@ -4697,7 +4687,7 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) ItemizeStruc *struc = new ItemizeStruc(LATEX_INDENT, indentSize); itemizeStack.Insert(struc); - sprintf(buf, "\\tx%d\\li%d ", indentSize, indentSize); + wxSprintf(buf, _T("\\tx%d\\li%d "), indentSize, indentSize); PushEnvironmentStyle(buf); TexOutput(buf); return FALSE; @@ -4713,13 +4703,12 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } if (itemizeStack.GetCount() == 0) { - TexOutput("\\par\\pard\n"); + TexOutput(_T("\\par\\pard\n")); issuedNewParagraph = 1; WriteEnvironmentStyles(); } } return TRUE; - break; } /* case ltSIZEDBOX: @@ -4741,8 +4730,8 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) ItemizeStruc *struc = new ItemizeStruc(LATEX_INDENT, indentSize); itemizeStack.Insert(struc); - sprintf(buf, "\\tx%d\\li%d\\lr%d\\box%s ", indentSize, indentSize, indentSizeRight, - ((macroId == ltCENTEREDBOX) ? "\\brdrs" : "\\brdrdb")); + wxSprintf(buf, _T("\\tx%d\\li%d\\lr%d\\box%s "), indentSize, indentSize, indentSizeRight, + ((macroId == ltCENTEREDBOX) ? _T("\\brdrs") : _T("\\brdrdb"))); PushEnvironmentStyle(buf); TexOutput(buf); return FALSE; @@ -4758,7 +4747,7 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } if (itemizeStack.Number() == 0) { - TexOutput("\\par\\pard\n"); + TexOutput(_T("\\par\\pard\n")); issuedNewParagraph = 1; WriteEnvironmentStyles(); } @@ -4774,13 +4763,13 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (MinorDocumentStyleString) { - if (StringMatch("twoside", MinorDocumentStyleString)) + if (StringMatch(_T("twoside"), MinorDocumentStyleString)) // Mirror margins, switch on odd/even headers & footers, and break sections at odd pages - TexOutput("\\margmirror\\facingp\\sbkodd"); - if (StringMatch("twocolumn", MinorDocumentStyleString)) - TexOutput("\\cols2"); + TexOutput(_T("\\margmirror\\facingp\\sbkodd")); + if (StringMatch(_T("twocolumn"), MinorDocumentStyleString)) + TexOutput(_T("\\cols2")); } - TexOutput("\n"); + TexOutput(_T("\n")); } return FALSE; } @@ -4789,8 +4778,8 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (!start) { - char *text = GetArgData(); - if (strcmp(text, "yes") == 0 || strcmp(text, "on") == 0 || strcmp(text, "ok") == 0) + wxChar *text = GetArgData(); + if (wxStrcmp(text, _T("yes")) == 0 || wxStrcmp(text, _T("on")) == 0 || wxStrcmp(text, _T("ok")) == 0) hotSpotColour = TRUE; else hotSpotColour = FALSE; @@ -4801,8 +4790,8 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (!start) { - char *text = GetArgData(); - if (strcmp(text, "yes") == 0 || strcmp(text, "on") == 0 || strcmp(text, "ok") == 0) + wxChar *text = GetArgData(); + if (wxStrcmp(text, _T("yes")) == 0 || wxStrcmp(text, _T("on")) == 0 || wxStrcmp(text, _T("ok")) == 0) bitmapTransparency = TRUE; else bitmapTransparency = FALSE; @@ -4813,8 +4802,8 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (!start) { - char *text = GetArgData(); - if (strcmp(text, "yes") == 0 || strcmp(text, "on") == 0 || strcmp(text, "ok") == 0) + wxChar *text = GetArgData(); + if (wxStrcmp(text, _T("yes")) == 0 || wxStrcmp(text, _T("on")) == 0 || wxStrcmp(text, _T("ok")) == 0) hotSpotUnderline = TRUE; else hotSpotUnderline = FALSE; @@ -4825,25 +4814,24 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { if (arg_no == 1 && start) { - char *citeKey = GetArgData(); + wxChar *citeKey = GetArgData(); TexRef *ref = (TexRef *)TexReferences.Get(citeKey); if (ref) { if (ref->sectionNumber) delete[] ref->sectionNumber; - sprintf(buf, "[%d]", citeCount); + wxSprintf(buf, _T("[%d]"), citeCount); ref->sectionNumber = copystring(buf); } - TexOutput("\\li260\\fi-260 "); // Indent from 2nd line - sprintf(buf, "{\\b [%d]} ", citeCount); + TexOutput(_T("\\li260\\fi-260 ")); // Indent from 2nd line + wxSprintf(buf, _T("{\\b [%d]} "), citeCount); TexOutput(buf); citeCount ++; return FALSE; } if (arg_no == 2 && !start) - TexOutput("\\par\\pard\\par\n\n"); + TexOutput(_T("\\par\\pard\\par\n\n")); return TRUE; - break; } case ltTHEBIBLIOGRAPHY: { @@ -4855,12 +4843,12 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) if (!winHelp) { - fprintf(Chapters, "\\sect\\pgncont\\titlepg\n"); + wxFprintf(Chapters, _T("\\sect\\pgncont\\titlepg\n")); // If a non-custom page style, we generate the header now. - if (PageStyle && (strcmp(PageStyle, "plain") == 0 || - strcmp(PageStyle, "empty") == 0 || - strcmp(PageStyle, "headings") == 0)) + if (PageStyle && (wxStrcmp(PageStyle, _T("plain")) == 0 || + wxStrcmp(PageStyle, _T("empty")) == 0 || + wxStrcmp(PageStyle, _T("headings")) == 0)) { OutputRTFHeaderCommands(); OutputRTFFooterCommands(); @@ -4871,49 +4859,48 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) SetCurrentOutput(Contents); } else - fprintf(Chapters, "\\page\n"); + wxFprintf(Chapters, _T("\\page\n")); if (winHelp) - fprintf(Contents, "\n{\\uldb %s}", ReferencesNameString); + wxFprintf(Contents, _T("\n{\\uldb %s}"), ReferencesNameString); else - fprintf(Contents, "\\par\n\\pard{\\b %s}", ReferencesNameString); + wxFprintf(Contents, _T("\\par\n\\pard{\\b %s}"), ReferencesNameString); startedSections = TRUE; if (winHelp) - fprintf(Chapters, "\n${\\footnote %s}", ReferencesNameString); + wxFprintf(Chapters, _T("\n${\\footnote %s}"), ReferencesNameString); - char *topicName = "bibliography"; + wxChar *topicName = _T("bibliography"); if (winHelp) - fprintf(Contents, "{\\v %s}\\par\\pard\n", topicName); + wxFprintf(Contents, _T("{\\v %s}\\par\\pard\n"), topicName); else - fprintf(Contents, "\\par\\par\\pard\n"); + wxFprintf(Contents, _T("\\par\\par\\pard\n")); if (winHelp) { - fprintf(Chapters, "\n#{\\footnote %s}\n", topicName); - fprintf(Chapters, "+{\\footnote %s}\n", GetBrowseString()); - fprintf(Chapters, "K{\\footnote {K} %s}\n", ReferencesNameString); + wxFprintf(Chapters, _T("\n#{\\footnote %s}\n"), topicName); + wxFprintf(Chapters, _T("+{\\footnote %s}\n"), GetBrowseString()); + wxFprintf(Chapters, _T("K{\\footnote {K} %s}\n"), ReferencesNameString); GenerateKeywordsForTopic(topicName); if (useUpButton) { - fprintf(Chapters, "!{\\footnote EnableButton(\"Up\");ChangeButtonBinding(\"Up\", \"JumpId(`%s.hlp', `%s')\")}\n", + wxFprintf(Chapters, _T("!{\\footnote EnableButton(\"Up\");ChangeButtonBinding(\"Up\", \"JumpId(`%s.hlp', `%s')\")}\n"), wxFileNameFromPath(FileRoot), "Contents"); } } SetCurrentOutput(Chapters); - char *styleCommand = ""; + wxChar *styleCommand = _T(""); if (!winHelp && useHeadingStyles) - styleCommand = "\\s1"; - fprintf(Chapters, "\\pard{%s", (winHelp ? "\\keepn\\sa140\\sb140" : styleCommand)); - WriteHeadingStyle(Chapters, 1); fprintf(Chapters, " References\\par\\pard}\n"); + styleCommand = _T("\\s1"); + wxFprintf(Chapters, _T("\\pard{%s"), (winHelp ? _T("\\keepn\\sa140\\sb140") : styleCommand)); + WriteHeadingStyle(Chapters, 1); wxFprintf(Chapters, _T(" References\\par\\pard}\n")); return FALSE; } return TRUE; - break; } case ltINDEX: { @@ -4928,8 +4915,8 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) */ if (start) { -// char *entry = GetArgData(); - char buf[300]; +// wxChar *entry = GetArgData(); + wxChar buf[300]; OutputChunkToString(GetArgChunk(), buf); if (winHelp) { @@ -4941,7 +4928,6 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) else GenerateIndexEntry(buf); } return FALSE; - break; } case ltFCOL: case ltBCOL: @@ -4952,16 +4938,16 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { case 1: { - char *name = GetArgData(); + wxChar *name = GetArgData(); int pos = FindColourPosition(name); if (pos > -1) { - sprintf(buf, "{%s%d ", ((macroId == ltFCOL) ? "\\cf" : "\\cb"), pos); + wxSprintf(buf, _T("{%s%d "), ((macroId == ltFCOL) ? _T("\\cf") : _T("\\cb")), pos); TexOutput(buf); } else { - sprintf(buf, "Could not find colour name %s", name); + wxSprintf(buf, _T("Could not find colour name %s"), name); OnError(buf); } break; @@ -4969,7 +4955,6 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) case 2: { return TRUE; - break; } default: break; @@ -4977,42 +4962,39 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } else { - if (arg_no == 2) TexOutput("}"); + if (arg_no == 2) TexOutput(_T("}")); } return FALSE; - break; } case ltLABEL: { if (start && !winHelp && useWord) { - char *s = GetArgData(); + wxChar *s = GetArgData(); // Only insert a bookmark here if it's not just been inserted // in a section heading. - if ( !CurrentTopic || !(strcmp(CurrentTopic, s) == 0) ) + if ( !CurrentTopic || !(wxStrcmp(CurrentTopic, s) == 0) ) /* - if ( (!CurrentChapterName || !(CurrentChapterName && (strcmp(CurrentChapterName, s) == 0))) && - (!CurrentSectionName || !(CurrentSectionName && (strcmp(CurrentSectionName, s) == 0))) && - (!CurrentSubsectionName || !(CurrentSubsectionName && (strcmp(CurrentSubsectionName, s) == 0))) + if ( (!CurrentChapterName || !(CurrentChapterName && (wxStrcmp(CurrentChapterName, s) == 0))) && + (!CurrentSectionName || !(CurrentSectionName && (wxStrcmp(CurrentSectionName, s) == 0))) && + (!CurrentSubsectionName || !(CurrentSubsectionName && (wxStrcmp(CurrentSubsectionName, s) == 0))) ) */ { - fprintf(Chapters, "{\\bkmkstart %s}{\\bkmkend %s}", s,s); + wxFprintf(Chapters, _T("{\\bkmkstart %s}{\\bkmkend %s}"), s,s); } } return FALSE; - break; } case ltPAGEREF: { if (start && useWord && !winHelp) { - char *s = GetArgData(); - fprintf(Chapters, "{\\field{\\*\\fldinst PAGEREF %s \\\\* MERGEFORMAT }{\\fldrslt ??}}", + wxChar *s = GetArgData(); + wxFprintf(Chapters, _T("{\\field{\\*\\fldinst PAGEREF %s \\\\* MERGEFORMAT }{\\fldrslt ??}}"), s); } return FALSE; - break; } case ltPOPREFONLY: { @@ -5038,8 +5020,8 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) { oldLevelFile = CurrentOutput1; - char *str = GetArgData(); - currentLevelNo = atoi(str); + wxChar *str = GetArgData(); + currentLevelNo = wxAtoi(str); FILE* outputFile; // TODO: cope with article style (no chapters) switch (currentLevelNo) @@ -5073,12 +5055,10 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) if (outputFile) CurrentOutput1 = outputFile; return FALSE; - break; } case 2: { return TRUE; - break; } default: break; @@ -5093,13 +5073,9 @@ bool RTFOnArgument(int macroId, int arg_no, bool start) } return TRUE; } - break; } default: - { return DefaultOnArgument(macroId, arg_no, start); - break; - } } return TRUE; } @@ -5132,87 +5108,87 @@ bool RTFGo(void) // recursively Text2RTF(GetTopLevelChunk()); - Contents = fopen(TmpContentsName, "w"); - Chapters = fopen("chapters.rtf", "w"); + Contents = wxFopen(TmpContentsName, _T("w")); + Chapters = wxFopen(_T("chapters.rtf"), _T("w")); if (winHelp) { - Sections = fopen("sections.rtf", "w"); - Subsections = fopen("subsections.rtf", "w"); - Subsubsections = fopen("subsubsections.rtf", "w"); - Popups = fopen("popups.rtf", "w"); + Sections = wxFopen(_T("sections.rtf"), _T("w")); + Subsections = wxFopen(_T("subsections.rtf"), _T("w")); + Subsubsections = wxFopen(_T("subsubsections.rtf"), _T("w")); + Popups = wxFopen(_T("popups.rtf"), _T("w")); if (winHelpContents) { - WinHelpContentsFile = fopen(WinHelpContentsFileName, "w"); + WinHelpContentsFile = wxFopen(WinHelpContentsFileName, _T("w")); if (WinHelpContentsFile) - fprintf(WinHelpContentsFile, ":Base %s.hlp\n", wxFileNameFromPath(FileRoot)); + wxFprintf(WinHelpContentsFile, _T(":Base %s.hlp\n"), wxFileNameFromPath(FileRoot)); } if (!Sections || !Subsections || !Subsubsections || !Popups || (winHelpContents && !WinHelpContentsFile)) { - OnError("Ouch! Could not open temporary file(s) for writing."); + OnError(_T("Ouch! Could not open temporary file(s) for writing.")); return FALSE; } } if (!Contents || !Chapters) { - OnError("Ouch! Could not open temporary file(s) for writing."); + OnError(_T("Ouch! Could not open temporary file(s) for writing.")); return FALSE; } if (winHelp) { - fprintf(Chapters, "\n#{\\footnote Contents}\n"); - fprintf(Chapters, "${\\footnote Contents}\n"); - fprintf(Chapters, "+{\\footnote %s}\n", GetBrowseString()); - fprintf(Chapters, "K{\\footnote {K} %s}\n", ContentsNameString); - fprintf(Chapters, "!{\\footnote DisableButton(\"Up\")}\n"); + wxFprintf(Chapters, _T("\n#{\\footnote Contents}\n")); + wxFprintf(Chapters, _T("${\\footnote Contents}\n")); + wxFprintf(Chapters, _T("+{\\footnote %s}\n"), GetBrowseString()); + wxFprintf(Chapters, _T("K{\\footnote {K} %s}\n"), ContentsNameString); + wxFprintf(Chapters, _T("!{\\footnote DisableButton(\"Up\")}\n")); } if (!winHelp) { - fprintf(Chapters, "\\titlepg\n"); - fprintf(Contents, "\\par\\pard\\pgnrestart\\sect\\titlepg"); + wxFprintf(Chapters, _T("\\titlepg\n")); + wxFprintf(Contents, _T("\\par\\pard\\pgnrestart\\sect\\titlepg")); } // In WinHelp, Contents title takes font of title. // In linear RTF, same as chapter headings. - fprintf(Contents, "{\\b\\fs%d %s}\\par\\par\\pard\n\n", + wxFprintf(Contents, _T("{\\b\\fs%d %s}\\par\\par\\pard\n\n"), (winHelp ? titleFont : chapterFont)*2, ContentsNameString); // By default, Swiss, 10 point. - fprintf(Chapters, "\\f2\\fs20\n"); + wxFprintf(Chapters, _T("\\f2\\fs20\n")); SetCurrentOutput(Chapters); if (stopRunning) return FALSE; - OnInform("Converting..."); + OnInform(_T("Converting...")); TraverseDocument(); - FILE *Header = fopen("header.rtf", "w"); + FILE *Header = wxFopen(_T("header.rtf"), _T("w")); if (!Header) { - OnError("Ouch! Could not open temporary file header.rtf for writing."); + OnError(_T("Ouch! Could not open temporary file header.rtf for writing.")); return FALSE; } WriteRTFHeader(Header); - fclose(Header); Header = NULL; + fclose(Header); Tex2RTFYield(TRUE); if (winHelp) { -// fprintf(Contents, "\\page\n"); - fprintf(Chapters, "\\page\n"); - fprintf(Sections, "\\page\n"); - fprintf(Subsections, "\\page\n"); - fprintf(Subsubsections, "\\page\n\n"); - fprintf(Popups, "\\page\n}\n"); +// wxFprintf(Contents, _T("\\page\n")); + wxFprintf(Chapters, _T("\\page\n")); + wxFprintf(Sections, _T("\\page\n")); + wxFprintf(Subsections, _T("\\page\n")); + wxFprintf(Subsubsections, _T("\\page\n\n")); + wxFprintf(Popups, _T("\\page\n}\n")); } -// TexOutput("\n\\info{\\doccomm Document created by Julian Smart's Tex2RTF.}\n"); +// TexOutput(_T("\n\\info{\\doccomm Document created by Julian Smart's Tex2RTF.}\n")); if (!winHelp) - TexOutput("}\n"); + TexOutput(_T("}\n")); fclose(Contents); Contents = NULL; fclose(Chapters); Chapters = NULL; if (winHelp) @@ -5229,30 +5205,30 @@ bool RTFGo(void) if (winHelp) { - wxConcatFiles("header.rtf", "chapters.rtf", "tmp1.rtf"); + wxConcatFiles(_T("header.rtf"), _T("chapters.rtf"), _T("tmp1.rtf")); Tex2RTFYield(TRUE); - wxConcatFiles("tmp1.rtf", "sections.rtf", "tmp2.rtf"); + wxConcatFiles(_T("tmp1.rtf"), _T("sections.rtf"), _T("tmp2.rtf")); Tex2RTFYield(TRUE); - wxConcatFiles("tmp2.rtf", "subsections.rtf", "tmp3.rtf"); + wxConcatFiles(_T("tmp2.rtf"), _T("subsections.rtf"), _T("tmp3.rtf")); Tex2RTFYield(TRUE); - wxConcatFiles("tmp3.rtf", "subsubsections.rtf", "tmp4.rtf"); + wxConcatFiles(_T("tmp3.rtf"), _T("subsubsections.rtf"), _T("tmp4.rtf")); Tex2RTFYield(TRUE); - wxConcatFiles("tmp4.rtf", "popups.rtf", OutputFile); + wxConcatFiles(_T("tmp4.rtf"), _T("popups.rtf"), OutputFile); Tex2RTFYield(TRUE); - wxRemoveFile("tmp1.rtf"); - wxRemoveFile("tmp2.rtf"); - wxRemoveFile("tmp3.rtf"); - wxRemoveFile("tmp4.rtf"); + wxRemoveFile(_T("tmp1.rtf")); + wxRemoveFile(_T("tmp2.rtf")); + wxRemoveFile(_T("tmp3.rtf")); + wxRemoveFile(_T("tmp4.rtf")); } else { - wxConcatFiles("header.rtf", "chapters.rtf", "tmp1.rtf"); + wxConcatFiles(_T("header.rtf"), _T("chapters.rtf"), _T("tmp1.rtf")); Tex2RTFYield(TRUE); if (wxFileExists(OutputFile)) wxRemoveFile(OutputFile); - char *cwdStr; + wxChar *cwdStr; cwdStr = wxGetWorkingDirectory(); wxString outputDirStr; @@ -5261,18 +5237,18 @@ bool RTFGo(void) // Determine if the temp file and the output file are in the same directory, // and if they are, then just rename the temp file rather than copying // it, as this is much faster when working with large (multi-megabyte files) - if ((wxStrcmp(outputDirStr.c_str(),"") == 0) || // no path specified on output file + if ((wxStrcmp(outputDirStr.c_str(),_T("")) == 0) || // no path specified on output file (wxStrcmp(cwdStr,outputDirStr.c_str()) == 0)) // paths do not match { - wxRenameFile("tmp1.rtf", OutputFile); + wxRenameFile(_T("tmp1.rtf"), OutputFile); } else { - wxCopyFile("tmp1.rtf", OutputFile); + wxCopyFile(_T("tmp1.rtf"), OutputFile); } delete [] cwdStr; Tex2RTFYield(TRUE); - wxRemoveFile("tmp1.rtf"); + wxRemoveFile(_T("tmp1.rtf")); } if (wxFileExists(ContentsName)) wxRemoveFile(ContentsName); @@ -5283,15 +5259,15 @@ bool RTFGo(void) wxRemoveFile(TmpContentsName); } - wxRemoveFile("chapters.rtf"); - wxRemoveFile("header.rtf"); + wxRemoveFile(_T("chapters.rtf")); + wxRemoveFile(_T("header.rtf")); if (winHelp) { - wxRemoveFile("sections.rtf"); - wxRemoveFile("subsections.rtf"); - wxRemoveFile("subsubsections.rtf"); - wxRemoveFile("popups.rtf"); + wxRemoveFile(_T("sections.rtf")); + wxRemoveFile(_T("subsections.rtf")); + wxRemoveFile(_T("subsubsections.rtf")); + wxRemoveFile(_T("popups.rtf")); } if (winHelp && generateHPJ) WriteHPJ(OutputFile); diff --git a/utils/tex2rtf/src/rtfutils.h b/utils/tex2rtf/src/rtfutils.h index 9f2cf955db..8eef489bf2 100644 --- a/utils/tex2rtf/src/rtfutils.h +++ b/utils/tex2rtf/src/rtfutils.h @@ -43,7 +43,7 @@ void Text2RTF(TexChunk *chunk); * */ -void PushEnvironmentStyle(char *style); +void PushEnvironmentStyle(wxChar *style); void PopEnvironmentStyle(void); @@ -51,10 +51,10 @@ void PopEnvironmentStyle(void); void WriteEnvironmentStyles(void); // Called on start/end of macro examination -void DefaultRtfOnMacro(char *name, int no_args, bool start); +void DefaultRtfOnMacro(wxChar *name, int no_args, bool start); // Called on start/end of argument examination -bool DefaultRtfOnArgument(char *macro_name, int arg_no, bool start); +bool DefaultRtfOnArgument(wxChar *macro_name, int arg_no, bool start); // Reset memory of which levels have 'books' (for WinHelp 4 contents file) void ResetContentsLevels(int level); diff --git a/utils/tex2rtf/src/table.cpp b/utils/tex2rtf/src/table.cpp index 6d4b41dd42..113d5d4701 100644 --- a/utils/tex2rtf/src/table.cpp +++ b/utils/tex2rtf/src/table.cpp @@ -57,11 +57,11 @@ int currentRowNumber = 0; * */ -bool ParseTableArgument(char *value) +bool ParseTableArgument(wxChar *value) { noColumns = 0; int i = 0; - int len = strlen(value); + int len = wxStrlen(value); bool isBorder = FALSE; while (i < len) { @@ -111,7 +111,7 @@ bool ParseTableArgument(char *value) { i ++; int j = 0; - char numberBuf[50]; + wxChar numberBuf[50]; ch = value[i]; if (ch == '{') { @@ -145,8 +145,8 @@ bool ParseTableArgument(char *value) } else { - char *buf = new char[strlen(value) + 80]; - sprintf(buf, "Tabular first argument \"%s\" too complex!", value); + wxChar *buf = new wxChar[wxStrlen(value) + 80]; + wxSprintf(buf, _T("Tabular first argument \"%s\" too complex!"), value); OnError(buf); delete[] buf; return FALSE; diff --git a/utils/tex2rtf/src/table.h b/utils/tex2rtf/src/table.h index d2235f2394..4597318e3a 100644 --- a/utils/tex2rtf/src/table.h +++ b/utils/tex2rtf/src/table.h @@ -33,4 +33,4 @@ extern int noColumns; // Current number of columns in table extern int ruleTop; extern int ruleBottom; extern int currentRowNumber; -extern bool ParseTableArgument(char *value); +extern bool ParseTableArgument(wxChar *value); diff --git a/utils/tex2rtf/src/tex2any.cpp b/utils/tex2rtf/src/tex2any.cpp index de7e4b662a..8d595fdecb 100644 --- a/utils/tex2rtf/src/tex2any.cpp +++ b/utils/tex2rtf/src/tex2any.cpp @@ -55,14 +55,14 @@ TexChunk * CentreHeaderOdd = NULL; TexChunk * CentreFooterOdd = NULL; TexChunk * RightHeaderOdd = NULL; TexChunk * RightFooterOdd = NULL; -char * PageStyle = copystring("plain"); +wxChar * PageStyle = copystring(_T("plain")); int DocumentStyle = LATEX_REPORT; int MinorDocumentStyle = 0; wxPathList TexPathList; -char * BibliographyStyleString = copystring("plain"); -char * DocumentStyleString = copystring("report"); -char * MinorDocumentStyleString = NULL; +wxChar * BibliographyStyleString = copystring(_T("plain")); +wxChar * DocumentStyleString = copystring(_T("report")); +wxChar * MinorDocumentStyleString = NULL; int ParSkip = 0; int ParIndent = 0; @@ -80,18 +80,18 @@ int HUGEFont3 = 28; // text) and must start at the first character of the line, or tex2rtf // will fail to process them correctly (a limitation of tex2rtf, not TeX) static const wxString syntaxTokens[] = -{ "\\begin{verbatim}", - "\\begin{toocomplex}", - "\\end{verbatim}", - "\\end{toocomplex}", - "\\verb", - "\\begin{comment}", - "\\end{comment}", - "\\verbatiminput", -// "\\par", - "\\input", - "\\helpinput", - "\\include", +{ _T("\\begin{verbatim}"), + _T("\\begin{toocomplex}"), + _T("\\end{verbatim}"), + _T("\\end{toocomplex}"), + _T("\\verb"), + _T("\\begin{comment}"), + _T("\\end{comment}"), + _T("\\verbatiminput"), +// _T("\\par"), + _T("\\input"), + _T("\\helpinput"), + _T("\\include"), wxEmptyString }; @@ -119,7 +119,7 @@ bool footerRule = FALSE; bool compatibilityMode = FALSE; // If TRUE, maximum Latex compatibility // (Quality of RTF generation deteriorate) bool generateHPJ; // Generate WinHelp Help Project file -char *winHelpTitle = NULL; // Windows Help title +wxChar *winHelpTitle = NULL; // Windows Help title int defaultTableColumnWidth = 2000; int labelIndentTab = 18; // From left indent to item label (points) @@ -133,24 +133,24 @@ int winHelpVersion = 3; // WinHelp Version (3 for Windows 3.1, 4 for bool winHelpContents = FALSE; // Generate .cnt file for WinHelp 4 bool htmlIndex = FALSE; // Generate .htx file for HTML bool htmlFrameContents = FALSE; // Use frames for HTML contents page -char *htmlStylesheet = NULL; // Use this CSS stylesheet for HTML pages +wxChar *htmlStylesheet = NULL; // Use this CSS stylesheet for HTML pages bool useHeadingStyles = TRUE; // Insert \s1, s2 etc. bool useWord = TRUE; // Insert proper Word table of contents, etc etc int contentsDepth = 4; // Depth of Word table of contents bool indexSubsections = TRUE; // Index subsections in linear RTF // Linear RTF method of including bitmaps. Can be "includepicture", "hex" -char *bitmapMethod = copystring("includepicture"); +wxChar *bitmapMethod = copystring(_T("includepicture")); bool upperCaseNames = FALSE; // HTML background and text colours -char *backgroundImageString = NULL; -char *backgroundColourString = copystring("255;255;255"); -char *textColourString = NULL; -char *linkColourString = NULL; -char *followedLinkColourString = NULL; +wxChar *backgroundImageString = NULL; +wxChar *backgroundColourString = copystring(_T("255;255;255")); +wxChar *textColourString = NULL; +wxChar *linkColourString = NULL; +wxChar *followedLinkColourString = NULL; bool combineSubSections = FALSE; bool htmlWorkshopFiles = FALSE; bool ignoreBadRefs = FALSE; -char *htmlFaceName = NULL; +wxChar *htmlFaceName = NULL; extern int passNumber; @@ -161,20 +161,20 @@ extern wxHashTable TexReferences; */ // Names to help with internationalisation -char *ContentsNameString = copystring("Contents"); -char *AbstractNameString = copystring("Abstract"); -char *GlossaryNameString = copystring("Glossary"); -char *ReferencesNameString = copystring("References"); -char *FiguresNameString = copystring("List of Figures"); -char *TablesNameString = copystring("List of Tables"); -char *FigureNameString = copystring("Figure"); -char *TableNameString = copystring("Table"); -char *IndexNameString = copystring("Index"); -char *ChapterNameString = copystring("chapter"); -char *SectionNameString = copystring("section"); -char *SubsectionNameString = copystring("subsection"); -char *SubsubsectionNameString = copystring("subsubsection"); -char *UpNameString = copystring("Up"); +wxChar *ContentsNameString = copystring(_T("Contents")); +wxChar *AbstractNameString = copystring(_T("Abstract")); +wxChar *GlossaryNameString = copystring(_T("Glossary")); +wxChar *ReferencesNameString = copystring(_T("References")); +wxChar *FiguresNameString = copystring(_T("List of Figures")); +wxChar *TablesNameString = copystring(_T("List of Tables")); +wxChar *FigureNameString = copystring(_T("Figure")); +wxChar *TableNameString = copystring(_T("Table")); +wxChar *IndexNameString = copystring(_T("Index")); +wxChar *ChapterNameString = copystring(_T("chapter")); +wxChar *SectionNameString = copystring(_T("section")); +wxChar *SubsectionNameString = copystring(_T("subsection")); +wxChar *SubsubsectionNameString = copystring(_T("subsubsection")); +wxChar *UpNameString = copystring(_T("Up")); /* * Section numbering @@ -197,17 +197,17 @@ FILE *CurrentOutput1 = NULL; FILE *CurrentOutput2 = NULL; FILE *Inputs[15]; unsigned long LineNumbers[15]; -char *FileNames[15]; +wxChar *FileNames[15]; int CurrentInputIndex = 0; -char *TexFileRoot = NULL; -char *TexBibName = NULL; // Bibliography output file name -char *TexTmpBibName = NULL; // Temporary bibliography output file name +wxChar *TexFileRoot = NULL; +wxChar *TexBibName = NULL; // Bibliography output file name +wxChar *TexTmpBibName = NULL; // Temporary bibliography output file name bool isSync = FALSE; // If TRUE, should not yield to other processes. bool stopRunning = FALSE; // If TRUE, should abort. static int currentColumn = 0; -char *currentArgData = NULL; +wxChar *currentArgData = NULL; bool haveArgData = FALSE; // If TRUE, we're simulating the data. TexChunk *currentArgument = NULL; TexChunk *nextChunk = NULL; @@ -218,20 +218,20 @@ TexChunk *TopLevel = NULL; // wxList MacroDefs(wxKEY_STRING); wxHashTable MacroDefs(wxKEY_STRING); wxStringList IgnorableInputFiles; // Ignorable \input files, e.g. psbox.tex -char *BigBuffer = NULL; // For reading in large chunks of text +wxChar *BigBuffer = NULL; // For reading in large chunks of text TexMacroDef *SoloBlockDef = NULL; TexMacroDef *VerbatimMacroDef = NULL; #define IncrementLineNumber() LineNumbers[CurrentInputIndex] ++ -TexRef::TexRef(const char *label, const char *file, - const char *section, const char *sectionN) +TexRef::TexRef(const wxChar *label, const wxChar *file, + const wxChar *section, const wxChar *sectionN) { refLabel = copystring(label); - refFile = file ? copystring(file) : (char*) NULL; - sectionNumber = section ? copystring(section) : copystring("??"); - sectionName = sectionN ? copystring(sectionN) : copystring("??"); + refFile = file ? copystring(file) : (wxChar*) NULL; + sectionNumber = section ? copystring(section) : copystring(_T("??")); + sectionName = sectionN ? copystring(sectionN) : copystring(_T("??")); } TexRef::~TexRef(void) @@ -251,9 +251,9 @@ CustomMacro::~CustomMacro() delete [] macroBody; } -void TexOutput(const char *s, bool ordinaryText) +void TexOutput(const wxChar *s, bool ordinaryText) { - int len = strlen(s); + int len = wxStrlen(s); // Update current column, but only if we're guaranteed to // be ordinary text (not mark-up stuff) @@ -268,9 +268,9 @@ void TexOutput(const char *s, bool ordinaryText) } if (CurrentOutput1) - fprintf(CurrentOutput1, "%s", s); + wxFprintf(CurrentOutput1, _T("%s"), s); if (CurrentOutput2) - fprintf(CurrentOutput2, "%s", s); + wxFprintf(CurrentOutput2, _T("%s"), s); } /* @@ -287,14 +287,14 @@ void ForbidWarning(TexMacroDef *def) { case FORBID_WARN: { - informBuf.Printf("Warning: it is recommended that command %s is not used.", def->name); - OnInform((char *)informBuf.c_str()); + informBuf.Printf(_T("Warning: it is recommended that command %s is not used."), def->name); + OnInform((const wxChar *)informBuf.c_str()); break; } case FORBID_ABSOLUTELY: { - informBuf.Printf("Error: command %s cannot be used and will lead to errors.", def->name); - OnInform((char *)informBuf.c_str()); + informBuf.Printf(_T("Error: command %s cannot be used and will lead to errors."), def->name); + OnInform((const wxChar *)informBuf.c_str()); break; } default: @@ -302,15 +302,15 @@ void ForbidWarning(TexMacroDef *def) } } -TexMacroDef *MatchMacro(char *buffer, int *pos, char **env, bool *parseToBrace) +TexMacroDef *MatchMacro(wxChar *buffer, int *pos, wxChar **env, bool *parseToBrace) { *parseToBrace = TRUE; int i = (*pos); TexMacroDef *def = NULL; - char macroBuf[40]; + wxChar macroBuf[40]; // First, try to find begin{thing} - if (strncmp(buffer+i, "begin{", 6) == 0) + if (wxStrncmp(buffer+i, _T("begin{"), 6) == 0) { i += 6; @@ -381,9 +381,9 @@ TexMacroDef *MatchMacro(char *buffer, int *pos, char **env, bool *parseToBrace) return NULL; } -void EatWhiteSpace(char *buffer, int *pos) +void EatWhiteSpace(wxChar *buffer, int *pos) { - int len = strlen(buffer); + int len = wxStrlen(buffer); int j = *pos; bool keepGoing = TRUE; bool moreLines = TRUE; @@ -396,7 +396,7 @@ void EatWhiteSpace(char *buffer, int *pos) if (moreLines) { moreLines = read_a_line(buffer); - len = strlen(buffer); + len = wxStrlen(buffer); j = 0; } else @@ -406,15 +406,15 @@ void EatWhiteSpace(char *buffer, int *pos) *pos = j; } -bool FindEndEnvironment(char *buffer, int *pos, char *env) +bool FindEndEnvironment(wxChar *buffer, int *pos, wxChar *env) { int i = (*pos); // Try to find end{thing} - if ((strncmp(buffer+i, "end{", 4) == 0) && - (strncmp(buffer+i+4, env, strlen(env)) == 0)) + if ((wxStrncmp(buffer+i, _T("end{"), 4) == 0) && + (wxStrncmp(buffer+i+4, env, wxStrlen(env)) == 0)) { - *pos = i + 5 + strlen(env); + *pos = i + 5 + wxStrlen(env); return TRUE; } else return FALSE; @@ -429,9 +429,9 @@ bool readInVerbatim = FALSE; // Within a verbatim, but not nec. verbatiminput unsigned long leftCurley = 0; unsigned long rightCurley = 0; -static wxString currentFileName = ""; +static wxString currentFileName = _T(""); -bool read_a_line(char *buf) +bool read_a_line(wxChar *buf) { if (CurrentInputIndex < 0) { @@ -448,14 +448,14 @@ bool read_a_line(char *buf) if (bufIndex >= MAX_LINE_BUFFER_SIZE) { wxString errBuf; - errBuf.Printf("Line %lu of file %s is too long. Lines can be no longer than %lu characters. Truncated.", - LineNumbers[CurrentInputIndex], (const char*) currentFileName.c_str(), MAX_LINE_BUFFER_SIZE); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T("Line %lu of file %s is too long. Lines can be no longer than %lu characters. Truncated."), + LineNumbers[CurrentInputIndex], (const wxChar*) currentFileName.c_str(), MAX_LINE_BUFFER_SIZE); + OnError((wxChar *)errBuf.c_str()); return FALSE; } - if (((bufIndex == 14) && (strncmp(buf, "\\end{verbatim}", 14) == 0)) || - ((bufIndex == 16) && (strncmp(buf, "\\end{toocomplex}", 16) == 0))) + if (((bufIndex == 14) && (wxStrncmp(buf, _T("\\end{verbatim}"), 14) == 0)) || + ((bufIndex == 16) && (wxStrncmp(buf, _T("\\end{toocomplex}"), 16) == 0))) readInVerbatim = FALSE; ch = getc(Inputs[CurrentInputIndex]); @@ -470,8 +470,8 @@ bool read_a_line(char *buf) if (rightCurley > leftCurley) { wxString errBuf; - errBuf.Printf("An extra right Curley brace ('}') was detected at line %lu inside file %s", LineNumbers[CurrentInputIndex], (const char*) currentFileName.c_str()); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T("An extra right Curley brace ('}') was detected at line %lu inside file %s"), LineNumbers[CurrentInputIndex], (const wxChar*) currentFileName.c_str()); + OnError((wxChar *)errBuf.c_str()); // Reduce the count of right Curley braces, so the mismatched count // isn't reported on every line that has a '}' after the first mismatch @@ -490,20 +490,20 @@ bool read_a_line(char *buf) { // Eliminate newline (10) following DOS linefeed if (ch1 == 13) - ch1 = getc(Inputs[CurrentInputIndex]); + getc(Inputs[CurrentInputIndex]); buf[bufIndex] = 0; IncrementLineNumber(); -// strcat(buf, "\\par\n"); +// wxStrcat(buf, "\\par\n"); // i += 6; if (bufIndex+5 >= MAX_LINE_BUFFER_SIZE) { wxString errBuf; - errBuf.Printf("Line %lu of file %s is too long. Lines can be no longer than %lu characters. Truncated.", - LineNumbers[CurrentInputIndex], (const char*) currentFileName.c_str(),MAX_LINE_BUFFER_SIZE); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T("Line %lu of file %s is too long. Lines can be no longer than %lu characters. Truncated."), + LineNumbers[CurrentInputIndex], (const wxChar*) currentFileName.c_str(),MAX_LINE_BUFFER_SIZE); + OnError((wxChar *)errBuf.c_str()); return FALSE; } - strcat(buf, "\\par"); + wxStrcat(buf, _T("\\par")); bufIndex += 5; } @@ -513,9 +513,9 @@ bool read_a_line(char *buf) if (bufIndex >= MAX_LINE_BUFFER_SIZE) { wxString errBuf; - errBuf.Printf("Line %lu of file %s is too long. Lines can be no longer than %lu characters. Truncated.", - LineNumbers[CurrentInputIndex], (const char*) currentFileName.c_str(),MAX_LINE_BUFFER_SIZE); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T("Line %lu of file %s is too long. Lines can be no longer than %lu characters. Truncated."), + LineNumbers[CurrentInputIndex], (const wxChar*) currentFileName.c_str(),MAX_LINE_BUFFER_SIZE); + OnError((wxChar *)errBuf.c_str()); return FALSE; } @@ -538,9 +538,9 @@ bool read_a_line(char *buf) if (bufIndex+5 >= MAX_LINE_BUFFER_SIZE) { wxString errBuf; - errBuf.Printf("Line %lu of file %s is too long. Lines can be no longer than %lu characters. Truncated.", - LineNumbers[CurrentInputIndex], (const char*) currentFileName.c_str(),MAX_LINE_BUFFER_SIZE); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T("Line %lu of file %s is too long. Lines can be no longer than %lu characters. Truncated."), + LineNumbers[CurrentInputIndex], (const wxChar*) currentFileName.c_str(),MAX_LINE_BUFFER_SIZE); + OnError((wxChar *)errBuf.c_str()); return FALSE; } buf[bufIndex++]='\\'; @@ -561,9 +561,9 @@ bool read_a_line(char *buf) if (bufIndex+5 >= MAX_LINE_BUFFER_SIZE) { wxString errBuf; - errBuf.Printf("Line %lu of file %s is too long. Lines can be no longer than %lu characters. Truncated.", - LineNumbers[CurrentInputIndex], (const char*) currentFileName.c_str(),MAX_LINE_BUFFER_SIZE); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T("Line %lu of file %s is too long. Lines can be no longer than %lu characters. Truncated."), + LineNumbers[CurrentInputIndex], (const wxChar*) currentFileName.c_str(),MAX_LINE_BUFFER_SIZE); + OnError((wxChar *)errBuf.c_str()); return FALSE; } buf[bufIndex++]='\\'; @@ -576,9 +576,9 @@ bool read_a_line(char *buf) if (bufIndex >= MAX_LINE_BUFFER_SIZE) { wxString errBuf; - errBuf.Printf("Line %lu of file %s is too long. Lines can be no longer than %lu characters. Truncated.", - LineNumbers[CurrentInputIndex], (const char*) currentFileName.c_str(),MAX_LINE_BUFFER_SIZE); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T("Line %lu of file %s is too long. Lines can be no longer than %lu characters. Truncated."), + LineNumbers[CurrentInputIndex], (const wxChar*) currentFileName.c_str(),MAX_LINE_BUFFER_SIZE); + OnError((wxChar *)errBuf.c_str()); return FALSE; } // If the current character read in is a '_', we need to check @@ -597,8 +597,9 @@ bool read_a_line(char *buf) if ((bufIndex > 0 && (buf[bufIndex-1] == '\\')) && (buf[0] != '%')) { wxString errBuf; - errBuf.Printf("An underscore ('_') was detected at line %lu inside file %s that should NOT have a '\\' before it.",LineNumbers[CurrentInputIndex], (const char*) currentFileName.c_str()); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T("An underscore ('_') was detected at line %lu inside file %s that should NOT have a '\\' before it."), + LineNumbers[CurrentInputIndex], (const wxChar*) currentFileName.c_str()); + OnError((wxChar *)errBuf.c_str()); } } else @@ -607,15 +608,17 @@ bool read_a_line(char *buf) if (bufIndex == 0) { wxString errBuf; - errBuf.Printf("An underscore ('_') was detected at line %lu inside file %s that may need a '\\' before it.",LineNumbers[CurrentInputIndex], (const char*) currentFileName.c_str()); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T("An underscore ('_') was detected at line %lu inside file %s that may need a '\\' before it."), + LineNumbers[CurrentInputIndex], (const wxChar*) currentFileName.c_str()); + OnError((wxChar *)errBuf.c_str()); } else if ((buf[bufIndex-1] != '\\') && (buf[0] != '%') && // If it is a comment line, then no warnings - (strncmp(buf, "\\input", 6))) // do not report filenames that have underscores in them + (wxStrncmp(buf, _T("\\input"), 6))) // do not report filenames that have underscores in them { wxString errBuf; - errBuf.Printf("An underscore ('_') was detected at line %lu inside file %s that may need a '\\' before it.",LineNumbers[CurrentInputIndex], (const char*) currentFileName.c_str()); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T("An underscore ('_') was detected at line %lu inside file %s that may need a '\\' before it."), + LineNumbers[CurrentInputIndex], (const wxChar*) currentFileName.c_str()); + OnError((wxChar *)errBuf.c_str()); } } } @@ -638,8 +641,9 @@ bool read_a_line(char *buf) if (leftCurley != rightCurley) { wxString errBuf; - errBuf.Printf("Curley braces do not match inside file %s\n%lu opens, %lu closes", (const char*) currentFileName.c_str(),leftCurley,rightCurley); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T("Curley braces do not match inside file %s\n%lu opens, %lu closes"), + (const wxChar*) currentFileName.c_str(),leftCurley,rightCurley); + OnError((wxChar *)errBuf.c_str()); } leftCurley = 0; rightCurley = 0; @@ -649,7 +653,7 @@ bool read_a_line(char *buf) { readingVerbatim = FALSE; readInVerbatim = FALSE; - strcat(buf, "\\end{verbatim}\n"); + wxStrcat(buf, _T("\\end{verbatim}\n")); return FALSE; } } @@ -659,23 +663,23 @@ bool read_a_line(char *buf) buf[bufIndex] = 0; // Strip out comment environment - if (strncmp(buf, "\\begin{comment}", 15) == 0) + if (wxStrncmp(buf, _T("\\begin{comment}"), 15) == 0) { - while (strncmp(buf, "\\end{comment}", 13) != 0) + while (wxStrncmp(buf, _T("\\end{comment}"), 13) != 0) read_a_line(buf); return read_a_line(buf); } // Read a verbatim input file as if it were a verbatim environment - else if (strncmp(buf, "\\verbatiminput", 14) == 0) + else if (wxStrncmp(buf, _T("\\verbatiminput"), 14) == 0) { int wordLen = 14; - char *fileName = buf + wordLen + 1; + wxChar *fileName = buf + wordLen + 1; int j = bufIndex - 1; buf[j] = 0; // thing}\par -- eliminate the \par! - if (strncmp((buf + strlen(buf)-5), "\\par", 4) == 0) + if (wxStrncmp((buf + wxStrlen(buf)-5), _T("\\par"), 4) == 0) { j -= 5; buf[j] = 0; @@ -686,20 +690,20 @@ bool read_a_line(char *buf) wxString actualFile = TexPathList.FindValidPath(fileName); currentFileName = actualFile; - if (actualFile == "") + if (actualFile == _T("")) { wxString errBuf; - errBuf.Printf("Could not find file: %s",fileName); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T("Could not find file: %s"),fileName); + OnError((wxChar *)errBuf.c_str()); } else { wxString informStr; - informStr.Printf("Processing: %s",actualFile.c_str()); - OnInform((char *)informStr.c_str()); + informStr.Printf(_T("Processing: %s"),actualFile.c_str()); + OnInform((wxChar *)informStr.c_str()); CurrentInputIndex ++; - Inputs[CurrentInputIndex] = fopen(actualFile, "r"); + Inputs[CurrentInputIndex] = wxFopen(actualFile, _T("r")); LineNumbers[CurrentInputIndex] = 1; if (FileNames[CurrentInputIndex]) delete[] FileNames[CurrentInputIndex]; @@ -708,71 +712,71 @@ bool read_a_line(char *buf) if (!Inputs[CurrentInputIndex]) { CurrentInputIndex --; - OnError("Could not open verbatiminput file."); + OnError(_T("Could not open verbatiminput file.")); } else { readingVerbatim = TRUE; readInVerbatim = TRUE; - strcpy(buf, "\\begin{verbatim}\n"); + wxStrcpy(buf, _T("\\begin{verbatim}\n")); return FALSE; } } return FALSE; } - else if (strncmp(buf, "\\input", 6) == 0 || strncmp(buf, "\\helpinput", 10) == 0 || - strncmp(buf, "\\include", 8) == 0) + else if (wxStrncmp(buf, _T("\\input"), 6) == 0 || wxStrncmp(buf, _T("\\helpinput"), 10) == 0 || + wxStrncmp(buf, _T("\\include"), 8) == 0) { int wordLen; - if (strncmp(buf, "\\input", 6) == 0) + if (wxStrncmp(buf, _T("\\input"), 6) == 0) wordLen = 6; else - if (strncmp(buf, "\\include", 8) == 0) + if (wxStrncmp(buf, _T("\\include"), 8) == 0) wordLen = 8; else wordLen = 10; - char *fileName = buf + wordLen + 1; + wxChar *fileName = buf + wordLen + 1; int j = bufIndex - 1; buf[j] = 0; // \input{thing}\par -- eliminate the \par! -// if (strncmp((buf + strlen(buf)-5), "\\par", 4) == 0) - if (strncmp((buf + strlen(buf)-4), "\\par", 4) == 0) // Bug fix 8/2/95 Ulrich Leodolter +// if (wxStrncmp((buf + wxStrlen(buf)-5), "\\par", 4) == 0) + if (wxStrncmp((buf + wxStrlen(buf)-4), _T("\\par"), 4) == 0) // Bug fix 8/2/95 Ulrich Leodolter { // j -= 5; j -= 4; // Ditto buf[j] = 0; } - if (buf[j-1] == '}') + if (buf[j-1] == _T('}')) buf[j-1] = 0; // Ignore final brace // Remove backslashes from name wxString fileNameStr(fileName); - fileNameStr.Replace("\\", ""); + fileNameStr.Replace(_T("\\"), _T("")); // Ignore some types of input files (e.g. macro definition files) - char *fileOnly = wxFileNameFromPath((char*) (const char*) fileNameStr); + wxChar *fileOnly = wxFileNameFromPath((wxChar*) (const wxChar*) fileNameStr); currentFileName = fileOnly; if (IgnorableInputFiles.Member(fileOnly)) return read_a_line(buf); wxString actualFile = TexPathList.FindValidPath(fileNameStr); - if (actualFile == "") + if (actualFile == _T("")) { - char buf2[400]; - sprintf(buf2, "%s.tex", (const char*) fileNameStr); + wxChar buf2[400]; + wxSprintf(buf2, _T("%s.tex"), fileNameStr.c_str()); actualFile = TexPathList.FindValidPath(buf2); } currentFileName = actualFile; - if (actualFile == "") + if (actualFile == _T("")) { wxString errBuf; - errBuf.Printf("Could not find file: %s",fileName); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T("Could not find file: %s"),fileName); + OnError((wxChar *)errBuf.c_str()); } else { @@ -781,11 +785,11 @@ bool read_a_line(char *buf) TexPathList.EnsureFileAccessible(actualFile); wxString informStr; - informStr.Printf("Processing: %s",actualFile.c_str()); - OnInform((char *)informStr.c_str()); + informStr.Printf(_T("Processing: %s"),actualFile.c_str()); + OnInform((wxChar *)informStr.c_str()); CurrentInputIndex ++; - Inputs[CurrentInputIndex] = fopen(actualFile, "r"); + Inputs[CurrentInputIndex] = wxFopen(actualFile, _T("r")); LineNumbers[CurrentInputIndex] = 1; if (FileNames[CurrentInputIndex]) delete[] FileNames[CurrentInputIndex]; @@ -794,9 +798,9 @@ bool read_a_line(char *buf) if (!Inputs[CurrentInputIndex]) { wxString errBuf; - errBuf.Printf("Could not open include file %s", (const char*) actualFile); + errBuf.Printf(_T("Could not open include file %s"), (const wxChar*) actualFile); CurrentInputIndex --; - OnError((char *)errBuf.c_str()); + OnError((wxChar *)errBuf.c_str()); } } bool succ = read_a_line(buf); @@ -806,42 +810,40 @@ bool read_a_line(char *buf) if (checkSyntax) { wxString bufStr = buf; - int index = 0; - size_t pos = 0; - for (index=0; syntaxTokens[index] != wxEmptyString; index++) + for (int index=0; syntaxTokens[index] != wxEmptyString; index++) { - pos = bufStr.find(syntaxTokens[index]); + size_t pos = bufStr.find(syntaxTokens[index]); if (pos != wxString::npos && pos != 0) { - size_t commentStart = bufStr.find("%"); + size_t commentStart = bufStr.find(_T("%")); if (commentStart == wxString::npos || commentStart > pos) { wxString errBuf; - if (syntaxTokens[index] == "\\verb") + if (syntaxTokens[index] == _T("\\verb")) { - errBuf.Printf("'%s$....$' was detected at line %lu inside file %s. Please replace this form with \\tt{....}", + errBuf.Printf(_T("'%s$....$' was detected at line %lu inside file %s. Please replace this form with \\tt{....}"), syntaxTokens[index].c_str(), LineNumbers[CurrentInputIndex], currentFileName.c_str()); } else { - errBuf.Printf("'%s' was detected at line %lu inside file %s that is not the only text on the line, starting at column one.", + errBuf.Printf(_T("'%s' was detected at line %lu inside file %s that is not the only text on the line, starting at column one."), syntaxTokens[index].c_str(), LineNumbers[CurrentInputIndex], currentFileName.c_str()); } - OnError((char *)errBuf.c_str()); + OnError((wxChar *)errBuf.c_str()); } } } } // checkSyntax - if (strncmp(buf, "\\begin{verbatim}", 16) == 0 || - strncmp(buf, "\\begin{toocomplex}", 18) == 0) + if (wxStrncmp(buf, _T("\\begin{verbatim}"), 16) == 0 || + wxStrncmp(buf, _T("\\begin{toocomplex}"), 18) == 0) readInVerbatim = TRUE; - else if (strncmp(buf, "\\end{verbatim}", 14) == 0 || - strncmp(buf, "\\end{toocomplex}", 16) == 0) + else if (wxStrncmp(buf, _T("\\end{verbatim}"), 14) == 0 || + wxStrncmp(buf, _T("\\end{toocomplex}"), 16) == 0) readInVerbatim = FALSE; if (checkCurleyBraces) @@ -849,8 +851,9 @@ bool read_a_line(char *buf) if (ch == EOF && leftCurley != rightCurley) { wxString errBuf; - errBuf.Printf("Curley braces do not match inside file %s\n%lu opens, %lu closes", (const char*) currentFileName.c_str(),leftCurley,rightCurley); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T("Curley braces do not match inside file %s\n%lu opens, %lu closes"), + (const wxChar*) currentFileName.c_str(),leftCurley,rightCurley); + OnError((wxChar *)errBuf.c_str()); } } @@ -862,21 +865,21 @@ bool read_a_line(char *buf) * */ -bool ParseNewCommand(char *buffer, int *pos) +bool ParseNewCommand(wxChar *buffer, int *pos) { - if ((strncmp((buffer+(*pos)), "newcommand", 10) == 0) || - (strncmp((buffer+(*pos)), "renewcommand", 12) == 0)) + if ((wxStrncmp((buffer+(*pos)), _T("newcommand"), 10) == 0) || + (wxStrncmp((buffer+(*pos)), _T("renewcommand"), 12) == 0)) { - if (strncmp((buffer+(*pos)), "newcommand", 10) == 0) + if (wxStrncmp((buffer+(*pos)), _T("newcommand"), 10) == 0) *pos = *pos + 12; else *pos = *pos + 14; - char commandName[100]; - char commandValue[1000]; + wxChar commandName[100]; + wxChar commandValue[1000]; int noArgs = 0; int i = 0; - while (buffer[*pos] != '}' && (buffer[*pos] != 0)) + while (buffer[*pos] != _T('}') && (buffer[*pos] != 0)) { commandName[i] = buffer[*pos]; *pos += 1; @@ -885,7 +888,7 @@ bool ParseNewCommand(char *buffer, int *pos) commandName[i] = 0; i = 0; *pos += 1; - if (buffer[*pos] == '[') + if (buffer[*pos] == _T('[')) { *pos += 1; noArgs = (int)(buffer[*pos]) - 48; @@ -896,9 +899,9 @@ bool ParseNewCommand(char *buffer, int *pos) while (!end) { char ch = buffer[*pos]; - if (ch == '{') + if (ch == _T('{')) braceCount ++; - else if (ch == '}') + else if (ch == _T('}')) { braceCount --; if (braceCount == 0) @@ -906,8 +909,8 @@ bool ParseNewCommand(char *buffer, int *pos) } else if (ch == 0) { - if (!read_a_line(buffer)) - end = TRUE; + end = !read_a_line(buffer); + wxUnusedVar(end); *pos = 0; break; } @@ -918,7 +921,7 @@ bool ParseNewCommand(char *buffer, int *pos) commandValue[i] = 0; CustomMacro *macro = new CustomMacro(commandName, noArgs, NULL); - if (strlen(commandValue) > 0) + if (wxStrlen(commandValue) > 0) macro->macroBody = copystring(commandValue); if (!CustomMacroList.Find(commandName)) { @@ -930,10 +933,10 @@ bool ParseNewCommand(char *buffer, int *pos) else return FALSE; } -void MacroError(char *buffer) +void MacroError(wxChar *buffer) { wxString errBuf; - char macroBuf[200]; + wxChar macroBuf[200]; macroBuf[0] = '\\'; int i = 1; char ch; @@ -946,15 +949,13 @@ void MacroError(char *buffer) if (i > 20) macroBuf[20] = 0; - errBuf.Printf("Could not find macro: %s at line %d, file %s", + errBuf.Printf(_T("Could not find macro: %s at line %d, file %s"), macroBuf, (int)(LineNumbers[CurrentInputIndex]-1), FileNames[CurrentInputIndex]); - OnError((char *)errBuf.c_str()); + OnError((wxChar *)errBuf.c_str()); - if (wxStrcmp(macroBuf,"\\end{document}") == 0) + if (wxStrcmp(macroBuf,_T("\\end{document}")) == 0) { - wxString buf; - buf = "Halted build due to unrecoverable error."; - OnInform((char *)buf.c_str()); + OnInform( _T("Halted build due to unrecoverable error.") ); stopRunning = TRUE; } } @@ -967,7 +968,7 @@ void MacroError(char *buffer) * e.g. in {\bf an argument} as opposed to \vskip 30pt * */ -int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *environment, bool parseToBrace, TexChunk *customMacroArgs) +int ParseArg(TexChunk *thisArg, wxList& children, wxChar *buffer, int pos, wxChar *environment, bool parseToBrace, TexChunk *customMacroArgs) { Tex2RTFYield(); if (stopRunning) return pos; @@ -1019,7 +1020,6 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e { TexChunk *chunk = new TexChunk(CHUNK_TYPE_STRING); BigBuffer[buf_ptr] = 0; - buf_ptr = 0; chunk->value = copystring(BigBuffer); children.Append((wxObject *)chunk); } @@ -1028,26 +1028,24 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e while (!eof) { - len = strlen(buffer); + len = wxStrlen(buffer); if (pos >= len) { if (customMacroArgs) return 0; eof = read_a_line(buffer); pos = 0; - len = strlen(buffer); // Check for verbatim (or toocomplex, which comes to the same thing) wxString bufStr = buffer; // if (bufStr.find("\\begin{verbatim}") != wxString::npos || // bufStr.find("\\begin{toocomplex}") != wxString::npos) - if (strncmp(buffer, "\\begin{verbatim}", 16) == 0 || - strncmp(buffer, "\\begin{toocomplex}", 18) == 0) + if (wxStrncmp(buffer, _T("\\begin{verbatim}"), 16) == 0 || + wxStrncmp(buffer, _T("\\begin{toocomplex}"), 18) == 0) { if (buf_ptr > 0) { TexChunk *chunk = new TexChunk(CHUNK_TYPE_STRING); BigBuffer[buf_ptr] = 0; - buf_ptr = 0; chunk->value = copystring(BigBuffer); children.Append((wxObject *)chunk); } @@ -1055,12 +1053,12 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e buf_ptr = 0; eof = read_a_line(buffer); - while (!eof && (strncmp(buffer, "\\end{verbatim}", 14) != 0) && - (strncmp(buffer, "\\end{toocomplex}", 16) != 0) + while (!eof && (wxStrncmp(buffer, _T("\\end{verbatim}"), 14) != 0) && + (wxStrncmp(buffer, _T("\\end{toocomplex}"), 16) != 0) ) { - strcat(BigBuffer, buffer); - buf_ptr += strlen(buffer); + wxStrcat(BigBuffer, buffer); + buf_ptr += wxStrlen(buffer); eof = read_a_line(buffer); } eof = read_a_line(buffer); @@ -1083,7 +1081,7 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e // after a verbatim): EXCEPT in HTML if (convertMode != TEX_HTML) { - TexMacroDef *parDef = (TexMacroDef *)MacroDefs.Get("\\"); + TexMacroDef *parDef = (TexMacroDef *)MacroDefs.Get(_T("\\")); TexChunk *parChunk = new TexChunk(CHUNK_TYPE_MACRO, parDef); parChunk->no_args = 0; parChunk->macroId = ltBACKSLASHCHAR; @@ -1106,13 +1104,11 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e { TexChunk *chunk = new TexChunk(CHUNK_TYPE_STRING); BigBuffer[buf_ptr] = 0; - buf_ptr = 0; chunk->value = copystring(BigBuffer); children.Append((wxObject *)chunk); } if (ch == '}') pos ++; return pos; - break; } case '\\': { @@ -1142,7 +1138,7 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e if (ParseNewCommand(buffer, &pos)) break; - if (strncmp(buffer+pos, "special", 7) == 0) + if (wxStrncmp(buffer+pos, _T("special"), 7) == 0) { pos += 7; @@ -1201,7 +1197,7 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e TexChunk *chunk = new TexChunk(CHUNK_TYPE_MACRO); chunk->no_args = 1; chunk->macroId = ltSPECIAL; - TexMacroDef *specialDef = (TexMacroDef *)MacroDefs.Get("special"); + TexMacroDef *specialDef = (TexMacroDef *)MacroDefs.Get(_T("special")); chunk->def = specialDef; TexChunk *arg = new TexChunk(CHUNK_TYPE_ARG, specialDef); chunk->children.Append((wxObject *)arg); @@ -1216,7 +1212,7 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e children.Append((wxObject *)chunk); } - else if (strncmp(buffer+pos, "verb", 4) == 0) + else if (wxStrncmp(buffer+pos, _T("verb"), 4) == 0) { pos += 4; if (buffer[pos] == '*') @@ -1229,7 +1225,7 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e int j = pos; while ((buffer[pos] != ch) && buffer[pos] != 0) pos ++; - char *val = new char[pos - j + 1]; + wxChar *val = new wxChar[pos - j + 1]; int i; for (i = j; i < pos; i++) { @@ -1242,7 +1238,7 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e TexChunk *chunk = new TexChunk(CHUNK_TYPE_MACRO); chunk->no_args = 1; chunk->macroId = ltVERB; - TexMacroDef *verbDef = (TexMacroDef *)MacroDefs.Get("verb"); + TexMacroDef *verbDef = (TexMacroDef *)MacroDefs.Get(_T("verb")); chunk->def = verbDef; TexChunk *arg = new TexChunk(CHUNK_TYPE_ARG, verbDef); chunk->children.Append((wxObject *)arg); @@ -1259,7 +1255,7 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e } else { - char *env = NULL; + wxChar *env = NULL; bool tmpParseToBrace = TRUE; TexMacroDef *def = MatchMacro(buffer, &pos, &env, &tmpParseToBrace); if (def) @@ -1276,7 +1272,7 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e children.Append((wxObject *)chunk); // Eliminate newline after a \begin{} or a \\ if possible - if (env || strcmp(def->name, "\\") == 0) + if (env || wxStrcmp(def->name, _T("\\")) == 0) if (buffer[pos] == 13) { pos ++; @@ -1292,10 +1288,10 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e { if (customMacro->macroBody) { - char macroBuf[300]; -// strcpy(macroBuf, "{"); - strcpy(macroBuf, customMacro->macroBody); - strcat(macroBuf, "}"); + wxChar macroBuf[300]; +// wxStrcpy(macroBuf, _T("{")); + wxStrcpy(macroBuf, customMacro->macroBody); + wxStrcat(macroBuf, _T("}")); ParseArg(thisArg, children, macroBuf, 0, NULL, TRUE, chunk); } @@ -1326,7 +1322,7 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e } pos ++; - char *env; + wxChar *env; bool tmpParseToBrace; TexMacroDef *def = MatchMacro(buffer, &pos, &env, &tmpParseToBrace); if (def) @@ -1348,10 +1344,10 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e { if (customMacro->macroBody) { - char macroBuf[300]; -// strcpy(macroBuf, "{"); - strcpy(macroBuf, customMacro->macroBody); - strcat(macroBuf, "}"); + wxChar macroBuf[300]; +// wxStrcpy(macroBuf, _T("{")); + wxStrcpy(macroBuf, customMacro->macroBody); + wxStrcat(macroBuf, _T("}")); ParseArg(thisArg, children, macroBuf, 0, NULL, TRUE, chunk); } @@ -1372,7 +1368,7 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e */ if (!SoloBlockDef) { - SoloBlockDef = new TexMacroDef(ltSOLO_BLOCK, "solo block", 1, FALSE); + SoloBlockDef = new TexMacroDef(ltSOLO_BLOCK, _T("solo block"), 1, FALSE); } // Save text so far if (buf_ptr > 0) @@ -1417,7 +1413,7 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e { TexChunk *chunk = new TexChunk(CHUNK_TYPE_MACRO); chunk->no_args = 0; -// chunk->name = copystring("$$"); +// chunk->name = copystring(_T("$$")); chunk->macroId = ltSPECIALDOUBLEDOLLAR; children.Append((wxObject *)chunk); pos ++; @@ -1426,7 +1422,7 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e { TexChunk *chunk = new TexChunk(CHUNK_TYPE_MACRO); chunk->no_args = 0; -// chunk->name = copystring("_$"); +// chunk->name = copystring(_T("_$")); chunk->macroId = ltSPECIALDOLLAR; children.Append((wxObject *)chunk); } @@ -1446,7 +1442,7 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e pos ++; TexChunk *chunk = new TexChunk(CHUNK_TYPE_MACRO); chunk->no_args = 0; -// chunk->name = copystring("_~"); +// chunk->name = copystring(_T("_~")); chunk->macroId = ltSPECIALTILDE; children.Append((wxObject *)chunk); break; @@ -1467,7 +1463,7 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e { TexChunk *chunk = new TexChunk(CHUNK_TYPE_MACRO); chunk->no_args = 0; -// chunk->name = copystring("_#"); +// chunk->name = copystring(_T("_#")); chunk->macroId = ltSPECIALHASH; children.Append((wxObject *)chunk); } @@ -1511,7 +1507,7 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e TexChunk *chunk = new TexChunk(CHUNK_TYPE_MACRO); chunk->no_args = 0; -// chunk->name = copystring("_&"); +// chunk->name = copystring(_T("_&")); chunk->macroId = ltSPECIALAMPERSAND; children.Append((wxObject *)chunk); break; @@ -1559,9 +1555,9 @@ int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, char *e * */ -int ParseMacroBody(const char *macro_name, TexChunk *parent, - int no_args, char *buffer, int pos, - char *environment, bool parseToBrace, +int ParseMacroBody(const wxChar *WXUNUSED(macro_name), TexChunk *parent, + int no_args, wxChar *buffer, int pos, + wxChar *environment, bool parseToBrace, TexChunk *customMacroArgs) { Tex2RTFYield(); @@ -1596,7 +1592,7 @@ int ParseMacroBody(const char *macro_name, TexChunk *parent, // To parse the first arg of a 2 arg \begin{thing}{arg} ... \end{thing} // have to fool parser into thinking this is a regular kind of block. - char *actualEnv; + wxChar *actualEnv; if ((no_args == 2) && (i == 0)) actualEnv = NULL; else @@ -1630,11 +1626,11 @@ int ParseMacroBody(const char *macro_name, TexChunk *parent, wxString tmpBuffer(buffer); if (tmpBuffer.length() > 4) { - if (tmpBuffer.Right(4) == "\\par") + if (tmpBuffer.Right(4) == _T("\\par")) tmpBuffer = tmpBuffer.Mid(0,tmpBuffer.length()-4); } - errBuf.Printf("Missing macro argument in the line:\n\t%s\n",tmpBuffer.c_str()); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T("Missing macro argument in the line:\n\t%s\n"),tmpBuffer.c_str()); + OnError((wxChar *)errBuf.c_str()); } } @@ -1664,29 +1660,29 @@ int ParseMacroBody(const char *macro_name, TexChunk *parent, return pos; } -bool TexLoadFile(char *filename) +bool TexLoadFile(wxChar *filename) { - static char *line_buffer; + static wxChar *line_buffer; stopRunning = FALSE; - strcpy(TexFileRoot, filename); + wxStrcpy(TexFileRoot, filename); StripExtension(TexFileRoot); - sprintf(TexBibName, "%s.bb", TexFileRoot); - sprintf(TexTmpBibName, "%s.bb1", TexFileRoot); + wxSprintf(TexBibName, _T("%s.bb"), TexFileRoot); + wxSprintf(TexTmpBibName, _T("%s.bb1"), TexFileRoot); TexPathList.EnsureFileAccessible(filename); if (line_buffer) delete line_buffer; - line_buffer = new char[MAX_LINE_BUFFER_SIZE]; + line_buffer = new wxChar[MAX_LINE_BUFFER_SIZE]; - Inputs[0] = fopen(filename, "r"); + Inputs[0] = wxFopen(filename, _T("r")); LineNumbers[0] = 1; FileNames[0] = copystring(filename); if (Inputs[0]) { read_a_line(line_buffer); - ParseMacroBody("toplevel", TopLevel, 1, line_buffer, 0, NULL, TRUE); + ParseMacroBody(_T("toplevel"), TopLevel, 1, line_buffer, 0, NULL, TRUE); if (Inputs[0]) fclose(Inputs[0]); return TRUE; } @@ -1694,7 +1690,7 @@ bool TexLoadFile(char *filename) return FALSE; } -TexMacroDef::TexMacroDef(int the_id, const char *the_name, int n, bool ig, bool forbidLevel) +TexMacroDef::TexMacroDef(int the_id, const wxChar *the_name, int n, bool ig, bool forbidLevel) { name = copystring(the_name); no_args = n; @@ -1788,19 +1784,19 @@ void GetArgData1(TexChunk *chunk) if (def && def->ignore) return; - if (def && (strcmp(def->name, "solo block") != 0)) + if (def && (wxStrcmp(def->name, _T("solo block")) != 0)) { - strcat(currentArgData, "\\"); - strcat(currentArgData, def->name); + wxStrcat(currentArgData, _T("\\")); + wxStrcat(currentArgData, def->name); } wxNode *node = chunk->children.GetFirst(); while (node) { TexChunk *child_chunk = (TexChunk *)node->GetData(); - strcat(currentArgData, "{"); + wxStrcat(currentArgData, _T("{")); GetArgData1(child_chunk); - strcat(currentArgData, "}"); + wxStrcat(currentArgData, _T("}")); node = node->GetNext(); } break; @@ -1819,13 +1815,13 @@ void GetArgData1(TexChunk *chunk) case CHUNK_TYPE_STRING: { if (chunk->value) - strcat(currentArgData, chunk->value); + wxStrcat(currentArgData, chunk->value); break; } } } -char *GetArgData(TexChunk *chunk) +wxChar *GetArgData(TexChunk *WXUNUSED(chunk)) { currentArgData[0] = 0; GetArgData1(currentArgument); @@ -1833,7 +1829,7 @@ char *GetArgData(TexChunk *chunk) return currentArgData; } -char *GetArgData(void) +wxChar *GetArgData(void) { if (!haveArgData) { @@ -1886,10 +1882,9 @@ void TraverseFromChunk(TexChunk *chunk, wxNode *thisNode, bool childrenOnly) OnMacro(chunk->macroId, chunk->no_args, TRUE); wxNode *node = chunk->children.GetFirst(); - TexChunk *child_chunk = NULL; while (node) { - child_chunk = (TexChunk *)node->GetData(); + TexChunk *child_chunk = (TexChunk *)node->GetData(); TraverseFromChunk(child_chunk, node); node = node->GetNext(); } @@ -1969,7 +1964,7 @@ void SetCurrentOutputs(FILE *fd1, FILE *fd2) CurrentOutput2 = fd2; } -void AddMacroDef(int the_id, const char *name, int n, bool ignore, bool forbid) +void AddMacroDef(int the_id, const wxChar *name, int n, bool ignore, bool forbid) { MacroDefs.Put(name, new TexMacroDef(the_id, name, n, ignore, forbid)); } @@ -1978,10 +1973,10 @@ void TexInitialize(int bufSize) { InitialiseColourTable(); #ifdef __WXMSW__ - TexPathList.AddEnvList("TEXINPUT"); + TexPathList.AddEnvList(_T("TEXINPUT")); #endif #ifdef __UNIX__ - TexPathList.AddEnvList("TEXINPUTS"); + TexPathList.AddEnvList(_T("TEXINPUTS")); #endif int i; for (i = 0; i < 15; i++) @@ -1991,18 +1986,18 @@ void TexInitialize(int bufSize) FileNames[i] = NULL; } - IgnorableInputFiles.Add("psbox.tex"); - BigBuffer = new char[(bufSize*1000)]; - currentArgData = new char[2000]; - TexFileRoot = new char[300]; - TexBibName = new char[300]; - TexTmpBibName = new char[300]; - AddMacroDef(ltTOPLEVEL, "toplevel", 1); + IgnorableInputFiles.Add(_T("psbox.tex")); + BigBuffer = new wxChar[(bufSize*1000)]; + currentArgData = new wxChar[2000]; + TexFileRoot = new wxChar[300]; + TexBibName = new wxChar[300]; + TexTmpBibName = new wxChar[300]; + AddMacroDef(ltTOPLEVEL, _T("toplevel"), 1); TopLevel = new TexChunk(CHUNK_TYPE_MACRO); -// TopLevel->name = copystring("toplevel"); +// TopLevel->name = copystring(_T("toplevel")); TopLevel->macroId = ltTOPLEVEL; TopLevel->no_args = 1; - VerbatimMacroDef = (TexMacroDef *)MacroDefs.Get("verbatim"); + VerbatimMacroDef = (TexMacroDef *)MacroDefs.Get(_T("verbatim")); } void TexCleanUp(void) @@ -2026,7 +2021,7 @@ void TexCleanUp(void) if (TopLevel) delete TopLevel; TopLevel = new TexChunk(CHUNK_TYPE_MACRO); -// TopLevel->name = copystring("toplevel"); +// TopLevel->name = copystring(_T("toplevel")); TopLevel->macroId = ltTOPLEVEL; TopLevel->no_args = 1; @@ -2035,8 +2030,8 @@ void TexCleanUp(void) DocumentDate = NULL; DocumentStyle = LATEX_REPORT; MinorDocumentStyle = 0; - BibliographyStyleString = copystring("plain"); - DocumentStyleString = copystring("report"); + BibliographyStyleString = copystring(_T("plain")); + DocumentStyleString = copystring(_T("report")); MinorDocumentStyleString = NULL; // gt - Changed this so if this is the final pass @@ -2087,484 +2082,485 @@ void DefineDefaultMacros(void) // Put names which subsume other names at the TOP // so they get recognized first - AddMacroDef(ltACCENT_GRAVE, "`", 1); - AddMacroDef(ltACCENT_ACUTE, "'", 1); - AddMacroDef(ltACCENT_CARET, "^", 1); - AddMacroDef(ltACCENT_UMLAUT, "\"", 1); - AddMacroDef(ltACCENT_TILDE, "~", 1); - AddMacroDef(ltACCENT_DOT, ".", 1); - AddMacroDef(ltACCENT_CADILLA, "c", 1); - AddMacroDef(ltSMALLSPACE1, ",", 0); - AddMacroDef(ltSMALLSPACE2, ";", 0); - - AddMacroDef(ltABSTRACT, "abstract", 1); - AddMacroDef(ltADDCONTENTSLINE, "addcontentsline", 3); - AddMacroDef(ltADDTOCOUNTER, "addtocounter", 2); - AddMacroDef(ltALEPH, "aleph", 0); - AddMacroDef(ltALPHA, "alpha", 0); - AddMacroDef(ltALPH1, "alph", 1); - AddMacroDef(ltALPH2, "Alph", 1); - AddMacroDef(ltANGLE, "angle", 0); - AddMacroDef(ltAPPENDIX, "appendix", 0); - AddMacroDef(ltAPPROX, "approx", 0); - AddMacroDef(ltARABIC, "arabic", 1); - AddMacroDef(ltARRAY, "array", 1); - AddMacroDef(ltAST, "ast", 0); - AddMacroDef(ltASYMP, "asymp", 0); - AddMacroDef(ltAUTHOR, "author", 1); - - AddMacroDef(ltBACKGROUNDCOLOUR, "backgroundcolour", 1); - AddMacroDef(ltBACKGROUNDIMAGE, "backgroundimage", 1); - AddMacroDef(ltBACKGROUND, "background", 1); - AddMacroDef(ltBACKSLASHRAW, "backslashraw", 0); - AddMacroDef(ltBACKSLASH, "backslash", 0); - AddMacroDef(ltBASELINESKIP, "baselineskip", 1); - AddMacroDef(ltBCOL, "bcol", 2); - AddMacroDef(ltBETA, "beta", 0); - AddMacroDef(ltBFSERIES, "bfseries", 1); - AddMacroDef(ltBF, "bf", 1); - AddMacroDef(ltBIBITEM, "bibitem", 2); // For convenience, bibitem has 2 args: label and item. + AddMacroDef(ltACCENT_GRAVE, _T("`"), 1); + AddMacroDef(ltACCENT_ACUTE, _T("'"), 1); + AddMacroDef(ltACCENT_CARET, _T("^"), 1); + AddMacroDef(ltACCENT_UMLAUT, _T("\""), 1); + AddMacroDef(ltACCENT_TILDE, _T("~"), 1); + AddMacroDef(ltACCENT_DOT, _T("."), 1); + AddMacroDef(ltACCENT_CADILLA, _T("c"), 1); + AddMacroDef(ltSMALLSPACE1, _T(","), 0); + AddMacroDef(ltSMALLSPACE2, _T(";"), 0); + + AddMacroDef(ltABSTRACT, _T("abstract"), 1); + AddMacroDef(ltADDCONTENTSLINE, _T("addcontentsline"), 3); + AddMacroDef(ltADDTOCOUNTER, _T("addtocounter"), 2); + AddMacroDef(ltALEPH, _T("aleph"), 0); + AddMacroDef(ltALPHA, _T("alpha"), 0); + AddMacroDef(ltALPH1, _T("alph"), 1); + AddMacroDef(ltALPH2, _T("Alph"), 1); + AddMacroDef(ltANGLE, _T("angle"), 0); + AddMacroDef(ltAPPENDIX, _T("appendix"), 0); + AddMacroDef(ltAPPROX, _T("approx"), 0); + AddMacroDef(ltARABIC, _T("arabic"), 1); + AddMacroDef(ltARRAY, _T("array"), 1); + AddMacroDef(ltAST, _T("ast"), 0); + AddMacroDef(ltASYMP, _T("asymp"), 0); + AddMacroDef(ltAUTHOR, _T("author"), 1); + + AddMacroDef(ltBACKGROUNDCOLOUR, _T("backgroundcolour"), 1); + AddMacroDef(ltBACKGROUNDIMAGE, _T("backgroundimage"), 1); + AddMacroDef(ltBACKGROUND, _T("background"), 1); + AddMacroDef(ltBACKSLASHRAW, _T("backslashraw"), 0); + AddMacroDef(ltBACKSLASH, _T("backslash"), 0); + AddMacroDef(ltBASELINESKIP, _T("baselineskip"), 1); + AddMacroDef(ltBCOL, _T("bcol"), 2); + AddMacroDef(ltBETA, _T("beta"), 0); + AddMacroDef(ltBFSERIES, _T("bfseries"), 1); + AddMacroDef(ltBF, _T("bf"), 1); + AddMacroDef(ltBIBITEM, _T("bibitem"), 2); + // For convenience, bibitem has 2 args: label and item. // The Latex syntax permits writing as 2 args. - AddMacroDef(ltBIBLIOGRAPHYSTYLE, "bibliographystyle", 1); - AddMacroDef(ltBIBLIOGRAPHY, "bibliography", 1); - AddMacroDef(ltBIGTRIANGLEDOWN, "bigtriangledown", 0); - AddMacroDef(ltBOT, "bot", 0); - AddMacroDef(ltBOXIT, "boxit", 1); - AddMacroDef(ltBOX, "box", 0); - AddMacroDef(ltBRCLEAR, "brclear", 0); - AddMacroDef(ltBULLET, "bullet", 0); - - AddMacroDef(ltCAPTIONSTAR, "caption*", 1); - AddMacroDef(ltCAPTION, "caption", 1); - AddMacroDef(ltCAP, "cap", 0); - AddMacroDef(ltCDOTS, "cdots", 0); - AddMacroDef(ltCDOT, "cdot", 0); - AddMacroDef(ltCENTERLINE, "centerline", 1); - AddMacroDef(ltCENTERING, "centering", 0); - AddMacroDef(ltCENTER, "center", 1); - AddMacroDef(ltCEXTRACT, "cextract", 0); - AddMacroDef(ltCHAPTERHEADING, "chapterheading", 1); - AddMacroDef(ltCHAPTERSTAR, "chapter*", 1); - AddMacroDef(ltCHAPTER, "chapter", 1); - AddMacroDef(ltCHI, "chi", 0); - AddMacroDef(ltCINSERT, "cinsert", 0); - AddMacroDef(ltCIRC, "circ", 0); - AddMacroDef(ltCITE, "cite", 1); - AddMacroDef(ltCLASS, "class", 1); - AddMacroDef(ltCLEARDOUBLEPAGE, "cleardoublepage", 0); - AddMacroDef(ltCLEARPAGE, "clearpage", 0); - AddMacroDef(ltCLINE, "cline", 1); - AddMacroDef(ltCLIPSFUNC, "clipsfunc", 3); - AddMacroDef(ltCLUBSUIT, "clubsuit", 0); - AddMacroDef(ltCOLUMNSEP, "columnsep", 1); - AddMacroDef(ltCOMMENT, "comment", 1, TRUE); - AddMacroDef(ltCONG, "cong", 0); - AddMacroDef(ltCOPYRIGHT, "copyright", 0); - AddMacroDef(ltCPARAM, "cparam", 2); - AddMacroDef(ltCHEAD, "chead", 1); - AddMacroDef(ltCFOOT, "cfoot", 1); - AddMacroDef(ltCUP, "cup", 0); - - AddMacroDef(ltDASHV, "dashv", 0); - AddMacroDef(ltDATE, "date", 1); - AddMacroDef(ltDELTA, "delta", 0); - AddMacroDef(ltCAP_DELTA, "Delta", 0); - AddMacroDef(ltDEFINECOLOUR, "definecolour", 4); - AddMacroDef(ltDEFINECOLOR, "definecolor", 4); - AddMacroDef(ltDESCRIPTION, "description", 1); - AddMacroDef(ltDESTRUCT, "destruct", 1); - AddMacroDef(ltDIAMOND2, "diamond2", 0); - AddMacroDef(ltDIAMOND, "diamond", 0); - AddMacroDef(ltDIV, "div", 0); - AddMacroDef(ltDOCUMENTCLASS, "documentclass", 1); - AddMacroDef(ltDOCUMENTSTYLE, "documentstyle", 1); - AddMacroDef(ltDOCUMENT, "document", 1); - AddMacroDef(ltDOUBLESPACE, "doublespace", 1); - AddMacroDef(ltDOTEQ, "doteq", 0); - AddMacroDef(ltDOWNARROW, "downarrow", 0); - AddMacroDef(ltDOWNARROW2, "Downarrow", 0); - - AddMacroDef(ltEMPTYSET, "emptyset", 0); - AddMacroDef(ltEMPH, "emph", 1); - AddMacroDef(ltEM, "em", 1); - AddMacroDef(ltENUMERATE, "enumerate", 1); - AddMacroDef(ltEPSILON, "epsilon", 0); - AddMacroDef(ltEQUATION, "equation", 1); - AddMacroDef(ltEQUIV, "equiv", 0); - AddMacroDef(ltETA, "eta", 0); - AddMacroDef(ltEVENSIDEMARGIN, "evensidemargin", 1); - AddMacroDef(ltEXISTS, "exists", 0); - - AddMacroDef(ltFBOX, "fbox", 1); - AddMacroDef(ltFCOL, "fcol", 2); - AddMacroDef(ltFIGURE, "figure", 1); - AddMacroDef(ltFIGURESTAR, "figure*", 1); - AddMacroDef(ltFLUSHLEFT, "flushleft", 1); - AddMacroDef(ltFLUSHRIGHT, "flushright", 1); - AddMacroDef(ltFOLLOWEDLINKCOLOUR, "followedlinkcolour", 1); - AddMacroDef(ltFOOTHEIGHT, "footheight", 1); - AddMacroDef(ltFOOTNOTEPOPUP, "footnotepopup", 2); - AddMacroDef(ltFOOTNOTE, "footnote", 1); - AddMacroDef(ltFOOTSKIP, "footskip", 1); - AddMacroDef(ltFORALL, "forall", 0); - AddMacroDef(ltFRAMEBOX, "framebox", 1); - AddMacroDef(ltFROWN, "frown", 0); - AddMacroDef(ltFUNCTIONSECTION, "functionsection", 1); - AddMacroDef(ltFUNC, "func", 3); - AddMacroDef(ltFOOTNOTESIZE, "footnotesize", 0); - AddMacroDef(ltFANCYPLAIN, "fancyplain", 2); - - AddMacroDef(ltGAMMA, "gamma", 0); - AddMacroDef(ltCAP_GAMMA, "Gamma", 0); - AddMacroDef(ltGEQ, "geq", 0); - AddMacroDef(ltGE, "ge", 0); - AddMacroDef(ltGG, "gg", 0); - AddMacroDef(ltGLOSSARY, "glossary", 1); - AddMacroDef(ltGLOSS, "gloss", 1); - - AddMacroDef(ltHEADHEIGHT, "headheight", 1); - AddMacroDef(ltHEARTSUIT, "heartsuit", 0); - AddMacroDef(ltHELPGLOSSARY, "helpglossary", 1); - AddMacroDef(ltHELPIGNORE, "helpignore", 1, TRUE); - AddMacroDef(ltHELPONLY, "helponly", 1); - AddMacroDef(ltHELPINPUT, "helpinput", 1); - AddMacroDef(ltHELPFONTFAMILY, "helpfontfamily", 1); - AddMacroDef(ltHELPFONTSIZE, "helpfontsize", 1); - AddMacroDef(ltHELPREFN, "helprefn", 2); - AddMacroDef(ltHELPREF, "helpref", 2); - AddMacroDef(ltHFILL, "hfill", 0); - AddMacroDef(ltHLINE, "hline", 0); - AddMacroDef(ltHRULE, "hrule", 0); - AddMacroDef(ltHSPACESTAR, "hspace*", 1); - AddMacroDef(ltHSPACE, "hspace", 1); - AddMacroDef(ltHSKIPSTAR, "hskip*", 1); - AddMacroDef(ltHSKIP, "hskip", 1); - AddMacroDef(lthuge, "huge", 1); - AddMacroDef(ltHuge, "Huge", 1); - AddMacroDef(ltHUGE, "HUGE", 1); - AddMacroDef(ltHTMLIGNORE, "htmlignore", 1); - AddMacroDef(ltHTMLONLY, "htmlonly", 1); - - AddMacroDef(ltIM, "im", 0); - AddMacroDef(ltINCLUDEONLY, "includeonly", 1); - AddMacroDef(ltINCLUDE, "include", 1); - AddMacroDef(ltINDENTED, "indented", 2); - AddMacroDef(ltINDEX, "index", 1); - AddMacroDef(ltINPUT, "input", 1, TRUE); - AddMacroDef(ltIOTA, "iota", 0); - AddMacroDef(ltITEMIZE, "itemize", 1); - AddMacroDef(ltITEM, "item", 0); - AddMacroDef(ltIMAGEMAP, "imagemap", 3); - AddMacroDef(ltIMAGEL, "imagel", 2); - AddMacroDef(ltIMAGER, "imager", 2); - AddMacroDef(ltIMAGE, "image", 2); - AddMacroDef(ltIN, "in", 0); - AddMacroDef(ltINFTY, "infty", 0); - AddMacroDef(ltITSHAPE, "itshape", 1); - AddMacroDef(ltIT, "it", 1); - AddMacroDef(ltITEMSEP, "itemsep", 1); - AddMacroDef(ltINSERTATLEVEL, "insertatlevel", 2); - - AddMacroDef(ltKAPPA, "kappa", 0); - AddMacroDef(ltKILL, "kill", 0); - - AddMacroDef(ltLABEL, "label", 1); - AddMacroDef(ltLAMBDA, "lambda", 0); - AddMacroDef(ltCAP_LAMBDA, "Lambda", 0); - AddMacroDef(ltlarge, "large", 1); - AddMacroDef(ltLarge, "Large", 1); - AddMacroDef(ltLARGE, "LARGE", 1); - AddMacroDef(ltLATEXIGNORE, "latexignore", 1); - AddMacroDef(ltLATEXONLY, "latexonly", 1); - AddMacroDef(ltLATEX, "LaTeX", 0); - AddMacroDef(ltLBOX, "lbox", 1); - AddMacroDef(ltLBRACERAW, "lbraceraw", 0); - AddMacroDef(ltLDOTS, "ldots", 0); - AddMacroDef(ltLEQ, "leq", 0); - AddMacroDef(ltLE, "le", 0); - AddMacroDef(ltLEFTARROW, "leftarrow", 0); - AddMacroDef(ltLEFTRIGHTARROW, "leftrightarrow", 0); - AddMacroDef(ltLEFTARROW2, "Leftarrow", 0); - AddMacroDef(ltLEFTRIGHTARROW2, "Leftrightarrow", 0); - AddMacroDef(ltLINEBREAK, "linebreak", 0); - AddMacroDef(ltLINKCOLOUR, "linkcolour", 1); - AddMacroDef(ltLISTOFFIGURES, "listoffigures", 0); - AddMacroDef(ltLISTOFTABLES, "listoftables", 0); - AddMacroDef(ltLHEAD, "lhead", 1); - AddMacroDef(ltLFOOT, "lfoot", 1); - AddMacroDef(ltLOWERCASE, "lowercase", 1); - AddMacroDef(ltLL, "ll", 0); - - AddMacroDef(ltMAKEGLOSSARY, "makeglossary", 0); - AddMacroDef(ltMAKEINDEX, "makeindex", 0); - AddMacroDef(ltMAKETITLE, "maketitle", 0); - AddMacroDef(ltMARKRIGHT, "markright", 1); - AddMacroDef(ltMARKBOTH, "markboth", 2); - AddMacroDef(ltMARGINPARWIDTH, "marginparwidth", 1); - AddMacroDef(ltMARGINPARSEP, "marginparsep", 1); - AddMacroDef(ltMARGINPARODD, "marginparodd", 1); - AddMacroDef(ltMARGINPAREVEN, "marginpareven", 1); - AddMacroDef(ltMARGINPAR, "marginpar", 1); - AddMacroDef(ltMBOX, "mbox", 1); - AddMacroDef(ltMDSERIES, "mdseries", 1); - AddMacroDef(ltMEMBERSECTION, "membersection", 1); - AddMacroDef(ltMEMBER, "member", 2); - AddMacroDef(ltMID, "mid", 0); - AddMacroDef(ltMODELS, "models", 0); - AddMacroDef(ltMP, "mp", 0); - AddMacroDef(ltMULTICOLUMN, "multicolumn", 3); - AddMacroDef(ltMU, "mu", 0); - - AddMacroDef(ltNABLA, "nabla", 0); - AddMacroDef(ltNEG, "neg", 0); - AddMacroDef(ltNEQ, "neq", 0); - AddMacroDef(ltNEWCOUNTER, "newcounter", 1, FALSE, (bool)FORBID_ABSOLUTELY); - AddMacroDef(ltNEWLINE, "newline", 0); - AddMacroDef(ltNEWPAGE, "newpage", 0); - AddMacroDef(ltNI, "ni", 0); - AddMacroDef(ltNOCITE, "nocite", 1); - AddMacroDef(ltNOINDENT, "noindent", 0); - AddMacroDef(ltNOLINEBREAK, "nolinebreak", 0); - AddMacroDef(ltNOPAGEBREAK, "nopagebreak", 0); - AddMacroDef(ltNORMALSIZE, "normalsize", 1); - AddMacroDef(ltNORMALBOX, "normalbox", 1); - AddMacroDef(ltNORMALBOXD, "normalboxd", 1); - AddMacroDef(ltNOTEQ, "noteq", 0); - AddMacroDef(ltNOTIN, "notin", 0); - AddMacroDef(ltNOTSUBSET, "notsubset", 0); - AddMacroDef(ltNU, "nu", 0); - - AddMacroDef(ltODDSIDEMARGIN, "oddsidemargin", 1); - AddMacroDef(ltOMEGA, "omega", 0); - AddMacroDef(ltCAP_OMEGA, "Omega", 0); - AddMacroDef(ltONECOLUMN, "onecolumn", 0); - AddMacroDef(ltOPLUS, "oplus", 0); - AddMacroDef(ltOSLASH, "oslash", 0); - AddMacroDef(ltOTIMES, "otimes", 0); - - AddMacroDef(ltPAGEBREAK, "pagebreak", 0); - AddMacroDef(ltPAGEREF, "pageref", 1); - AddMacroDef(ltPAGESTYLE, "pagestyle", 1); - AddMacroDef(ltPAGENUMBERING, "pagenumbering", 1); - AddMacroDef(ltPARAGRAPHSTAR, "paragraph*", 1); - AddMacroDef(ltPARAGRAPH, "paragraph", 1); - AddMacroDef(ltPARALLEL, "parallel", 0); - AddMacroDef(ltPARAM, "param", 2); - AddMacroDef(ltPARINDENT, "parindent", 1); - AddMacroDef(ltPARSKIP, "parskip", 1); - AddMacroDef(ltPARTIAL, "partial", 0); - AddMacroDef(ltPARTSTAR, "part*", 1); - AddMacroDef(ltPART, "part", 1); - AddMacroDef(ltPAR, "par", 0); - AddMacroDef(ltPERP, "perp", 0); - AddMacroDef(ltPHI, "phi", 0); - AddMacroDef(ltCAP_PHI, "Phi", 0); - AddMacroDef(ltPFUNC, "pfunc", 3); - AddMacroDef(ltPICTURE, "picture", 1); - AddMacroDef(ltPI, "pi", 0); - AddMacroDef(ltCAP_PI, "Pi", 0); - AddMacroDef(ltPM, "pm", 0); - AddMacroDef(ltPOPREFONLY, "poprefonly", 1); - AddMacroDef(ltPOPREF, "popref", 2); - AddMacroDef(ltPOUNDS, "pounds", 0); - AddMacroDef(ltPREC, "prec", 0); - AddMacroDef(ltPRECEQ, "preceq", 0); - AddMacroDef(ltPRINTINDEX, "printindex", 0); - AddMacroDef(ltPROPTO, "propto", 0); - AddMacroDef(ltPSBOXTO, "psboxto", 1, FALSE, (bool)FORBID_ABSOLUTELY); - AddMacroDef(ltPSBOX, "psbox", 1, FALSE, (bool)FORBID_ABSOLUTELY); - AddMacroDef(ltPSI, "psi", 0); - AddMacroDef(ltCAP_PSI, "Psi", 0); - - AddMacroDef(ltQUOTE, "quote", 1); - AddMacroDef(ltQUOTATION, "quotation", 1); - - AddMacroDef(ltRAGGEDBOTTOM, "raggedbottom", 0); - AddMacroDef(ltRAGGEDLEFT, "raggedleft", 0); - AddMacroDef(ltRAGGEDRIGHT, "raggedright", 0); - AddMacroDef(ltRBRACERAW, "rbraceraw", 0); - AddMacroDef(ltREF, "ref", 1); - AddMacroDef(ltREGISTERED, "registered", 0); - AddMacroDef(ltRE, "we", 0); - AddMacroDef(ltRHO, "rho", 0); - AddMacroDef(ltRIGHTARROW, "rightarrow", 0); - AddMacroDef(ltRIGHTARROW2, "rightarrow2", 0); - AddMacroDef(ltRMFAMILY, "rmfamily", 1); - AddMacroDef(ltRM, "rm", 1); - AddMacroDef(ltROMAN, "roman", 1); - AddMacroDef(ltROMAN2, "Roman", 1); + AddMacroDef(ltBIBLIOGRAPHYSTYLE, _T("bibliographystyle"), 1); + AddMacroDef(ltBIBLIOGRAPHY, _T("bibliography"), 1); + AddMacroDef(ltBIGTRIANGLEDOWN, _T("bigtriangledown"), 0); + AddMacroDef(ltBOT, _T("bot"), 0); + AddMacroDef(ltBOXIT, _T("boxit"), 1); + AddMacroDef(ltBOX, _T("box"), 0); + AddMacroDef(ltBRCLEAR, _T("brclear"), 0); + AddMacroDef(ltBULLET, _T("bullet"), 0); + + AddMacroDef(ltCAPTIONSTAR, _T("caption*"), 1); + AddMacroDef(ltCAPTION, _T("caption"), 1); + AddMacroDef(ltCAP, _T("cap"), 0); + AddMacroDef(ltCDOTS, _T("cdots"), 0); + AddMacroDef(ltCDOT, _T("cdot"), 0); + AddMacroDef(ltCENTERLINE, _T("centerline"), 1); + AddMacroDef(ltCENTERING, _T("centering"), 0); + AddMacroDef(ltCENTER, _T("center"), 1); + AddMacroDef(ltCEXTRACT, _T("cextract"), 0); + AddMacroDef(ltCHAPTERHEADING, _T("chapterheading"), 1); + AddMacroDef(ltCHAPTERSTAR, _T("chapter*"), 1); + AddMacroDef(ltCHAPTER, _T("chapter"), 1); + AddMacroDef(ltCHI, _T("chi"), 0); + AddMacroDef(ltCINSERT, _T("cinsert"), 0); + AddMacroDef(ltCIRC, _T("circ"), 0); + AddMacroDef(ltCITE, _T("cite"), 1); + AddMacroDef(ltCLASS, _T("class"), 1); + AddMacroDef(ltCLEARDOUBLEPAGE, _T("cleardoublepage"), 0); + AddMacroDef(ltCLEARPAGE, _T("clearpage"), 0); + AddMacroDef(ltCLINE, _T("cline"), 1); + AddMacroDef(ltCLIPSFUNC, _T("clipsfunc"), 3); + AddMacroDef(ltCLUBSUIT, _T("clubsuit"), 0); + AddMacroDef(ltCOLUMNSEP, _T("columnsep"), 1); + AddMacroDef(ltCOMMENT, _T("comment"), 1, TRUE); + AddMacroDef(ltCONG, _T("cong"), 0); + AddMacroDef(ltCOPYRIGHT, _T("copyright"), 0); + AddMacroDef(ltCPARAM, _T("cparam"), 2); + AddMacroDef(ltCHEAD, _T("chead"), 1); + AddMacroDef(ltCFOOT, _T("cfoot"), 1); + AddMacroDef(ltCUP, _T("cup"), 0); + + AddMacroDef(ltDASHV, _T("dashv"), 0); + AddMacroDef(ltDATE, _T("date"), 1); + AddMacroDef(ltDELTA, _T("delta"), 0); + AddMacroDef(ltCAP_DELTA, _T("Delta"), 0); + AddMacroDef(ltDEFINECOLOUR, _T("definecolour"), 4); + AddMacroDef(ltDEFINECOLOR, _T("definecolor"), 4); + AddMacroDef(ltDESCRIPTION, _T("description"), 1); + AddMacroDef(ltDESTRUCT, _T("destruct"), 1); + AddMacroDef(ltDIAMOND2, _T("diamond2"), 0); + AddMacroDef(ltDIAMOND, _T("diamond"), 0); + AddMacroDef(ltDIV, _T("div"), 0); + AddMacroDef(ltDOCUMENTCLASS, _T("documentclass"), 1); + AddMacroDef(ltDOCUMENTSTYLE, _T("documentstyle"), 1); + AddMacroDef(ltDOCUMENT, _T("document"), 1); + AddMacroDef(ltDOUBLESPACE, _T("doublespace"), 1); + AddMacroDef(ltDOTEQ, _T("doteq"), 0); + AddMacroDef(ltDOWNARROW, _T("downarrow"), 0); + AddMacroDef(ltDOWNARROW2, _T("Downarrow"), 0); + + AddMacroDef(ltEMPTYSET, _T("emptyset"), 0); + AddMacroDef(ltEMPH, _T("emph"), 1); + AddMacroDef(ltEM, _T("em"), 1); + AddMacroDef(ltENUMERATE, _T("enumerate"), 1); + AddMacroDef(ltEPSILON, _T("epsilon"), 0); + AddMacroDef(ltEQUATION, _T("equation"), 1); + AddMacroDef(ltEQUIV, _T("equiv"), 0); + AddMacroDef(ltETA, _T("eta"), 0); + AddMacroDef(ltEVENSIDEMARGIN, _T("evensidemargin"), 1); + AddMacroDef(ltEXISTS, _T("exists"), 0); + + AddMacroDef(ltFBOX, _T("fbox"), 1); + AddMacroDef(ltFCOL, _T("fcol"), 2); + AddMacroDef(ltFIGURE, _T("figure"), 1); + AddMacroDef(ltFIGURESTAR, _T("figure*"), 1); + AddMacroDef(ltFLUSHLEFT, _T("flushleft"), 1); + AddMacroDef(ltFLUSHRIGHT, _T("flushright"), 1); + AddMacroDef(ltFOLLOWEDLINKCOLOUR, _T("followedlinkcolour"), 1); + AddMacroDef(ltFOOTHEIGHT, _T("footheight"), 1); + AddMacroDef(ltFOOTNOTEPOPUP, _T("footnotepopup"), 2); + AddMacroDef(ltFOOTNOTE, _T("footnote"), 1); + AddMacroDef(ltFOOTSKIP, _T("footskip"), 1); + AddMacroDef(ltFORALL, _T("forall"), 0); + AddMacroDef(ltFRAMEBOX, _T("framebox"), 1); + AddMacroDef(ltFROWN, _T("frown"), 0); + AddMacroDef(ltFUNCTIONSECTION, _T("functionsection"), 1); + AddMacroDef(ltFUNC, _T("func"), 3); + AddMacroDef(ltFOOTNOTESIZE, _T("footnotesize"), 0); + AddMacroDef(ltFANCYPLAIN, _T("fancyplain"), 2); + + AddMacroDef(ltGAMMA, _T("gamma"), 0); + AddMacroDef(ltCAP_GAMMA, _T("Gamma"), 0); + AddMacroDef(ltGEQ, _T("geq"), 0); + AddMacroDef(ltGE, _T("ge"), 0); + AddMacroDef(ltGG, _T("gg"), 0); + AddMacroDef(ltGLOSSARY, _T("glossary"), 1); + AddMacroDef(ltGLOSS, _T("gloss"), 1); + + AddMacroDef(ltHEADHEIGHT, _T("headheight"), 1); + AddMacroDef(ltHEARTSUIT, _T("heartsuit"), 0); + AddMacroDef(ltHELPGLOSSARY, _T("helpglossary"), 1); + AddMacroDef(ltHELPIGNORE, _T("helpignore"), 1, TRUE); + AddMacroDef(ltHELPONLY, _T("helponly"), 1); + AddMacroDef(ltHELPINPUT, _T("helpinput"), 1); + AddMacroDef(ltHELPFONTFAMILY, _T("helpfontfamily"), 1); + AddMacroDef(ltHELPFONTSIZE, _T("helpfontsize"), 1); + AddMacroDef(ltHELPREFN, _T("helprefn"), 2); + AddMacroDef(ltHELPREF, _T("helpref"), 2); + AddMacroDef(ltHFILL, _T("hfill"), 0); + AddMacroDef(ltHLINE, _T("hline"), 0); + AddMacroDef(ltHRULE, _T("hrule"), 0); + AddMacroDef(ltHSPACESTAR, _T("hspace*"), 1); + AddMacroDef(ltHSPACE, _T("hspace"), 1); + AddMacroDef(ltHSKIPSTAR, _T("hskip*"), 1); + AddMacroDef(ltHSKIP, _T("hskip"), 1); + AddMacroDef(lthuge, _T("huge"), 1); + AddMacroDef(ltHuge, _T("Huge"), 1); + AddMacroDef(ltHUGE, _T("HUGE"), 1); + AddMacroDef(ltHTMLIGNORE, _T("htmlignore"), 1); + AddMacroDef(ltHTMLONLY, _T("htmlonly"), 1); + + AddMacroDef(ltIM, _T("im"), 0); + AddMacroDef(ltINCLUDEONLY, _T("includeonly"), 1); + AddMacroDef(ltINCLUDE, _T("include"), 1); + AddMacroDef(ltINDENTED, _T("indented"), 2); + AddMacroDef(ltINDEX, _T("index"), 1); + AddMacroDef(ltINPUT, _T("input"), 1, TRUE); + AddMacroDef(ltIOTA, _T("iota"), 0); + AddMacroDef(ltITEMIZE, _T("itemize"), 1); + AddMacroDef(ltITEM, _T("item"), 0); + AddMacroDef(ltIMAGEMAP, _T("imagemap"), 3); + AddMacroDef(ltIMAGEL, _T("imagel"), 2); + AddMacroDef(ltIMAGER, _T("imager"), 2); + AddMacroDef(ltIMAGE, _T("image"), 2); + AddMacroDef(ltIN, _T("in"), 0); + AddMacroDef(ltINFTY, _T("infty"), 0); + AddMacroDef(ltITSHAPE, _T("itshape"), 1); + AddMacroDef(ltIT, _T("it"), 1); + AddMacroDef(ltITEMSEP, _T("itemsep"), 1); + AddMacroDef(ltINSERTATLEVEL, _T("insertatlevel"), 2); + + AddMacroDef(ltKAPPA, _T("kappa"), 0); + AddMacroDef(ltKILL, _T("kill"), 0); + + AddMacroDef(ltLABEL, _T("label"), 1); + AddMacroDef(ltLAMBDA, _T("lambda"), 0); + AddMacroDef(ltCAP_LAMBDA, _T("Lambda"), 0); + AddMacroDef(ltlarge, _T("large"), 1); + AddMacroDef(ltLarge, _T("Large"), 1); + AddMacroDef(ltLARGE, _T("LARGE"), 1); + AddMacroDef(ltLATEXIGNORE, _T("latexignore"), 1); + AddMacroDef(ltLATEXONLY, _T("latexonly"), 1); + AddMacroDef(ltLATEX, _T("LaTeX"), 0); + AddMacroDef(ltLBOX, _T("lbox"), 1); + AddMacroDef(ltLBRACERAW, _T("lbraceraw"), 0); + AddMacroDef(ltLDOTS, _T("ldots"), 0); + AddMacroDef(ltLEQ, _T("leq"), 0); + AddMacroDef(ltLE, _T("le"), 0); + AddMacroDef(ltLEFTARROW, _T("leftarrow"), 0); + AddMacroDef(ltLEFTRIGHTARROW, _T("leftrightarrow"), 0); + AddMacroDef(ltLEFTARROW2, _T("Leftarrow"), 0); + AddMacroDef(ltLEFTRIGHTARROW2, _T("Leftrightarrow"), 0); + AddMacroDef(ltLINEBREAK, _T("linebreak"), 0); + AddMacroDef(ltLINKCOLOUR, _T("linkcolour"), 1); + AddMacroDef(ltLISTOFFIGURES, _T("listoffigures"), 0); + AddMacroDef(ltLISTOFTABLES, _T("listoftables"), 0); + AddMacroDef(ltLHEAD, _T("lhead"), 1); + AddMacroDef(ltLFOOT, _T("lfoot"), 1); + AddMacroDef(ltLOWERCASE, _T("lowercase"), 1); + AddMacroDef(ltLL, _T("ll"), 0); + + AddMacroDef(ltMAKEGLOSSARY, _T("makeglossary"), 0); + AddMacroDef(ltMAKEINDEX, _T("makeindex"), 0); + AddMacroDef(ltMAKETITLE, _T("maketitle"), 0); + AddMacroDef(ltMARKRIGHT, _T("markright"), 1); + AddMacroDef(ltMARKBOTH, _T("markboth"), 2); + AddMacroDef(ltMARGINPARWIDTH, _T("marginparwidth"), 1); + AddMacroDef(ltMARGINPARSEP, _T("marginparsep"), 1); + AddMacroDef(ltMARGINPARODD, _T("marginparodd"), 1); + AddMacroDef(ltMARGINPAREVEN, _T("marginpareven"), 1); + AddMacroDef(ltMARGINPAR, _T("marginpar"), 1); + AddMacroDef(ltMBOX, _T("mbox"), 1); + AddMacroDef(ltMDSERIES, _T("mdseries"), 1); + AddMacroDef(ltMEMBERSECTION, _T("membersection"), 1); + AddMacroDef(ltMEMBER, _T("member"), 2); + AddMacroDef(ltMID, _T("mid"), 0); + AddMacroDef(ltMODELS, _T("models"), 0); + AddMacroDef(ltMP, _T("mp"), 0); + AddMacroDef(ltMULTICOLUMN, _T("multicolumn"), 3); + AddMacroDef(ltMU, _T("mu"), 0); + + AddMacroDef(ltNABLA, _T("nabla"), 0); + AddMacroDef(ltNEG, _T("neg"), 0); + AddMacroDef(ltNEQ, _T("neq"), 0); + AddMacroDef(ltNEWCOUNTER, _T("newcounter"), 1, FALSE, (bool)FORBID_ABSOLUTELY); + AddMacroDef(ltNEWLINE, _T("newline"), 0); + AddMacroDef(ltNEWPAGE, _T("newpage"), 0); + AddMacroDef(ltNI, _T("ni"), 0); + AddMacroDef(ltNOCITE, _T("nocite"), 1); + AddMacroDef(ltNOINDENT, _T("noindent"), 0); + AddMacroDef(ltNOLINEBREAK, _T("nolinebreak"), 0); + AddMacroDef(ltNOPAGEBREAK, _T("nopagebreak"), 0); + AddMacroDef(ltNORMALSIZE, _T("normalsize"), 1); + AddMacroDef(ltNORMALBOX, _T("normalbox"), 1); + AddMacroDef(ltNORMALBOXD, _T("normalboxd"), 1); + AddMacroDef(ltNOTEQ, _T("noteq"), 0); + AddMacroDef(ltNOTIN, _T("notin"), 0); + AddMacroDef(ltNOTSUBSET, _T("notsubset"), 0); + AddMacroDef(ltNU, _T("nu"), 0); + + AddMacroDef(ltODDSIDEMARGIN, _T("oddsidemargin"), 1); + AddMacroDef(ltOMEGA, _T("omega"), 0); + AddMacroDef(ltCAP_OMEGA, _T("Omega"), 0); + AddMacroDef(ltONECOLUMN, _T("onecolumn"), 0); + AddMacroDef(ltOPLUS, _T("oplus"), 0); + AddMacroDef(ltOSLASH, _T("oslash"), 0); + AddMacroDef(ltOTIMES, _T("otimes"), 0); + + AddMacroDef(ltPAGEBREAK, _T("pagebreak"), 0); + AddMacroDef(ltPAGEREF, _T("pageref"), 1); + AddMacroDef(ltPAGESTYLE, _T("pagestyle"), 1); + AddMacroDef(ltPAGENUMBERING, _T("pagenumbering"), 1); + AddMacroDef(ltPARAGRAPHSTAR, _T("paragraph*"), 1); + AddMacroDef(ltPARAGRAPH, _T("paragraph"), 1); + AddMacroDef(ltPARALLEL, _T("parallel"), 0); + AddMacroDef(ltPARAM, _T("param"), 2); + AddMacroDef(ltPARINDENT, _T("parindent"), 1); + AddMacroDef(ltPARSKIP, _T("parskip"), 1); + AddMacroDef(ltPARTIAL, _T("partial"), 0); + AddMacroDef(ltPARTSTAR, _T("part*"), 1); + AddMacroDef(ltPART, _T("part"), 1); + AddMacroDef(ltPAR, _T("par"), 0); + AddMacroDef(ltPERP, _T("perp"), 0); + AddMacroDef(ltPHI, _T("phi"), 0); + AddMacroDef(ltCAP_PHI, _T("Phi"), 0); + AddMacroDef(ltPFUNC, _T("pfunc"), 3); + AddMacroDef(ltPICTURE, _T("picture"), 1); + AddMacroDef(ltPI, _T("pi"), 0); + AddMacroDef(ltCAP_PI, _T("Pi"), 0); + AddMacroDef(ltPM, _T("pm"), 0); + AddMacroDef(ltPOPREFONLY, _T("poprefonly"), 1); + AddMacroDef(ltPOPREF, _T("popref"), 2); + AddMacroDef(ltPOUNDS, _T("pounds"), 0); + AddMacroDef(ltPREC, _T("prec"), 0); + AddMacroDef(ltPRECEQ, _T("preceq"), 0); + AddMacroDef(ltPRINTINDEX, _T("printindex"), 0); + AddMacroDef(ltPROPTO, _T("propto"), 0); + AddMacroDef(ltPSBOXTO, _T("psboxto"), 1, FALSE, (bool)FORBID_ABSOLUTELY); + AddMacroDef(ltPSBOX, _T("psbox"), 1, FALSE, (bool)FORBID_ABSOLUTELY); + AddMacroDef(ltPSI, _T("psi"), 0); + AddMacroDef(ltCAP_PSI, _T("Psi"), 0); + + AddMacroDef(ltQUOTE, _T("quote"), 1); + AddMacroDef(ltQUOTATION, _T("quotation"), 1); + + AddMacroDef(ltRAGGEDBOTTOM, _T("raggedbottom"), 0); + AddMacroDef(ltRAGGEDLEFT, _T("raggedleft"), 0); + AddMacroDef(ltRAGGEDRIGHT, _T("raggedright"), 0); + AddMacroDef(ltRBRACERAW, _T("rbraceraw"), 0); + AddMacroDef(ltREF, _T("ref"), 1); + AddMacroDef(ltREGISTERED, _T("registered"), 0); + AddMacroDef(ltRE, _T("we"), 0); + AddMacroDef(ltRHO, _T("rho"), 0); + AddMacroDef(ltRIGHTARROW, _T("rightarrow"), 0); + AddMacroDef(ltRIGHTARROW2, _T("rightarrow2"), 0); + AddMacroDef(ltRMFAMILY, _T("rmfamily"), 1); + AddMacroDef(ltRM, _T("rm"), 1); + AddMacroDef(ltROMAN, _T("roman"), 1); + AddMacroDef(ltROMAN2, _T("Roman"), 1); // AddMacroDef(lt"row", 1); - AddMacroDef(ltRTFSP, "rtfsp", 0); - AddMacroDef(ltRTFIGNORE, "rtfignore", 1); - AddMacroDef(ltRTFONLY, "rtfonly", 1); - AddMacroDef(ltRULEDROW, "ruledrow", 1); - AddMacroDef(ltDRULED, "druled", 1); - AddMacroDef(ltRULE, "rule", 2); - AddMacroDef(ltRHEAD, "rhead", 1); - AddMacroDef(ltRFOOT, "rfoot", 1); - AddMacroDef(ltROW, "row", 1); - - AddMacroDef(ltSCSHAPE, "scshape", 1); - AddMacroDef(ltSC, "sc", 1); - AddMacroDef(ltSECTIONHEADING, "sectionheading", 1); - AddMacroDef(ltSECTIONSTAR, "section*", 1); - AddMacroDef(ltSECTION, "section", 1); - AddMacroDef(ltSETCOUNTER, "setcounter", 2); - AddMacroDef(ltSFFAMILY, "sffamily", 1); - AddMacroDef(ltSF, "sf", 1); - AddMacroDef(ltSHARP, "sharp", 0); - AddMacroDef(ltSHORTCITE, "shortcite", 1); - AddMacroDef(ltSIGMA, "sigma", 0); - AddMacroDef(ltCAP_SIGMA, "Sigma", 0); - AddMacroDef(ltSIM, "sim", 0); - AddMacroDef(ltSIMEQ, "simeq", 0); - AddMacroDef(ltSINGLESPACE, "singlespace", 1); - AddMacroDef(ltSIZEDBOX, "sizedbox", 2); - AddMacroDef(ltSIZEDBOXD, "sizedboxd", 2); - AddMacroDef(ltSLOPPYPAR, "sloppypar", 1); - AddMacroDef(ltSLOPPY, "sloppy", 0); - AddMacroDef(ltSLSHAPE, "slshape", 1); - AddMacroDef(ltSL, "sl", 1); - AddMacroDef(ltSMALL, "small", 1); - AddMacroDef(ltSMILE, "smile", 0); - AddMacroDef(ltSS, "ss", 0); - AddMacroDef(ltSTAR, "star", 0); - AddMacroDef(ltSUBITEM, "subitem", 0); - AddMacroDef(ltSUBPARAGRAPHSTAR, "subparagraph*", 1); - AddMacroDef(ltSUBPARAGRAPH, "subparagraph", 1); - AddMacroDef(ltSPECIAL, "special", 1); - AddMacroDef(ltSUBSECTIONSTAR, "subsection*", 1); - AddMacroDef(ltSUBSECTION, "subsection", 1); - AddMacroDef(ltSUBSETEQ, "subseteq", 0); - AddMacroDef(ltSUBSET, "subset", 0); - AddMacroDef(ltSUCC, "succ", 0); - AddMacroDef(ltSUCCEQ, "succeq", 0); - AddMacroDef(ltSUPSETEQ, "supseteq", 0); - AddMacroDef(ltSUPSET, "supset", 0); - AddMacroDef(ltSUBSUBSECTIONSTAR,"subsubsection*", 1); - AddMacroDef(ltSUBSUBSECTION, "subsubsection", 1); - AddMacroDef(ltSUPERTABULAR, "supertabular", 2, FALSE); - AddMacroDef(ltSURD, "surd", 0); - AddMacroDef(ltSCRIPTSIZE, "scriptsize", 1); - AddMacroDef(ltSETHEADER, "setheader", 6); - AddMacroDef(ltSETFOOTER, "setfooter", 6); - AddMacroDef(ltSETHOTSPOTCOLOUR, "sethotspotcolour", 1); - AddMacroDef(ltSETHOTSPOTCOLOR, "sethotspotcolor", 1); - AddMacroDef(ltSETHOTSPOTUNDERLINE, "sethotspotunderline", 1); - AddMacroDef(ltSETTRANSPARENCY, "settransparency", 1); - AddMacroDef(ltSPADESUIT, "spadesuit", 0); - - AddMacroDef(ltTABBING, "tabbing", 2); - AddMacroDef(ltTABLEOFCONTENTS, "tableofcontents", 0); - AddMacroDef(ltTABLE, "table", 1); - AddMacroDef(ltTABULAR, "tabular", 2, FALSE); - AddMacroDef(ltTAB, "tab", 0); - AddMacroDef(ltTAU, "tau", 0); - AddMacroDef(ltTEXTRM, "textrm", 1); - AddMacroDef(ltTEXTSF, "textsf", 1); - AddMacroDef(ltTEXTTT, "texttt", 1); - AddMacroDef(ltTEXTBF, "textbf", 1); - AddMacroDef(ltTEXTIT, "textit", 1); - AddMacroDef(ltTEXTSL, "textsl", 1); - AddMacroDef(ltTEXTSC, "textsc", 1); - AddMacroDef(ltTEXTWIDTH, "textwidth", 1); - AddMacroDef(ltTEXTHEIGHT, "textheight", 1); - AddMacroDef(ltTEXTCOLOUR, "textcolour", 1); - AddMacroDef(ltTEX, "TeX", 0); - AddMacroDef(ltTHEBIBLIOGRAPHY, "thebibliography", 2); - AddMacroDef(ltTHETA, "theta", 0); - AddMacroDef(ltTIMES, "times", 0); - AddMacroDef(ltCAP_THETA, "Theta", 0); - AddMacroDef(ltTITLEPAGE, "titlepage", 1); - AddMacroDef(ltTITLE, "title", 1); - AddMacroDef(ltTINY, "tiny", 1); - AddMacroDef(ltTODAY, "today", 0); - AddMacroDef(ltTOPMARGIN, "topmargin", 1); - AddMacroDef(ltTOPSKIP, "topskip", 1); - AddMacroDef(ltTRIANGLE, "triangle", 0); - AddMacroDef(ltTTFAMILY, "ttfamily", 1); - AddMacroDef(ltTT, "tt", 1); - AddMacroDef(ltTYPEIN, "typein", 1); - AddMacroDef(ltTYPEOUT, "typeout", 1); - AddMacroDef(ltTWOCOLWIDTHA, "twocolwidtha", 1); - AddMacroDef(ltTWOCOLWIDTHB, "twocolwidthb", 1); - AddMacroDef(ltTWOCOLSPACING, "twocolspacing", 1); - AddMacroDef(ltTWOCOLITEMRULED, "twocolitemruled", 2); - AddMacroDef(ltTWOCOLITEM, "twocolitem", 2); - AddMacroDef(ltTWOCOLLIST, "twocollist", 1); - AddMacroDef(ltTWOCOLUMN, "twocolumn", 0); - AddMacroDef(ltTHEPAGE, "thepage", 0); - AddMacroDef(ltTHECHAPTER, "thechapter", 0); - AddMacroDef(ltTHESECTION, "thesection", 0); - AddMacroDef(ltTHISPAGESTYLE, "thispagestyle", 1); - - AddMacroDef(ltUNDERLINE, "underline", 1); - AddMacroDef(ltUPSILON, "upsilon", 0); - AddMacroDef(ltCAP_UPSILON, "Upsilon", 0); - AddMacroDef(ltUPARROW, "uparrow", 0); - AddMacroDef(ltUPARROW2, "Uparrow", 0); - AddMacroDef(ltUPPERCASE, "uppercase", 1); - AddMacroDef(ltUPSHAPE, "upshape", 1); - AddMacroDef(ltURLREF, "urlref", 2); - AddMacroDef(ltUSEPACKAGE, "usepackage", 1); + AddMacroDef(ltRTFSP, _T("rtfsp"), 0); + AddMacroDef(ltRTFIGNORE, _T("rtfignore"), 1); + AddMacroDef(ltRTFONLY, _T("rtfonly"), 1); + AddMacroDef(ltRULEDROW, _T("ruledrow"), 1); + AddMacroDef(ltDRULED, _T("druled"), 1); + AddMacroDef(ltRULE, _T("rule"), 2); + AddMacroDef(ltRHEAD, _T("rhead"), 1); + AddMacroDef(ltRFOOT, _T("rfoot"), 1); + AddMacroDef(ltROW, _T("row"), 1); + + AddMacroDef(ltSCSHAPE, _T("scshape"), 1); + AddMacroDef(ltSC, _T("sc"), 1); + AddMacroDef(ltSECTIONHEADING, _T("sectionheading"), 1); + AddMacroDef(ltSECTIONSTAR, _T("section*"), 1); + AddMacroDef(ltSECTION, _T("section"), 1); + AddMacroDef(ltSETCOUNTER, _T("setcounter"), 2); + AddMacroDef(ltSFFAMILY, _T("sffamily"), 1); + AddMacroDef(ltSF, _T("sf"), 1); + AddMacroDef(ltSHARP, _T("sharp"), 0); + AddMacroDef(ltSHORTCITE, _T("shortcite"), 1); + AddMacroDef(ltSIGMA, _T("sigma"), 0); + AddMacroDef(ltCAP_SIGMA, _T("Sigma"), 0); + AddMacroDef(ltSIM, _T("sim"), 0); + AddMacroDef(ltSIMEQ, _T("simeq"), 0); + AddMacroDef(ltSINGLESPACE, _T("singlespace"), 1); + AddMacroDef(ltSIZEDBOX, _T("sizedbox"), 2); + AddMacroDef(ltSIZEDBOXD, _T("sizedboxd"), 2); + AddMacroDef(ltSLOPPYPAR, _T("sloppypar"), 1); + AddMacroDef(ltSLOPPY, _T("sloppy"), 0); + AddMacroDef(ltSLSHAPE, _T("slshape"), 1); + AddMacroDef(ltSL, _T("sl"), 1); + AddMacroDef(ltSMALL, _T("small"), 1); + AddMacroDef(ltSMILE, _T("smile"), 0); + AddMacroDef(ltSS, _T("ss"), 0); + AddMacroDef(ltSTAR, _T("star"), 0); + AddMacroDef(ltSUBITEM, _T("subitem"), 0); + AddMacroDef(ltSUBPARAGRAPHSTAR, _T("subparagraph*"), 1); + AddMacroDef(ltSUBPARAGRAPH, _T("subparagraph"), 1); + AddMacroDef(ltSPECIAL, _T("special"), 1); + AddMacroDef(ltSUBSECTIONSTAR, _T("subsection*"), 1); + AddMacroDef(ltSUBSECTION, _T("subsection"), 1); + AddMacroDef(ltSUBSETEQ, _T("subseteq"), 0); + AddMacroDef(ltSUBSET, _T("subset"), 0); + AddMacroDef(ltSUCC, _T("succ"), 0); + AddMacroDef(ltSUCCEQ, _T("succeq"), 0); + AddMacroDef(ltSUPSETEQ, _T("supseteq"), 0); + AddMacroDef(ltSUPSET, _T("supset"), 0); + AddMacroDef(ltSUBSUBSECTIONSTAR, _T("subsubsection*"), 1); + AddMacroDef(ltSUBSUBSECTION, _T("subsubsection"), 1); + AddMacroDef(ltSUPERTABULAR, _T("supertabular"), 2, FALSE); + AddMacroDef(ltSURD, _T("surd"), 0); + AddMacroDef(ltSCRIPTSIZE, _T("scriptsize"), 1); + AddMacroDef(ltSETHEADER, _T("setheader"), 6); + AddMacroDef(ltSETFOOTER, _T("setfooter"), 6); + AddMacroDef(ltSETHOTSPOTCOLOUR, _T("sethotspotcolour"), 1); + AddMacroDef(ltSETHOTSPOTCOLOR, _T("sethotspotcolor"), 1); + AddMacroDef(ltSETHOTSPOTUNDERLINE, _T("sethotspotunderline"), 1); + AddMacroDef(ltSETTRANSPARENCY, _T("settransparency"), 1); + AddMacroDef(ltSPADESUIT, _T("spadesuit"), 0); + + AddMacroDef(ltTABBING, _T("tabbing"), 2); + AddMacroDef(ltTABLEOFCONTENTS, _T("tableofcontents"), 0); + AddMacroDef(ltTABLE, _T("table"), 1); + AddMacroDef(ltTABULAR, _T("tabular"), 2, FALSE); + AddMacroDef(ltTAB, _T("tab"), 0); + AddMacroDef(ltTAU, _T("tau"), 0); + AddMacroDef(ltTEXTRM, _T("textrm"), 1); + AddMacroDef(ltTEXTSF, _T("textsf"), 1); + AddMacroDef(ltTEXTTT, _T("texttt"), 1); + AddMacroDef(ltTEXTBF, _T("textbf"), 1); + AddMacroDef(ltTEXTIT, _T("textit"), 1); + AddMacroDef(ltTEXTSL, _T("textsl"), 1); + AddMacroDef(ltTEXTSC, _T("textsc"), 1); + AddMacroDef(ltTEXTWIDTH, _T("textwidth"), 1); + AddMacroDef(ltTEXTHEIGHT, _T("textheight"), 1); + AddMacroDef(ltTEXTCOLOUR, _T("textcolour"), 1); + AddMacroDef(ltTEX, _T("TeX"), 0); + AddMacroDef(ltTHEBIBLIOGRAPHY, _T("thebibliography"), 2); + AddMacroDef(ltTHETA, _T("theta"), 0); + AddMacroDef(ltTIMES, _T("times"), 0); + AddMacroDef(ltCAP_THETA, _T("Theta"), 0); + AddMacroDef(ltTITLEPAGE, _T("titlepage"), 1); + AddMacroDef(ltTITLE, _T("title"), 1); + AddMacroDef(ltTINY, _T("tiny"), 1); + AddMacroDef(ltTODAY, _T("today"), 0); + AddMacroDef(ltTOPMARGIN, _T("topmargin"), 1); + AddMacroDef(ltTOPSKIP, _T("topskip"), 1); + AddMacroDef(ltTRIANGLE, _T("triangle"), 0); + AddMacroDef(ltTTFAMILY, _T("ttfamily"), 1); + AddMacroDef(ltTT, _T("tt"), 1); + AddMacroDef(ltTYPEIN, _T("typein"), 1); + AddMacroDef(ltTYPEOUT, _T("typeout"), 1); + AddMacroDef(ltTWOCOLWIDTHA, _T("twocolwidtha"), 1); + AddMacroDef(ltTWOCOLWIDTHB, _T("twocolwidthb"), 1); + AddMacroDef(ltTWOCOLSPACING, _T("twocolspacing"), 1); + AddMacroDef(ltTWOCOLITEMRULED, _T("twocolitemruled"), 2); + AddMacroDef(ltTWOCOLITEM, _T("twocolitem"), 2); + AddMacroDef(ltTWOCOLLIST, _T("twocollist"), 1); + AddMacroDef(ltTWOCOLUMN, _T("twocolumn"), 0); + AddMacroDef(ltTHEPAGE, _T("thepage"), 0); + AddMacroDef(ltTHECHAPTER, _T("thechapter"), 0); + AddMacroDef(ltTHESECTION, _T("thesection"), 0); + AddMacroDef(ltTHISPAGESTYLE, _T("thispagestyle"), 1); + + AddMacroDef(ltUNDERLINE, _T("underline"), 1); + AddMacroDef(ltUPSILON, _T("upsilon"), 0); + AddMacroDef(ltCAP_UPSILON, _T("Upsilon"), 0); + AddMacroDef(ltUPARROW, _T("uparrow"), 0); + AddMacroDef(ltUPARROW2, _T("Uparrow"), 0); + AddMacroDef(ltUPPERCASE, _T("uppercase"), 1); + AddMacroDef(ltUPSHAPE, _T("upshape"), 1); + AddMacroDef(ltURLREF, _T("urlref"), 2); + AddMacroDef(ltUSEPACKAGE, _T("usepackage"), 1); - AddMacroDef(ltVAREPSILON, "varepsilon", 0); - AddMacroDef(ltVARPHI, "varphi", 0); - AddMacroDef(ltVARPI, "varpi", 0); - AddMacroDef(ltVARRHO, "varrho", 0); - AddMacroDef(ltVARSIGMA, "varsigma", 0); - AddMacroDef(ltVARTHETA, "vartheta", 0); - AddMacroDef(ltVDOTS, "vdots", 0); - AddMacroDef(ltVEE, "vee", 0); - AddMacroDef(ltVERBATIMINPUT, "verbatiminput", 1); - AddMacroDef(ltVERBATIM, "verbatim", 1); - AddMacroDef(ltVERBSTAR, "verb*", 1); - AddMacroDef(ltVERB, "verb", 1); - AddMacroDef(ltVERSE, "verse", 1); - AddMacroDef(ltVFILL, "vfill", 0); - AddMacroDef(ltVLINE, "vline", 0); - AddMacroDef(ltVOID, "void", 0); - AddMacroDef(ltVDASH, "vdash", 0); - AddMacroDef(ltVRULE, "vrule", 0); - AddMacroDef(ltVSPACESTAR, "vspace*", 1); - AddMacroDef(ltVSKIPSTAR, "vskip*", 1); - AddMacroDef(ltVSPACE, "vspace", 1); - AddMacroDef(ltVSKIP, "vskip", 1); - - AddMacroDef(ltWEDGE, "wedge", 0); - AddMacroDef(ltWXCLIPS, "wxclips", 0); - AddMacroDef(ltWINHELPIGNORE, "winhelpignore", 1); - AddMacroDef(ltWINHELPONLY, "winhelponly", 1); - AddMacroDef(ltWP, "wp", 0); - - AddMacroDef(ltXI, "xi", 0); - AddMacroDef(ltCAP_XI, "Xi", 0); - AddMacroDef(ltXLPIGNORE, "xlpignore", 1); - AddMacroDef(ltXLPONLY, "xlponly", 1); - - AddMacroDef(ltZETA, "zeta", 0); - - AddMacroDef(ltSPACE, " ", 0); - AddMacroDef(ltBACKSLASHCHAR, "\\", 0); - AddMacroDef(ltPIPE, "|", 0); - AddMacroDef(ltFORWARDSLASH, "/", 0); - AddMacroDef(ltUNDERSCORE, "_", 0); - AddMacroDef(ltAMPERSAND, "&", 0); - AddMacroDef(ltPERCENT, "%", 0); - AddMacroDef(ltDOLLAR, "$", 0); - AddMacroDef(ltHASH, "#", 0); - AddMacroDef(ltLPARENTH, "(", 0); - AddMacroDef(ltRPARENTH, ")", 0); - AddMacroDef(ltLBRACE, "{", 0); - AddMacroDef(ltRBRACE, "}", 0); -// AddMacroDef(ltEQUALS, "=", 0); - AddMacroDef(ltRANGLEBRA, ">", 0); - AddMacroDef(ltLANGLEBRA, "<", 0); - AddMacroDef(ltPLUS, "+", 0); - AddMacroDef(ltDASH, "-", 0); - AddMacroDef(ltAT_SYMBOL, "@", 0); -// AddMacroDef(ltSINGLEQUOTE, "'", 0); -// AddMacroDef(ltBACKQUOTE, "`", 0); + AddMacroDef(ltVAREPSILON, _T("varepsilon"), 0); + AddMacroDef(ltVARPHI, _T("varphi"), 0); + AddMacroDef(ltVARPI, _T("varpi"), 0); + AddMacroDef(ltVARRHO, _T("varrho"), 0); + AddMacroDef(ltVARSIGMA, _T("varsigma"), 0); + AddMacroDef(ltVARTHETA, _T("vartheta"), 0); + AddMacroDef(ltVDOTS, _T("vdots"), 0); + AddMacroDef(ltVEE, _T("vee"), 0); + AddMacroDef(ltVERBATIMINPUT, _T("verbatiminput"), 1); + AddMacroDef(ltVERBATIM, _T("verbatim"), 1); + AddMacroDef(ltVERBSTAR, _T("verb*"), 1); + AddMacroDef(ltVERB, _T("verb"), 1); + AddMacroDef(ltVERSE, _T("verse"), 1); + AddMacroDef(ltVFILL, _T("vfill"), 0); + AddMacroDef(ltVLINE, _T("vline"), 0); + AddMacroDef(ltVOID, _T("void"), 0); + AddMacroDef(ltVDASH, _T("vdash"), 0); + AddMacroDef(ltVRULE, _T("vrule"), 0); + AddMacroDef(ltVSPACESTAR, _T("vspace*"), 1); + AddMacroDef(ltVSKIPSTAR, _T("vskip*"), 1); + AddMacroDef(ltVSPACE, _T("vspace"), 1); + AddMacroDef(ltVSKIP, _T("vskip"), 1); + + AddMacroDef(ltWEDGE, _T("wedge"), 0); + AddMacroDef(ltWXCLIPS, _T("wxclips"), 0); + AddMacroDef(ltWINHELPIGNORE, _T("winhelpignore"), 1); + AddMacroDef(ltWINHELPONLY, _T("winhelponly"), 1); + AddMacroDef(ltWP, _T("wp"), 0); + + AddMacroDef(ltXI, _T("xi"), 0); + AddMacroDef(ltCAP_XI, _T("Xi"), 0); + AddMacroDef(ltXLPIGNORE, _T("xlpignore"), 1); + AddMacroDef(ltXLPONLY, _T("xlponly"), 1); + + AddMacroDef(ltZETA, _T("zeta"), 0); + + AddMacroDef(ltSPACE, _T(" "), 0); + AddMacroDef(ltBACKSLASHCHAR, _T("\\"), 0); + AddMacroDef(ltPIPE, _T("|"), 0); + AddMacroDef(ltFORWARDSLASH, _T("/"), 0); + AddMacroDef(ltUNDERSCORE, _T("_"), 0); + AddMacroDef(ltAMPERSAND, _T("&"), 0); + AddMacroDef(ltPERCENT, _T("%"), 0); + AddMacroDef(ltDOLLAR, _T("$"), 0); + AddMacroDef(ltHASH, _T("#"), 0); + AddMacroDef(ltLPARENTH, _T("("), 0); + AddMacroDef(ltRPARENTH, _T(")"), 0); + AddMacroDef(ltLBRACE, _T("{"), 0); + AddMacroDef(ltRBRACE, _T("}"), 0); +// AddMacroDef(ltEQUALS, _T("="), 0); + AddMacroDef(ltRANGLEBRA, _T(">"), 0); + AddMacroDef(ltLANGLEBRA, _T("<"), 0); + AddMacroDef(ltPLUS, _T("+"), 0); + AddMacroDef(ltDASH, _T("-"), 0); + AddMacroDef(ltAT_SYMBOL, _T("@"), 0); +// AddMacroDef(ltSINGLEQUOTE, _T("'"), 0); +// AddMacroDef(ltBACKQUOTE, _T("`"), 0); } /* @@ -2616,105 +2612,105 @@ void DefaultOnMacro(int macroId, int no_args, bool start) } case ltSPECIALAMPERSAND: if (start) - TexOutput(" "); + TexOutput(_T(" ")); break; case ltCINSERT: if (start) - TexOutput("<<", TRUE); + TexOutput(_T("<<"), TRUE); break; case ltCEXTRACT: if (start) - TexOutput(">>", TRUE); + TexOutput(_T(">>"), TRUE); break; case ltDESTRUCT: if (start) - TexOutput("~", TRUE); + TexOutput(_T("~"), TRUE); break; case ltTILDE: if (start) - TexOutput("~", TRUE); + TexOutput(_T("~"), TRUE); break; case ltSPECIALTILDE: if (start) - TexOutput(" ", TRUE); + TexOutput(_T(" "), TRUE); break; case ltUNDERSCORE: if (start) - TexOutput("_", TRUE); + TexOutput(_T("_"), TRUE); break; case ltHASH: if (start) - TexOutput("#", TRUE); + TexOutput(_T("#"), TRUE); break; case ltAMPERSAND: if (start) - TexOutput("&", TRUE); + TexOutput(_T("&"), TRUE); break; case ltSPACE: if (start) - TexOutput(" ", TRUE); + TexOutput(_T(" "), TRUE); break; case ltPIPE: if (start) - TexOutput("|", TRUE); + TexOutput(_T("|"), TRUE); break; case ltPERCENT: if (start) - TexOutput("%", TRUE); + TexOutput(_T("%"), TRUE); break; case ltDOLLAR: if (start) - TexOutput("$", TRUE); + TexOutput(_T("$"), TRUE); break; case ltLPARENTH: if (start) - TexOutput("", TRUE); + TexOutput(_T(""), TRUE); break; case ltRPARENTH: if (start) - TexOutput("", TRUE); + TexOutput(_T(""), TRUE); break; case ltLBRACE: if (start) - TexOutput("{", TRUE); + TexOutput(_T("{"), TRUE); break; case ltRBRACE: if (start) - TexOutput("}", TRUE); + TexOutput(_T("}"), TRUE); break; case ltCOPYRIGHT: if (start) - TexOutput("(c)", TRUE); + TexOutput(_T("(c)"), TRUE); break; case ltREGISTERED: if (start) - TexOutput("(r)", TRUE); + TexOutput(_T("(r)"), TRUE); break; case ltBACKSLASH: if (start) - TexOutput("\\", TRUE); + TexOutput(_T("\\"), TRUE); break; case ltLDOTS: case ltCDOTS: if (start) - TexOutput("...", TRUE); + TexOutput(_T("..."), TRUE); break; case ltVDOTS: if (start) - TexOutput("|", TRUE); + TexOutput(_T("|"), TRUE); break; case ltLATEX: if (start) - TexOutput("LaTeX", TRUE); + TexOutput(_T("LaTeX"), TRUE); break; case ltTEX: if (start) - TexOutput("TeX", TRUE); + TexOutput(_T("TeX"), TRUE); break; case ltPOUNDS: if (start) - TexOutput("£", TRUE); + TexOutput(_T("£"), TRUE); break; case ltSPECIALDOUBLEDOLLAR: // Interpret as center OnMacro(ltCENTER, no_args, start); @@ -2737,7 +2733,7 @@ void DefaultOnMacro(int macroId, int no_args, bool start) { time_t when; (void) time(&when); - TexOutput(ctime(&when), TRUE); + TexOutput(wxCtime(&when), TRUE); } break; } @@ -2748,389 +2744,389 @@ void DefaultOnMacro(int macroId, int no_args, bool start) // Symbols case ltALPHA: - if (start) TexOutput("alpha"); + if (start) TexOutput(_T("alpha")); break; case ltBETA: - if (start) TexOutput("beta"); + if (start) TexOutput(_T("beta")); break; case ltGAMMA: - if (start) TexOutput("gamma"); + if (start) TexOutput(_T("gamma")); break; case ltDELTA: - if (start) TexOutput("delta"); + if (start) TexOutput(_T("delta")); break; case ltEPSILON: case ltVAREPSILON: - if (start) TexOutput("epsilon"); + if (start) TexOutput(_T("epsilon")); break; case ltZETA: - if (start) TexOutput("zeta"); + if (start) TexOutput(_T("zeta")); break; case ltETA: - if (start) TexOutput("eta"); + if (start) TexOutput(_T("eta")); break; case ltTHETA: case ltVARTHETA: - if (start) TexOutput("theta"); + if (start) TexOutput(_T("theta")); break; case ltIOTA: - if (start) TexOutput("iota"); + if (start) TexOutput(_T("iota")); break; case ltKAPPA: - if (start) TexOutput("kappa"); + if (start) TexOutput(_T("kappa")); break; case ltLAMBDA: - if (start) TexOutput("lambda"); + if (start) TexOutput(_T("lambda")); break; case ltMU: - if (start) TexOutput("mu"); + if (start) TexOutput(_T("mu")); break; case ltNU: - if (start) TexOutput("nu"); + if (start) TexOutput(_T("nu")); break; case ltXI: - if (start) TexOutput("xi"); + if (start) TexOutput(_T("xi")); break; case ltPI: case ltVARPI: - if (start) TexOutput("pi"); + if (start) TexOutput(_T("pi")); break; case ltRHO: case ltVARRHO: - if (start) TexOutput("rho"); + if (start) TexOutput(_T("rho")); break; case ltSIGMA: case ltVARSIGMA: - if (start) TexOutput("sigma"); + if (start) TexOutput(_T("sigma")); break; case ltTAU: - if (start) TexOutput("tau"); + if (start) TexOutput(_T("tau")); break; case ltUPSILON: - if (start) TexOutput("upsilon"); + if (start) TexOutput(_T("upsilon")); break; case ltPHI: case ltVARPHI: - if (start) TexOutput("phi"); + if (start) TexOutput(_T("phi")); break; case ltCHI: - if (start) TexOutput("chi"); + if (start) TexOutput(_T("chi")); break; case ltPSI: - if (start) TexOutput("psi"); + if (start) TexOutput(_T("psi")); break; case ltOMEGA: - if (start) TexOutput("omega"); + if (start) TexOutput(_T("omega")); break; case ltCAP_GAMMA: - if (start) TexOutput("GAMMA"); + if (start) TexOutput(_T("GAMMA")); break; case ltCAP_DELTA: - if (start) TexOutput("DELTA"); + if (start) TexOutput(_T("DELTA")); break; case ltCAP_THETA: - if (start) TexOutput("THETA"); + if (start) TexOutput(_T("THETA")); break; case ltCAP_LAMBDA: - if (start) TexOutput("LAMBDA"); + if (start) TexOutput(_T("LAMBDA")); break; case ltCAP_XI: - if (start) TexOutput("XI"); + if (start) TexOutput(_T("XI")); break; case ltCAP_PI: - if (start) TexOutput("PI"); + if (start) TexOutput(_T("PI")); break; case ltCAP_SIGMA: - if (start) TexOutput("SIGMA"); + if (start) TexOutput(_T("SIGMA")); break; case ltCAP_UPSILON: - if (start) TexOutput("UPSILON"); + if (start) TexOutput(_T("UPSILON")); break; case ltCAP_PHI: - if (start) TexOutput("PHI"); + if (start) TexOutput(_T("PHI")); break; case ltCAP_PSI: - if (start) TexOutput("PSI"); + if (start) TexOutput(_T("PSI")); break; case ltCAP_OMEGA: - if (start) TexOutput("OMEGA"); + if (start) TexOutput(_T("OMEGA")); break; // Binary operation symbols case ltLE: case ltLEQ: - if (start) TexOutput("<="); + if (start) TexOutput(_T("<=")); break; case ltLL: - if (start) TexOutput("<<"); + if (start) TexOutput(_T("<<")); break; case ltSUBSET: - if (start) TexOutput("SUBSET"); + if (start) TexOutput(_T("SUBSET")); break; case ltSUBSETEQ: - if (start) TexOutput("SUBSETEQ"); + if (start) TexOutput(_T("SUBSETEQ")); break; case ltIN: - if (start) TexOutput("IN"); + if (start) TexOutput(_T("IN")); break; case ltVDASH: - if (start) TexOutput("VDASH"); + if (start) TexOutput(_T("VDASH")); break; case ltMODELS: - if (start) TexOutput("MODELS"); + if (start) TexOutput(_T("MODELS")); break; case ltGE: case ltGEQ: - if (start) TexOutput(">="); + if (start) TexOutput(_T(">=")); break; case ltGG: - if (start) TexOutput(">>"); + if (start) TexOutput(_T(">>")); break; case ltSUPSET: - if (start) TexOutput("SUPSET"); + if (start) TexOutput(_T("SUPSET")); break; case ltSUPSETEQ: - if (start) TexOutput("SUPSETEQ"); + if (start) TexOutput(_T("SUPSETEQ")); break; case ltNI: - if (start) TexOutput("NI"); + if (start) TexOutput(_T("NI")); break; case ltDASHV: - if (start) TexOutput("DASHV"); + if (start) TexOutput(_T("DASHV")); break; case ltPERP: - if (start) TexOutput("PERP"); + if (start) TexOutput(_T("PERP")); break; case ltNEQ: - if (start) TexOutput("NEQ"); + if (start) TexOutput(_T("NEQ")); break; case ltDOTEQ: - if (start) TexOutput("DOTEQ"); + if (start) TexOutput(_T("DOTEQ")); break; case ltAPPROX: - if (start) TexOutput("APPROX"); + if (start) TexOutput(_T("APPROX")); break; case ltCONG: - if (start) TexOutput("CONG"); + if (start) TexOutput(_T("CONG")); break; case ltEQUIV: - if (start) TexOutput("EQUIV"); + if (start) TexOutput(_T("EQUIV")); break; case ltPROPTO: - if (start) TexOutput("PROPTO"); + if (start) TexOutput(_T("PROPTO")); break; case ltPREC: - if (start) TexOutput("PREC"); + if (start) TexOutput(_T("PREC")); break; case ltPRECEQ: - if (start) TexOutput("PRECEQ"); + if (start) TexOutput(_T("PRECEQ")); break; case ltPARALLEL: - if (start) TexOutput("|"); + if (start) TexOutput(_T("|")); break; case ltSIM: - if (start) TexOutput("~"); + if (start) TexOutput(_T("~")); break; case ltSIMEQ: - if (start) TexOutput("SIMEQ"); + if (start) TexOutput(_T("SIMEQ")); break; case ltASYMP: - if (start) TexOutput("ASYMP"); + if (start) TexOutput(_T("ASYMP")); break; case ltSMILE: - if (start) TexOutput(":-)"); + if (start) TexOutput(_T(":-)")); break; case ltFROWN: - if (start) TexOutput(":-("); + if (start) TexOutput(_T(":-(")); break; case ltSUCC: - if (start) TexOutput("SUCC"); + if (start) TexOutput(_T("SUCC")); break; case ltSUCCEQ: - if (start) TexOutput("SUCCEQ"); + if (start) TexOutput(_T("SUCCEQ")); break; case ltMID: - if (start) TexOutput("|"); + if (start) TexOutput(_T("|")); break; // Negated relation symbols case ltNOTEQ: - if (start) TexOutput("!="); + if (start) TexOutput(_T("!=")); break; case ltNOTIN: - if (start) TexOutput("NOTIN"); + if (start) TexOutput(_T("NOTIN")); break; case ltNOTSUBSET: - if (start) TexOutput("NOTSUBSET"); + if (start) TexOutput(_T("NOTSUBSET")); break; // Arrows case ltLEFTARROW: - if (start) TexOutput("<--"); + if (start) TexOutput(_T("<--")); break; case ltLEFTARROW2: - if (start) TexOutput("<=="); + if (start) TexOutput(_T("<==")); break; case ltRIGHTARROW: - if (start) TexOutput("-->"); + if (start) TexOutput(_T("-->")); break; case ltRIGHTARROW2: - if (start) TexOutput("==>"); + if (start) TexOutput(_T("==>")); break; case ltLEFTRIGHTARROW: - if (start) TexOutput("<-->"); + if (start) TexOutput(_T("<-->")); break; case ltLEFTRIGHTARROW2: - if (start) TexOutput("<==>"); + if (start) TexOutput(_T("<==>")); break; case ltUPARROW: - if (start) TexOutput("UPARROW"); + if (start) TexOutput(_T("UPARROW")); break; case ltUPARROW2: - if (start) TexOutput("UPARROW2"); + if (start) TexOutput(_T("UPARROW2")); break; case ltDOWNARROW: - if (start) TexOutput("DOWNARROW"); + if (start) TexOutput(_T("DOWNARROW")); break; case ltDOWNARROW2: - if (start) TexOutput("DOWNARROW2"); + if (start) TexOutput(_T("DOWNARROW2")); break; // Miscellaneous symbols case ltALEPH: - if (start) TexOutput("ALEPH"); + if (start) TexOutput(_T("ALEPH")); break; case ltWP: - if (start) TexOutput("WP"); + if (start) TexOutput(_T("WP")); break; case ltRE: - if (start) TexOutput("RE"); + if (start) TexOutput(_T("RE")); break; case ltIM: - if (start) TexOutput("IM"); + if (start) TexOutput(_T("IM")); break; case ltEMPTYSET: - if (start) TexOutput("EMPTYSET"); + if (start) TexOutput(_T("EMPTYSET")); break; case ltNABLA: - if (start) TexOutput("NABLA"); + if (start) TexOutput(_T("NABLA")); break; case ltSURD: - if (start) TexOutput("SURD"); + if (start) TexOutput(_T("SURD")); break; case ltPARTIAL: - if (start) TexOutput("PARTIAL"); + if (start) TexOutput(_T("PARTIAL")); break; case ltBOT: - if (start) TexOutput("BOT"); + if (start) TexOutput(_T("BOT")); break; case ltFORALL: - if (start) TexOutput("FORALL"); + if (start) TexOutput(_T("FORALL")); break; case ltEXISTS: - if (start) TexOutput("EXISTS"); + if (start) TexOutput(_T("EXISTS")); break; case ltNEG: - if (start) TexOutput("NEG"); + if (start) TexOutput(_T("NEG")); break; case ltSHARP: - if (start) TexOutput("SHARP"); + if (start) TexOutput(_T("SHARP")); break; case ltANGLE: - if (start) TexOutput("ANGLE"); + if (start) TexOutput(_T("ANGLE")); break; case ltTRIANGLE: - if (start) TexOutput("TRIANGLE"); + if (start) TexOutput(_T("TRIANGLE")); break; case ltCLUBSUIT: - if (start) TexOutput("CLUBSUIT"); + if (start) TexOutput(_T("CLUBSUIT")); break; case ltDIAMONDSUIT: - if (start) TexOutput("DIAMONDSUIT"); + if (start) TexOutput(_T("DIAMONDSUIT")); break; case ltHEARTSUIT: - if (start) TexOutput("HEARTSUIT"); + if (start) TexOutput(_T("HEARTSUIT")); break; case ltSPADESUIT: - if (start) TexOutput("SPADESUIT"); + if (start) TexOutput(_T("SPADESUIT")); break; case ltINFTY: - if (start) TexOutput("INFTY"); + if (start) TexOutput(_T("INFTY")); break; case ltPM: - if (start) TexOutput("PM"); + if (start) TexOutput(_T("PM")); break; case ltMP: - if (start) TexOutput("MP"); + if (start) TexOutput(_T("MP")); break; case ltTIMES: - if (start) TexOutput("TIMES"); + if (start) TexOutput(_T("TIMES")); break; case ltDIV: - if (start) TexOutput("DIV"); + if (start) TexOutput(_T("DIV")); break; case ltCDOT: - if (start) TexOutput("CDOT"); + if (start) TexOutput(_T("CDOT")); break; case ltAST: - if (start) TexOutput("AST"); + if (start) TexOutput(_T("AST")); break; case ltSTAR: - if (start) TexOutput("STAR"); + if (start) TexOutput(_T("STAR")); break; case ltCAP: - if (start) TexOutput("CAP"); + if (start) TexOutput(_T("CAP")); break; case ltCUP: - if (start) TexOutput("CUP"); + if (start) TexOutput(_T("CUP")); break; case ltVEE: - if (start) TexOutput("VEE"); + if (start) TexOutput(_T("VEE")); break; case ltWEDGE: - if (start) TexOutput("WEDGE"); + if (start) TexOutput(_T("WEDGE")); break; case ltCIRC: - if (start) TexOutput("CIRC"); + if (start) TexOutput(_T("CIRC")); break; case ltBULLET: - if (start) TexOutput("BULLET"); + if (start) TexOutput(_T("BULLET")); break; case ltDIAMOND: - if (start) TexOutput("DIAMOND"); + if (start) TexOutput(_T("DIAMOND")); break; case ltOSLASH: - if (start) TexOutput("OSLASH"); + if (start) TexOutput(_T("OSLASH")); break; case ltBOX: - if (start) TexOutput("BOX"); + if (start) TexOutput(_T("BOX")); break; case ltDIAMOND2: - if (start) TexOutput("DIAMOND2"); + if (start) TexOutput(_T("DIAMOND2")); break; case ltBIGTRIANGLEDOWN: - if (start) TexOutput("BIGTRIANGLEDOWN"); + if (start) TexOutput(_T("BIGTRIANGLEDOWN")); break; case ltOPLUS: - if (start) TexOutput("OPLUS"); + if (start) TexOutput(_T("OPLUS")); break; case ltOTIMES: - if (start) TexOutput("OTIMES"); + if (start) TexOutput(_T("OTIMES")); break; case ltSS: - if (start) TexOutput("s"); + if (start) TexOutput(_T("s")); break; case ltBACKSLASHRAW: - if (start) TexOutput("\\"); + if (start) TexOutput(_T("\\")); break; case ltLBRACERAW: - if (start) TexOutput("{"); + if (start) TexOutput(_T("{")); break; case ltRBRACERAW: - if (start) TexOutput("}"); + if (start) TexOutput(_T("}")); break; case ltSMALLSPACE1: case ltSMALLSPACE2: - if (start) TexOutput(" "); + if (start) TexOutput(_T(" ")); break; default: break; @@ -3146,7 +3142,7 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) { if (arg_no == 1 && start) { - char *refName = GetArgData(); + wxChar *refName = GetArgData(); if (refName) { TexRef *texRef = FindReference(refName); @@ -3154,11 +3150,11 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) { // Must strip the 'section' or 'chapter' or 'figure' text // from a normal 'ref' reference - char buf[150]; - strcpy(buf, texRef->sectionNumber); - int len = strlen(buf); + wxChar buf[150]; + wxStrcpy(buf, texRef->sectionNumber); + int len = wxStrlen(buf); int i = 0; - if (strcmp(buf, "??") != 0) + if (wxStrcmp(buf, _T("??")) != 0) { while (i < len) { @@ -3175,11 +3171,11 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) else { wxString informBuf; - informBuf.Printf("Warning: unresolved reference '%s'", refName); - OnInform((char *)informBuf.c_str()); + informBuf.Printf(_T("Warning: unresolved reference '%s'"), refName); + OnInform((wxChar *)informBuf.c_str()); } } - else TexOutput("??", TRUE); + else TexOutput(_T("??"), TRUE); return FALSE; } break; @@ -3187,28 +3183,24 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) case ltLABEL: { return FALSE; - break; } case ltAUTHOR: { if (start && (arg_no == 1)) DocumentAuthor = GetArgChunk(); return FALSE; - break; } case ltDATE: { if (start && (arg_no == 1)) DocumentDate = GetArgChunk(); return FALSE; - break; } case ltTITLE: { if (start && (arg_no == 1)) DocumentTitle = GetArgChunk(); return FALSE; - break; } case ltDOCUMENTCLASS: case ltDOCUMENTSTYLE: @@ -3216,27 +3208,27 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) if (start && !IsArgOptional()) { DocumentStyleString = copystring(GetArgData()); - if (strncmp(DocumentStyleString, "art", 3) == 0) + if (wxStrncmp(DocumentStyleString, _T("art"), 3) == 0) DocumentStyle = LATEX_ARTICLE; - else if (strncmp(DocumentStyleString, "rep", 3) == 0) + else if (wxStrncmp(DocumentStyleString, _T("rep"), 3) == 0) DocumentStyle = LATEX_REPORT; - else if (strncmp(DocumentStyleString, "book", 4) == 0 || - strncmp(DocumentStyleString, "thesis", 6) == 0) + else if (wxStrncmp(DocumentStyleString, _T("book"), 4) == 0 || + wxStrncmp(DocumentStyleString, _T("thesis"), 6) == 0) DocumentStyle = LATEX_BOOK; - else if (strncmp(DocumentStyleString, "letter", 6) == 0) + else if (wxStrncmp(DocumentStyleString, _T("letter"), 6) == 0) DocumentStyle = LATEX_LETTER; - else if (strncmp(DocumentStyleString, "slides", 6) == 0) + else if (wxStrncmp(DocumentStyleString, _T("slides"), 6) == 0) DocumentStyle = LATEX_SLIDES; - if (StringMatch("10", DocumentStyleString)) + if (StringMatch(_T("10"), DocumentStyleString)) SetFontSizes(10); - else if (StringMatch("11", DocumentStyleString)) + else if (StringMatch(_T("11"), DocumentStyleString)) SetFontSizes(11); - else if (StringMatch("12", DocumentStyleString)) + else if (StringMatch(_T("12"), DocumentStyleString)) SetFontSizes(12); OnMacro(ltHELPFONTSIZE, 1, TRUE); - sprintf(currentArgData, "%d", normalFont); + wxSprintf(currentArgData, _T("%d"), normalFont); haveArgData = TRUE; OnArgument(ltHELPFONTSIZE, 1, TRUE); OnArgument(ltHELPFONTSIZE, 1, FALSE); @@ -3247,22 +3239,20 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) { MinorDocumentStyleString = copystring(GetArgData()); - if (StringMatch("10", MinorDocumentStyleString)) + if (StringMatch(_T("10"), MinorDocumentStyleString)) SetFontSizes(10); - else if (StringMatch("11", MinorDocumentStyleString)) + else if (StringMatch(_T("11"), MinorDocumentStyleString)) SetFontSizes(11); - else if (StringMatch("12", MinorDocumentStyleString)) + else if (StringMatch(_T("12"), MinorDocumentStyleString)) SetFontSizes(12); } return FALSE; - break; } case ltBIBLIOGRAPHYSTYLE: { if (start && !IsArgOptional()) BibliographyStyleString = copystring(GetArgData()); return FALSE; - break; } case ltPAGESTYLE: { @@ -3272,7 +3262,6 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) PageStyle = copystring(GetArgData()); } return FALSE; - break; } /* case ltLHEAD: @@ -3323,9 +3312,9 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) { if (start && !IsArgOptional()) { - char *citeKeys = GetArgData(); + wxChar *citeKeys = GetArgData(); int pos = 0; - char *citeKey = ParseMultifieldString(citeKeys, &pos); + wxChar *citeKey = ParseMultifieldString(citeKeys, &pos); while (citeKey) { AddCitation(citeKey); @@ -3333,17 +3322,17 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) if (ref) { TexOutput(ref->sectionNumber, TRUE); - if (strcmp(ref->sectionNumber, "??") == 0) + if (wxStrcmp(ref->sectionNumber, _T("??")) == 0) { wxString informBuf; - informBuf.Printf("Warning: unresolved citation %s.", citeKey); - OnInform((char *)informBuf.c_str()); + informBuf.Printf(_T("Warning: unresolved citation %s."), citeKey); + OnInform((wxChar *)informBuf.c_str()); } } citeKey = ParseMultifieldString(citeKeys, &pos); if (citeKey) { - TexOutput(", ", TRUE); + TexOutput(_T(", "), TRUE); } } return FALSE; @@ -3354,7 +3343,7 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) { if (start && !IsArgOptional()) { - char *citeKey = GetArgData(); + wxChar *citeKey = GetArgData(); AddCitation(citeKey); return FALSE; } @@ -3364,12 +3353,12 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) { if (start) { - char *data = GetArgData(); - if (strcmp(data, "10") == 0) + wxChar *data = GetArgData(); + if (wxStrcmp(data, _T("10")) == 0) SetFontSizes(10); - else if (strcmp(data, "11") == 0) + else if (wxStrcmp(data, _T("11")) == 0) SetFontSizes(11); - else if (strcmp(data, "12") == 0) + else if (wxStrcmp(data, _T("12")) == 0) SetFontSizes(12); return FALSE; } @@ -3379,7 +3368,7 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) { if (start) { - TexOutput(" ??", TRUE); + TexOutput(_T(" ??"), TRUE); return FALSE; } break; @@ -3388,7 +3377,7 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) { if (start && arg_no == 1) { - char *data = GetArgData(); + wxChar *data = GetArgData(); ParSkip = ParseUnitArgument(data); return FALSE; } @@ -3398,7 +3387,7 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) { if (start && arg_no == 1) { - char *data = GetArgData(); + wxChar *data = GetArgData(); ParIndent = ParseUnitArgument(data); return FALSE; } @@ -3407,12 +3396,10 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) case ltSL: { return OnArgument(ltIT, arg_no, start); - break; } case ltSPECIALDOUBLEDOLLAR: { return OnArgument(ltCENTER, arg_no, start); - break; } case ltPARAGRAPH: case ltPARAGRAPHSTAR: @@ -3420,7 +3407,6 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) case ltSUBPARAGRAPHSTAR: { return OnArgument(ltSUBSUBSECTION, arg_no, start); - break; } case ltTYPEOUT: { @@ -3431,20 +3417,20 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) case ltFOOTNOTE: { if (start) - TexOutput(" (", TRUE); + TexOutput(_T(" ("), TRUE); else - TexOutput(")", TRUE); + TexOutput(_T(")"), TRUE); break; } case ltBIBLIOGRAPHY: { if (start) { - FILE *fd; int ch; - char smallBuf[2]; + wxChar smallBuf[2]; smallBuf[1] = 0; - if ((fd = fopen(TexBibName, "r"))) + FILE *fd = wxFopen(TexBibName, _T("r")); + if (fd) { ch = getc(fd); smallBuf[0] = ch; @@ -3458,37 +3444,37 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) } else { - OnInform("Run Tex2RTF again to include bibliography."); + OnInform(_T("Run Tex2RTF again to include bibliography.")); } // Read in the .bib file, resolve all known references, write out the RTF. - char *allFiles = GetArgData(); + wxChar *allFiles = GetArgData(); int pos = 0; - char *bibFile = ParseMultifieldString(allFiles, &pos); + wxChar *bibFile = ParseMultifieldString(allFiles, &pos); while (bibFile) { - char fileBuf[300]; - strcpy(fileBuf, bibFile); + wxChar fileBuf[300]; + wxStrcpy(fileBuf, bibFile); wxString actualFile = TexPathList.FindValidPath(fileBuf); - if (actualFile == "") + if (actualFile == _T("")) { - strcat(fileBuf, ".bib"); + wxStrcat(fileBuf, _T(".bib")); actualFile = TexPathList.FindValidPath(fileBuf); } - if (actualFile != "") + if (actualFile != _T("")) { - if (!ReadBib((char*) (const char*) actualFile)) + if (!ReadBib((wxChar*) (const wxChar*) actualFile)) { wxString errBuf; - errBuf.Printf(".bib file %s not found or malformed", (const char*) actualFile); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T(".bib file %s not found or malformed"), (const wxChar*) actualFile); + OnError((wxChar *)errBuf.c_str()); } } else { wxString errBuf; - errBuf.Printf(".bib file %s not found", fileBuf); - OnError((char *)errBuf.c_str()); + errBuf.Printf(_T(".bib file %s not found"), fileBuf); + OnError((wxChar *)errBuf.c_str()); } bibFile = ParseMultifieldString(allFiles, &pos); } @@ -3498,7 +3484,7 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) // Write it a new bib section in the appropriate format. FILE *save1 = CurrentOutput1; FILE *save2 = CurrentOutput2; - FILE *Biblio = fopen(TexTmpBibName, "w"); + FILE *Biblio = wxFopen(TexTmpBibName, _T("w")); SetCurrentOutput(Biblio); OutputBib(); fclose(Biblio); @@ -3513,26 +3499,20 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) break; } case ltMULTICOLUMN: - { - if (start && (arg_no == 3)) - return TRUE; - else - return FALSE; - break; - } + return (start && (arg_no == 3)); case ltSCSHAPE: case ltTEXTSC: case ltSC: { if (start && (arg_no == 1)) { - char *s = GetArgData(); + wxChar *s = GetArgData(); if (s) { - char *s1 = copystring(s); + wxChar *s1 = copystring(s); int i; - for (i = 0; i < (int)strlen(s); i++) - s1[i] = toupper(s[i]); + for (i = 0; i < (int)wxStrlen(s); i++) + s1[i] = wxToupper(s[i]); TexOutput(s1); delete[] s1; return FALSE; @@ -3541,19 +3521,18 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) } return TRUE; - break; } case ltLOWERCASE: { if (start && (arg_no == 1)) { - char *s = GetArgData(); + wxChar *s = GetArgData(); if (s) { - char *s1 = copystring(s); + wxChar *s1 = copystring(s); int i; - for (i = 0; i < (int)strlen(s); i++) - s1[i] = tolower(s[i]); + for (i = 0; i < (int)wxStrlen(s); i++) + s1[i] = wxTolower(s[i]); TexOutput(s1); delete[] s1; return FALSE; @@ -3562,19 +3541,18 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) } return TRUE; - break; } case ltUPPERCASE: { if (start && (arg_no == 1)) { - char *s = GetArgData(); + wxChar *s = GetArgData(); if (s) { - char *s1 = copystring(s); + wxChar *s1 = copystring(s); int i; - for (i = 0; i < (int)strlen(s); i++) - s1[i] = toupper(s[i]); + for (i = 0; i < (int)wxStrlen(s); i++) + s1[i] = wxToupper(s[i]); TexOutput(s1); delete[] s1; return FALSE; @@ -3583,49 +3561,31 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) } return TRUE; - break; } case ltPOPREF: // Ignore second argument by default - { - if (start && (arg_no == 1)) - return TRUE; - else - return FALSE; - break; - } + return (start && (arg_no == 1)); case ltTWOCOLUMN: return TRUE; - break; case ltXLPIGNORE: return ((convertMode == TEX_XLP) ? FALSE : TRUE); - break; case ltXLPONLY: return ((convertMode != TEX_XLP) ? FALSE : TRUE); - break; case ltHTMLIGNORE: return ((convertMode == TEX_HTML) ? FALSE : TRUE); - break; case ltHTMLONLY: return ((convertMode != TEX_HTML) ? FALSE : TRUE); - break; case ltRTFIGNORE: return (((convertMode == TEX_RTF) && !winHelp) ? FALSE : TRUE); - break; case ltRTFONLY: return (!((convertMode == TEX_RTF) && !winHelp) ? FALSE : TRUE); - break; case ltWINHELPIGNORE: return (winHelp ? FALSE : TRUE); - break; case ltWINHELPONLY: return (!winHelp ? FALSE : TRUE); - break; case ltLATEXIGNORE: return TRUE; - break; case ltLATEXONLY: return FALSE; - break; case ltCLINE: case ltARABIC: case ltALPH1: @@ -3696,35 +3656,19 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) case ltPOPREFONLY: case ltINSERTATLEVEL: return FALSE; - break; case ltTABULAR: case ltSUPERTABULAR: - { - if (arg_no == 2) - return TRUE; - else return FALSE; - break; - } case ltINDENTED: - { - if (arg_no == 2) return TRUE; - else return FALSE; - break; - } case ltSIZEDBOX: case ltSIZEDBOXD: - { - if (arg_no == 2) return TRUE; - else return FALSE; - break; - } + return (arg_no == 2); case ltDEFINECOLOUR: case ltDEFINECOLOR: { static int redVal = 0; static int greenVal = 0; static int blueVal = 0; - static char *colourName = NULL; + static wxChar *colourName = NULL; if (start) { switch (arg_no) @@ -3737,17 +3681,17 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) } case 2: { - redVal = atoi(GetArgData()); + redVal = wxAtoi(GetArgData()); break; } case 3: { - greenVal = atoi(GetArgData()); + greenVal = wxAtoi(GetArgData()); break; } case 4: { - blueVal = atoi(GetArgData()); + blueVal = wxAtoi(GetArgData()); AddColour(colourName, redVal, greenVal, blueVal); break; } @@ -3756,20 +3700,13 @@ bool DefaultOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltFIGURE: case ltFIGURESTAR: case ltNORMALBOX: case ltNORMALBOXD: default: - { - if (IsArgOptional()) - return FALSE; - else - return TRUE; - break; - } + return (!IsArgOptional()); } return TRUE; } diff --git a/utils/tex2rtf/src/tex2any.h b/utils/tex2rtf/src/tex2any.h index 81d7c9e850..cd29772fc4 100644 --- a/utils/tex2rtf/src/tex2any.h +++ b/utils/tex2rtf/src/tex2any.h @@ -13,6 +13,7 @@ #include "wx/utils.h" #include "wx/list.h" #include "wx/hash.h" +#include "wx/tokenzr.h" #include "wxhlpblk.h" /* @@ -44,12 +45,12 @@ class TexMacroDef: public wxObject { public: int no_args; - char *name; + wxChar *name; bool ignore; int forbidden; int macroId; - TexMacroDef(int the_id, const char *the_name, int n, bool ig, bool forbidLevel = FORBID_OK); + TexMacroDef(int the_id, const wxChar *the_name, int n, bool ig, bool forbidLevel = FORBID_OK); ~TexMacroDef(void); }; @@ -105,7 +106,7 @@ class TexChunk int type; // char *name; TexMacroDef *def; - char *value; + wxChar *value; int macroId; int no_args; int argn; @@ -129,26 +130,26 @@ class TexTopic: public wxObject // to find there's only one page in it. We might force a book to be used if // a top-level topic has no children (?) bool hasChildren; - char *filename; + wxChar *filename; wxStringList *keywords; - TexTopic(char *f = NULL); + TexTopic(wxChar *f = NULL); ~TexTopic(void); }; extern wxHashTable TopicTable; -void AddKeyWordForTopic(char *topic, char *entry, char *filename = NULL); +void AddKeyWordForTopic(wxChar *topic, wxChar *entry, wxChar *filename = NULL); void ClearKeyWordTable(void); -extern char wxTex2RTFBuffer[]; +extern wxChar wxTex2RTFBuffer[]; extern TexChunk *TopLevel; extern wxHashTable MacroDefs; extern wxStringList IgnorableInputFiles; // Ignorable \input files, e.g. psbox.tex -bool read_a_line(char *buf); -bool TexLoadFile(char *filename); -int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos, - char *environment = NULL, bool parseArgToBrace = TRUE, TexChunk *customMacroArgs = NULL); -int ParseMacroBody(const char *macro_name, TexChunk *parent, int no_args, - char *buffer, int pos, char *environment = NULL, bool parseArgToBrace = TRUE, TexChunk *customMacroArgs = NULL); +bool read_a_line(wxChar *buf); +bool TexLoadFile(wxChar *filename); +int ParseArg(TexChunk *thisArg, wxList& children, wxChar *buffer, int pos, + wxChar *environment = NULL, bool parseArgToBrace = TRUE, TexChunk *customMacroArgs = NULL); +int ParseMacroBody(const wxChar *macro_name, TexChunk *parent, int no_args, + wxChar *buffer, int pos, wxChar *environment = NULL, bool parseArgToBrace = TRUE, TexChunk *customMacroArgs = NULL); void TraverseDocument(void); void TraverseFromChunk(TexChunk *chunk, wxNode *thisNode = NULL, bool childrenOnly = FALSE); #define TraverseChildrenFromChunk(arg) TraverseFromChunk(arg, NULL, TRUE) @@ -156,12 +157,12 @@ void SetCurrentOutput(FILE *fd); void SetCurrentOutputs(FILE *fd1, FILE *fd2); extern FILE *CurrentOutput1; extern FILE *CurrentOutput2; -void AddMacroDef(int the_id, const char *name, int n, bool ignore = FALSE, bool forbidden = FALSE); +void AddMacroDef(int the_id, const wxChar *name, int n, bool ignore = FALSE, bool forbidden = FALSE); void TexInitialize(int bufSize); void TexCleanUp(void); -void TexOutput(const char *s, bool ordinaryText = FALSE); -char *GetArgData(TexChunk *chunk); -char *GetArgData(void); // Get the string for the current argument +void TexOutput(const wxChar *s, bool ordinaryText = FALSE); +wxChar *GetArgData(TexChunk *chunk); +wxChar *GetArgData(void); // Get the string for the current argument int GetNoArgs(void); // Get the number of arguments for the current macro TexChunk *GetArgChunk(void); // Get the chunk for the current argument TexChunk *GetTopLevelChunk(void); // Get the chunk for the top level @@ -169,7 +170,7 @@ TexChunk *GetNextChunk(void); // Look ahead to the next chunk bool IsArgOptional(void); // Is this argument an optional argument? void DefineDefaultMacros(void); // Optional set of default macros int GetCurrentColumn(void); // number of characters on current line -char *ConvertCase(char *s); // Convert case, according to upperCaseNames setting. +wxChar *ConvertCase(wxChar *s); // Convert case, according to upperCaseNames setting. extern wxPathList TexPathList; // Path list, can be used for file searching. #if !WXWIN_COMPATIBILITY_2 @@ -177,7 +178,7 @@ extern bool StringMatch(const wxChar *one, const wxChar *two, bool subString = T #endif // Define a variable value from the .ini file -char *RegisterSetting(char *settingName, char *settingValue, bool interactive = TRUE); +wxChar *RegisterSetting(wxChar *settingName, wxChar *settingValue, bool interactive = TRUE); // Major document styles #define LATEX_REPORT 1 @@ -191,9 +192,9 @@ extern TexChunk *DocumentAuthor; extern TexChunk *DocumentDate; extern int DocumentStyle; extern int MinorDocumentStyle; -extern char *BibliographyStyleString; -extern char *DocumentStyleString; -extern char *MinorDocumentStyleString; +extern wxChar *BibliographyStyleString; +extern wxChar *DocumentStyleString; +extern wxChar *MinorDocumentStyleString; extern int normalFont; extern int smallFont; @@ -235,42 +236,42 @@ extern bool useWord; // Insert Word table of contents, etc. etc. extern bool indexSubsections; // put subsections in index extern bool compatibilityMode; extern bool generateHPJ; // Generate WinHelp HPJ file -extern char *winHelpTitle; // Title for Windows Help file +extern wxChar *winHelpTitle; // Title for Windows Help file extern int defaultTableColumnWidth; -extern char *bitmapMethod; +extern wxChar *bitmapMethod; extern bool truncateFilenames; // Truncate for DOS extern int winHelpVersion; // Version e.g. 4 for Win95 extern bool winHelpContents; // Generate .cnt file extern bool htmlIndex; // Generate .htx HTML index file extern bool htmlFrameContents; // Use frames for HTML contents page -extern char *htmlStylesheet; // Use this CSS stylesheet for HTML pages +extern wxChar *htmlStylesheet; // Use this CSS stylesheet for HTML pages extern int contentsDepth; // Depth of contents for linear RTF files extern bool upperCaseNames; // Filenames; default is lower case -extern char *backgroundImageString; // HTML background image -extern char *backgroundColourString; // HTML background colour -extern char *textColourString; // HTML text colour -extern char *linkColourString; // HTML link colour -extern char *followedLinkColourString; // HTML followed link colour +extern wxChar *backgroundImageString; // HTML background image +extern wxChar *backgroundColourString; // HTML background colour +extern wxChar *textColourString; // HTML text colour +extern wxChar *linkColourString; // HTML link colour +extern wxChar *followedLinkColourString; // HTML followed link colour extern bool combineSubSections; // Stop splitting files below section extern bool htmlWorkshopFiles; // generate HTML Help Workshop project files extern bool ignoreBadRefs; // Don't insert (REF NOT FOUND) -extern char *htmlFaceName; // HTML face name +extern wxChar *htmlFaceName; // HTML face name // Names to help with internationalisation -extern char *ContentsNameString; -extern char *AbstractNameString; -extern char *GlossaryNameString; -extern char *ReferencesNameString; -extern char *FiguresNameString; -extern char *TablesNameString; -extern char *FigureNameString; -extern char *TableNameString; -extern char *IndexNameString; -extern char *ChapterNameString; -extern char *SectionNameString; -extern char *SubsectionNameString; -extern char *SubsubsectionNameString; -extern char *UpNameString; +extern wxChar *ContentsNameString; +extern wxChar *AbstractNameString; +extern wxChar *GlossaryNameString; +extern wxChar *ReferencesNameString; +extern wxChar *FiguresNameString; +extern wxChar *TablesNameString; +extern wxChar *FigureNameString; +extern wxChar *TableNameString; +extern wxChar *IndexNameString; +extern wxChar *ChapterNameString; +extern wxChar *SectionNameString; +extern wxChar *SubsectionNameString; +extern wxChar *SubsubsectionNameString; +extern wxChar *UpNameString; /* * HTML button identifiers: what kind of browse buttons @@ -315,26 +316,24 @@ extern TexChunk * CentreHeaderEven; extern TexChunk * CentreFooterEven; extern TexChunk * RightHeaderEven; extern TexChunk * RightFooterEven; -extern char * PageStyle; +extern wxChar * PageStyle; // Repeat the currentSection, either real (Chapter) or simulated (References) extern void OutputCurrentSection(void); -extern void OutputCurrentSectionToString(char *buf); -extern void OutputChunkToString(TexChunk *chunk, char *buf); - -extern char *fakeCurrentSection; +extern void OutputCurrentSectionToString(wxChar *buf); +extern void OutputChunkToString(TexChunk *chunk, wxChar *buf); // Called by Tex2Any to simulate a section -extern void FakeCurrentSection(char *fakeSection, bool addToContents = TRUE); +extern void FakeCurrentSection(wxChar *fakeSection, bool addToContents = TRUE); /* * Local to Tex2Any library * */ -extern char *currentArgData; +extern wxChar *currentArgData; extern bool haveArgData; // If TRUE, we're simulating the data. -void StartSimulateArgument(char *data); +void StartSimulateArgument(wxChar *data); void EndSimulateArgument(void); /* @@ -357,10 +356,10 @@ void DefaultOnMacro(int macroId, int no_args, bool start); bool DefaultOnArgument(int macroId, int arg_no, bool start); // Called on error -void OnError(const char *msg); +void OnError(const wxChar *msg); // Called for information -void OnInform(const char *msg); +void OnInform(const wxChar *msg); // Special yield wrapper void Tex2RTFYield(bool force = FALSE); @@ -372,13 +371,13 @@ void Tex2RTFYield(bool force = FALSE); // Look for \label macro, use this ref name if found or // make up a topic name otherwise. -char *FindTopicName(TexChunk *chunk); +wxChar *FindTopicName(TexChunk *chunk); // Force the current topic to be this (e.g. force 'references' label). -void ForceTopicName(const char *name); +void ForceTopicName(const wxChar *name); void ResetTopicCounter(void); // Parse unit eg. 14, 12pt, 34cm and return value in points. -int ParseUnitArgument(char *unitArg); +int ParseUnitArgument(wxChar *unitArg); // Set small, large, normal etc. point sizes for reference size void SetFontSizes(int pointSize); @@ -389,7 +388,7 @@ void SetFontSizes(int pointSize); * */ -void StripExtension(char *buffer); +void StripExtension(wxChar *buffer); /* * Reference structure @@ -399,11 +398,11 @@ void StripExtension(char *buffer); class TexRef: public wxObject { public: - char *refLabel; // Reference label - char *refFile; // Reference filename (can be NULL) - char *sectionNumber; // Section or figure number (as a string) - char *sectionName; // name e.g. 'section' - TexRef(const char *label, const char *file, const char *section, const char *sectionN = NULL); + wxChar *refLabel; // Reference label + wxChar *refFile; // Reference filename (can be NULL) + wxChar *sectionNumber; // Section or figure number (as a string) + wxChar *sectionName; // name e.g. 'section' + TexRef(const wxChar *label, const wxChar *file, const wxChar *section, const wxChar *sectionN = NULL); ~TexRef(void); }; @@ -412,15 +411,15 @@ class TexRef: public wxObject * */ -void AddTexRef(char *name, char *file = NULL, char *sectionName = NULL, +void AddTexRef(wxChar *name, wxChar *file = NULL, wxChar *sectionName = NULL, int chapter = 0, int section = 0, int subsection = 0, int subsubsection = 0); /* * Read and write reference file (.ref), to resolve refs for second pass. * */ -void WriteTexReferences(char *filename); -void ReadTexReferences(char *filename); +void WriteTexReferences(wxChar *filename); +void ReadTexReferences(wxChar *filename); /* * Bibliography stuff @@ -430,33 +429,33 @@ void ReadTexReferences(char *filename); class BibEntry: public wxObject { public: - char *key; + wxChar *key; /* * book, inbook, article, phdthesis, inproceedings, techreport */ - char *type; + wxChar *type; /* * Possible fields * */ - char *editor; - char *title; - char *booktitle; - char *author; - char *journal; - char *volume; - char *number; - char *year; - char *month; - char *pages; - char *chapter; - char *publisher; - char *address; - char *institution; - char *organization; - char *comment; + wxChar *editor; + wxChar *title; + wxChar *booktitle; + wxChar *author; + wxChar *journal; + wxChar *volume; + wxChar *number; + wxChar *year; + wxChar *month; + wxChar *pages; + wxChar *chapter; + wxChar *publisher; + wxChar *address; + wxChar *institution; + wxChar *organization; + wxChar *comment; inline BibEntry(void) { @@ -484,11 +483,11 @@ class BibEntry: public wxObject extern wxList BibList; extern wxStringList CitationList; -bool ReadBib(char *filename); +bool ReadBib(wxChar *filename); void OutputBib(void); void ResolveBibReferences(void); -void AddCitation(char *citeKey); -TexRef *FindReference(char *key); +void AddCitation(wxChar *citeKey); +TexRef *FindReference(wxChar *key); /* * Ability to customize, or at least suppress unknown macro errors @@ -504,25 +503,25 @@ extern wxList CustomMacroList; class CustomMacro: public wxObject { public: - char *macroName; - char *macroBody; + wxChar *macroName; + wxChar *macroBody; int noArgs; - inline CustomMacro(char *name, int args, char *body) + inline CustomMacro(wxChar *name, int args, wxChar *body) { noArgs = args; - macroName = strcpy(new char[strlen(name) + 1], name); + macroName = wxStrcpy(new wxChar[wxStrlen(name) + 1], name); if (body) - macroBody = strcpy(new char[strlen(body) + 1], body); + macroBody = wxStrcpy(new wxChar[wxStrlen(body) + 1], body); else macroBody = NULL; } ~CustomMacro(); }; -bool ReadCustomMacros(char *filename); +bool ReadCustomMacros(wxChar *filename); void ShowCustomMacros(void); -CustomMacro *FindCustomMacro(char *name); -char *ParseMultifieldString(char *s, int *pos); +CustomMacro *FindCustomMacro(wxChar *name); +wxChar *ParseMultifieldString(wxChar *s, int *pos); /* * Colour table stuff @@ -532,20 +531,20 @@ char *ParseMultifieldString(char *s, int *pos); class ColourTableEntry: public wxObject { public: - char *name; + wxChar *name; unsigned int red; unsigned int green; unsigned int blue; - ColourTableEntry(const char *theName, unsigned int r, unsigned int g, unsigned int b); + ColourTableEntry(const wxChar *theName, unsigned int r, unsigned int g, unsigned int b); ~ColourTableEntry(void); }; extern wxList ColourTable; -extern void AddColour(const char *theName, unsigned int r, unsigned int g, unsigned int b); -extern int FindColourPosition(char *theName); +extern void AddColour(const wxChar *theName, unsigned int r, unsigned int g, unsigned int b); +extern int FindColourPosition(wxChar *theName); // Converts e.g. "red" -> "#FF0000" -extern bool FindColourHTMLString(char *theName, char *buf); +extern bool FindColourHTMLString(wxChar *theName, wxChar *buf); extern void InitialiseColourTable(void); #define ltABSTRACT 1 diff --git a/utils/tex2rtf/src/tex2rtf.cpp b/utils/tex2rtf/src/tex2rtf.cpp index 52294e31a3..f3f655fb19 100644 --- a/utils/tex2rtf/src/tex2rtf.cpp +++ b/utils/tex2rtf/src/tex2rtf.cpp @@ -64,7 +64,7 @@ const float versionNo = TEX2RTF_VERSION_NUMBER; TexChunk *currentMember = NULL; bool startedSections = FALSE; -char *contentsString = NULL; +wxChar *contentsString = NULL; bool suppressNameDecoration = FALSE; bool OkToClose = TRUE; int passNumber = 1; @@ -72,31 +72,12 @@ unsigned long errorCount = 0; #ifndef NO_GUI -extern char *BigBuffer; -extern char *TexFileRoot; -extern char *TexBibName; // Bibliography output file name -extern char *TexTmpBibName; // Temporary bibliography output file name +extern wxChar *BigBuffer; +extern wxChar *TexFileRoot; +extern wxChar *TexBibName; // Bibliography output file name +extern wxChar *TexTmpBibName; // Temporary bibliography output file name extern wxList ColourTable; extern TexChunk *TopLevel; -extern char *PageStyle; -extern char *BibliographyStyleString; -extern char *DocumentStyleString; -extern char *bitmapMethod; -extern char *backgroundColourString; -extern char *ContentsNameString; -extern char *AbstractNameString; -extern char *GlossaryNameString; -extern char *ReferencesNameString; -extern char *FiguresNameString; -extern char *TablesNameString; -extern char *FigureNameString; -extern char *TableNameString; -extern char *IndexNameString; -extern char *ChapterNameString; -extern char *SectionNameString; -extern char *SubsectionNameString; -extern char *SubsubsectionNameString; -extern char *UpNameString; @@ -105,13 +86,13 @@ wxHelpController *HelpInstance = NULL; #endif // wxUSE_HELP #ifdef __WXMSW__ -static char *ipc_buffer = NULL; -static char Tex2RTFLastStatus[100]; +static wxChar *ipc_buffer = NULL; +static wxChar Tex2RTFLastStatus[100]; Tex2RTFServer *TheTex2RTFServer = NULL; #endif #endif -char *bulletFile = NULL; +wxChar *bulletFile = NULL; FILE *Contents = NULL; // Contents page FILE *Chapters = NULL; // Chapters (WinHelp RTF) or rest of file (linear RTF) @@ -121,18 +102,18 @@ FILE *Subsubsections = NULL; FILE *Popups = NULL; FILE *WinHelpContentsFile = NULL; -char *InputFile = NULL; -char *OutputFile = NULL; -char *MacroFile = copystring("tex2rtf.ini"); +wxChar *InputFile = NULL; +wxChar *OutputFile = NULL; +wxChar *MacroFile = copystring(_T("tex2rtf.ini")); -char *FileRoot = NULL; -char *ContentsName = NULL; // Contents page from last time around -char *TmpContentsName = NULL; // Current contents page -char *TmpFrameContentsName = NULL; // Current frame contents page -char *WinHelpContentsFileName = NULL; // WinHelp .cnt file -char *RefFileName = NULL; // Reference file name +wxChar *FileRoot = NULL; +wxChar *ContentsName = NULL; // Contents page from last time around +wxChar *TmpContentsName = NULL; // Current contents page +wxChar *TmpFrameContentsName = NULL; // Current frame contents page +wxChar *WinHelpContentsFileName = NULL; // WinHelp .cnt file +wxChar *RefFileName = NULL; // Reference file name -char *RTFCharset = copystring("ansi"); +wxChar *RTFCharset = copystring(_T("ansi")); #ifdef __WXMSW__ int BufSize = 100; // Size of buffer in K @@ -143,7 +124,7 @@ int BufSize = 500; bool Go(void); void ShowOptions(void); -char wxTex2RTFBuffer[1500]; +wxChar wxTex2RTFBuffer[1500]; #ifdef NO_GUI @@ -161,14 +142,14 @@ bool MyApp::OnInit() { // Use default list of macros defined in tex2any.cc DefineDefaultMacros(); - AddMacroDef(ltHARDY, "hardy", 0); + AddMacroDef(ltHARDY, _T("hardy"), 0); - FileRoot = new char[300]; - ContentsName = new char[300]; - TmpContentsName = new char[300]; - TmpFrameContentsName = new char[300]; - WinHelpContentsFileName = new char[300]; - RefFileName = new char[300]; + FileRoot = new wxChar[300]; + ContentsName = new wxChar[300]; + TmpContentsName = new wxChar[300]; + TmpFrameContentsName = new wxChar[300]; + WinHelpContentsFileName = new wxChar[300]; + RefFileName = new wxChar[300]; ColourTable.DeleteContents(TRUE); @@ -212,45 +193,45 @@ bool MyApp::OnInit() int i; for (i = n; i < argc;) { - if (strcmp(argv[i], "-winhelp") == 0) + if (wxStrcmp(argv[i], _T("-winhelp")) == 0) { i ++; convertMode = TEX_RTF; winHelp = TRUE; } #ifndef NO_GUI - else if (strcmp(argv[i], "-interactive") == 0) + else if (wxStrcmp(argv[i], _T("-interactive")) == 0) { i ++; isInteractive = TRUE; } #endif - else if (strcmp(argv[i], "-sync") == 0) // Don't yield + else if (wxStrcmp(argv[i], _T("-sync")) == 0) // Don't yield { i ++; isSync = TRUE; } - else if (strcmp(argv[i], "-rtf") == 0) + else if (wxStrcmp(argv[i], _T("-rtf")) == 0) { i ++; convertMode = TEX_RTF; } - else if (strcmp(argv[i], "-html") == 0) + else if (wxStrcmp(argv[i], _T("-html")) == 0) { i ++; convertMode = TEX_HTML; } - else if (strcmp(argv[i], "-xlp") == 0) + else if (wxStrcmp(argv[i], _T("-xlp")) == 0) { i ++; convertMode = TEX_XLP; } - else if (strcmp(argv[i], "-twice") == 0) + else if (wxStrcmp(argv[i], _T("-twice")) == 0) { i ++; runTwice = TRUE; } - else if (strcmp(argv[i], "-macros") == 0) + else if (wxStrcmp(argv[i], _T("-macros")) == 0) { i ++; if (i < argc) @@ -259,38 +240,38 @@ bool MyApp::OnInit() i ++; } } - else if (strcmp(argv[i], "-bufsize") == 0) + else if (wxStrcmp(argv[i], _T("-bufsize")) == 0) { i ++; if (i < argc) { - BufSize = atoi(argv[i]); + BufSize = wxAtoi(argv[i]); i ++; } } - else if (strcmp(argv[i], "-charset") == 0) + else if (wxStrcmp(argv[i], _T("-charset")) == 0) { i ++; if (i < argc) { - char *s = argv[i]; + wxChar *s = argv[i]; i ++; - if (strcmp(s, "ansi") == 0 || strcmp(s, "pc") == 0 || strcmp(s, "mac") == 0 || - strcmp(s, "pca") == 0) + if (wxStrcmp(s, _T("ansi")) == 0 || wxStrcmp(s, _T("pc")) == 0 || wxStrcmp(s, _T("mac")) == 0 || + wxStrcmp(s, _T("pca")) == 0) RTFCharset = copystring(s); else { - OnError("Incorrect argument for -charset"); + OnError(_T("Incorrect argument for -charset")); return FALSE; } } } - else if (strcmp(argv[i], "-checkcurleybraces") == 0) + else if (wxStrcmp(argv[i], _T("-checkcurleybraces")) == 0) { i ++; checkCurleyBraces = TRUE; } - else if (strcmp(argv[i], "-checksyntax") == 0) + else if (wxStrcmp(argv[i], _T("-checksyntax")) == 0) { i ++; checkSyntax = TRUE; @@ -298,9 +279,8 @@ bool MyApp::OnInit() else { wxString buf; - buf.Printf("Invalid switch %s.\n", argv[i]); - OnError((char *)buf.c_str()); - i++; + buf.Printf(_T("Invalid switch %s.\n"), argv[i]); + OnError((wxChar *)buf.c_str()); #ifdef NO_GUI ShowOptions(); exit(1); @@ -313,7 +293,7 @@ bool MyApp::OnInit() wxDDEInitialize(); Tex2RTFLastStatus[0] = 0; // DDE connection return value TheTex2RTFServer = new Tex2RTFServer; - TheTex2RTFServer->Create("TEX2RTF"); + TheTex2RTFServer->Create(_T("TEX2RTF")); #endif #if defined(__WXMSW__) && defined(__WIN16__) @@ -328,10 +308,10 @@ bool MyApp::OnInit() if (isInteractive) { - char buf[100]; + wxChar buf[100]; // Create the main frame window - frame = new MyFrame(NULL, -1, "Tex2RTF", wxPoint(-1, -1), wxSize(400, 300)); + frame = new MyFrame(NULL, -1, _T("Tex2RTF"), wxPoint(-1, -1), wxSize(400, 300)); frame->CreateStatusBar(2); // Give it an icon @@ -340,63 +320,63 @@ bool MyApp::OnInit() if (InputFile) { - sprintf(buf, "Tex2RTF [%s]", wxFileNameFromPath(InputFile)); + wxSprintf(buf, _T("Tex2RTF [%s]"), wxFileNameFromPath(InputFile)); frame->SetTitle(buf); } // Make a menubar wxMenu *file_menu = new wxMenu; - file_menu->Append(TEX_GO, "&Go", "Run converter"); - file_menu->Append(TEX_SET_INPUT, "Set &Input File", "Set the LaTeX input file"); - file_menu->Append(TEX_SET_OUTPUT, "Set &Output File", "Set the output file"); + file_menu->Append(TEX_GO, _T("&Go"), _T("Run converter")); + file_menu->Append(TEX_SET_INPUT, _T("Set &Input File"), _T("Set the LaTeX input file")); + file_menu->Append(TEX_SET_OUTPUT, _T("Set &Output File"), _T("Set the output file")); file_menu->AppendSeparator(); - file_menu->Append(TEX_VIEW_LATEX, "View &LaTeX File", "View the LaTeX input file"); - file_menu->Append(TEX_VIEW_OUTPUT, "View Output &File", "View output file"); - file_menu->Append(TEX_SAVE_FILE, "&Save log file", "Save displayed text into file"); + file_menu->Append(TEX_VIEW_LATEX, _T("View &LaTeX File"), _T("View the LaTeX input file")); + file_menu->Append(TEX_VIEW_OUTPUT, _T("View Output &File"), _T("View output file")); + file_menu->Append(TEX_SAVE_FILE, _T("&Save log file"), _T("Save displayed text into file")); file_menu->AppendSeparator(); - file_menu->Append(TEX_QUIT, "E&xit", "Exit Tex2RTF"); + file_menu->Append(TEX_QUIT, _T("E&xit"), _T("Exit Tex2RTF")); wxMenu *macro_menu = new wxMenu; - macro_menu->Append(TEX_LOAD_CUSTOM_MACROS, "&Load Custom Macros", "Load custom LaTeX macro file"); - macro_menu->Append(TEX_VIEW_CUSTOM_MACROS, "View &Custom Macros", "View custom LaTeX macros"); + macro_menu->Append(TEX_LOAD_CUSTOM_MACROS, _T("&Load Custom Macros"), _T("Load custom LaTeX macro file")); + macro_menu->Append(TEX_VIEW_CUSTOM_MACROS, _T("View &Custom Macros"), _T("View custom LaTeX macros")); wxMenu *mode_menu = new wxMenu; - mode_menu->Append(TEX_MODE_RTF, "Output linear &RTF", "Wordprocessor-compatible RTF"); - mode_menu->Append(TEX_MODE_WINHELP, "Output &WinHelp RTF", "WinHelp-compatible RTF"); - mode_menu->Append(TEX_MODE_HTML, "Output &HTML", "HTML World Wide Web hypertext file"); - mode_menu->Append(TEX_MODE_XLP, "Output &XLP", "wxHelp hypertext help file"); + mode_menu->Append(TEX_MODE_RTF, _T("Output linear &RTF"), _T("Wordprocessor-compatible RTF")); + mode_menu->Append(TEX_MODE_WINHELP, _T("Output &WinHelp RTF"), _T("WinHelp-compatible RTF")); + mode_menu->Append(TEX_MODE_HTML, _T("Output &HTML"), _T("HTML World Wide Web hypertext file")); + mode_menu->Append(TEX_MODE_XLP, _T("Output &XLP"), _T("wxHelp hypertext help file")); wxMenu *options_menu = new wxMenu; - options_menu->Append(TEX_OPTIONS_CURELY_BRACE, "Curley brace matching", "Checks for mismatched curley braces",TRUE); - options_menu->Append(TEX_OPTIONS_SYNTAX_CHECKING, "Syntax checking", "Syntax checking for common errors",TRUE); + options_menu->Append(TEX_OPTIONS_CURELY_BRACE, _T("Curley brace matching"), _T("Checks for mismatched curley braces"),TRUE); + options_menu->Append(TEX_OPTIONS_SYNTAX_CHECKING, _T("Syntax checking"), _T("Syntax checking for common errors"),TRUE); options_menu->Check(TEX_OPTIONS_CURELY_BRACE, checkCurleyBraces); options_menu->Check(TEX_OPTIONS_SYNTAX_CHECKING, checkSyntax); wxMenu *help_menu = new wxMenu; - help_menu->Append(TEX_HELP, "&Help", "Tex2RTF Contents Page"); - help_menu->Append(TEX_ABOUT, "&About Tex2RTF", "About Tex2RTF"); + help_menu->Append(TEX_HELP, _T("&Help"), _T("Tex2RTF Contents Page")); + help_menu->Append(TEX_ABOUT, _T("&About Tex2RTF"), _T("About Tex2RTF")); menuBar = new wxMenuBar; - menuBar->Append(file_menu, "&File"); - menuBar->Append(macro_menu, "&Macros"); - menuBar->Append(mode_menu, "&Conversion Mode"); - menuBar->Append(options_menu, "&Options"); - menuBar->Append(help_menu, "&Help"); + menuBar->Append(file_menu, _T("&File")); + menuBar->Append(macro_menu, _T("&Macros")); + menuBar->Append(mode_menu, _T("&Conversion Mode")); + menuBar->Append(options_menu, _T("&Options")); + menuBar->Append(help_menu, _T("&Help")); frame->SetMenuBar(menuBar); - frame->textWindow = new wxTextCtrl(frame, -1, "", wxPoint(-1, -1), wxSize(-1, -1), wxTE_READONLY|wxTE_MULTILINE); + frame->textWindow = new wxTextCtrl(frame, -1, _T(""), wxPoint(-1, -1), wxSize(-1, -1), wxTE_READONLY|wxTE_MULTILINE); - (*frame->textWindow) << "Welcome to Tex2RTF.\n"; + (*frame->textWindow) << _T("Welcome to Tex2RTF.\n"); // ShowOptions(); #if wxUSE_HELP HelpInstance = new wxHelpController(); - HelpInstance->Initialize("tex2rtf"); + HelpInstance->Initialize(_T("tex2rtf")); #endif // wxUSE_HELP /* @@ -404,19 +384,19 @@ bool MyApp::OnInit() * */ - wxString path; - if ((path = TexPathList.FindValidPath(MacroFile)) != "") - ReadCustomMacros((char*) (const char*) path); + wxString path = TexPathList.FindValidPath(MacroFile); + if (path != _T("")) + ReadCustomMacros((wxChar *)path.c_str()); - strcpy(buf, "In "); + wxStrcpy(buf, _T("In ")); if (winHelp && (convertMode == TEX_RTF)) - strcat(buf, "WinHelp RTF"); + wxStrcat(buf, _T("WinHelp RTF")); else if (!winHelp && (convertMode == TEX_RTF)) - strcat(buf, "linear RTF"); - else if (convertMode == TEX_HTML) strcat(buf, "HTML"); - else if (convertMode == TEX_XLP) strcat(buf, "XLP"); - strcat(buf, " mode."); + wxStrcat(buf, _T("linear RTF")); + else if (convertMode == TEX_HTML) wxStrcat(buf, _T("HTML")); + else if (convertMode == TEX_XLP) wxStrcat(buf, _T("XLP")); + wxStrcat(buf, _T(" mode.")); frame->SetStatusText(buf, 1); frame->Show(TRUE); @@ -430,9 +410,9 @@ bool MyApp::OnInit() * */ - wxString path; - if ((path = TexPathList.FindValidPath(MacroFile)) != "") - ReadCustomMacros((char*) (const char*) path); + wxString path = TexPathList.FindValidPath(MacroFile); + if (path != _T("")) + ReadCustomMacros((wxChar*)path.c_str()); Go(); if (runTwice) @@ -446,12 +426,15 @@ bool MyApp::OnInit() #endif } +#if 0 + // it already returned something, no need to cause warning #ifndef NO_GUI // Return the main frame window return TRUE; #else return 0; #endif +#endif } #ifndef NO_GUI @@ -589,25 +572,25 @@ int MyApp::OnExit() #endif void ShowOptions(void) { - char buf[100]; - sprintf(buf, "Tex2RTF version %.2f", versionNo); + wxChar buf[100]; + wxSprintf(buf, _T("Tex2RTF version %.2f"), versionNo); OnInform(buf); - OnInform("Usage: tex2rtf [input] [output] [switches]\n"); - OnInform("where valid switches are"); + OnInform(_T("Usage: tex2rtf [input] [output] [switches]\n")); + OnInform(_T("where valid switches are")); #ifndef NO_GUI - OnInform(" -interactive"); + OnInform(_T(" -interactive")); #endif - OnInform(" -bufsize "); - OnInform(" -charset (default ansi)"); - OnInform(" -twice"); - OnInform(" -sync"); - OnInform(" -checkcurleybraces"); - OnInform(" -checksyntax"); - OnInform(" -macros "); - OnInform(" -winhelp"); - OnInform(" -rtf"); - OnInform(" -html"); - OnInform(" -xlp\n"); + OnInform(_T(" -bufsize ")); + OnInform(_T(" -charset (default ansi)")); + OnInform(_T(" -twice")); + OnInform(_T(" -sync")); + OnInform(_T(" -checkcurleybraces")); + OnInform(_T(" -checksyntax")); + OnInform(_T(" -macros ")); + OnInform(_T(" -winhelp")); + OnInform(_T(" -rtf")); + OnInform(_T(" -html")); + OnInform(_T(" -xlp\n")); } #ifndef NO_GUI @@ -638,7 +621,7 @@ MyFrame::MyFrame(wxFrame *frame, wxWindowID id, const wxString& title, const wxP wxFrame(frame, id, title, pos, size) {} -void MyFrame::OnCloseWindow(wxCloseEvent& event) +void MyFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event)) { if (!stopRunning && !OkToClose) { @@ -652,13 +635,13 @@ void MyFrame::OnCloseWindow(wxCloseEvent& event) } } -void MyFrame::OnExit(wxCommandEvent& event) +void MyFrame::OnExit(wxCommandEvent& WXUNUSED(event)) { Close(); // this->Destroy(); } -void MyFrame::OnGo(wxCommandEvent& event) +void MyFrame::OnGo(wxCommandEvent& WXUNUSED(event)) { passNumber = 1; errorCount = 0; @@ -672,10 +655,10 @@ void MyFrame::OnGo(wxCommandEvent& event) if (stopRunning) { - SetStatusText("Build aborted!"); + SetStatusText(_T("Build aborted!")); wxString errBuf; - errBuf.Printf("\nErrors encountered during this pass: %lu\n", errorCount); - OnInform((char *)errBuf.c_str()); + errBuf.Printf(_T("\nErrors encountered during this pass: %lu\n"), errorCount); + OnInform((wxChar *)errBuf.c_str()); } @@ -690,137 +673,137 @@ void MyFrame::OnGo(wxCommandEvent& event) menuBar->EnableTop(3, TRUE); } -void MyFrame::OnSetInput(wxCommandEvent& event) +void MyFrame::OnSetInput(wxCommandEvent& WXUNUSED(event)) { ChooseInputFile(TRUE); } -void MyFrame::OnSetOutput(wxCommandEvent& event) +void MyFrame::OnSetOutput(wxCommandEvent& WXUNUSED(event)) { ChooseOutputFile(TRUE); } -void MyFrame::OnSaveFile(wxCommandEvent& event) +void MyFrame::OnSaveFile(wxCommandEvent& WXUNUSED(event)) { - wxString s = wxFileSelector("Save text to file", "", "", "txt", "*.txt"); - if (s != "") + wxString s = wxFileSelector(_T("Save text to file"), _T(""), _T(""), _T("txt"), _T("*.txt")); + if (s != _T("")) { textWindow->SaveFile(s); - char buf[350]; - sprintf(buf, "Saved text to %s", (const char*) s); + wxChar buf[350]; + wxSprintf(buf, _T("Saved text to %s"), (const wxChar*) s.c_str()); frame->SetStatusText(buf, 0); } } -void MyFrame::OnViewOutput(wxCommandEvent& event) +void MyFrame::OnViewOutput(wxCommandEvent& WXUNUSED(event)) { ChooseOutputFile(); if (OutputFile && wxFileExists(OutputFile)) { textWindow->LoadFile(OutputFile); - char buf[300]; + wxChar buf[300]; wxString str(wxFileNameFromPath(OutputFile)); - sprintf(buf, "Tex2RTF [%s]", (const char*) str); + wxSprintf(buf, _T("Tex2RTF [%s]"), (const wxChar*) str.c_str()); frame->SetTitle(buf); } } -void MyFrame::OnViewLatex(wxCommandEvent& event) +void MyFrame::OnViewLatex(wxCommandEvent& WXUNUSED(event)) { ChooseInputFile(); if (InputFile && wxFileExists(InputFile)) { textWindow->LoadFile(InputFile); - char buf[300]; + wxChar buf[300]; wxString str(wxFileNameFromPath(OutputFile)); - sprintf(buf, "Tex2RTF [%s]", (const char*) str); + wxSprintf(buf, _T("Tex2RTF [%s]"), (const wxChar*) str.c_str()); frame->SetTitle(buf); } } -void MyFrame::OnLoadMacros(wxCommandEvent& event) +void MyFrame::OnLoadMacros(wxCommandEvent& WXUNUSED(event)) { textWindow->Clear(); - wxString s = wxFileSelector("Choose custom macro file", wxPathOnly(MacroFile), wxFileNameFromPath(MacroFile), "ini", "*.ini"); - if (s != "" && wxFileExists(s)) + wxString s = wxFileSelector(_T("Choose custom macro file"), wxPathOnly(MacroFile), wxFileNameFromPath(MacroFile), _T("ini"), _T("*.ini")); + if (s != _T("") && wxFileExists(s)) { MacroFile = copystring(s); - ReadCustomMacros((char*) (const char*) s); + ReadCustomMacros((wxChar *)s.c_str()); ShowCustomMacros(); } } -void MyFrame::OnShowMacros(wxCommandEvent& event) +void MyFrame::OnShowMacros(wxCommandEvent& WXUNUSED(event)) { textWindow->Clear(); Tex2RTFYield(TRUE); ShowCustomMacros(); } -void MyFrame::OnModeRTF(wxCommandEvent& event) +void MyFrame::OnModeRTF(wxCommandEvent& WXUNUSED(event)) { convertMode = TEX_RTF; winHelp = FALSE; InputFile = NULL; OutputFile = NULL; - SetStatusText("In linear RTF mode.", 1); + SetStatusText(_T("In linear RTF mode."), 1); } -void MyFrame::OnModeWinHelp(wxCommandEvent& event) +void MyFrame::OnModeWinHelp(wxCommandEvent& WXUNUSED(event)) { convertMode = TEX_RTF; winHelp = TRUE; InputFile = NULL; OutputFile = NULL; - SetStatusText("In WinHelp RTF mode.", 1); + SetStatusText(_T("In WinHelp RTF mode."), 1); } -void MyFrame::OnModeHTML(wxCommandEvent& event) +void MyFrame::OnModeHTML(wxCommandEvent& WXUNUSED(event)) { convertMode = TEX_HTML; winHelp = FALSE; InputFile = NULL; OutputFile = NULL; - SetStatusText("In HTML mode.", 1); + SetStatusText(_T("In HTML mode."), 1); } -void MyFrame::OnModeXLP(wxCommandEvent& event) +void MyFrame::OnModeXLP(wxCommandEvent& WXUNUSED(event)) { convertMode = TEX_XLP; InputFile = NULL; OutputFile = NULL; - SetStatusText("In XLP mode.", 1); + SetStatusText(_T("In XLP mode."), 1); } -void MyFrame::OnOptionsCurleyBrace(wxCommandEvent& event) +void MyFrame::OnOptionsCurleyBrace(wxCommandEvent& WXUNUSED(event)) { checkCurleyBraces = !checkCurleyBraces; if (checkCurleyBraces) { - SetStatusText("Checking curley braces: YES", 1); + SetStatusText(_T("Checking curley braces: YES"), 1); } else { - SetStatusText("Checking curley braces: NO", 1); + SetStatusText(_T("Checking curley braces: NO"), 1); } } -void MyFrame::OnOptionsSyntaxChecking(wxCommandEvent& event) +void MyFrame::OnOptionsSyntaxChecking(wxCommandEvent& WXUNUSED(event)) { checkSyntax = !checkSyntax; if (checkSyntax) { - SetStatusText("Checking syntax: YES", 1); + SetStatusText(_T("Checking syntax: YES"), 1); } else { - SetStatusText("Checking syntax: NO", 1); + SetStatusText(_T("Checking syntax: NO"), 1); } } -void MyFrame::OnHelp(wxCommandEvent& event) +void MyFrame::OnHelp(wxCommandEvent& WXUNUSED(event)) { #if wxUSE_HELP HelpInstance->LoadFile(); @@ -828,28 +811,28 @@ void MyFrame::OnHelp(wxCommandEvent& event) #endif // wxUSE_HELP } -void MyFrame::OnAbout(wxCommandEvent& event) +void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) { - char buf[300]; + wxChar buf[300]; #ifdef __WIN32__ - char *platform = " (32-bit)"; + wxChar *platform = _T(" (32-bit)"); #else #ifdef __WXMSW__ - char *platform = " (16-bit)"; + wxChar *platform = _T(" (16-bit)"); #else - char *platform = ""; + wxChar *platform = _T(""); #endif #endif - sprintf(buf, "Tex2RTF Version %.2f%s\nLaTeX to RTF, WinHelp, and HTML Conversion\n\n(c) Julian Smart, George Tasker and others, 1999-2002", versionNo, platform); - wxMessageBox(buf, "About Tex2RTF"); + wxSprintf(buf, _T("Tex2RTF Version %.2f%s\nLaTeX to RTF, WinHelp, and HTML Conversion\n\n(c) Julian Smart, George Tasker and others, 1999-2002"), versionNo, platform); + wxMessageBox(buf, _T("About Tex2RTF")); } void ChooseInputFile(bool force) { if (force || !InputFile) { - wxString s = wxFileSelector("Choose LaTeX input file", wxPathOnly(InputFile), wxFileNameFromPath(InputFile), "tex", "*.tex"); - if (s != "") + wxString s = wxFileSelector(_T("Choose LaTeX input file"), wxPathOnly(InputFile), wxFileNameFromPath(InputFile), _T("tex"), _T("*.tex")); + if (s != _T("")) { // Different file, so clear index entries. ClearKeyWordTable(); @@ -860,8 +843,8 @@ void ChooseInputFile(bool force) InputFile = copystring(s); wxString str = wxFileNameFromPath(InputFile); wxString buf; - buf.Printf("Tex2RTF [%s]", str.c_str()); - frame->SetTitle((char *)buf.c_str()); + buf.Printf(_T("Tex2RTF [%s]"), str.c_str()); + frame->SetTitle((wxChar *)buf.c_str()); OutputFile = NULL; } } @@ -869,9 +852,9 @@ void ChooseInputFile(bool force) void ChooseOutputFile(bool force) { - char extensionBuf[10]; - char wildBuf[10]; - strcpy(wildBuf, "*."); + wxChar extensionBuf[10]; + wxChar wildBuf[10]; + wxStrcpy(wildBuf, _T("*.")); wxString path; if (OutputFile) path = wxPathOnly(OutputFile); @@ -882,33 +865,33 @@ void ChooseOutputFile(bool force) { case TEX_RTF: { - strcpy(extensionBuf, "rtf"); - strcat(wildBuf, "rtf"); + wxStrcpy(extensionBuf, _T("rtf")); + wxStrcat(wildBuf, _T("rtf")); break; } case TEX_XLP: { - strcpy(extensionBuf, "xlp"); - strcat(wildBuf, "xlp"); + wxStrcpy(extensionBuf, _T("xlp")); + wxStrcat(wildBuf, _T("xlp")); break; } case TEX_HTML: { #if defined(__WXMSW__) && defined(__WIN16__) - strcpy(extensionBuf, "htm"); - strcat(wildBuf, "htm"); + wxStrcpy(extensionBuf, _T("htm")); + wxStrcat(wildBuf, _T("htm")); #else - strcpy(extensionBuf, "html"); - strcat(wildBuf, "html"); + wxStrcpy(extensionBuf, _T("html")); + wxStrcat(wildBuf, _T("html")); #endif break; } } if (force || !OutputFile) { - wxString s = wxFileSelector("Choose output file", path, wxFileNameFromPath(OutputFile), + wxString s = wxFileSelector(_T("Choose output file"), path, wxFileNameFromPath(OutputFile), extensionBuf, wildBuf); - if (s != "") + if (s != _T("")) OutputFile = copystring(s); } } @@ -927,10 +910,10 @@ bool Go(void) #ifndef NO_GUI if (isInteractive) { - char buf[300]; + wxChar buf[300]; wxString str = wxFileNameFromPath(InputFile); - sprintf(buf, "Tex2RTF [%s]", (const char*) str); + wxSprintf(buf, _T("Tex2RTF [%s]"), (const wxChar*) str); frame->SetTitle(buf); } @@ -938,7 +921,7 @@ bool Go(void) #endif // Find extension-less filename - strcpy(FileRoot, OutputFile); + wxStrcpy(FileRoot, OutputFile); StripExtension(FileRoot); if (truncateFilenames && convertMode == TEX_HTML) @@ -946,24 +929,24 @@ bool Go(void) // Truncate to five characters. This ensures that // we can generate DOS filenames such as thing999. But 1000 files // may not be enough, of course... - char* sName = wxFileNameFromPath( FileRoot); // this Julian's method is non-destructive reference + wxChar* sName = wxFileNameFromPath( FileRoot); // this Julian's method is non-destructive reference if(sName) - if(strlen( sName) > 5) + if(wxStrlen( sName) > 5) sName[5] = '\0'; // that should do! } - sprintf(ContentsName, "%s.con", FileRoot); - sprintf(TmpContentsName, "%s.cn1", FileRoot); - sprintf(TmpFrameContentsName, "%s.frc", FileRoot); - sprintf(WinHelpContentsFileName, "%s.cnt", FileRoot); - sprintf(RefFileName, "%s.ref", FileRoot); + wxSprintf(ContentsName, _T("%s.con"), FileRoot); + wxSprintf(TmpContentsName, _T("%s.cn1"), FileRoot); + wxSprintf(TmpFrameContentsName, _T("%s.frc"), FileRoot); + wxSprintf(WinHelpContentsFileName, _T("%s.cnt"), FileRoot); + wxSprintf(RefFileName, _T("%s.ref"), FileRoot); TexPathList.EnsureFileAccessible(InputFile); if (!bulletFile) { - wxString s = TexPathList.FindValidPath("bullet.bmp"); - if (s != "") + wxString s = TexPathList.FindValidPath(_T("bullet.bmp")); + if (s != _T("")) { wxString str = wxFileNameFromPath(s); bulletFile = copystring(str); @@ -979,7 +962,7 @@ bool Go(void) { if (!wxFileExists(InputFile)) { - OnError("Cannot open input file!"); + OnError(_T("Cannot open input file!")); TexCleanUp(); return FALSE; } @@ -987,12 +970,12 @@ bool Go(void) if (isInteractive) { wxString buf; - buf.Printf("Working, pass %d...Click CLOSE to abort", passNumber); - frame->SetStatusText((char *)buf.c_str()); + buf.Printf(_T("Working, pass %d...Click CLOSE to abort"), passNumber); + frame->SetStatusText((wxChar *)buf.c_str()); } #endif OkToClose = FALSE; - OnInform("Reading LaTeX file..."); + OnInform(_T("Reading LaTeX file...")); TexLoadFile(InputFile); if (stopRunning) @@ -1022,7 +1005,7 @@ bool Go(void) } if (stopRunning) { - OnInform("*** Aborted by user."); + OnInform(_T("*** Aborted by user.")); success = FALSE; stopRunning = FALSE; OkToClose = TRUE; @@ -1037,27 +1020,27 @@ bool Go(void) wxString buf; #ifndef NO_GUI long tim = wxGetElapsedTime(); - buf.Printf("Finished PASS #%d in %ld seconds.\n", passNumber, (long)(tim/1000.0)); - OnInform((char *)buf.c_str()); + buf.Printf(_T("Finished PASS #%d in %ld seconds.\n"), passNumber, (long)(tim/1000.0)); + OnInform((wxChar *)buf.c_str()); if (errorCount) { - buf.Printf("Errors encountered during this pass: %lu\n", errorCount); - OnInform((char *)buf.c_str()); + buf.Printf(_T("Errors encountered during this pass: %lu\n"), errorCount); + OnInform((wxChar *)buf.c_str()); } if (isInteractive) { - buf.Printf("Done, %d %s.", passNumber, (passNumber > 1) ? "passes" : "pass"); - frame->SetStatusText((char *)buf.c_str()); + buf.Printf(_T("Done, %d %s."), passNumber, (passNumber > 1) ? _T("passes") : _T("pass")); + frame->SetStatusText((wxChar *)buf.c_str()); } #else - buf.Printf("Done, %d %s.", passNumber, (passNumber > 1) ? "passes" : "pass"); - OnInform((char *)buf.c_str()); + buf.Printf(_T("Done, %d %s."), passNumber, (passNumber > 1) ? _T("passes") : _T("pass")); + OnInform((wxChar *)buf.c_str()); if (errorCount) { - buf.Printf("Errors encountered during this pass: %lu\n", errorCount); - OnInform((char *)buf.c_str()); + buf.Printf(_T("Errors encountered during this pass: %lu\n"), errorCount); + OnInform((wxChar *)buf.c_str()); } #endif passNumber ++; @@ -1070,15 +1053,15 @@ bool Go(void) startedSections = FALSE; #ifndef NO_GUI - frame->SetStatusText("Aborted by user."); + frame->SetStatusText(_T("Aborted by user.")); #endif // GUI - OnInform("Sorry, unsuccessful."); + OnInform(_T("Sorry, unsuccessful.")); OkToClose = TRUE; return FALSE; } -void OnError(const char *msg) +void OnError(const wxChar *msg) { errorCount++; @@ -1087,7 +1070,7 @@ void OnError(const char *msg) wxSTD cerr.flush(); #else if (isInteractive && frame) - (*frame->textWindow) << "Error: " << msg << "\n"; + (*frame->textWindow) << _T("Error: ") << msg << _T("\n"); else #ifdef __UNIX__ { @@ -1103,14 +1086,14 @@ void OnError(const char *msg) #endif // NO_GUI } -void OnInform(const char *msg) +void OnInform(const wxChar *msg) { #ifdef NO_GUI wxSTD cout << msg << "\n"; wxSTD cout.flush(); #else if (isInteractive && frame) - (*frame->textWindow) << msg << "\n"; + (*frame->textWindow) << msg << _T("\n"); /* This whole block of code is just wrong I think. It would behave completely wrong under anything other than MSW due to the ELSE with no statement, and the cout calls would fail under MSW, as @@ -1163,17 +1146,17 @@ bool OnArgument(int macroId, int arg_no, bool start) case TEX_RTF: { return RTFOnArgument(macroId, arg_no, start); - break; + // break; } case TEX_XLP: { return XLPOnArgument(macroId, arg_no, start); - break; + // break; } case TEX_HTML: { return HTMLOnArgument(macroId, arg_no, start); - break; + // break; } } return TRUE; @@ -1190,10 +1173,10 @@ bool OnArgument(int macroId, int arg_no, bool start) wxConnectionBase *Tex2RTFServer::OnAcceptConnection(const wxString& topic) { - if (topic == "TEX2RTF") + if (topic == _T("TEX2RTF")) { if (!ipc_buffer) - ipc_buffer = new char[1000]; + ipc_buffer = new wxChar[1000]; return new Tex2RTFConnection(ipc_buffer, 4000); } @@ -1205,7 +1188,7 @@ wxConnectionBase *Tex2RTFServer::OnAcceptConnection(const wxString& topic) * Connection */ -Tex2RTFConnection::Tex2RTFConnection(char *buf, int size):wxDDEConnection(buf, size) +Tex2RTFConnection::Tex2RTFConnection(wxChar *buf, int size):wxDDEConnection(buf, size) { } @@ -1213,7 +1196,7 @@ Tex2RTFConnection::~Tex2RTFConnection(void) { } -bool SplitCommand(char *data, char *firstArg, char *secondArg) +bool SplitCommand(wxChar *data, wxChar *firstArg, wxChar *secondArg) { firstArg[0] = 0; secondArg[0] = 0; @@ -1247,50 +1230,50 @@ bool SplitCommand(char *data, char *firstArg, char *secondArg) return TRUE; } -bool Tex2RTFConnection::OnExecute(const wxString& topic, char *data, int size, int format) +bool Tex2RTFConnection::OnExecute(const wxString& WXUNUSED(topic), wxChar *data, int WXUNUSED(size), wxIPCFormat WXUNUSED(format)) { - strcpy(Tex2RTFLastStatus, "OK"); + wxStrcpy(Tex2RTFLastStatus, _T("OK")); - char firstArg[50]; - char secondArg[300]; + wxChar firstArg[50]; + wxChar secondArg[300]; if (SplitCommand(data, firstArg, secondArg)) { - bool hasArg = (strlen(secondArg) > 0); - if (strcmp(firstArg, "INPUT") == 0 && hasArg) + bool hasArg = (wxStrlen(secondArg) > 0); + if (wxStrcmp(firstArg, _T("INPUT")) == 0 && hasArg) { if (InputFile) delete[] InputFile; InputFile = copystring(secondArg); if (frame) { - char buf[100]; + wxChar buf[100]; wxString str = wxFileNameFromPath(InputFile); - sprintf(buf, "Tex2RTF [%s]", (const char*) str); + wxSprintf(buf, _T("Tex2RTF [%s]"), (const wxChar*) str); frame->SetTitle(buf); } } - else if (strcmp(firstArg, "OUTPUT") == 0 && hasArg) + else if (wxStrcmp(firstArg, _T("OUTPUT")) == 0 && hasArg) { if (OutputFile) delete[] OutputFile; OutputFile = copystring(secondArg); } - else if (strcmp(firstArg, "GO") == 0) + else if (wxStrcmp(firstArg, _T("GO")) == 0) { - strcpy(Tex2RTFLastStatus, "WORKING"); + wxStrcpy(Tex2RTFLastStatus, _T("WORKING")); if (!Go()) - strcpy(Tex2RTFLastStatus, "CONVERSION ERROR"); + wxStrcpy(Tex2RTFLastStatus, _T("CONVERSION ERROR")); else - strcpy(Tex2RTFLastStatus, "OK"); + wxStrcpy(Tex2RTFLastStatus, _T("OK")); } - else if (strcmp(firstArg, "EXIT") == 0) + else if (wxStrcmp(firstArg, _T("EXIT")) == 0) { if (frame) frame->Close(); } - else if (strcmp(firstArg, "MINIMIZE") == 0 || strcmp(firstArg, "ICONIZE") == 0) + else if (wxStrcmp(firstArg, _T("MINIMIZE")) == 0 || wxStrcmp(firstArg, _T("ICONIZE")) == 0) { if (frame) frame->Iconize(TRUE); } - else if (strcmp(firstArg, "SHOW") == 0 || strcmp(firstArg, "RESTORE") == 0) + else if (wxStrcmp(firstArg, _T("SHOW")) == 0 || wxStrcmp(firstArg, _T("RESTORE")) == 0) { if (frame) { @@ -1301,20 +1284,20 @@ bool Tex2RTFConnection::OnExecute(const wxString& topic, char *data, int size, i else { // Try for a setting - strcpy(Tex2RTFLastStatus, RegisterSetting(firstArg, secondArg, FALSE)); + wxStrcpy(Tex2RTFLastStatus, RegisterSetting(firstArg, secondArg, FALSE)); #ifndef NO_GUI - if (frame && strcmp(firstArg, "conversionMode") == 0) + if (frame && wxStrcmp(firstArg, _T("conversionMode")) == 0) { - char buf[100]; - strcpy(buf, "In "); + wxChar buf[100]; + wxStrcpy(buf, _T("In ")); if (winHelp && (convertMode == TEX_RTF)) - strcat(buf, "WinHelp RTF"); + wxStrcat(buf, _T("WinHelp RTF")); else if (!winHelp && (convertMode == TEX_RTF)) - strcat(buf, "linear RTF"); - else if (convertMode == TEX_HTML) strcat(buf, "HTML"); - else if (convertMode == TEX_XLP) strcat(buf, "XLP"); - strcat(buf, " mode."); + wxStrcat(buf, _T("linear RTF")); + else if (convertMode == TEX_HTML) wxStrcat(buf, _T("HTML")); + else if (convertMode == TEX_XLP) wxStrcat(buf, _T("XLP")); + wxStrcat(buf, _T(" mode.")); frame->SetStatusText(buf, 1); } #endif @@ -1323,7 +1306,7 @@ bool Tex2RTFConnection::OnExecute(const wxString& topic, char *data, int size, i return TRUE; } -char *Tex2RTFConnection::OnRequest(const wxString& topic, const wxString& item, int *size, int format) +wxChar *Tex2RTFConnection::OnRequest(const wxString& WXUNUSED(topic), const wxString& WXUNUSED(item), int *WXUNUSED(size), wxIPCFormat WXUNUSED(format)) { return Tex2RTFLastStatus; } diff --git a/utils/tex2rtf/src/tex2rtf.h b/utils/tex2rtf/src/tex2rtf.h index 6ef32e3302..84f361cc02 100644 --- a/utils/tex2rtf/src/tex2rtf.h +++ b/utils/tex2rtf/src/tex2rtf.h @@ -57,10 +57,10 @@ DECLARE_EVENT_TABLE() class Tex2RTFConnection: public wxDDEConnection { public: - Tex2RTFConnection(char *buf, int size); + Tex2RTFConnection(wxChar *buf, int size); ~Tex2RTFConnection(void); - bool OnExecute(const wxString& topic, char *data, int size, int format); - char *OnRequest(const wxString& topic, const wxString& item, int *size, int format); + bool OnExecute(const wxString& topic, wxChar *data, int size, wxIPCFormat format); + wxChar *OnRequest(const wxString& topic, const wxString& item, int *size, wxIPCFormat format); }; class Tex2RTFServer: public wxDDEServer @@ -124,7 +124,7 @@ class ItemizeStruc: public wxObject extern TexChunk *currentMember; extern bool startedSections; -extern char *contentsString; +extern wxChar *contentsString; extern bool suppressNameDecoration; extern wxList itemizeStack; @@ -134,17 +134,17 @@ extern FILE *Sections; extern FILE *Subsections; extern FILE *Subsubsections; -extern char *InputFile; -extern char *OutputFile; -extern char *MacroFile; - -extern char *FileRoot; -extern char *ContentsName; // Contents page from last time around -extern char *TmpContentsName; // Current contents page -extern char *TmpFrameContentsName; // Current frame contents page -extern char *WinHelpContentsFileName; // WinHelp .cnt file -extern char *RefName; // Reference file name -extern char *bulletFile; +extern wxChar *InputFile; +extern wxChar *OutputFile; +extern wxChar *MacroFile; + +extern wxChar *FileRoot; +extern wxChar *ContentsName; // Contents page from last time around +extern wxChar *TmpContentsName; // Current contents page +extern wxChar *TmpFrameContentsName; // Current frame contents page +extern wxChar *WinHelpContentsFileName; // WinHelp .cnt file +extern wxChar *RefName; // Reference file name +extern wxChar *bulletFile; #ifndef NO_GUI void ChooseOutputFile(bool force = FALSE); diff --git a/utils/tex2rtf/src/texutils.cpp b/utils/tex2rtf/src/texutils.cpp index e1ae599b59..3812ba7e40 100644 --- a/utils/tex2rtf/src/texutils.cpp +++ b/utils/tex2rtf/src/texutils.cpp @@ -60,7 +60,7 @@ wxList ColourTable(wxKEY_STRING); wxHashTable BibStringTable(wxKEY_STRING); wxList CustomMacroList(wxKEY_STRING); TexChunk *currentSection = NULL; -char *fakeCurrentSection = NULL; +wxChar *fakeCurrentSection = NULL; static long BibLine = 1; @@ -74,17 +74,17 @@ void OutputCurrentSection(void) // Nasty but the way things are done now, necessary, // in order to output a chunk properly to a string (macros and all). -void OutputCurrentSectionToString(char *buf) +void OutputCurrentSectionToString(wxChar *buf) { if (fakeCurrentSection) - strcpy(buf, fakeCurrentSection); + wxStrcpy(buf, fakeCurrentSection); else OutputChunkToString(currentSection, buf); } -void OutputChunkToString(TexChunk *chunk, char *buf) +void OutputChunkToString(TexChunk *chunk, wxChar *buf) { - FILE *tempfd = fopen("tmp.tmp", "w"); + FILE *tempfd = wxFopen(_T("tmp.tmp"), _T("w")); if (!tempfd) return; @@ -102,7 +102,7 @@ void OutputChunkToString(TexChunk *chunk, char *buf) fclose(tempfd); // Read from file into string - tempfd = fopen("tmp.tmp", "r"); + tempfd = wxFopen(_T("tmp.tmp"), _T("r")); if (!tempfd) return; @@ -121,11 +121,11 @@ void OutputChunkToString(TexChunk *chunk, char *buf) } } fclose(tempfd); - wxRemoveFile("tmp.tmp"); + wxRemoveFile(_T("tmp.tmp")); } // Called by Tex2Any to simulate a section -void FakeCurrentSection(char *fakeSection, bool addToContents) +void FakeCurrentSection(wxChar *fakeSection, bool addToContents) { currentSection = NULL; if (fakeCurrentSection) delete[] fakeCurrentSection; @@ -160,9 +160,9 @@ void ResetTopicCounter(void) topicCounter = 0; } -static char *forceTopicName = NULL; +static wxChar *forceTopicName = NULL; -void ForceTopicName(const char *name) +void ForceTopicName(const wxChar *name) { if (forceTopicName) delete[] forceTopicName; @@ -172,13 +172,13 @@ void ForceTopicName(const char *name) forceTopicName = NULL; } -char *FindTopicName(TexChunk *chunk) +wxChar *FindTopicName(TexChunk *chunk) { if (forceTopicName) return forceTopicName; - char *topicName = NULL; - static char topicBuf[100]; + wxChar *topicName = NULL; + static wxChar topicBuf[100]; if (chunk && (chunk->type == CHUNK_TYPE_MACRO) && (chunk->macroId == ltLABEL)) @@ -203,7 +203,7 @@ char *FindTopicName(TexChunk *chunk) return topicName; else { - sprintf(topicBuf, "topic%ld", topicCounter); + wxSprintf(topicBuf, _T("topic%ld"), topicCounter); topicCounter ++; return topicBuf; } @@ -216,9 +216,9 @@ char *FindTopicName(TexChunk *chunk) * */ -void StartSimulateArgument(char *data) +void StartSimulateArgument(wxChar *data) { - strcpy(currentArgData, data); + wxStrcpy(currentArgData, data); haveArgData = TRUE; } @@ -232,33 +232,33 @@ void EndSimulateArgument(void) * */ -int ParseUnitArgument(char *unitArg) +int ParseUnitArgument(wxChar *unitArg) { float conversionFactor = 1.0; float unitValue = 0.0; - int len = strlen(unitArg); + int len = wxStrlen(unitArg); // Get rid of any accidentally embedded commands for (int i = 0; i < len; i++) if (unitArg[i] == '\\') unitArg[i] = 0; - len = strlen(unitArg); + len = wxStrlen(unitArg); if (unitArg && (len > 0) && (isdigit(unitArg[0]) || unitArg[0] == '-')) { - sscanf(unitArg, "%f", &unitValue); + wxSscanf(unitArg, _T("%f"), &unitValue); if (len > 1) { - char units[3]; + wxChar units[3]; units[0] = unitArg[len-2]; units[1] = unitArg[len-1]; units[2] = 0; - if (strcmp(units, "in") == 0) + if (wxStrcmp(units, _T("in")) == 0) conversionFactor = 72.0; - else if (strcmp(units, "cm") == 0) + else if (wxStrcmp(units, _T("cm")) == 0) conversionFactor = (float)72.0/(float)2.51; - else if (strcmp(units, "mm") == 0) + else if (wxStrcmp(units, _T("mm")) == 0) conversionFactor = (float)72.0/(float)25.1; - else if (strcmp(units, "pt") == 0) + else if (wxStrcmp(units, _T("pt")) == 0) conversionFactor = 1; } return (int)(unitValue*conversionFactor); @@ -272,9 +272,9 @@ int ParseUnitArgument(char *unitArg) * */ -void StripExtension(char *buffer) +void StripExtension(wxChar *buffer) { - int len = strlen(buffer); + int len = wxStrlen(buffer); int i = len-1; while (i > 0) { @@ -344,59 +344,59 @@ void SetFontSizes(int pointSize) * */ -void AddTexRef(char *name, char *file, char *sectionName, +void AddTexRef(wxChar *name, wxChar *file, wxChar *sectionName, int chapter, int section, int subsection, int subsubsection) { TexRef *texRef = (TexRef *)TexReferences.Get(name); if (texRef) TexReferences.Delete(name); - char buf[100]; + wxChar buf[100]; buf[0] = 0; /* if (sectionName) { - strcat(buf, sectionName); - strcat(buf, " "); + wxStrcat(buf, sectionName); + wxStrcat(buf, " "); } */ if (chapter) { - char buf2[10]; - sprintf(buf2, "%d", chapter); - strcat(buf, buf2); + wxChar buf2[10]; + wxSprintf(buf2, _T("%d"), chapter); + wxStrcat(buf, buf2); } if (section) { - char buf2[10]; + wxChar buf2[10]; if (chapter) - strcat(buf, "."); + wxStrcat(buf, _T(".")); - sprintf(buf2, "%d", section); - strcat(buf, buf2); + wxSprintf(buf2, _T("%d"), section); + wxStrcat(buf, buf2); } if (subsection) { - char buf2[10]; - strcat(buf, "."); - sprintf(buf2, "%d", subsection); - strcat(buf, buf2); + wxChar buf2[10]; + wxStrcat(buf, _T(".")); + wxSprintf(buf2, _T("%d"), subsection); + wxStrcat(buf, buf2); } if (subsubsection) { - char buf2[10]; - strcat(buf, "."); - sprintf(buf2, "%d", subsubsection); - strcat(buf, buf2); + wxChar buf2[10]; + wxStrcat(buf, _T(".")); + wxSprintf(buf2, _T("%d"), subsubsection); + wxStrcat(buf, buf2); } - char *tmp = ((strlen(buf) > 0) ? buf : (char *)NULL); + wxChar *tmp = ((wxStrlen(buf) > 0) ? buf : (wxChar *)NULL); TexReferences.Put(name, new TexRef(name, file, tmp, sectionName)); } -void WriteTexReferences(char *filename) +void WriteTexReferences(wxChar *filename) { wxSTD ofstream ostr(filename); if (ostr.bad()) return; - char buf[200]; + wxChar buf[200]; TexReferences.BeginFind(); wxNode *node = TexReferences.Next(); @@ -404,19 +404,19 @@ void WriteTexReferences(char *filename) { Tex2RTFYield(); TexRef *ref = (TexRef *)node->GetData(); - ostr << ref->refLabel << " " << (ref->refFile ? ref->refFile : "??") << " "; - ostr << (ref->sectionName ? ref->sectionName : "??") << " "; - ostr << (ref->sectionNumber ? ref->sectionNumber : "??") << "\n"; - if (!ref->sectionNumber || (strcmp(ref->sectionNumber, "??") == 0 && strcmp(ref->sectionName, "??") == 0)) + ostr << ref->refLabel << _T(" ") << (ref->refFile ? ref->refFile : _T("??")) << _T(" "); + ostr << (ref->sectionName ? ref->sectionName : _T("??")) << _T(" "); + ostr << (ref->sectionNumber ? ref->sectionNumber : _T("??")) << _T("\n"); + if (!ref->sectionNumber || (wxStrcmp(ref->sectionNumber, _T("??")) == 0 && wxStrcmp(ref->sectionName, _T("??")) == 0)) { - sprintf(buf, "Warning: reference %s not resolved.", ref->refLabel); + wxSprintf(buf, _T("Warning: reference %s not resolved."), ref->refLabel); OnInform(buf); } node = TexReferences.Next(); } } -void ReadTexReferences(char *filename) +void ReadTexReferences(wxChar *filename) { if (!wxFileExists(filename)) return; @@ -425,10 +425,10 @@ void ReadTexReferences(char *filename) if (istr.bad()) return; - char label[100]; - char file[400]; - char section[100]; - char sectionName[100]; + wxChar label[100]; + wxChar file[400]; + wxChar section[100]; + wxChar sectionName[100]; while (!istr.eof()) { @@ -494,7 +494,7 @@ void BibEatWhiteSpace(wxSTD istream& str) } // Read word up to { or , or space -void BibReadWord(wxSTD istream& istr, char *buffer) +void BibReadWord(wxSTD istream& istr, wxChar *buffer) { int i = 0; buffer[i] = 0; @@ -511,13 +511,13 @@ void BibReadWord(wxSTD istream& istr, char *buffer) } // Read string (double-quoted or not) to end quote or EOL -void BibReadToEOL(wxSTD istream& istr, char *buffer) +void BibReadToEOL(wxSTD istream& istr, wxChar *buffer) { int i = 0; buffer[i] = 0; - char ch = istr.peek(); + wxChar ch = istr.peek(); bool inQuotes = FALSE; - if (ch == '"') + if (ch == _T('"')) { istr.get(ch); ch = istr.peek(); @@ -525,9 +525,9 @@ void BibReadToEOL(wxSTD istream& istr, char *buffer) } // If in quotes, read white space too. If not, // stop at white space or comment. - while (!istr.eof() && ch != 13 && ch != 10 && ch != '"' && - (inQuotes || ((ch != ' ') && (ch != 9) && - (ch != ';') && (ch != '%') && (ch != '#')))) + while (!istr.eof() && ch != 13 && ch != 10 && ch != _T('"') && + (inQuotes || ((ch != _T(' ')) && (ch != 9) && + (ch != _T(';')) && (ch != _T('%')) && (ch != _T('#'))))) { istr.get(ch); buffer[i] = ch; @@ -540,7 +540,7 @@ void BibReadToEOL(wxSTD istream& istr, char *buffer) } // Read }-terminated value, taking nested braces into account. -void BibReadValue(wxSTD istream& istr, char *buffer, bool ignoreBraces = TRUE, +void BibReadValue(wxSTD istream& istr, wxChar *buffer, bool ignoreBraces = TRUE, bool quotesMayTerminate = TRUE) { int braceCount = 1; @@ -553,8 +553,8 @@ void BibReadValue(wxSTD istream& istr, char *buffer, bool ignoreBraces = TRUE, // i ++; if (i >= 4000) { - char buf[100]; - sprintf(buf, "Sorry, value > 4000 chars in bib file at line %ld.", BibLine); + wxChar buf[100]; + wxSprintf(buf, _T("Sorry, value > 4000 chars in bib file at line %ld."), BibLine); wxLogError(buf, "Tex2RTF Fatal Error"); return; } @@ -589,26 +589,27 @@ void BibReadValue(wxSTD istream& istr, char *buffer, bool ignoreBraces = TRUE, BibLine ++; } buffer[i] = 0; + wxUnusedVar(stopping); } -bool ReadBib(char *filename) +bool ReadBib(wxChar *filename) { if (!wxFileExists(filename)) return FALSE; - char buf[300]; + wxChar buf[300]; wxSTD ifstream istr(filename, wxSTD ios::in); if (istr.bad()) return FALSE; BibLine = 1; - OnInform("Reading .bib file..."); + OnInform(_T("Reading .bib file...")); char ch; - char fieldValue[4000]; - char recordType[100]; - char recordKey[100]; - char recordField[100]; + wxChar fieldValue[4000]; + wxChar recordType[100]; + wxChar recordKey[100]; + wxChar recordField[100]; while (!istr.eof()) { Tex2RTFYield(); @@ -617,7 +618,7 @@ bool ReadBib(char *filename) istr.get(ch); if (ch != '@') { - sprintf(buf, "Expected @: malformed bib file at line %ld (%s)", BibLine, filename); + wxSprintf(buf, _T("Expected @: malformed bib file at line %ld (%s)"), BibLine, filename); OnError(buf); return FALSE; } @@ -626,19 +627,19 @@ bool ReadBib(char *filename) istr.get(ch); if (ch != '{' && ch != '(') { - sprintf(buf, "Expected { or ( after record type: malformed .bib file at line %ld (%s)", BibLine, filename); + wxSprintf(buf, _T("Expected { or ( after record type: malformed .bib file at line %ld (%s)"), BibLine, filename); OnError(buf); return FALSE; } BibEatWhiteSpace(istr); - if (StringMatch(recordType, "string", FALSE, TRUE)) + if (StringMatch(recordType, _T("string"), FALSE, TRUE)) { BibReadWord(istr, recordType); BibEatWhiteSpace(istr); istr.get(ch); if (ch != '=') { - sprintf(buf, "Expected = after string key: malformed .bib file at line %ld (%s)", BibLine, filename); + wxSprintf(buf, _T("Expected = after string key: malformed .bib file at line %ld (%s)"), BibLine, filename); OnError(buf); return FALSE; } @@ -646,7 +647,7 @@ bool ReadBib(char *filename) istr.get(ch); if (ch != '"' && ch != '{') { - sprintf(buf, "Expected = after string key: malformed .bib file at line %ld (%s)", BibLine, filename); + wxSprintf(buf, _T("Expected = after string key: malformed .bib file at line %ld (%s)"), BibLine, filename); OnError(buf); return FALSE; } @@ -686,7 +687,7 @@ bool ReadBib(char *filename) istr.get(ch); if (ch != '=') { - sprintf(buf, "Expected = after field type: malformed .bib file at line %ld (%s)", BibLine, filename); + wxSprintf(buf, _T("Expected = after field type: malformed .bib file at line %ld (%s)"), BibLine, filename); OnError(buf); return FALSE; } @@ -698,71 +699,71 @@ bool ReadBib(char *filename) BibReadWord(istr, fieldValue+1); // If in the table of strings, replace with string from table. - char *s = (char *)BibStringTable.Get(fieldValue); + wxChar *s = (wxChar *)BibStringTable.Get(fieldValue); if (s) { - strcpy(fieldValue, s); + wxStrcpy(fieldValue, s); } } else - BibReadValue(istr, fieldValue, TRUE, (ch == '"' ? TRUE : FALSE)); + BibReadValue(istr, fieldValue, TRUE, (ch == _T('"') ? TRUE : FALSE)); // Now we can add a field - if (StringMatch(recordField, "author", FALSE, TRUE)) + if (StringMatch(recordField, _T("author"), FALSE, TRUE)) bibEntry->author = copystring(fieldValue); - else if (StringMatch(recordField, "key", FALSE, TRUE)) + else if (StringMatch(recordField, _T("key"), FALSE, TRUE)) {} - else if (StringMatch(recordField, "annotate", FALSE, TRUE)) + else if (StringMatch(recordField, _T("annotate"), FALSE, TRUE)) {} - else if (StringMatch(recordField, "abstract", FALSE, TRUE)) + else if (StringMatch(recordField, _T("abstract"), FALSE, TRUE)) {} - else if (StringMatch(recordField, "edition", FALSE, TRUE)) + else if (StringMatch(recordField, _T("edition"), FALSE, TRUE)) {} - else if (StringMatch(recordField, "howpublished", FALSE, TRUE)) + else if (StringMatch(recordField, _T("howpublished"), FALSE, TRUE)) {} - else if (StringMatch(recordField, "note", FALSE, TRUE) || StringMatch(recordField, "notes", FALSE, TRUE)) + else if (StringMatch(recordField, _T("note"), FALSE, TRUE) || StringMatch(recordField, _T("notes"), FALSE, TRUE)) {} - else if (StringMatch(recordField, "series", FALSE, TRUE)) + else if (StringMatch(recordField, _T("series"), FALSE, TRUE)) {} - else if (StringMatch(recordField, "type", FALSE, TRUE)) + else if (StringMatch(recordField, _T("type"), FALSE, TRUE)) {} - else if (StringMatch(recordField, "keywords", FALSE, TRUE)) + else if (StringMatch(recordField, _T("keywords"), FALSE, TRUE)) {} - else if (StringMatch(recordField, "editor", FALSE, TRUE) || StringMatch(recordField, "editors", FALSE, TRUE)) + else if (StringMatch(recordField, _T("editor"), FALSE, TRUE) || StringMatch(recordField, _T("editors"), FALSE, TRUE)) bibEntry->editor= copystring(fieldValue); - else if (StringMatch(recordField, "title", FALSE, TRUE)) + else if (StringMatch(recordField, _T("title"), FALSE, TRUE)) bibEntry->title= copystring(fieldValue); - else if (StringMatch(recordField, "booktitle", FALSE, TRUE)) + else if (StringMatch(recordField, _T("booktitle"), FALSE, TRUE)) bibEntry->booktitle= copystring(fieldValue); - else if (StringMatch(recordField, "journal", FALSE, TRUE)) + else if (StringMatch(recordField, _T("journal"), FALSE, TRUE)) bibEntry->journal= copystring(fieldValue); - else if (StringMatch(recordField, "volume", FALSE, TRUE)) + else if (StringMatch(recordField, _T("volume"), FALSE, TRUE)) bibEntry->volume= copystring(fieldValue); - else if (StringMatch(recordField, "number", FALSE, TRUE)) + else if (StringMatch(recordField, _T("number"), FALSE, TRUE)) bibEntry->number= copystring(fieldValue); - else if (StringMatch(recordField, "year", FALSE, TRUE)) + else if (StringMatch(recordField, _T("year"), FALSE, TRUE)) bibEntry->year= copystring(fieldValue); - else if (StringMatch(recordField, "month", FALSE, TRUE)) + else if (StringMatch(recordField, _T("month"), FALSE, TRUE)) bibEntry->month= copystring(fieldValue); - else if (StringMatch(recordField, "pages", FALSE, TRUE)) + else if (StringMatch(recordField, _T("pages"), FALSE, TRUE)) bibEntry->pages= copystring(fieldValue); - else if (StringMatch(recordField, "publisher", FALSE, TRUE)) + else if (StringMatch(recordField, _T("publisher"), FALSE, TRUE)) bibEntry->publisher= copystring(fieldValue); - else if (StringMatch(recordField, "address", FALSE, TRUE)) + else if (StringMatch(recordField, _T("address"), FALSE, TRUE)) bibEntry->address= copystring(fieldValue); - else if (StringMatch(recordField, "institution", FALSE, TRUE) || StringMatch(recordField, "school", FALSE, TRUE)) + else if (StringMatch(recordField, _T("institution"), FALSE, TRUE) || StringMatch(recordField, _T("school"), FALSE, TRUE)) bibEntry->institution= copystring(fieldValue); - else if (StringMatch(recordField, "organization", FALSE, TRUE) || StringMatch(recordField, "organisation", FALSE, TRUE)) + else if (StringMatch(recordField, _T("organization"), FALSE, TRUE) || StringMatch(recordField, _T("organisation"), FALSE, TRUE)) bibEntry->organization= copystring(fieldValue); - else if (StringMatch(recordField, "comment", FALSE, TRUE) || StringMatch(recordField, "comments", FALSE, TRUE)) + else if (StringMatch(recordField, _T("comment"), FALSE, TRUE) || StringMatch(recordField, _T("comments"), FALSE, TRUE)) bibEntry->comment= copystring(fieldValue); - else if (StringMatch(recordField, "annote", FALSE, TRUE)) + else if (StringMatch(recordField, _T("annote"), FALSE, TRUE)) bibEntry->comment= copystring(fieldValue); - else if (StringMatch(recordField, "chapter", FALSE, TRUE)) + else if (StringMatch(recordField, _T("chapter"), FALSE, TRUE)) bibEntry->chapter= copystring(fieldValue); else { - sprintf(buf, "Unrecognised bib field type %s at line %ld (%s)", recordField, BibLine, filename); + wxSprintf(buf, _T("Unrecognised bib field type %s at line %ld (%s)"), recordField, BibLine, filename); OnError(buf); } } @@ -784,17 +785,17 @@ void OutputBibItem(TexRef *ref, BibEntry *bib) OnArgument(ltNUMBEREDBIBITEM, 1, FALSE); OnArgument(ltNUMBEREDBIBITEM, 2, TRUE); - TexOutput(" "); + TexOutput(_T(" ")); OnMacro(ltBF, 1, TRUE); OnArgument(ltBF, 1, TRUE); if (bib->author) TexOutput(bib->author); OnArgument(ltBF, 1, FALSE); OnMacro(ltBF, 1, FALSE); - if (bib->author && (strlen(bib->author) > 0) && (bib->author[strlen(bib->author) - 1] != '.')) - TexOutput(". "); + if (bib->author && (wxStrlen(bib->author) > 0) && (bib->author[wxStrlen(bib->author) - 1] != '.')) + TexOutput(_T(". ")); else - TexOutput(" "); + TexOutput(_T(" ")); if (bib->year) { @@ -802,19 +803,19 @@ void OutputBibItem(TexRef *ref, BibEntry *bib) } if (bib->month) { - TexOutput(" ("); + TexOutput(_T(" (")); TexOutput(bib->month); - TexOutput(")"); + TexOutput(_T(")")); } if (bib->year || bib->month) - TexOutput(". "); + TexOutput(_T(". ")); - if (StringMatch(bib->type, "article", FALSE, TRUE)) + if (StringMatch(bib->type, _T("article"), FALSE, TRUE)) { if (bib->title) { TexOutput(bib->title); - TexOutput(". "); + TexOutput(_T(". ")); } if (bib->journal) { @@ -826,7 +827,7 @@ void OutputBibItem(TexRef *ref, BibEntry *bib) } if (bib->volume) { - TexOutput(", "); + TexOutput(_T(", ")); OnMacro(ltBF, 1, TRUE); OnArgument(ltBF, 1, TRUE); TexOutput(bib->volume); @@ -835,70 +836,70 @@ void OutputBibItem(TexRef *ref, BibEntry *bib) } if (bib->number) { - TexOutput("("); + TexOutput(_T("(")); TexOutput(bib->number); - TexOutput(")"); + TexOutput(_T(")")); } if (bib->pages) { - TexOutput(", pages "); + TexOutput(_T(", pages ")); TexOutput(bib->pages); } - TexOutput("."); + TexOutput(_T(".")); } - else if (StringMatch(bib->type, "book", FALSE, TRUE) || - StringMatch(bib->type, "unpublished", FALSE, TRUE) || - StringMatch(bib->type, "manual", FALSE, TRUE) || - StringMatch(bib->type, "phdthesis", FALSE, TRUE) || - StringMatch(bib->type, "mastersthesis", FALSE, TRUE) || - StringMatch(bib->type, "misc", FALSE, TRUE) || - StringMatch(bib->type, "techreport", FALSE, TRUE) || - StringMatch(bib->type, "booklet", FALSE, TRUE)) + else if (StringMatch(bib->type, _T("book"), FALSE, TRUE) || + StringMatch(bib->type, _T("unpublished"), FALSE, TRUE) || + StringMatch(bib->type, _T("manual"), FALSE, TRUE) || + StringMatch(bib->type, _T("phdthesis"), FALSE, TRUE) || + StringMatch(bib->type, _T("mastersthesis"), FALSE, TRUE) || + StringMatch(bib->type, _T("misc"), FALSE, TRUE) || + StringMatch(bib->type, _T("techreport"), FALSE, TRUE) || + StringMatch(bib->type, _T("booklet"), FALSE, TRUE)) { if (bib->title || bib->booktitle) { OnMacro(ltIT, 1, TRUE); OnArgument(ltIT, 1, TRUE); TexOutput(bib->title ? bib->title : bib->booktitle); - TexOutput(". "); + TexOutput(_T(". ")); OnArgument(ltIT, 1, FALSE); OnMacro(ltIT, 1, FALSE); } - if (StringMatch(bib->type, "phdthesis", FALSE, TRUE)) - TexOutput("PhD thesis. "); - if (StringMatch(bib->type, "techreport", FALSE, TRUE)) - TexOutput("Technical report. "); + if (StringMatch(bib->type, _T("phdthesis"), FALSE, TRUE)) + TexOutput(_T("PhD thesis. ")); + if (StringMatch(bib->type, _T("techreport"), FALSE, TRUE)) + TexOutput(_T("Technical report. ")); if (bib->editor) { - TexOutput("Ed. "); + TexOutput(_T("Ed. ")); TexOutput(bib->editor); - TexOutput(". "); + TexOutput(_T(". ")); } if (bib->institution) { TexOutput(bib->institution); - TexOutput(". "); + TexOutput(_T(". ")); } if (bib->organization) { TexOutput(bib->organization); - TexOutput(". "); + TexOutput(_T(". ")); } if (bib->publisher) { TexOutput(bib->publisher); - TexOutput(". "); + TexOutput(_T(". ")); } if (bib->address) { TexOutput(bib->address); - TexOutput(". "); + TexOutput(_T(". ")); } } - else if (StringMatch(bib->type, "inbook", FALSE, TRUE) || - StringMatch(bib->type, "inproceedings", FALSE, TRUE) || - StringMatch(bib->type, "incollection", FALSE, TRUE) || - StringMatch(bib->type, "conference", FALSE, TRUE)) + else if (StringMatch(bib->type, _T("inbook"), FALSE, TRUE) || + StringMatch(bib->type, _T("inproceedings"), FALSE, TRUE) || + StringMatch(bib->type, _T("incollection"), FALSE, TRUE) || + StringMatch(bib->type, _T("conference"), FALSE, TRUE)) { if (bib->title) { @@ -906,36 +907,36 @@ void OutputBibItem(TexRef *ref, BibEntry *bib) } if (bib->booktitle) { - TexOutput(", from "); + TexOutput(_T(", from ")); OnMacro(ltIT, 1, TRUE); OnArgument(ltIT, 1, TRUE); TexOutput(bib->booktitle); - TexOutput("."); + TexOutput(_T(".")); OnArgument(ltIT, 1, FALSE); OnMacro(ltIT, 1, FALSE); } if (bib->editor) { - TexOutput(", ed. "); + TexOutput(_T(", ed. ")); TexOutput(bib->editor); } if (bib->publisher) { - TexOutput(" "); + TexOutput(_T(" ")); TexOutput(bib->publisher); } if (bib->address) { - if (bib->publisher) TexOutput(", "); - else TexOutput(" "); + if (bib->publisher) TexOutput(_T(", ")); + else TexOutput(_T(" ")); TexOutput(bib->address); } if (bib->publisher || bib->address) - TexOutput("."); + TexOutput(_T(".")); if (bib->volume) { - TexOutput(" "); + TexOutput(_T(" ")); OnMacro(ltBF, 1, TRUE); OnArgument(ltBF, 1, TRUE); TexOutput(bib->volume); @@ -946,27 +947,28 @@ void OutputBibItem(TexRef *ref, BibEntry *bib) { if (bib->volume) { - TexOutput("("); + TexOutput(_T("(")); TexOutput(bib->number); - TexOutput(")."); + TexOutput(_T(").")); } else { - TexOutput(" Number "); + TexOutput(_T(" Number ")); TexOutput(bib->number); - TexOutput("."); + TexOutput(_T(".")); } } if (bib->chapter) { - TexOutput(" Chap. "); TexOutput(bib->chapter); + TexOutput(_T(" Chap. ")); + TexOutput(bib->chapter); } if (bib->pages) { - if (bib->chapter) TexOutput(", pages "); - else TexOutput(" Pages "); + if (bib->chapter) TexOutput(_T(", pages ")); + else TexOutput(_T(" Pages ")); TexOutput(bib->pages); - TexOutput("."); + TexOutput(_T(".")); } } OnArgument(ltNUMBEREDBIBITEM, 2, FALSE); @@ -976,7 +978,7 @@ void OutputBibItem(TexRef *ref, BibEntry *bib) void OutputBib(void) { // Write the heading - ForceTopicName("bibliography"); + ForceTopicName(_T("bibliography")); FakeCurrentSection(ReferencesNameString); ForceTopicName(NULL); @@ -992,7 +994,7 @@ void OutputBib(void) wxStringListNode *node = CitationList.GetFirst(); while (node) { - char *citeKey = (char *)node->GetData(); + wxChar *citeKey = (wxChar *)node->GetData(); // wxNode *texNode = TexReferences.Find(citeKey); TexRef *ref = (TexRef *)TexReferences.Get(citeKey); wxNode *bibNode = BibList.Find(citeKey); @@ -1010,15 +1012,15 @@ static int citeCount = 1; void ResolveBibReferences(void) { if (CitationList.GetCount() > 0) - OnInform("Resolving bibliographic references..."); + OnInform(_T("Resolving bibliographic references...")); citeCount = 1; - char buf[200]; + wxChar buf[200]; wxStringListNode *node = CitationList.GetFirst(); while (node) { Tex2RTFYield(); - char *citeKey = (char *)node->GetData(); + wxChar *citeKey = (wxChar *)node->GetData(); // wxNode *texNode = TexReferences.Find(citeKey); TexRef *ref = (TexRef *)TexReferences.Get(citeKey); wxNode *bibNode = BibList.Find(citeKey); @@ -1027,13 +1029,13 @@ void ResolveBibReferences(void) // Unused Variable //BibEntry *entry = (BibEntry *)bibNode->GetData(); if (ref->sectionNumber) delete[] ref->sectionNumber; - sprintf(buf, "[%d]", citeCount); + wxSprintf(buf, _T("[%d]"), citeCount); ref->sectionNumber = copystring(buf); citeCount ++; } else { - sprintf(buf, "Warning: bib ref %s not resolved.", citeKey); + wxSprintf(buf, _T("Warning: bib ref %s not resolved."), citeKey); OnInform(buf); } node = node->GetNext(); @@ -1041,18 +1043,18 @@ void ResolveBibReferences(void) } // Remember we need to resolve this citation -void AddCitation(char *citeKey) +void AddCitation(wxChar *citeKey) { if (!CitationList.Member(citeKey)) CitationList.Add(citeKey); if (!TexReferences.Get(citeKey)) { - TexReferences.Put(citeKey, new TexRef(citeKey, "??", NULL)); + TexReferences.Put(citeKey, new TexRef(citeKey, _T("??"), NULL)); } } -TexRef *FindReference(char *key) +TexRef *FindReference(wxChar *key) { return (TexRef *)TexReferences.Get(key); } @@ -1062,175 +1064,175 @@ TexRef *FindReference(char *key) * */ -bool StringTobool(char *val) +bool StringTobool(wxChar *val) { - if (strncmp(val, "yes", 3) == 0 || strncmp(val, "YES", 3) == 0 || - strncmp(val, "on", 2) == 0 || strncmp(val, "ON", 2) == 0 || - strncmp(val, "true", 4) == 0 || strncmp(val, "TRUE", 4) == 0 || - strncmp(val, "ok", 2) == 0 || strncmp(val, "OK", 2) == 0 || - strncmp(val, "1", 1) == 0) + if (wxStrncmp(val, _T("yes"), 3) == 0 || wxStrncmp(val, _T("YES"), 3) == 0 || + wxStrncmp(val, _T("on"), 2) == 0 || wxStrncmp(val, _T("ON"), 2) == 0 || + wxStrncmp(val, _T("true"), 4) == 0 || wxStrncmp(val, _T("TRUE"), 4) == 0 || + wxStrncmp(val, _T("ok"), 2) == 0 || wxStrncmp(val, _T("OK"), 2) == 0 || + wxStrncmp(val, _T("1"), 1) == 0) return TRUE; else return FALSE; } // Define a variable value from the .ini file -char *RegisterSetting(char *settingName, char *settingValue, bool interactive) +wxChar *RegisterSetting(wxChar *settingName, wxChar *settingValue, bool interactive) { - static char errorCode[100]; - strcpy(errorCode, "OK"); - if (StringMatch(settingName, "chapterName", FALSE, TRUE)) + static wxChar errorCode[100]; + wxStrcpy(errorCode, _T("OK")); + if (StringMatch(settingName, _T("chapterName"), FALSE, TRUE)) { delete[] ChapterNameString; ChapterNameString = copystring(settingValue); } - else if (StringMatch(settingName, "sectionName", FALSE, TRUE)) + else if (StringMatch(settingName, _T("sectionName"), FALSE, TRUE)) { delete[] SectionNameString; SectionNameString = copystring(settingValue); } - else if (StringMatch(settingName, "subsectionName", FALSE, TRUE)) + else if (StringMatch(settingName, _T("subsectionName"), FALSE, TRUE)) { delete[] SubsectionNameString; SubsectionNameString = copystring(settingValue); } - else if (StringMatch(settingName, "subsubsectionName", FALSE, TRUE)) + else if (StringMatch(settingName, _T("subsubsectionName"), FALSE, TRUE)) { delete[] SubsubsectionNameString; SubsubsectionNameString = copystring(settingValue); } - else if (StringMatch(settingName, "indexName", FALSE, TRUE)) + else if (StringMatch(settingName, _T("indexName"), FALSE, TRUE)) { delete[] IndexNameString; IndexNameString = copystring(settingValue); } - else if (StringMatch(settingName, "contentsName", FALSE, TRUE)) + else if (StringMatch(settingName, _T("contentsName"), FALSE, TRUE)) { delete[] ContentsNameString; ContentsNameString = copystring(settingValue); } - else if (StringMatch(settingName, "glossaryName", FALSE, TRUE)) + else if (StringMatch(settingName, _T("glossaryName"), FALSE, TRUE)) { delete[] GlossaryNameString; GlossaryNameString = copystring(settingValue); } - else if (StringMatch(settingName, "referencesName", FALSE, TRUE)) + else if (StringMatch(settingName, _T("referencesName"), FALSE, TRUE)) { delete[] ReferencesNameString; ReferencesNameString = copystring(settingValue); } - else if (StringMatch(settingName, "tablesName", FALSE, TRUE)) + else if (StringMatch(settingName, _T("tablesName"), FALSE, TRUE)) { delete[] TablesNameString; TablesNameString = copystring(settingValue); } - else if (StringMatch(settingName, "figuresName", FALSE, TRUE)) + else if (StringMatch(settingName, _T("figuresName"), FALSE, TRUE)) { delete[] FiguresNameString; FiguresNameString = copystring(settingValue); } - else if (StringMatch(settingName, "tableName", FALSE, TRUE)) + else if (StringMatch(settingName, _T("tableName"), FALSE, TRUE)) { delete[] TableNameString; TableNameString = copystring(settingValue); } - else if (StringMatch(settingName, "figureName", FALSE, TRUE)) + else if (StringMatch(settingName, _T("figureName"), FALSE, TRUE)) { delete[] FigureNameString; FigureNameString = copystring(settingValue); } - else if (StringMatch(settingName, "abstractName", FALSE, TRUE)) + else if (StringMatch(settingName, _T("abstractName"), FALSE, TRUE)) { delete[] AbstractNameString; AbstractNameString = copystring(settingValue); } - else if (StringMatch(settingName, "chapterFontSize", FALSE, TRUE)) + else if (StringMatch(settingName, _T("chapterFontSize"), FALSE, TRUE)) StringToInt(settingValue, &chapterFont); - else if (StringMatch(settingName, "sectionFontSize", FALSE, TRUE)) + else if (StringMatch(settingName, _T("sectionFontSize"), FALSE, TRUE)) StringToInt(settingValue, §ionFont); - else if (StringMatch(settingName, "subsectionFontSize", FALSE, TRUE)) + else if (StringMatch(settingName, _T("subsectionFontSize"), FALSE, TRUE)) StringToInt(settingValue, &subsectionFont); - else if (StringMatch(settingName, "titleFontSize", FALSE, TRUE)) + else if (StringMatch(settingName, _T("titleFontSize"), FALSE, TRUE)) StringToInt(settingValue, &titleFont); - else if (StringMatch(settingName, "authorFontSize", FALSE, TRUE)) + else if (StringMatch(settingName, _T("authorFontSize"), FALSE, TRUE)) StringToInt(settingValue, &authorFont); - else if (StringMatch(settingName, "ignoreInput", FALSE, TRUE)) + else if (StringMatch(settingName, _T("ignoreInput"), FALSE, TRUE)) IgnorableInputFiles.Add(wxFileNameFromPath(settingValue)); - else if (StringMatch(settingName, "mirrorMargins", FALSE, TRUE)) + else if (StringMatch(settingName, _T("mirrorMargins"), FALSE, TRUE)) mirrorMargins = StringTobool(settingValue); - else if (StringMatch(settingName, "runTwice", FALSE, TRUE)) + else if (StringMatch(settingName, _T("runTwice"), FALSE, TRUE)) runTwice = StringTobool(settingValue); - else if (StringMatch(settingName, "isInteractive", FALSE, TRUE)) + else if (StringMatch(settingName, _T("isInteractive"), FALSE, TRUE)) isInteractive = StringTobool(settingValue); - else if (StringMatch(settingName, "headerRule", FALSE, TRUE)) + else if (StringMatch(settingName, _T("headerRule"), FALSE, TRUE)) headerRule = StringTobool(settingValue); - else if (StringMatch(settingName, "footerRule", FALSE, TRUE)) + else if (StringMatch(settingName, _T("footerRule"), FALSE, TRUE)) footerRule = StringTobool(settingValue); - else if (StringMatch(settingName, "combineSubSections", FALSE, TRUE)) + else if (StringMatch(settingName, _T("combineSubSections"), FALSE, TRUE)) combineSubSections = StringTobool(settingValue); - else if (StringMatch(settingName, "listLabelIndent", FALSE, TRUE)) + else if (StringMatch(settingName, _T("listLabelIndent"), FALSE, TRUE)) StringToInt(settingValue, &labelIndentTab); - else if (StringMatch(settingName, "listItemIndent", FALSE, TRUE)) + else if (StringMatch(settingName, _T("listItemIndent"), FALSE, TRUE)) StringToInt(settingValue, &itemIndentTab); - else if (StringMatch(settingName, "useUpButton", FALSE, TRUE)) + else if (StringMatch(settingName, _T("useUpButton"), FALSE, TRUE)) useUpButton = StringTobool(settingValue); - else if (StringMatch(settingName, "useHeadingStyles", FALSE, TRUE)) + else if (StringMatch(settingName, _T("useHeadingStyles"), FALSE, TRUE)) useHeadingStyles = StringTobool(settingValue); - else if (StringMatch(settingName, "useWord", FALSE, TRUE)) + else if (StringMatch(settingName, _T("useWord"), FALSE, TRUE)) useWord = StringTobool(settingValue); - else if (StringMatch(settingName, "contentsDepth", FALSE, TRUE)) + else if (StringMatch(settingName, _T("contentsDepth"), FALSE, TRUE)) StringToInt(settingValue, &contentsDepth); - else if (StringMatch(settingName, "generateHPJ", FALSE, TRUE)) + else if (StringMatch(settingName, _T("generateHPJ"), FALSE, TRUE)) generateHPJ = StringTobool(settingValue); - else if (StringMatch(settingName, "truncateFilenames", FALSE, TRUE)) + else if (StringMatch(settingName, _T("truncateFilenames"), FALSE, TRUE)) truncateFilenames = StringTobool(settingValue); - else if (StringMatch(settingName, "winHelpVersion", FALSE, TRUE)) + else if (StringMatch(settingName, _T("winHelpVersion"), FALSE, TRUE)) StringToInt(settingValue, &winHelpVersion); - else if (StringMatch(settingName, "winHelpContents", FALSE, TRUE)) + else if (StringMatch(settingName, _T("winHelpContents"), FALSE, TRUE)) winHelpContents = StringTobool(settingValue); - else if (StringMatch(settingName, "htmlIndex", FALSE, TRUE)) + else if (StringMatch(settingName, _T("htmlIndex"), FALSE, TRUE)) htmlIndex = StringTobool(settingValue); - else if (StringMatch(settingName, "htmlWorkshopFiles", FALSE, TRUE)) + else if (StringMatch(settingName, _T("htmlWorkshopFiles"), FALSE, TRUE)) htmlWorkshopFiles = StringTobool(settingValue); - else if (StringMatch(settingName, "htmlFrameContents", FALSE, TRUE)) + else if (StringMatch(settingName, _T("htmlFrameContents"), FALSE, TRUE)) htmlFrameContents = StringTobool(settingValue); - else if (StringMatch(settingName, "htmlStylesheet", FALSE, TRUE)) + else if (StringMatch(settingName, _T("htmlStylesheet"), FALSE, TRUE)) { if (htmlStylesheet) delete[] htmlStylesheet; htmlStylesheet = copystring(settingValue); } - else if (StringMatch(settingName, "upperCaseNames", FALSE, TRUE)) + else if (StringMatch(settingName, _T("upperCaseNames"), FALSE, TRUE)) upperCaseNames = StringTobool(settingValue); - else if (StringMatch(settingName, "ignoreBadRefs", FALSE, TRUE)) + else if (StringMatch(settingName, _T("ignoreBadRefs"), FALSE, TRUE)) ignoreBadRefs = StringTobool(settingValue); - else if (StringMatch(settingName, "htmlFaceName", FALSE, TRUE)) + else if (StringMatch(settingName, _T("htmlFaceName"), FALSE, TRUE)) { delete[] htmlFaceName; htmlFaceName = copystring(settingValue); } - else if (StringMatch(settingName, "winHelpTitle", FALSE, TRUE)) + else if (StringMatch(settingName, _T("winHelpTitle"), FALSE, TRUE)) { if (winHelpTitle) delete[] winHelpTitle; winHelpTitle = copystring(settingValue); } - else if (StringMatch(settingName, "indexSubsections", FALSE, TRUE)) + else if (StringMatch(settingName, _T("indexSubsections"), FALSE, TRUE)) indexSubsections = StringTobool(settingValue); - else if (StringMatch(settingName, "compatibility", FALSE, TRUE)) + else if (StringMatch(settingName, _T("compatibility"), FALSE, TRUE)) compatibilityMode = StringTobool(settingValue); - else if (StringMatch(settingName, "defaultColumnWidth", FALSE, TRUE)) + else if (StringMatch(settingName, _T("defaultColumnWidth"), FALSE, TRUE)) { StringToInt(settingValue, &defaultTableColumnWidth); defaultTableColumnWidth = 20*defaultTableColumnWidth; } - else if (StringMatch(settingName, "bitmapMethod", FALSE, TRUE)) + else if (StringMatch(settingName, _T("bitmapMethod"), FALSE, TRUE)) { - if ((strcmp(settingValue, "includepicture") != 0) && (strcmp(settingValue, "hex") != 0) && - (strcmp(settingValue, "import") != 0)) + if ((wxStrcmp(settingValue, _T("includepicture")) != 0) && (wxStrcmp(settingValue, _T("hex")) != 0) && + (wxStrcmp(settingValue, _T("import")) != 0)) { if (interactive) - OnError("Unknown bitmapMethod"); - strcpy(errorCode, "Unknown bitmapMethod"); + OnError(_T("Unknown bitmapMethod")); + wxStrcpy(errorCode, _T("Unknown bitmapMethod")); } else { @@ -1238,69 +1240,69 @@ char *RegisterSetting(char *settingName, char *settingValue, bool interactive) bitmapMethod = copystring(settingValue); } } - else if (StringMatch(settingName, "htmlBrowseButtons", FALSE, TRUE)) + else if (StringMatch(settingName, _T("htmlBrowseButtons"), FALSE, TRUE)) { - if (strcmp(settingValue, "none") == 0) + if (wxStrcmp(settingValue, _T("none")) == 0) htmlBrowseButtons = HTML_BUTTONS_NONE; - else if (strcmp(settingValue, "bitmap") == 0) + else if (wxStrcmp(settingValue, _T("bitmap")) == 0) htmlBrowseButtons = HTML_BUTTONS_BITMAP; - else if (strcmp(settingValue, "text") == 0) + else if (wxStrcmp(settingValue, _T("text")) == 0) htmlBrowseButtons = HTML_BUTTONS_TEXT; else { if (interactive) - OnInform("Initialisation file error: htmlBrowseButtons must be one of none, bitmap, or text."); - strcpy(errorCode, "Initialisation file error: htmlBrowseButtons must be one of none, bitmap, or text."); + OnInform(_T("Initialisation file error: htmlBrowseButtons must be one of none, bitmap, or text.")); + wxStrcpy(errorCode, _T("Initialisation file error: htmlBrowseButtons must be one of none, bitmap, or text.")); } } - else if (StringMatch(settingName, "backgroundImage", FALSE, TRUE)) + else if (StringMatch(settingName, _T("backgroundImage"), FALSE, TRUE)) { backgroundImageString = copystring(settingValue); } - else if (StringMatch(settingName, "backgroundColour", FALSE, TRUE)) + else if (StringMatch(settingName, _T("backgroundColour"), FALSE, TRUE)) { delete[] backgroundColourString; backgroundColourString = copystring(settingValue); } - else if (StringMatch(settingName, "textColour", FALSE, TRUE)) + else if (StringMatch(settingName, _T("textColour"), FALSE, TRUE)) { textColourString = copystring(settingValue); } - else if (StringMatch(settingName, "linkColour", FALSE, TRUE)) + else if (StringMatch(settingName, _T("linkColour"), FALSE, TRUE)) { linkColourString = copystring(settingValue); } - else if (StringMatch(settingName, "followedLinkColour", FALSE, TRUE)) + else if (StringMatch(settingName, _T("followedLinkColour"), FALSE, TRUE)) { followedLinkColourString = copystring(settingValue); } - else if (StringMatch(settingName, "conversionMode", FALSE, TRUE)) + else if (StringMatch(settingName, _T("conversionMode"), FALSE, TRUE)) { - if (StringMatch(settingValue, "RTF", FALSE, TRUE)) + if (StringMatch(settingValue, _T("RTF"), FALSE, TRUE)) { winHelp = FALSE; convertMode = TEX_RTF; } - else if (StringMatch(settingValue, "WinHelp", FALSE, TRUE)) + else if (StringMatch(settingValue, _T("WinHelp"), FALSE, TRUE)) { winHelp = TRUE; convertMode = TEX_RTF; } - else if (StringMatch(settingValue, "XLP", FALSE, TRUE) || - StringMatch(settingValue, "wxHelp", FALSE, TRUE)) + else if (StringMatch(settingValue, _T("XLP"), FALSE, TRUE) || + StringMatch(settingValue, _T("wxHelp"), FALSE, TRUE)) { convertMode = TEX_XLP; } - else if (StringMatch(settingValue, "HTML", FALSE, TRUE)) + else if (StringMatch(settingValue, _T("HTML"), FALSE, TRUE)) { convertMode = TEX_HTML; } else { if (interactive) - OnInform("Initialisation file error: conversionMode must be one of\nRTF, WinHelp, XLP (or wxHelp), HTML."); - strcpy(errorCode, "Initialisation file error: conversionMode must be one of\nRTF, WinHelp, XLP (or wxHelp), HTML."); + OnInform(_T("Initialisation file error: conversionMode must be one of\nRTF, WinHelp, XLP (or wxHelp), HTML.")); + wxStrcpy(errorCode, _T("Initialisation file error: conversionMode must be one of\nRTF, WinHelp, XLP (or wxHelp), HTML.")); } } - else if (StringMatch(settingName, "documentFontSize", FALSE, TRUE)) + else if (StringMatch(settingName, _T("documentFontSize"), FALSE, TRUE)) { int n; StringToInt(settingValue, &n); @@ -1308,25 +1310,25 @@ char *RegisterSetting(char *settingName, char *settingValue, bool interactive) SetFontSizes(n); else { - char buf[200]; - sprintf(buf, "Initialisation file error: nonstandard document font size %d.", n); + wxChar buf[200]; + wxSprintf(buf, _T("Initialisation file error: nonstandard document font size %d."), n); if (interactive) OnInform(buf); - strcpy(errorCode, buf); + wxStrcpy(errorCode, buf); } } else { - char buf[200]; - sprintf(buf, "Initialisation file error: unrecognised setting %s.", settingName); + wxChar buf[200]; + wxSprintf(buf, _T("Initialisation file error: unrecognised setting %s."), settingName); if (interactive) OnInform(buf); - strcpy(errorCode, buf); + wxStrcpy(errorCode, buf); } return errorCode; } -bool ReadCustomMacros(char *filename) +bool ReadCustomMacros(wxChar *filename) { if (!wxFileExists(filename)) return FALSE; @@ -1337,8 +1339,8 @@ bool ReadCustomMacros(char *filename) CustomMacroList.Clear(); char ch; - char macroName[100]; - char macroBody[1000]; + wxChar macroName[100]; + wxChar macroBody[1000]; int noArgs; while (!istr.eof()) @@ -1350,19 +1352,19 @@ bool ReadCustomMacros(char *filename) if (ch != '\\') // Not a macro definition, so must be NAME=VALUE { - char settingName[100]; + wxChar settingName[100]; settingName[0] = ch; BibReadWord(istr, (settingName+1)); BibEatWhiteSpace(istr); istr.get(ch); if (ch != '=') { - OnError("Expected = following name: malformed tex2rtf.ini file."); + OnError(_T("Expected = following name: malformed tex2rtf.ini file.")); return FALSE; } else { - char settingValue[200]; + wxChar settingValue[200]; BibEatWhiteSpace(istr); BibReadToEOL(istr, settingValue); RegisterSetting(settingName, settingValue); @@ -1375,26 +1377,26 @@ bool ReadCustomMacros(char *filename) istr.get(ch); if (ch != '[') { - OnError("Expected [ followed by number of arguments: malformed tex2rtf.ini file."); + OnError(_T("Expected [ followed by number of arguments: malformed tex2rtf.ini file.")); return FALSE; } istr >> noArgs; istr.get(ch); if (ch != ']') { - OnError("Expected ] following number of arguments: malformed tex2rtf.ini file."); + OnError(_T("Expected ] following number of arguments: malformed tex2rtf.ini file.")); return FALSE; } BibEatWhiteSpace(istr); istr.get(ch); if (ch != '{') { - OnError("Expected { followed by macro body: malformed tex2rtf.ini file."); + OnError(_T("Expected { followed by macro body: malformed tex2rtf.ini file.")); return FALSE; } CustomMacro *macro = new CustomMacro(macroName, noArgs, NULL); BibReadValue(istr, macroBody, FALSE, FALSE); // Don't ignore extra braces - if (strlen(macroBody) > 0) + if (wxStrlen(macroBody) > 0) macro->macroBody = copystring(macroBody); BibEatWhiteSpace(istr); @@ -1402,13 +1404,13 @@ bool ReadCustomMacros(char *filename) AddMacroDef(ltCUSTOM_MACRO, macroName, noArgs); } } - char mbuf[200]; - sprintf(mbuf, "Read initialization file %s.", filename); + wxChar mbuf[200]; + wxSprintf(mbuf, _T("Read initialization file %s."), filename); OnInform(mbuf); return TRUE; } -CustomMacro *FindCustomMacro(char *name) +CustomMacro *FindCustomMacro(wxChar *name) { wxNode *node = CustomMacroList.Find(name); if (node) @@ -1425,38 +1427,38 @@ void ShowCustomMacros(void) wxNode *node = CustomMacroList.GetFirst(); if (!node) { - OnInform("No custom macros loaded.\n"); + OnInform(_T("No custom macros loaded.\n")); return; } - char buf[400]; + wxChar buf[400]; while (node) { CustomMacro *macro = (CustomMacro *)node->GetData(); - sprintf(buf, "\\%s[%d]\n {%s}", macro->macroName, macro->noArgs, - macro->macroBody ? macro->macroBody : ""); + wxSprintf(buf, _T("\\%s[%d]\n {%s}"), macro->macroName, macro->noArgs, + macro->macroBody ? macro->macroBody : _T("")); OnInform(buf); node = node->GetNext(); } } // Parse a string into several comma-separated fields -char *ParseMultifieldString(char *allFields, int *pos) +wxChar *ParseMultifieldString(wxChar *allFields, int *pos) { - static char buffer[300]; + static wxChar buffer[300]; int i = 0; int fieldIndex = *pos; - int len = strlen(allFields); + int len = wxStrlen(allFields); int oldPos = *pos; bool keepGoing = TRUE; while ((fieldIndex <= len) && keepGoing) { - if (allFields[fieldIndex] == ' ') + if (allFields[fieldIndex] == _T(' ')) { // Skip fieldIndex ++; } - else if (allFields[fieldIndex] == ',') + else if (allFields[fieldIndex] == _T(',')) { *pos = fieldIndex + 1; keepGoing = FALSE; @@ -1488,7 +1490,7 @@ char *ParseMultifieldString(char *allFields, int *pos) * */ -ColourTableEntry::ColourTableEntry(const char *theName, unsigned int r, unsigned int g, unsigned int b) +ColourTableEntry::ColourTableEntry(const wxChar *theName, unsigned int r, unsigned int g, unsigned int b) { name = copystring(theName); red = r; @@ -1501,7 +1503,7 @@ ColourTableEntry::~ColourTableEntry(void) delete[] name; } -void AddColour(const char *theName, unsigned int r, unsigned int g, unsigned int b) +void AddColour(const wxChar *theName, unsigned int r, unsigned int g, unsigned int b) { wxNode *node = ColourTable.Find(theName); if (node) @@ -1519,14 +1521,14 @@ void AddColour(const char *theName, unsigned int r, unsigned int g, unsigned i ColourTable.Append(theName, entry); } -int FindColourPosition(char *theName) +int FindColourPosition(wxChar *theName) { int i = 0; wxNode *node = ColourTable.GetFirst(); while (node) { ColourTableEntry *entry = (ColourTableEntry *)node->GetData(); - if (strcmp(theName, entry->name) == 0) + if (wxStrcmp(theName, entry->name) == 0) return i; i ++; node = node->GetNext(); @@ -1535,29 +1537,27 @@ int FindColourPosition(char *theName) } // Converts e.g. "red" -> "#FF0000" -extern void DecToHex(int, char *); -bool FindColourHTMLString(char *theName, char *buf) +extern void DecToHex(int, wxChar *); +bool FindColourHTMLString(wxChar *theName, wxChar *buf) { - int i = 0; wxNode *node = ColourTable.GetFirst(); while (node) { ColourTableEntry *entry = (ColourTableEntry *)node->GetData(); - if (strcmp(theName, entry->name) == 0) + if (wxStrcmp(theName, entry->name) == 0) { - strcpy(buf, "#"); + wxStrcpy(buf, _T("#")); - char buf2[3]; + wxChar buf2[3]; DecToHex(entry->red, buf2); - strcat(buf, buf2); + wxStrcat(buf, buf2); DecToHex(entry->green, buf2); - strcat(buf, buf2); + wxStrcat(buf, buf2); DecToHex(entry->blue, buf2); - strcat(buf, buf2); + wxStrcat(buf, buf2); return TRUE; } - i ++; node = node->GetNext(); } return FALSE; @@ -1567,25 +1567,25 @@ bool FindColourHTMLString(char *theName, char *buf) void InitialiseColourTable(void) { // \\red0\\green0\\blue0; - AddColour("black", 0,0,0); + AddColour(_T("black"), 0,0,0); // \\red0\\green0\\blue255;\\red0\\green255\\blue255;\n"); - AddColour("cyan", 0,255,255); + AddColour(_T("cyan"), 0,255,255); // \\red0\\green255\\blue0; - AddColour("green", 0,255,0); + AddColour(_T("green"), 0,255,0); // \\red255\\green0\\blue255; - AddColour("magenta", 255,0,255); + AddColour(_T("magenta"), 255,0,255); // \\red255\\green0\\blue0; - AddColour("red", 255,0,0); + AddColour(_T("red"), 255,0,0); // \\red255\\green255\\blue0; - AddColour("yellow", 255,255,0); + AddColour(_T("yellow"), 255,255,0); // \\red255\\green255\\blue255;}"); - AddColour("white", 255,255,255); + AddColour(_T("white"), 255,255,255); } /* @@ -1618,7 +1618,7 @@ void Tex2RTFYield(bool force) // Hash table for lists of keywords for topics (WinHelp). wxHashTable TopicTable(wxKEY_STRING); -void AddKeyWordForTopic(char *topic, char *entry, char *filename) +void AddKeyWordForTopic(wxChar *topic, wxChar *entry, wxChar *filename) { TexTopic *texTopic = (TexTopic *)TopicTable.Get(topic); if (!texTopic) @@ -1650,7 +1650,7 @@ void ClearKeyWordTable(void) * TexTopic structure */ -TexTopic::TexTopic(char *f) +TexTopic::TexTopic(wxChar *f) { if (f) filename = copystring(f); @@ -1669,17 +1669,17 @@ TexTopic::~TexTopic(void) } // Convert case, according to upperCaseNames setting. -char *ConvertCase(char *s) +wxChar *ConvertCase(wxChar *s) { - static char buf[256]; - int len = strlen(s); + static wxChar buf[256]; + int len = wxStrlen(s); int i; if (upperCaseNames) for (i = 0; i < len; i ++) - buf[i] = toupper(s[i]); + buf[i] = wxToupper(s[i]); else for (i = 0; i < len; i ++) - buf[i] = tolower(s[i]); + buf[i] = wxTolower(s[i]); buf[i] = 0; return buf; } diff --git a/utils/tex2rtf/src/xlputils.cpp b/utils/tex2rtf/src/xlputils.cpp index 148f877dd9..527bac8b5e 100644 --- a/utils/tex2rtf/src/xlputils.cpp +++ b/utils/tex2rtf/src/xlputils.cpp @@ -53,7 +53,7 @@ void PadToTab(int tabPos) { int currentCol = GetCurrentColumn(); for (int i = currentCol; i < tabPos; i++) - TexOutput(" ", TRUE); + TexOutput(_T(" "), TRUE); } static long xlpBlockId = 0; @@ -65,7 +65,7 @@ long NewBlockId(void) // Called on start/end of macro examination void XLPOnMacro(int macroId, int no_args, bool start) { - char buf[100]; + wxChar buf[100]; switch (macroId) { case ltCHAPTER: @@ -86,16 +86,16 @@ void XLPOnMacro(int macroId, int no_args, bool start) currentBlockId = NewBlockId(); startedSections = TRUE; - fprintf(Contents, "\\hy-%d{%ld}{", hyBLOCK_SMALL_HEADING, id1); - fprintf(Chapters, "\n\\hy-%d{%ld}{", hyBLOCK_LARGE_VISIBLE_SECTION, currentBlockId); - fprintf(Index, "%ld %ld\n", id1, currentBlockId); + wxFprintf(Contents, _T("\\hy-%d{%ld}{"), hyBLOCK_SMALL_HEADING, id1); + wxFprintf(Chapters, _T("\n\\hy-%d{%ld}{"), hyBLOCK_LARGE_VISIBLE_SECTION, currentBlockId); + wxFprintf(Index, _T("%ld %ld\n"), id1, currentBlockId); OutputCurrentSection(); // Repeat section header - fprintf(Contents, "}\n\n"); - fprintf(Chapters, "}\n\n"); + wxFprintf(Contents, _T("}\n\n")); + wxFprintf(Chapters, _T("}\n\n")); SetCurrentOutput(Chapters); - char *topicName = FindTopicName(GetNextChunk()); + wxChar *topicName = FindTopicName(GetNextChunk()); hyperLabels.Append(topicName, (wxObject *)currentBlockId); } break; @@ -120,21 +120,21 @@ void XLPOnMacro(int macroId, int no_args, bool start) startedSections = TRUE; if (DocumentStyle == LATEX_ARTICLE) - fprintf(Contents, "\\hy-%d{%ld}{", hyBLOCK_LARGE_HEADING, id1); + wxFprintf(Contents, _T("\\hy-%d{%ld}{"), hyBLOCK_LARGE_HEADING, id1); else - fprintf(Chapters, "\\hy-%d{%ld}{", hyBLOCK_BOLD, id1); - fprintf(Sections, "\n\\hy-%d{%ld}{", hyBLOCK_LARGE_VISIBLE_SECTION, currentBlockId); - fprintf(Index, "%ld %ld\n", id1, currentBlockId); + wxFprintf(Chapters, _T("\\hy-%d{%ld}{"), hyBLOCK_BOLD, id1); + wxFprintf(Sections, _T("\n\\hy-%d{%ld}{"), hyBLOCK_LARGE_VISIBLE_SECTION, currentBlockId); + wxFprintf(Index, _T("%ld %ld\n"), id1, currentBlockId); OutputCurrentSection(); // Repeat section header if (DocumentStyle == LATEX_ARTICLE) - fprintf(Contents, "}\n\n"); + wxFprintf(Contents, _T("}\n\n")); else - fprintf(Chapters, "}\n\n"); - fprintf(Sections, "}\n\n"); + wxFprintf(Chapters, _T("}\n\n")); + wxFprintf(Sections, _T("}\n\n")); SetCurrentOutput(Sections); - char *topicName = FindTopicName(GetNextChunk()); + wxChar *topicName = FindTopicName(GetNextChunk()); hyperLabels.Append(topicName, (wxObject *)currentBlockId); } break; @@ -154,16 +154,16 @@ void XLPOnMacro(int macroId, int no_args, bool start) SetCurrentOutputs(Sections, Subsections); long id1 = NewBlockId(); currentBlockId = NewBlockId(); - fprintf(Sections, "\\hy-%d{%ld}{", hyBLOCK_BOLD, id1); - fprintf(Subsections, "\n\\hy-%d{%ld}{", hyBLOCK_LARGE_VISIBLE_SECTION, currentBlockId); - fprintf(Index, "%ld %ld\n", id1, currentBlockId); + wxFprintf(Sections, _T("\\hy-%d{%ld}{"), hyBLOCK_BOLD, id1); + wxFprintf(Subsections, _T("\n\\hy-%d{%ld}{"), hyBLOCK_LARGE_VISIBLE_SECTION, currentBlockId); + wxFprintf(Index, _T("%ld %ld\n"), id1, currentBlockId); OutputCurrentSection(); // Repeat section header - fprintf(Sections, "}\n\n"); - fprintf(Subsections, "}\n\n"); + wxFprintf(Sections, _T("}\n\n")); + wxFprintf(Subsections, _T("}\n\n")); SetCurrentOutput(Subsections); - char *topicName = FindTopicName(GetNextChunk()); + wxChar *topicName = FindTopicName(GetNextChunk()); hyperLabels.Append(topicName, (wxObject *)currentBlockId); } break; @@ -179,16 +179,16 @@ void XLPOnMacro(int macroId, int no_args, bool start) SetCurrentOutputs(Subsections, Subsubsections); long id1 = NewBlockId(); currentBlockId = NewBlockId(); - fprintf(Subsections, "\\hy-%d{%ld}{", hyBLOCK_BOLD, id1); - fprintf(Subsubsections, "\n\\hy-%d{%ld}{", hyBLOCK_LARGE_VISIBLE_SECTION, currentBlockId); - fprintf(Index, "%ld %ld\n", id1, currentBlockId); + wxFprintf(Subsections, _T("\\hy-%d{%ld}{"), hyBLOCK_BOLD, id1); + wxFprintf(Subsubsections, _T("\n\\hy-%d{%ld}{"), hyBLOCK_LARGE_VISIBLE_SECTION, currentBlockId); + wxFprintf(Index, _T("%ld %ld\n"), id1, currentBlockId); OutputCurrentSection(); // Repeat section header - fprintf(Subsections, "}\n\n"); - fprintf(Subsubsections, "}\n\n"); + wxFprintf(Subsections, _T("}\n\n")); + wxFprintf(Subsubsections, _T("}\n\n")); SetCurrentOutput(Subsubsections); - char *topicName = FindTopicName(GetNextChunk()); + wxChar *topicName = FindTopicName(GetNextChunk()); hyperLabels.Append(topicName, (wxObject *)currentBlockId); } break; @@ -201,27 +201,27 @@ void XLPOnMacro(int macroId, int no_args, bool start) if (start) { long id = NewBlockId(); - fprintf(Subsections, "\\hy-%d{%ld}{", hyBLOCK_BOLD, id); + wxFprintf(Subsections, _T("\\hy-%d{%ld}{"), hyBLOCK_BOLD, id); } else - fprintf(Subsections, "}"); + wxFprintf(Subsections, _T("}")); break; } case ltVOID: // if (start) -// TexOutput("void", TRUE); +// TexOutput(_T("void"), TRUE); break; case ltBACKSLASHCHAR: if (start) - TexOutput("\n", TRUE); + TexOutput(_T("\n"), TRUE); break; case ltPAR: { if (start) { if (ParSkip > 0) - TexOutput("\n", TRUE); - TexOutput("\n", TRUE); + TexOutput(_T("\n"), TRUE); + TexOutput(_T("\n"), TRUE); } break; } @@ -237,12 +237,12 @@ void XLPOnMacro(int macroId, int no_args, bool start) { if (start) { - char buf[100]; + wxChar buf[100]; long id = NewBlockId(); - sprintf(buf, "\\hy-%d{%ld}{", hyBLOCK_BOLD, id); + wxSprintf(buf, _T("\\hy-%d{%ld}{"), hyBLOCK_BOLD, id); TexOutput(buf); } - else TexOutput("}"); + else TexOutput(_T("}")); break; } case ltTEXTIT: @@ -251,12 +251,12 @@ void XLPOnMacro(int macroId, int no_args, bool start) { if (start) { - char buf[100]; + wxChar buf[100]; long id = NewBlockId(); - sprintf(buf, "\\hy-%d{%ld}{", hyBLOCK_ITALIC, id); + wxSprintf(buf, _T("\\hy-%d{%ld}{"), hyBLOCK_ITALIC, id); TexOutput(buf); } - else TexOutput("}"); + else TexOutput(_T("}")); break; } case ltTTFAMILY: @@ -266,60 +266,60 @@ void XLPOnMacro(int macroId, int no_args, bool start) if (start) { long id = NewBlockId(); - sprintf(buf, "\\hy-%d{%ld}{", hyBLOCK_TELETYPE, id); + wxSprintf(buf, _T("\\hy-%d{%ld}{"), hyBLOCK_TELETYPE, id); TexOutput(buf); } - else TexOutput("}"); + else TexOutput(_T("}")); break; } case ltSMALL: { if (start) { - sprintf(buf, "\\hy-%d{%ld}{", hyBLOCK_SMALL_TEXT, NewBlockId()); + wxSprintf(buf, _T("\\hy-%d{%ld}{"), hyBLOCK_SMALL_TEXT, NewBlockId()); TexOutput(buf); } - else TexOutput("}"); + else TexOutput(_T("}")); break; } case ltTINY: { if (start) { - sprintf(buf, "\\hy-%d{%ld}{", hyBLOCK_SMALL_TEXT, NewBlockId()); + wxSprintf(buf, _T("\\hy-%d{%ld}{"), hyBLOCK_SMALL_TEXT, NewBlockId()); TexOutput(buf); } - else TexOutput("}"); + else TexOutput(_T("}")); break; } case ltNORMALSIZE: { if (start) { - sprintf(buf, "\\hy-%d{%ld}{", hyBLOCK_NORMAL, NewBlockId()); + wxSprintf(buf, _T("\\hy-%d{%ld}{"), hyBLOCK_NORMAL, NewBlockId()); TexOutput(buf); } - else TexOutput("}"); + else TexOutput(_T("}")); break; } case ltlarge: { if (start) { - sprintf(buf, "\\hy-%d{%ld}{", hyBLOCK_SMALL_HEADING, NewBlockId()); + wxSprintf(buf, _T("\\hy-%d{%ld}{"), hyBLOCK_SMALL_HEADING, NewBlockId()); TexOutput(buf); } - else TexOutput("}\n"); + else TexOutput(_T("}\n")); break; } case ltLARGE: { if (start) { - sprintf(buf, "\\hy-%d{%ld}{", hyBLOCK_LARGE_HEADING, NewBlockId()); + wxSprintf(buf, _T("\\hy-%d{%ld}{"), hyBLOCK_LARGE_HEADING, NewBlockId()); TexOutput(buf); } - else TexOutput("}\n"); + else TexOutput(_T("}\n")); break; } case ltITEMIZE: @@ -332,7 +332,7 @@ void XLPOnMacro(int macroId, int no_args, bool start) // tabCount ++; // if (indentLevel > 0) -// TexOutput("\\par\\par\n"); +// TexOutput(_T("\\par\\par\n")); indentLevel ++; int listType; if (macroId == ltENUMERATE) @@ -366,20 +366,20 @@ void XLPOnMacro(int macroId, int no_args, bool start) if (!start) { struc->currentItem += 1; - char indentBuf[30]; + wxChar indentBuf[30]; switch (struc->listType) { case LATEX_ENUMERATE: { - sprintf(indentBuf, "\\hy-%d{%ld}{%d.} ", + wxSprintf(indentBuf, _T("\\hy-%d{%ld}{%d.} "), hyBLOCK_BOLD, NewBlockId(), struc->currentItem); TexOutput(indentBuf); break; } case LATEX_ITEMIZE: { - sprintf(indentBuf, "\\hy-%d{%ld}{o} ", + wxSprintf(indentBuf, _T("\\hy-%d{%ld}{o} "), hyBLOCK_BOLD, NewBlockId()); TexOutput(indentBuf); break; @@ -389,11 +389,11 @@ void XLPOnMacro(int macroId, int no_args, bool start) { if (descriptionItemArg) { - sprintf(indentBuf, "\\hy-%d{%ld}{", + wxSprintf(indentBuf, _T("\\hy-%d{%ld}{"), hyBLOCK_BOLD, NewBlockId()); TexOutput(indentBuf); TraverseChildrenFromChunk(descriptionItemArg); - TexOutput("} "); + TexOutput(_T("} ")); descriptionItemArg = NULL; } break; @@ -407,18 +407,18 @@ void XLPOnMacro(int macroId, int no_args, bool start) { if (start && DocumentTitle && DocumentAuthor) { - sprintf(buf, "\\hy-%d{%ld}{", hyBLOCK_LARGE_HEADING, NewBlockId()); + wxSprintf(buf, _T("\\hy-%d{%ld}{"), hyBLOCK_LARGE_HEADING, NewBlockId()); TexOutput(buf); TraverseChildrenFromChunk(DocumentTitle); - TexOutput("}\n\n"); - sprintf(buf, "\\hy-%d{%ld}{", hyBLOCK_SMALL_HEADING, NewBlockId()); + TexOutput(_T("}\n\n")); + wxSprintf(buf, _T("\\hy-%d{%ld}{"), hyBLOCK_SMALL_HEADING, NewBlockId()); TexOutput(buf); TraverseChildrenFromChunk(DocumentAuthor); - TexOutput("}\n\n"); + TexOutput(_T("}\n\n")); if (DocumentDate) { TraverseChildrenFromChunk(DocumentDate); - TexOutput("\n"); + TexOutput(_T("\n")); } } break; @@ -427,7 +427,7 @@ void XLPOnMacro(int macroId, int no_args, bool start) { if (start) { - FILE *fd = fopen(ContentsName, "r"); + FILE *fd = wxFopen(ContentsName, _T("r")); if (fd) { int ch = getc(fd); @@ -440,8 +440,8 @@ void XLPOnMacro(int macroId, int no_args, bool start) } else { - TexOutput("RUN TEX2RTF AGAIN FOR CONTENTS PAGE\n"); - OnInform("Run Tex2RTF again to include contents page."); + TexOutput(_T("RUN TEX2RTF AGAIN FOR CONTENTS PAGE\n")); + OnInform(_T("Run Tex2RTF again to include contents page.")); } } break; @@ -449,32 +449,32 @@ void XLPOnMacro(int macroId, int no_args, bool start) case ltHARDY: { if (start) - TexOutput("HARDY", TRUE); + TexOutput(_T("HARDY"), TRUE); break; } case ltWXCLIPS: { if (start) - TexOutput("wxCLIPS", TRUE); + TexOutput(_T("wxCLIPS"), TRUE); break; } case ltVERBATIM: { if (start) { - char buf[100]; + wxChar buf[100]; long id = NewBlockId(); - sprintf(buf, "\\hy-%d{%ld}{", hyBLOCK_TELETYPE, id); + wxSprintf(buf, _T("\\hy-%d{%ld}{"), hyBLOCK_TELETYPE, id); TexOutput(buf); } - else TexOutput("}"); + else TexOutput(_T("}")); break; } case ltHRULE: { if (start) { - TexOutput("\n------------------------------------------------------------------", TRUE); + TexOutput(_T("\n------------------------------------------------------------------"), TRUE); } break; } @@ -482,7 +482,7 @@ void XLPOnMacro(int macroId, int no_args, bool start) { if (start) { - TexOutput("--------------------------------------------------------------------------------", TRUE); + TexOutput(_T("--------------------------------------------------------------------------------"), TRUE); } break; } @@ -501,17 +501,17 @@ void XLPOnMacro(int macroId, int no_args, bool start) { if (start) { - sprintf(buf, "\\hy-%d{%ld}{", hyBLOCK_TELETYPE, NewBlockId()); + wxSprintf(buf, _T("\\hy-%d{%ld}{"), hyBLOCK_TELETYPE, NewBlockId()); TexOutput(buf); } else - TexOutput("}"); + TexOutput(_T("}")); break; } case ltNUMBEREDBIBITEM: { if (!start) - TexOutput("\n\n", TRUE); + TexOutput(_T("\n\n"), TRUE); break; } case ltCAPTION: @@ -521,17 +521,17 @@ void XLPOnMacro(int macroId, int no_args, bool start) { figureNo ++; - char figBuf[40]; + wxChar figBuf[40]; if (DocumentStyle != LATEX_ARTICLE) - sprintf(figBuf, "Figure %d.%d: ", chapterNo, figureNo); + wxSprintf(figBuf, _T("Figure %d.%d: "), chapterNo, figureNo); else - sprintf(figBuf, "Figure %d: ", figureNo); + wxSprintf(figBuf, _T("Figure %d: "), figureNo); TexOutput(figBuf); } else { - char *topicName = FindTopicName(GetNextChunk()); + wxChar *topicName = FindTopicName(GetNextChunk()); AddTexRef(topicName, NULL, NULL, ((DocumentStyle != LATEX_ARTICLE) ? chapterNo : figureNo), @@ -549,7 +549,7 @@ void XLPOnMacro(int macroId, int no_args, bool start) bool XLPOnArgument(int macroId, int arg_no, bool start) { - char buf[300]; + wxChar buf[300]; switch (macroId) { case ltCHAPTER: @@ -569,51 +569,50 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) if (!start && (arg_no == 1)) currentSection = GetArgChunk(); return FALSE; - break; } case ltFUNC: { if (!start && (arg_no == 1)) - TexOutput(" ", TRUE); + TexOutput(_T(" "), TRUE); if (start && (arg_no == 3)) - TexOutput("(", TRUE); + TexOutput(_T("("), TRUE); if (!start && (arg_no == 3)) - TexOutput(")", TRUE); + TexOutput(_T(")"), TRUE); break; } case ltPFUNC: { if (!start && (arg_no == 1)) - TexOutput(" ", TRUE); + TexOutput(_T(" "), TRUE); if (start && (arg_no == 2)) - TexOutput("(*", TRUE); + TexOutput(_T("(*"), TRUE); if (!start && (arg_no == 2)) - TexOutput(")", TRUE); + TexOutput(_T(")"), TRUE); if (start && (arg_no == 3)) - TexOutput("(", TRUE); + TexOutput(_T("("), TRUE); if (!start && (arg_no == 3)) - TexOutput(")", TRUE); + TexOutput(_T(")"), TRUE); break; } case ltCLIPSFUNC: { if (!start && (arg_no == 1)) - TexOutput(" ", TRUE); + TexOutput(_T(" "), TRUE); if (start && (arg_no == 2)) { - TexOutput("(", TRUE); + TexOutput(_T("("), TRUE); long id = NewBlockId(); - sprintf(buf, "\\hy-%d{%ld}{", hyBLOCK_BOLD, id); + wxSprintf(buf, _T("\\hy-%d{%ld}{"), hyBLOCK_BOLD, id); TexOutput(buf); } if (!start && (arg_no == 2)) { - TexOutput("}"); + TexOutput(_T("}")); } if (!start && (arg_no == 3)) - TexOutput(")", TRUE); + TexOutput(_T(")"), TRUE); break; } case ltPARAM: @@ -621,12 +620,12 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) if (start && (arg_no == 2)) { long id = NewBlockId(); - sprintf(buf, " \\hy-%d{%ld}{", hyBLOCK_BOLD, id); + wxSprintf(buf, _T(" \\hy-%d{%ld}{"), hyBLOCK_BOLD, id); TexOutput(buf); } if (!start && (arg_no == 2)) { - TexOutput("}"); + TexOutput(_T("}")); } break; } @@ -635,33 +634,32 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) if (start && (arg_no == 2)) { long id = NewBlockId(); - sprintf(buf, " \\hy-%d{%ld}{", hyBLOCK_BOLD, id); + wxSprintf(buf, _T(" \\hy-%d{%ld}{"), hyBLOCK_BOLD, id); TexOutput(buf); } if (!start && (arg_no == 2)) { - TexOutput("}"); + TexOutput(_T("}")); } break; } case ltMEMBER: { if (!start && (arg_no == 1)) - TexOutput(" ", TRUE); + TexOutput(_T(" "), TRUE); break; } case ltLABEL: { return FALSE; - break; } case ltREF: { if (start) { - char *sec = NULL; + wxChar *sec = NULL; - char *refName = GetArgData(); + wxChar *refName = GetArgData(); if (refName) { TexRef *texRef = FindReference(refName); @@ -687,16 +685,16 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) if (start) { currentBlockId = NewBlockId(); - sprintf(buf, "\\hy-%d{%ld}{", hyBLOCK_RED_ITALIC, currentBlockId); + wxSprintf(buf, _T("\\hy-%d{%ld}{"), hyBLOCK_RED_ITALIC, currentBlockId); TexOutput(buf); } - else TexOutput("}"); + else TexOutput(_T("}")); } if (arg_no == 2) { if (start) { - char *label = GetArgData(); + wxChar *label = GetArgData(); hyperLinks.Append(currentBlockId, (wxObject *)copystring(label)); } @@ -713,9 +711,9 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) else if (arg_no == 2) { if (start) - TexOutput(" ("); + TexOutput(_T(" (")); else - TexOutput(")"); + TexOutput(_T(")")); return TRUE; } break; @@ -740,11 +738,11 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) tableVerticalLineLeft = FALSE; tableVerticalLineRight = FALSE; - char *alignString = copystring(GetArgData()); + wxChar *alignString = copystring(GetArgData()); // Count the number of columns noColumns = 0; - int len = strlen(alignString); + int len = wxStrlen(alignString); if (len > 0) { if (alignString[0] == '|') @@ -759,11 +757,11 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) /* // Experimental - TexOutput("\\brdrt\\brdrs"); + TexOutput(_T("\\brdrt\\brdrs")); if (tableVerticalLineLeft) - TexOutput("\\brdrl\\brdrs"); + TexOutput(_T("\\brdrl\\brdrs")); if (tableVerticalLineRight) - TexOutput("\\brdrr\\brdrs"); + TexOutput(_T("\\brdrr\\brdrs")); */ // Calculate a rough size for each column @@ -789,34 +787,33 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) { if (start) { - TexOutput("----------------------------------------------------------------------\n", TRUE); + TexOutput(_T("----------------------------------------------------------------------\n"), TRUE); return TRUE; } else - TexOutput("\n----------------------------------------------------------------------\n", TRUE); + TexOutput(_T("\n----------------------------------------------------------------------\n"), TRUE); break; } case ltBIBITEM: { - char buf[100]; + wxChar buf[100]; if (arg_no == 1 && start) { - char *citeKey = GetArgData(); + wxChar *citeKey = GetArgData(); TexRef *ref = (TexRef *)TexReferences.Get(citeKey); if (ref) { if (ref->sectionNumber) delete[] ref->sectionNumber; - sprintf(buf, "[%d]", citeCount); + wxSprintf(buf, _T("[%d]"), citeCount); ref->sectionNumber = copystring(buf); } - sprintf(buf, "\\hy-%d{%ld}{[%d]} ", hyBLOCK_BOLD, NewBlockId(), citeCount); + wxSprintf(buf, _T("\\hy-%d{%ld}{[%d]} "), hyBLOCK_BOLD, NewBlockId(), citeCount); TexOutput(buf); citeCount ++; return FALSE; } return TRUE; - break; } case ltTHEBIBLIOGRAPHY: { @@ -829,9 +826,9 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) SetCurrentOutputs(Contents, Chapters); long id1 = NewBlockId(); long id2 = NewBlockId(); - fprintf(Contents, "\\hy-%d{%ld}{%s}\n", hyBLOCK_SMALL_HEADING, id1, ReferencesNameString); - fprintf(Chapters, "\\hy-%d{%ld}{%s}\n\n\n", hyBLOCK_LARGE_VISIBLE_SECTION, id2, ReferencesNameString); - fprintf(Index, "%ld %ld\n", id1, id2); + wxFprintf(Contents, _T("\\hy-%d{%ld}{%s}\n"), hyBLOCK_SMALL_HEADING, id1, ReferencesNameString); + wxFprintf(Chapters, _T("\\hy-%d{%ld}{%s}\n\n\n"), hyBLOCK_LARGE_VISIBLE_SECTION, id2, ReferencesNameString); + wxFprintf(Index, _T("%ld %ld\n"), id1, id2); SetCurrentOutput(Chapters); return FALSE; @@ -840,16 +837,15 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) { } return TRUE; - break; } case ltTWOCOLITEM: case ltTWOCOLITEMRULED: { if (start && (arg_no == 2)) - TexOutput("\n "); + TexOutput(_T("\n ")); if (!start && (arg_no == 2)) - TexOutput("\n"); + TexOutput(_T("\n")); return TRUE; } /* @@ -860,40 +856,40 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { - case 'a': - TexOutput("a"); + case _T('a'): + TexOutput(_T("a")); break; - case 'e': - TexOutput("e"); + case _T('e'): + TexOutput(_T("e")); break; - case 'i': - TexOutput("i"); + case _T('i'): + TexOutput(_T("i")); break; - case 'o': - TexOutput("o"); + case _T('o'): + TexOutput(_T("o")); break; - case 'u': - TexOutput("u"); + case _T('u'): + TexOutput(_T("u")); break; - case 'A': - TexOutput("a"); + case _T('A'): + TexOutput(_T("a")); break; - case 'E': - TexOutput("E"); + case _T('E'): + TexOutput(_T("E")); break; - case 'I': - TexOutput("I"); + case _T('I'): + TexOutput(_T("I")); break; - case 'O': - TexOutput("O"); + case _T('O'): + TexOutput(_T("O")); break; - case 'U': - TexOutput("U"); + case _T('U'): + TexOutput(_T("U")); break; default: break; @@ -901,52 +897,51 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_ACUTE: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { - case 'a': - TexOutput("a"); + case _T('a'): + TexOutput(_T("a")); break; - case 'e': - TexOutput("e"); + case _T('e'): + TexOutput(_T("e")); break; - case 'i': - TexOutput("i"); + case _T('i'): + TexOutput(_T("i")); break; - case 'o': - TexOutput("o"); + case _T('o'): + TexOutput(_T("o")); break; - case 'u': - TexOutput("u"); + case _T('u'): + TexOutput(_T("u")); break; - case 'y': - TexOutput("y"); + case _T('y'): + TexOutput(_T("y")); break; - case 'A': - TexOutput("A"); + case _T('A'): + TexOutput(_T("A")); break; - case 'E': - TexOutput("E"); + case _T('E'): + TexOutput(_T("E")); break; - case 'I': - TexOutput("I"); + case _T('I'): + TexOutput(_T("I")); break; - case 'O': - TexOutput("O"); + case _T('O'): + TexOutput(_T("O")); break; - case 'U': - TexOutput("U"); + case _T('U'): + TexOutput(_T("U")); break; - case 'Y': - TexOutput("Y"); + case _T('Y'): + TexOutput(_T("Y")); break; default: break; @@ -954,46 +949,45 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_CARET: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { - case 'a': - TexOutput("a"); + case _T('a'): + TexOutput(_T("a")); break; - case 'e': - TexOutput("e"); + case _T('e'): + TexOutput(_T("e")); break; - case 'i': - TexOutput("i"); + case _T('i'): + TexOutput(_T("i")); break; - case 'o': - TexOutput("o"); + case _T('o'): + TexOutput(_T("o")); break; - case 'u': - TexOutput("u"); + case _T('u'): + TexOutput(_T("u")); break; - case 'A': - TexOutput("A"); + case _T('A'): + TexOutput(_T("A")); break; - case 'E': - TexOutput("E"); + case _T('E'): + TexOutput(_T("E")); break; - case 'I': - TexOutput("I"); + case _T('I'): + TexOutput(_T("I")); break; - case 'O': - TexOutput("O"); + case _T('O'): + TexOutput(_T("O")); break; - case 'U': - TexOutput("U"); + case _T('U'): + TexOutput(_T("U")); break; default: break; @@ -1001,37 +995,36 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_TILDE: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { - case 'a': - TexOutput("a"); + case _T('a'): + TexOutput(_T("a")); break; - case ' ': - TexOutput("~"); + case _T(' '): + TexOutput(_T("~")); break; - case 'n': - TexOutput("n"); + case _T('n'): + TexOutput(_T("n")); break; - case 'o': - TexOutput("o"); + case _T('o'): + TexOutput(_T("o")); break; - case 'A': - TexOutput("A"); + case _T('A'): + TexOutput(_T("A")); break; - case 'N': - TexOutput("N"); + case _T('N'): + TexOutput(_T("N")); break; - case 'O': - TexOutput("O"); + case _T('O'): + TexOutput(_T("O")); break; default: break; @@ -1039,52 +1032,51 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_UMLAUT: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { - case 'a': - TexOutput("a"); + case _T('a'): + TexOutput(_T("a")); break; - case 'e': - TexOutput("e"); + case _T('e'): + TexOutput(_T("e")); break; - case 'i': - TexOutput("i"); + case _T('i'): + TexOutput(_T("i")); break; - case 'o': - TexOutput("o"); + case _T('o'): + TexOutput(_T("o")); break; - case 'u': - TexOutput("u"); + case _T('u'): + TexOutput(_T("u")); break; - case 'y': - TexOutput("y"); + case _T('y'): + TexOutput(_T("y")); break; - case 'A': - TexOutput("A"); + case _T('A'): + TexOutput(_T("A")); break; - case 'E': - TexOutput("E"); + case _T('E'): + TexOutput(_T("E")); break; - case 'I': - TexOutput("I"); + case _T('I'): + TexOutput(_T("I")); break; - case 'O': - TexOutput("O"); + case _T('O'): + TexOutput(_T("O")); break; - case 'U': - TexOutput("U"); + case _T('U'): + TexOutput(_T("U")); break; - case 'Y': - TexOutput("Y"); + case _T('Y'): + TexOutput(_T("Y")); break; default: break; @@ -1092,22 +1084,21 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_DOT: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { - case 'a': - TexOutput("a"); + case _T('a'): + TexOutput(_T("a")); break; - case 'A': - TexOutput("A"); + case _T('A'): + TexOutput(_T("A")); break; default: break; @@ -1115,22 +1106,21 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } case ltACCENT_CADILLA: { if (start) { - char *val = GetArgData(); + wxChar *val = GetArgData(); if (val) { switch (val[0]) { - case 'c': - TexOutput("c"); + case _T('c'): + TexOutput(_T("c")); break; - case 'C': - TexOutput("C"); + case _T('C'): + TexOutput(_T("C")); break; default: break; @@ -1138,12 +1128,10 @@ bool XLPOnArgument(int macroId, int arg_no, bool start) } } return FALSE; - break; } default: { return DefaultOnArgument(macroId, arg_no, start); - break; } } return TRUE; @@ -1155,42 +1143,42 @@ bool XLPGo(void) if (InputFile && OutputFile) { - Contents = fopen(TmpContentsName, "w"); - Chapters = fopen("chapters.xlp", "w"); - Sections = fopen("sections.xlp", "w"); - Subsections = fopen("subsections.xlp", "w"); - Subsubsections = fopen("subsubsections.xlp", "w"); - Index = fopen("index.xlp", "w"); + Contents = wxFopen(TmpContentsName, _T("w")); + Chapters = wxFopen(_T("chapters.xlp"), _T("w")); + Sections = wxFopen(_T("sections.xlp"), _T("w")); + Subsections = wxFopen(_T("subsections.xlp"), _T("w")); + Subsubsections = wxFopen(_T("subsubsections.xlp"), _T("w")); + Index = wxFopen(_T("index.xlp"), _T("w")); // Insert invisible section marker at beginning - fprintf(Chapters, "\\hy-%d{%ld}{%s}\n", - hyBLOCK_INVISIBLE_SECTION, NewBlockId(), "\n"); + wxFprintf(Chapters, _T("\\hy-%d{%ld}{%s}\n"), + hyBLOCK_INVISIBLE_SECTION, NewBlockId(), _T("\n")); - fprintf(Contents, "\\hy-%d{%ld}{%s}\n\n", + wxFprintf(Contents, _T("\\hy-%d{%ld}{%s}\n\n"), // hyBLOCK_LARGE_HEADING, NewBlockId(), "\n\n%s\n\n", ContentsNameString); hyBLOCK_LARGE_HEADING, NewBlockId(), ContentsNameString); SetCurrentOutput(Chapters); - fprintf(Index, "\n\\hyindex{\n\"%s\"\n", - contentsString ? contentsString : "WXHELPCONTENTS"); + wxFprintf(Index, _T("\n\\hyindex{\n\"%s\"\n"), + contentsString ? contentsString : _T("WXHELPCONTENTS")); TraverseDocument(); wxNode *node = hyperLinks.GetFirst(); while (node) { long from = node->GetKeyInteger(); - char *label = (char *)node->GetData(); + wxChar *label = (wxChar *)node->GetData(); wxNode *otherNode = hyperLabels.Find(label); if (otherNode) { long to = (long)otherNode->GetData(); - fprintf(Index, "%ld %ld\n", from, to); + wxFprintf(Index, _T("%ld %ld\n"), from, to); } node = node->GetNext(); } - fprintf(Index, "}\n"); + wxFprintf(Index, _T("}\n")); fclose(Contents); Contents = NULL; fclose(Chapters); Chapters = NULL; @@ -1207,19 +1195,19 @@ bool XLPGo(void) wxRemoveFile(TmpContentsName); } - wxConcatFiles("chapters.xlp", "sections.xlp", "tmp2.xlp"); - wxConcatFiles("tmp2.xlp", "subsections.xlp", "tmp1.xlp"); - wxConcatFiles("tmp1.xlp", "subsubsections.xlp", "tmp2.xlp"); - wxConcatFiles("tmp2.xlp", "index.xlp", OutputFile); + wxConcatFiles(_T("chapters.xlp"), _T("sections.xlp"), _T("tmp2.xlp")); + wxConcatFiles(_T("tmp2.xlp"), _T("subsections.xlp"), _T("tmp1.xlp")); + wxConcatFiles(_T("tmp1.xlp"), _T("subsubsections.xlp"), _T("tmp2.xlp")); + wxConcatFiles(_T("tmp2.xlp"), _T("index.xlp"), OutputFile); - wxRemoveFile("tmp1.xlp"); - wxRemoveFile("tmp2.xlp"); + wxRemoveFile(_T("tmp1.xlp")); + wxRemoveFile(_T("tmp2.xlp")); - wxRemoveFile("chapters.xlp"); - wxRemoveFile("sections.xlp"); - wxRemoveFile("subsections.xlp"); - wxRemoveFile("subsubsections.xlp"); - wxRemoveFile("index.xlp"); + wxRemoveFile(_T("chapters.xlp")); + wxRemoveFile(_T("sections.xlp")); + wxRemoveFile(_T("subsections.xlp")); + wxRemoveFile(_T("subsubsections.xlp")); + wxRemoveFile(_T("index.xlp")); return TRUE; } return FALSE; -- 2.47.2