Just something to think about...
We do special characters (i.e. anything not in the ASCII set) as Variables. For example, degree would be:
Definition: <Symbol>\xb0<Default ¶ Font>
The last element of the Name ("degree") is either the name from the Frame special characters document, or the formal Unicode name.
We do this for several reasons, some of which might not apply to other users:
When you convert a legacy FM document to FM 8 or later, the conversion is pretty smart. FM will look at the font used for every character (either stylesheet of hardcoded), and the character map used by that font, and will convert that character to the correct unicode character.
I used it to convert some multi-lingual masters (English, Russian, and Chinese mixed, along with dingbat and Symbol) and it converted all document text perfectly, although I had to hardcode the double-byte Chinese text into a Chinese font because the main stylesheet font could only handle English and Russian. It was impressive, and a real time-saver for a 60-manual set. Another remarkable thing is that I could still use the old (non-unicode font) if I wanted, within the limitations of that font of course. In my case, FM8 could still display the converted Russian text correctly using the old non-unicode font! FM will backmap the unicode document characters (which are stored in unicode and stay as unicode) on-the-fly and use the old font to display the characters correctly using the old font. It was very useful and it gave me workable documents for the interim, until I could set up stylesheets that used the new proper unicode fonts that came with FM 8.
However, no conversion is performed on features with "internal" text that has no inherent font format such as cross-reference formats, variables or markers, which is probably just as well because remapping the cross-ref marker text would break the links). You'll have to convert or rebuild those by hand.
I have some related questions. Using \x code to make special characters that you can pick off a menu only works for the "traditional" character slots at position 256 (ff hex) or below. Is there any syntax that works for unicode slot numbers that are higher than 256? I have tried \u and \U followed by the four-digit UTF-8 code but I get nothing.
Also, is it also good practice (or perhaps even absolutely necessary) to read, edit, and save all FM8 and later config files as UTF-8?
Now this old thread will never fall out of "Popular Discussions"
> Definition: <Symbol>\xb0<Default ¶ Font>
The <Symbol> tag implies that a Character Format of name Symbol was previously created. In general when creating such a tag, make sure that all fields of the dialog are blank or As-Is except the key one (Font Family in this case).
The trailing <Default ¶ Font> is unnecessary and is harmful if any other overrides or character tags were applied to the surrounding text.
> Is there any syntax that works for unicode slot numbers
> that are higher than 256? I have tried \u and \U followed
> by the four-digit UTF-8 code but I get nothing.
\u1234 is supposed to be the notation. No _, +, or space between the lowercase "u" and the UTF8 codepoint
Of course, for Framemaker 8.0 and later, with any minimally populated Unicode font (having the Latin-1 Supplement), a rigorus way to implement the degree symbol is to use code point:
It wouldn't surprise me if this also works for older ISO 8859 fonts, which use the same code point for the same symbol.