[racket] text/font not rendering symbol fonts on WinXP

From: Clement Erik Ferguson (clementraphael at gmail.com)
Date: Fri Nov 23 15:55:43 EST 2012

I'm sorry, I don't think I've explained the problem I'm having clearly.

I have fonts that I'm using that map latin characters to neumes for
byzantine chant music. So pressing "1" gives me a particular musical
symbol, and "a" gives me another symbol. I am trying to use text/font to
render those symbols, so I call it with a "1" but I'm getting a "1" instead
of the musical symbol on certain platforms. This method works fine on
Ubuntu 12.04 32bit and a Debian system that another user tested it on (I'm
not sure of the version info), but it isn't working on Windows XP and on
Ubuntu 12.10 64bit.

If you go to https://github.com/muraiki/byzscribe and scroll down to the
picture, you can see what the output should look like. On platforms where
it doesn't work, instead of getting the musical symbols I simply get the
textual string that should map to those symbols, such as 01a.

You can download the font package, which includes a PDF with a character
table, from here:
http://www.stanthonysmonastery.org/music/ByzMusicFonts.zipThe
character table is EZ-CharacterTables.pdf

The other symbol fonts that I've tried work in the same way, although
instead of musical symbols they have other things like snowflakes and
shapes. Those aren't the fonts that I need to use, but I wanted to make
sure that the problem didn't lie in the byzantine chant fonts. On platforms
where the byzantine chant fonts don't work as expected, no other symbol
fonts work, either.

I'm sorry if this is a bit confusing. Thank you for your help!


On Fri, Nov 23, 2012 at 3:38 PM, Robby Findler
<robby at eecs.northwestern.edu>wrote:

> If you want to use, say, α, then you need an actual α in the string, not
> an "a".
>
> I don't know how the dingbats work, but certainly that's how it works
> for characters that are in the unicode character set.
>
> (You can type those characters by using their LaTeX equivalents and
> then hitting control-\ or alt-\ (depending on the platform).)
>
> Robby
>
> On Fri, Nov 23, 2012 at 2:02 PM, Clement Erik Ferguson
> <clementraphael at gmail.com> wrote:
> > Now I'm experiencing the same problem in Ubuntu 12.10. No symbol fonts
> > render when using text/font; I only get the latin text equivalent. I
> tried
> > this using the Dingbats font built into Ubuntu along with custom symbol
> > fonts I had downloaded. Both Dingbats and the other symbol fonts I
> > downloaded work fine in other programs.
> >
> > The system where this did work correctly was an Ubuntu 12.04 machine
> > (running under a VM). The Ubuntu 12.10 machine I'm using now is a fresh
> OS
> > installation using the 64-bit binary downloaded from the Racket site.
> >
> > Is anyone else using Ubuntu 12.10? Can you try running the following
> code?
> >
> > (require 2htdp/image)
> > (text/font "test" FONT-SIZE "black" "Dingbats" 'symbol 'normal 'normal
> #f)
> >
> > This should render some triangles and a snowflake, not "test".
> >
> > Thanks!
> >
> >
> > On Wed, Nov 21, 2012 at 1:54 PM, Robby Findler <
> robby at eecs.northwestern.edu>
> > wrote:
> >>
> >> The text/font function ultimately just calls find-or-create-font with
> >> the font details and then draw-string on the dc<%> with the string, so
> >> I guess that this is either a problem at that level of the Racket GUI
> >> system, or something that is just different about how Windows works
> >> from other platforms. (Sorry I don't know the right answer here.)
> >>
> >> Robby
> >>
> >> On Wed, Nov 21, 2012 at 12:29 PM, Clement Erik Ferguson
> >> <clementraphael at gmail.com> wrote:
> >> > Hi all,
> >> >
> >> > I'm a newcomer to Racket and I ran into a problem with the text/font
> >> > function in 2htdp/image. stamourv on #racket helped me diagnose this,
> >> > and it
> >> > seems to be a problem confined to Windows XP. When using text/font
> with
> >> > a
> >> > symbol font like Wingdings or Symbol (standard symbol fonts included
> >> > with
> >> > Windows) the character is not rendered. Instead, I get whatever the
> >> > equivalent Roman character would be.
> >> >
> >> > For instance:
> >> >
> >> > (define testingfont
> >> >   (text/font "012abc" 36 "black"
> >> >              "Wingdings" 'default 'normal 'normal #f))
> >> >
> >> > If I then type testingfont into the interactions window, instead of
> >> > rendering a series of symbols I get the input string 012abc instead. I
> >> > also
> >> > tried using 'symbol instead of 'default. We tried the same code on
> >> > Debian
> >> > (stamourv) and Ubuntu (me) and it worked fine on those platforms.
> >> >
> >> > I'm running Windows XP 32-bit, and I am using Racket 5.3.1.
> >> >
> >> > Thanks!
> >> >
> >> > ____________________
> >> >   Racket Users list:
> >> >   http://lists.racket-lang.org/users
> >> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20121123/1ce869d3/attachment-0001.html>

Posted on the users mailing list.