Hi andy

Nice to see you here!

Stef

On Nov 13, 2012, at 7:32 PM, Andrew Tween wrote:

> Hi Sven,
> The Monaco font doesn't contain those glyphs. You can find a font that does 
> have (at least the first of) those glyphs by evaluating this ...
> 
> ((LogicalFontManager current allFamilies select: [:each| each class = 
> FreeTypeFontFamily])
>       select:[:each| (LogicalFont familyName: each familyName pointSize: 10) 
> hasGlyphsForAll: 16r2654 asCharacter asString])
>               collect:[:each | each familyName]. 
> 
> on my Mac, this results in  - #('Apple Symbols' 'Arial Unicode MS' 
> 'LastResort' 'Menlo')
> 
> Having found a suitable font, you can then render the glyphs to screen by 
> doing something like this...
> 
> StringMorph new 
> contents: (String withAll: ((16r2654 to: 16r265F) collect:[:each | each 
> asCharacter]));
> font:(LogicalFont familyName:'Apple Symbols' pointSize: 10); 
> openInWorld .
> 
> You can test whether a particular font contains a glyph for some unicode char 
> by doing this...
> 
> (LogicalFont familyName: 'Monaco' pointSize: 10) realFont face 
> primGetCharIndex: 16r2654.  "results in 0 - so it doesn't contain the glyph"
> (LogicalFont familyName: 'Apple Symbols' pointSize: 10) realFont face 
> primGetCharIndex: 16r2654. "results in 371 (>0) - so it does contain the 
> glyph"
> 
> If you set your Code font to a suitable font (e.g. 'Apple Symbols') then you 
> will also see these glyphs in your Workspace.
> 
> Operating Systems and Applications substitute missing glyphs with those from 
> another font when they render text. 
> This is probably why your terminal displayed the glyphs, even though Monaco 
> doesn't have them.
> It would be cool to have a similar glyph substitution scheme in Pharo; I'll 
> see if I can work out how that can be done 
> 
> Cheers,
> Andy
> .
> 
> > From: [email protected]
> > Date: Mon, 12 Nov 2012 16:37:51 +0100
> > To: [email protected]
> > Subject: [Pharo-project] Unicode Fonts
> > 
> > I was playing with the following:
> > 
> > http://en.wikipedia.org/wiki/Chess_symbols_in_Unicode
> > 
> > '/tmp/chess.txt' asFileReference writeStreamDo: [ :stream |
> > (16r2654 to: 16r265F) 
> > do: [ :each |
> > stream nextPut: each asCharacter ]
> > separatedBy: [ stream space ].
> > stream crlf ].
> > 
> > $ cat /tmp/chess.txt 
> > ♔ ♕ ♖ ♗ ♘ ♙ ♚ ♛ ♜ ♝ ♞ ♟
> > 
> > (this shows for me, in my terminal/mail, YMMV ;-)
> > 
> > String streamContents: [ :stream |
> > (16r2654 to: 16r265F) 
> > do: [ :each |
> > stream nextPut: each asCharacter ]
> > separatedBy: [ stream space ].
> > stream crlf ].
> > 
> > Is there a way to make this work, a font selection that show these Unicode 
> > characters in Pharo ? That would be cool.
> > 
> > I tried using Freetype font Monaco, the same as my terminal where the right 
> > characters show, but that didn't help.
> > 
> > Sven
> > 
> > --
> > Sven Van Caekenberghe
> > http://stfx.eu
> > Smalltalk is the Red Pill
> > 
> > 
> > 
> >


Reply via email to