DOCUMENT:Q200095 06-FEB-2000 [visualc] TITLE :PRB: Problems with Help Compiler 3.5 and Certain RTF Formats PRODUCT :Microsoft C Compiler PROD/VER:MACINTOSH:4.0,4.0b OPER/SYS: KEYWORDS:kbHWMAC kbVC kbDSupport ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Visual C++, Macintosh Cross-Development Addon, versions 4.0, 4.0b ------------------------------------------------------------------------------- SYMPTOMS ======== When compiling a Help project using Hc35.exe targeted for the Macintosh platform, the following error may occur: On Windows NT: An OS/2 program caused a protection violation. On Windows 95: Error 4639: Error in file 'xxxx.rtf' at byte offset 0xXXXX -or- Error 4860: topic...: Font xxxx in file 'xxxx.rtf' not in RTF Font Table CAUSE ===== Hc35.exe is not compatible with the RTF (Rich Text Format) files generated by Microsoft Word 6.0 and later. RESOLUTION ========== Save the RTF file using Microsoft Word 2.0, or use Hc31.exe. STATUS ====== Microsoft has confirmed this to be a problem in the Microsoft products that are listed at the beginning of this article. MORE INFORMATION ================ When compiling the Help project for the Macintosh target, Hc35.exe is used to generate the Help file. However, Hc35.exe fails to read RTF files generated by Microsoft Word 6.0 and later (ROBOHELP is also known to generate Word 6.0 RTF files). Under Windows NT, Hc35.exe usually generates a protection violation because it doesn't understand the font table in these RTF files. If the OS/2 subsystem isn't installed properly, no error message may appear and the Help compiler will just hang. For small Help files under Windows 95, the Help compiler may successfully compile these Help files, but some errors may still occur. The best workaround is to save the RTF file using Microsoft Word 2.0 or Microsoft Word for the Macintosh. Another feasible workaround is to use Hc31.exe. To properly generate a Help file for the Macintosh using Hc31.exe, the bitmaps must be converted so that it displays properly (the display is too small). Perform the following steps: 1. Copy all bitmaps into a separate directory, changing the file extension to .mac. 2. Run MRBC (Multi-Resolution Bitmap Compiler) on each bitmap separately (do not use wild cards; otherwise, all the bitmaps will be combined) with the /s switch. If you are familiar with batch files, you can use this statement: for %%f in (*.mac) do mrbc /s %%f This will generate .mrb files. 3. Rename all the files to the original name. Now you have two sets of files for the different platforms in different directories. You can specify which directories the Help compiler can obtain the bitmaps from by using the BMROOT keyword in the Help project. 4. Transfer the Help file to the Macintosh as you normally would: "MFILE COPY /t HELP /c MSH2 MYHELP.HLP ":MyMac:Local:MyHelp"" (without the quotation marks) REFERENCES ========== Books Online: Creating Macintosh Help Files For additional information, please see the following article in the Microsoft Knowledge Base: Q75010 Rich Text Format Subset Supported by Windows Help (c) Microsoft Corporation 1999, All Rights Reserved. Contributions by Adam Kim, Microsoft Corporation. Additional query words: hc31 hc35 Macintosh Help Word RTF Font Table ====================================================================== Keywords : kbHWMAC kbVC kbDSupport Technology : kbVCsearch kbHWMAC kbOSMAC kbAudDeveloper kbVCXDev400Mac kbVCXDev400bMac Version : MACINTOSH:4.0,4.0b Issue type : kbprb ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 2000.