Working with the Private Use Area

I’m wanting to design a keyboard for a font that makes extensive use of the PUA.
Classical Maya is not yet supported by Unicode. So I’m working with a font that is almost entirely outside the normal plane. Does Keyman allow that?
If it does, will characters be able to show up in test mode? (I’ve been playing around and haven’t been able to accomplish that, yet.)

Keyman does allow use of PUA characters.

If your font is installed and selected for display in Keyman Developer, I believe that it should display your characters in testing mode. Note that there are several places in Developer where fonts are selected for various functions. If this doesn’t solve your problem, please write again.

Thank you for replying so quickly!

I haven’t managed it yet, but I think it more that I’ve forgotten to how to program in Developer. I did manage to switch the font displayed in both the text mode and the character map sidebar.

Which brings up a related question: should I be able to see the glyphs in the character map sidebar? It’s only showing me the ones that map to actual unicode points.

I can insert them manually into Word, so they do exist. But I don’t even see empty boxes in the sidebar.

I don’t understand the logic that says if you are using PUA, then you are outside of the Basic Multilingual Plane (BMP). There are PUA characters in the BMP, and also in other planes.

I don’t actually know enough about Unicode to be sure. The glyphs are assigned values between U+F6200 and F6847. Is that in the BMP?
What I actually meant, is that most of the glyphs do not have values assigned by Unicode.

That’s Plane 15 or 16, and yes those are in the PUA.
I’m not really sure if you could see the glyphs in the character map. I know in the past the character map seemed to have problems with displaying some of the ranges in the SMP. I don’t know if that’s been fixed or not.
You can still create a keyboard for it though. We would want you to be clear that you are using PUA codepoints in the documentation as you await for Mayan to be encoded.

Rules would probably best be written in the form of:

 + [K_H] > U+F6200

Otherwise you will likely see square boxes if you try to use the glyph in the code window.

It seems that the character map display is driven by a database of Unicode characters. So it may be that you won’t see PUA characters in the character map display. @marc_keyman_com could likely shed some light on this.

Ah! Thank you!
It’s good to know what I’m able to fix, and what I’m not. Also, knowing if programming this, at all, is possible.
To summarize what y’all are saying:
I should be able to get the characters to show up in test mode,
They’re probably going to be invisible in the character map and the code
I should be able to code this using U+XXXXX forms, rather than characters or names

Am I hearing you guys correctly?

I think you’ve summarized things correctly.

I’ll add that I would try first creating a very simple keyboard, with just one or two characters. (“a” changes to one character, “A” to another, for example.) Make sure you can go through all the steps to get that working, then work on the entire keyboard.

Correct – the Character Map shows only characters that are defined by the Unicode Standard (we update the backing database with each release of the Standard). The PUA ranges (both those in BMP and in SMP) are not included.

The Character Map does however support SMP correctly in recent versions of Keyman Developer.

You can see the characters in the Character Identifier window (View/Character Identifier menu) if you have them in your code – either as characters or as U+xxxxx code points - click on the character in your code to view it in the Character Identifier. You should also be able to see the characters correctly in the text editor if you select the appropriate font using View/Character Font.

Similarly, when testing you should be able to view the characters – the Debugger / Test Window inherits the Character Font but you can also change the font by right-clicking in it and selecting the Font… menu item.