Copy link to clipboard
Copied
I have a project I'm still maintaining in Frame 12, producing CHM files as the output using the Publish command.
I find that any thin space in my Frame source is getting rendered as an ordinary space in the Help viewer. Is this a limitation of that old Microsoft HTML Help Viewer not rendering thin spaces properly? Or is Frame not bothering to write   entities in its HTML output? And if so, how do I make it do that? (I don't see anything obvious in the Publish settings).
Copy link to clipboard
Copied
You can do a quick test to see if CHMs are the cause by doing a test WebHelp output and having a look inside the HTML. I'd recommend looking inside the CHM's HTML files by decompiling the CHM (see Decompiling a Help File (Windows) to do that) to have a look if your thin space appears in it.
Copy link to clipboard
Copied
Ah fair point ...
actually I just opened the CHM with 7-Zip and looked in the .htm files in Notepad. It's putting an in instead of a thin space.
For example, I have a sentence in the Frame source like this:
"Valid range is from 100 ms to..." (where I have used 'Esc space t' thin space in Frame to give a thin space between the '100' and the 'ms'
In the CHM file this comes out as "Valid range is from 100<span class="hcp2"> </span>ms to..."
No idea what "hcp2" class is, it's not something I defined.
Copy link to clipboard
Copied
What's the WebHelp output give you in its HTML?
Copy link to clipboard
Copied
The WebHelp output is the same: a non-breaking space.
(In my post above, the blimmin' forum has rended the ampersand escape sequences I typed as actual non-breaking spaces, making for rather confusing reading!)
Copy link to clipboard
Copied
No wonder it wasn't making too much sense to me ;>)
So you're getting "thin spaces" turned into "non-breaking spaces" - is that the situation?
Copy link to clipboard
Copied
Exactly. Despite FrameMaker having admirably supported thin spaces (as well as n-spaces, m-spaces, numeric-spaces and non-breaking spaces) for donkeys years, it doesn't write them to its HTML Help or WebHelp output.
Which is ridiculous, cos there's been a thin-space character entity in HTML for aeons too.
So what I'm wondering is, is there a way I can explicitly stop this egregious typographic malfeasance, by changing a setting?
Copy link to clipboard
Copied
Since I tend not to bother using much of any of those things in my FM content, I had no idea how FM deals with them - just for a laugh I created a FM12 doc with a Body paragraph tag in it with one one line with "regular" spaces and one with "thin" ones. Then I sucked it into a fresh RH11 project to see how it interpreted it in the resulting topics' HTML view - they [the thin spaces] all ended up being turned into a span style = "font-size": x-small;" and an ampersand number sign 160 [ ] if that comes through this web interface.
Copy link to clipboard
Copied
Character entity 160 is the non-breaking space. (From the HTML 2.0 spec)
The thin space character entity was added in HTML 4.0, in 1997. Twenty years ago. /facepalms gently/
Copy link to clipboard
Copied
LOL - go find the bug tracker/wish list form back on the main FM forums page.
Copy link to clipboard
Copied
yeah I could, and Adobe could ignore it for 2 years then lock the bugtracker and hide it so the URL just gives a DNS error.
Copy link to clipboard
Copied
Hmm...Tracker seems to work ok for me right now (YMMV)
Copy link to clipboard
Copied
Yes, that one works *now*... and they'll keep it open for a couple of years, ignore most of the submitted bugs, then close and delete it. As happened to several other bugs I submitted in the past. NOT THAT I'M BITTER
Copy link to clipboard
Copied
Jeff,
The Tracker system was just introduced at the start of this year. The old "Bugbase" was put into a read-only mode, but the old link to get to it was broken due to a re-drect. Messages to both the Engineering team and the Forum management have gone unanswered.
Copy link to clipboard
Copied
I have just tested this, and when I insert the thin space (\u2009) and publish it as a Responsive HTML5 help, it goes into the HTML5 as  
<p dir="ltr" class="FM_Body">Thin space: 10 ms</p>
When I publish it to CHM, it goes into the HTML as  
<p dir="ltr" class="FM_Body">Thin space: 10 ms</p>
You can insert a thin space (in FM 2017) with Insert > Character > Hex Input, type in 2009 and hit Return. You can also use \u2009 in the Find/Change dialog.
Copy link to clipboard
Copied
Thanks for the reply, Stefan - we posted across each other there.
I opened one of my Frame12 source files in Frame2017 and created a CHM using the same .sts file.
I'm afraid it still comes out with my 'thin spaces' converted to 'non-breaking spaces'.
I have certainly never *told* it to do this myself, but I'm wondering if some default setting from Frame 12 is getting carried forward and making Frame 2017 behave the same way?
Copy link to clipboard
Copied
Oh! and now I posted across you twice
Right - so it seems likes the issue now is that the "thin spaces" I have in my document, inserted using "Esc spacebar t", are the problem, as they're not proper Unicode thin spaces.
But seriously, if you read Frame's own documentation ("Adding text and special characters > special spaces", and then "Entering special characters"), it explicitly states that you should use the keyboard shortcut of "Esc spacebar t" to get a thin space. This help page is dated January 31, 2017. It does not say to do "Insert > Character > Hex Input, type in 2009 and hit Return."
This is not good.
Surely it would not be too much trouble for Adobe to map the Esc-spacebar-t shortcut to insert the proper Unicode character?
Incidentally, do you know what is happening to Esc-spacebar-t when Frame creates PDF output?
I use it extensively and it looks fine in my PDFs, whereas in my CHMs it balloons horribly in width to a non-breaking space.
This is particularly important when my documents get translated to French: as you may be aware, there is a French typographic convention to add a "thin space" before several punctuation characters (such as colons and percentage signs) where this is not typically done in English typography. It looks like hell if the space is too wide
This French convention is also where the SI Units convention of having a space between the number and the unit symbol comes from (if you check the SI style guide from the BIPM)
Copy link to clipboard
Copied
When I have time later today, I'll try making the CHM in Frame 2017 (I'm currently using Frame12 for this, as the graphics break in 2017).
If the problem is still there in 2017 then I'll raise a bug on the tracker.
Copy link to clipboard
Copied
Please see my response above. With the correct Unicode thin space (u2009) it works in FM 2017 (and probably also in 2015, but I have not tested it).
Please also note that there are a couple of old reserved characters in FM for backward compatibility like FM's own thin space (\st). That is, while \u2009 is stored internally as the real Unicode glyph, \st is stored as an FM special character.
In FM 8 and above, I recommend to use only the correct Unicode character \u2009 (UNICODE THIN SPACE) and not FM's legacy \st anymore which is only there for backward compatibility with very old FM version (< 7.2).
You can search for \st and replace with \U2009 if you want to change it globally
By the way, the Unicode thin space \u2009 is not a non-breaking space. You might want to consider using the Unicode 202F ("NARROW NO-BREAK SPACE").
Copy link to clipboard
Copied
I'd be tempted to implement instances of these as variables. It might at least make it easier to figure what they are later.
Name: U+2009 THIN SPACE
Def: \u2009
Name: U+202F NARROW NO-BREAK SPACE
Def: \u202f
Does FM recognize 202F as non-breaking?
Copy link to clipboard
Copied
Yes I can see the sense in that, Bob - when you've just got whitespace on the screen, it's rather tricky to tell what it is! Turning on Text Symbols is Frame doesn't help, there's no symbols of anything but the non-breaking space.
https://forums.adobe.com/people/Bob+Niland+%28Error+7103%29 wrote
I'd be tempted to implement instances of these as variables. It might at least make it easier to figure what they are later.
Copy link to clipboard
Copied
I logged the bug FRMAKER-2586 about this. Maybe it will get sorted one day
Copy link to clipboard
Copied
Hello,
I am trying to use Stephans advise to search and replace from \st to \u202f
Result is a "?" rather a thin space. Is the font I am using the problem? I am using Whitney narrow medium.
I am using FM 2019 latest patches, Windows 10
Copy link to clipboard
Copied
I tried to search and replace \st to \u2009
This works fine.
Andreas
Copy link to clipboard
Copied
I have changed the font from Whitney to Arial. Arial supports the u202f
Seems to be a problem of my font.