0

I had some trouble figuring out the title for this question, so I know it sounds a little stupid.

I'm working on a webfont generator. I have over 1,000 SVGs (and growing), and, with the use of FontForge scripts, plan on assigning each one of those files to a character position.

This red X rectangle next to the blue one down here is what I mean by "character position":

character position

The problem:

Each one of those positions have a code correspondent. Some print directly, some don't. I know for a fact that control characters from this table here don't print. But there are other characters that don't print either, such as the soft-hyphen (U+00AD). This one sadly I discovered by accident.

I don't want to allow the end-users to pick whatever characters positions they want, because then, the icons filling up those positions won't show up in the browser. I looked over and over on the Unicode website to see if they have a list or something, but there's nothing helpful there.

So is there any way I can know for sure which character positions are safe to use as icons, or which ones aren't?

dda
  • 6,030
  • 2
  • 25
  • 34
Silviu-Marian
  • 10,565
  • 6
  • 50
  • 72
  • I don't really understand the question. You can input *all* characters somehow into the computer, using a keyboard or otherwise. Do you want to abuse code points in a font for random icons which are not related to the codepoint they occupy? Then use one of the *private code point areas* Unicode defines, don't overload codepoints which have a specified meaning. – deceze May 09 '13 at 15:22

1 Answers1

2

I can just guess at your intentions, but I'll guess that what you're looking for are the Private Use Areas of Unicode. These are a range of code points which have no assigned meaning. You can use these code points to assign your own icons, symbols or meanings. It's just between you and the user of the font what these code points mean and you can use them freely.

You should never overload the meaning of code points. If a code point is specified as "%", then the only character that should ever be in this code point is "%". It doesn't matter how rare or common the use of this code point is, because if there's ever a collision the situation is simply hard to resolve. Private Use Areas exist to prevent collisions of this sort entirely.

deceze
  • 510,633
  • 85
  • 743
  • 889
  • Makes a lot of sense to do what you are saying. I will have to run some test though, because I've heard that there are applications (incl. browsers) out there who are unable to render from the private area. – Silviu-Marian May 09 '13 at 19:53
  • +1 this. If you *must* use symbol fonts that have no semantic meaning, the PUA is the right place to do it. – bobince May 09 '13 at 22:58
  • I've been doing some tests, and both PUAs are problematic. Illustrator doesn't see the last character in the font. Opera won't render anything but squares if I let in any blank C0 codepoints. The Webdings and Wingdings fonts 've just put their icons in the latin1 codepoints. – Silviu-Marian May 13 '13 at 00:15