Page 1 of 1

Font Based Templates

Posted: Mon Feb 17, 2020 7:25 pm
by ClintGoss
I'm looking at an interesting behavior when I use the [Font Based...] approach in the Template Editor: Characters that are not in the font get included in the template.

The situation comes up with a font that has the Code Page Range bits for the first 5 bits set (Windows code pages 1250 through 1254). This was intended to be a WGL4 (=Win95) character set font. It is however, missing quite a few characters. Even though those missing code points are not mapped to any glyph, Scanahand includes those code points in the template.

In other words, for a WGL4 font that has some missing glyphs, Scanahand built a template for the full WGL4 character set (almost ... see below).

I'm not sure how this behavior works. Does Scanahand use the declared Code Point range settings?

One niggly: Scanahand did not include include a single character from the WGL4 set: $20AC - Euro Symbol. I found this out in Font Creator when I ran the WGL4 Character Set.xml script and it added that one character.

Re: Font Based Templates

Posted: Mon Feb 17, 2020 7:29 pm
by ClintGoss
BTW, the reason I am asking: It occurred to me that there is a very handy way to get Scanahand to build a template for a give code page or set of code pages by creating an empty font in FC, then checking off the code page bits you want. Using that font as the [Font Based...] source will get you a template for exactly the characters you want to include ...

Re: Font Based Templates

Posted: Mon Feb 17, 2020 7:42 pm
by Erwin Denissen
ClintGoss wrote:
Mon Feb 17, 2020 7:25 pm
I'm looking at an interesting behavior when I use the [Font Based...] approach in the Template Editor: Characters that are not in the font get included in the template.
That sounds like a bug; can you send us a sample font that causes this behaviour?

Re: Font Based Templates

Posted: Mon Feb 17, 2020 8:13 pm
by ClintGoss
I can send the font file privately (tell me how) since it is copyrighted ...

However, the current behavior of Scanahand is exactly what I needed - I was looking for a complete WGL4 coverage, and that's almost exactly what I got ...

Re: Font Based Templates

Posted: Tue Feb 18, 2020 8:41 am
by Erwin Denissen
I've send you an email.

Re: Font Based Templates

Posted: Tue Feb 18, 2020 1:43 pm
by Erwin Denissen
Thank you for sending the font file. I've looked into this, and the font has all those characters, so Scanahand works as expected. You won't be able to see them all in FontCreator as it removes all mappings to the first glyph.

Re: Font Based Templates

Posted: Wed Feb 19, 2020 10:43 am
by ClintGoss
Erwin Denissen wrote:
Tue Feb 18, 2020 1:43 pm
FontCreator ... removes all mappings to the first glyph.
Hmmm. While I can appreciate that dropping cmap entries to .notdef reduces complexity for novice users, I personally feel that this removes a degree of control.

I did once try to multi-map a PUA code point to .notdef and it "got lost". I wanted to explicitly show .notdef in the User Guide for my fonts. The code point "got lost" and I just shrugged and single-mapped the PUA code point to a copy of the glyph. This behavior also caused my Scanahand confusion.

Would it be possible to offer users a choice? Maybe between:

(A) the current drop-the-mapping behavior,
(B) Map to a new, blank glyph (which would have the advantage of putting the character into the "incomplete characters" bucket and encouraging completion of those glyphs), or
(C) Multi-map them to a given glyph number?

This could be done when opening a font as a splash screen, if the font has such code points. However, this would be confusing for novices.

Maybe better, a user option would be a gentle way to inform experienced users of the behavior, and "do the right thing" for novices.

Re: Font Based Templates

Posted: Wed Feb 19, 2020 11:37 am
by Erwin Denissen
ClintGoss wrote:
Wed Feb 19, 2020 10:43 am
I did once try to multi-map a PUA code point to .notdef and it "got lost". I wanted to explicitly show .notdef in the User Guide for my fonts. The code point "got lost" and I just shrugged and single-mapped the PUA code point to a copy of the glyph.
Just add a new glyph and use that, don't map to the first glyph.