I have some code that uses a DirectEntry widget like this:
self.command_box = DirectEntry(pos=(-1.2,-0.95,-0.95),
text_fg=(0.282, 0.725, 0.850,1),
frameColor=(0.631, 0.219, 0.247,0.25),
suppressKeys=1, initialText="enter text and hit return",
enableEdit=0,scale=0.07, focus=0, focusInCommand=disable_keys,
focusOutCommand=enable_keys, focusInExtraArgs=[self],
focusOutExtraArgs=[self], command=accept_message,
extraArgs=[self], entryFont=self.font, width=15, numLines=1)
When I try to enter characters such as _ (underscore), it comes out as a flying . character (not sure what the actual character is). < turns into an upside-down exclamation point, and > turns into an upside-down question mark. { turns into a dash of some sort, and } turns into some sort of double-quote. Most other characters are fine.
Is this a bug in DirectEntry or am I doing something wrong?
cmss12, cmr12, and cmtt12 come from TeX and Multifont, which date back to before the Unicode character set was standardized. So probably they just follow a nonstandard convention for some of the characters.
We could, of course, replace these three with a different set of three free fonts. For instance, we replaced cmss12 with Perspective Sans as the default font that’s compiled into Panda. We could do similarly with these font model files. Any suggestions for replacing the serif and proportional fonts?
Too bad Consolas is a Microsoft font, my favourite monospace by far. Anonymous Pro is also a quite good monospaced font.
It is released under Open Font License which, while I am no license expert, I believe makes it free.