Mantis - Squeak
Viewing Issue Advanced Details
2446 Any minor always 01-04-06 03:28 09-08-08 15:26
wiz  
 
normal  
closed 3.9  
fixed  
none    
none 3.10  
0002446: Character nonbreaking space does not look like a space
for this one
In a workspace type,select and print-It

Character nbsp "(defined as 202 in ascii) "

The nonbreaking space should display as a space.
On my computer I get a circumflexed capital E. in the default font and in others that sampled.
This recently became interesting because iVar menu was reimplemented to separate words into separate menu items. On lists of more than 6 ivars it would offer 'show alphabetically' which would be broken at the space. I proposed a fix by simply uniting the two words with an underscore and noted that a non-breaking space would be an even more elegant solution.

Following up on that thought only discovered another bug.

Why do the fonts store the wrong character at this location?
 
child of 0006392closed  (Character nbsp) is not the non breaking space character 
 Character class-nbsp.st [^] (271 bytes) 04-10-06 02:29

Notes
(0003423)
andreas   
01-04-06 03:41   
Heh. This is funny for at least two reasons. First is that I always thought ASCII is seven bit, not eight, so using 202 seems ... err ... odd to say the least ;-) Second, regardless of where this definition comes from it clearly originates from the times where we used to use Mac Roman encoding so either the comment or the value must have been wrong to begin with (hah!).

One thing's for sure: If we look at the Latin1 definition ( http://www.w3.org/MarkUp/html3/latin1.html [^] ) we see that:

&202; Capital E, circumflex accent

which is exactly what we observe. So the it isn't the display that's wrong, it's the constant.

Oh, and did I mention that because Character is not in one of the font classes I won't fix broken constants over there? ;-) Therefore:

Status -> new
Category -> any
Assigned To -> nobody

Please reassign to the proper maintainer.

(0003426)
wiz   
01-05-06 03:35   
Hi Andreas,

As comedian Red Skeleton used to say:

"I don't make'em. I just tell 'em."

After posting this I did some more checking.

The font atlantis does have a nbsp that becomes a space.

And my ascii font in Tex-edit encodes 202 as a nbs as well. Mac and browsers disagree on several other constants as well so It be nice if some one knowledgable would chime in on what the constant should be and under what circumstances.

I just look at the latin1.html you referenced. Latin1 does not have a non-breaking space. So that pretty much puts paid to the possibility of finding it in a latin1 font set. Ah well. At least squeak has now freed up the underscore to be an underscore.


Thanks for you help Andreas. Informative as always.


Proposed resolution. The cross platform priority rules out the use of nbsp in any string that might espect to be represented in a latin1 font.

q: Should Character class>>nbsp be removed as a character constant ?
(0004720)
wiz   
04-10-06 02:32   
Character class-nbsp.st updates nbsp to latin1 encoding common usage. (char 160).

With enough time illumination happens.

Yours in service, -- Jerome Peace.
(0010492)
nicolas cellier   
04-02-07 21:43   
16rA0 is officially the codePoint of non breaking space character according to ISO/IEC-10646 universal character set.

http://standards.iso.org/ittf/PubliclyAvailableStandards/c039921_ISO_IEC_10646_2003(E).zip [^]

Please include this fix in image.
(0010496)
edgardec   
04-05-07 14:12   
This now is 7078fixCharacter class-nbsp.cs and was in updates for 3.10
Thanks all!
(0012590)
KenCausey   
09-08-08 15:26   
Update 7078, shipped with 3.10