Is there any way to prevent FrameMaker from replacing the hex characters that I enter with the actual symbol?
For example, I enter (in code view), √ save, and then close. When I go back into the file and look in code view (or even if I switch between WYSIWYG and Code views), Frame replaces the hex entry with the actual square-root symbol. This is causing problems when I try to output to WebHelp or CHM -- the square root is replaced with a question mark. This also happens with lowercase sigma symbols and pretty much any other symbol, and even happens when I use Frame's Hex Input utility. PDF outputs OK though.
We tried it on English for a simple dita xml file - it seems to work OK for CHM and Webhelp output on English locale on Win10. The square root sign appears correctly. It be something to do with the default fonts of the system? Which locale are you on?
This seems system specific. Pls try with some other system too if you get the same issue.
English (US) locale. Windows 7 Enterprise, SP1
Unfortunately, I can't try it on another system because we are all operating with the same versions.
1) FrameMaker is not a plain text editor. When you open an XML document, FrameMaker interprets the XML markup according to the definition of XML. As you've noticed, it doesn't matter whether you enter a data character directly or through a character reference; the interpretation is the same.
2) Characters that are not defined in the font you are using may display as question marks. Make sure these characters are available in the fonts you are using with WebHelp and CHM.
The CSS is set up to use Arial throughout, so I know Arial can handle the character (square root).
Anyway, I published just the topic that had the special character to CHM/WebHelp, and it came out fine. However, when I publish the entire ditamap, that's when the question marks appear.
After doing a file comparison, the individual topic publish uses charset UTF-8 while the map-published version uses iso-8859-1.
My guess is that's the culprit.
Publishing via the ditamap too brought the sq root character correctly for us - in CHM and WH both.
Please try changing the encoding of your ditamap:
<?xml version="1.0" encoding="UTF-8"?>
The encoding for the map is set up to use UTF-8 in map2hhc and map2hhp, but from what I understand, the Windows codepage changes the encoding to ANSI Windows-1251 (iso 8859-1).
If I change the encoding manually in the file (using Notepad ++, for example), it doesn't help because the character is already converted to a question mark by then.