Petite Capitals Private Use.xml

Get help with FontCreator here. Please do not post feature requests or bug reports here.
Post Reply
Leon Gauthier
Posts: 127
Joined: Thu May 07, 2015 6:07 am

Petite Capitals Private Use.xml

Post by Leon Gauthier »

I must be missing something here. The Petite Capitals Private Use.xml script fails to actually create the 155 glyphs I expect it to add to my font. The cells are there with what seems to be the correct code points but they remain empty.

I noticed that CompositeData.xml now uses "friendly" names but the transform script does not. I tried enabling friendly names both before and after running the script to no effect. So, do I need to use an older (pre-frendly) CompositeData or what?
Leon Gauthier
Posts: 127
Joined: Thu May 07, 2015 6:07 am

Re: Petite Capitals Private Use.xml

Post by Leon Gauthier »

Nevermind!!!
I discovered the Unmapped Latin Petite Capitals.xml 😎
I see some possible kinks but this should work.
(I would have done the German sharp S a little differently for one thing)
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Petite Capitals Private Use.xml

Post by Bhikkhu Pesala »

That Private Use Area Transform script should probably be deleted. It will only work with earlier versions of CompositeData.xml

The Petite Capital German sharp S was designed for use with other Petite Capitals. It seems that there are two ways to design it.

Substitution and All Caps
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Leon Gauthier
Posts: 127
Joined: Thu May 07, 2015 6:07 am

Re: Petite Capitals Private Use.xml

Post by Leon Gauthier »

I am seeing doubles 😎
And, as is usual, my troubles are of my own making,

Prior to running Unmapped Latin Petite Capitals.xml, I had created both the Latin small letter sharp s (@codepoint 223) and the Latin Capital letter Sharp S (@codepoint 7838) both of which I take to be replacements for the two forms of the "Germandbls".

In CompositeData.xml @ line 50354, germandbls.pcap is composed from two small s's.
In CompositeData.xml @ line 54969, Germandbls.pcap is composed from either Germandbls or germandbls.

I ran the Unmapped Latin Petite Capitals.xml script without making my usual adjustments such as adding 7838 (Capital German Sharp S) and I got unexpected results . . .
Germandbls01.png
Germandbls01.png (37.19 KiB) Viewed 5743 times
Because my small letter sharp s now has the friendly name "germandbls", by default, it got picked up to create the petite capital "Germandbls.pcap" . . .
Germandbls02.png
Germandbls02.png (21.72 KiB) Viewed 5743 times
Another default situation led to the creation of another petite capital …
Germandbls03.png
Germandbls03.png (26.28 KiB) Viewed 5743 times
Personally, I don't know how you manage to keep all of these doubles straight and these names are really redundant since one can use Latin sharp S for both upper and lower cases and never need a "dbls". My German friends and I have discussed this situation at length and we are in agreement that the two forms of the sharp s have negated any need for the "SS" in contemporary work ... perhaps it would have a place in reproducing older works.

Code point 223 does have a friendly name which indicates that it is a lower case character but somehow it got made into a petite capital (fall through logic?). It should be named "small sharp s" while code point 7838 should have the name "Capital Sharp S" ... anyway both names inline with Unicode.

With the use of friendly names, wouldn't all of the old scripts now be obsolete?
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Petite Capitals Private Use.xml

Post by Bhikkhu Pesala »

I tend to include both forms of germandbls and Germandbls in my fonts so that users can choose whichever they prefer.
German Dbls.png
German Dbls.png (4.52 KiB) Viewed 5738 times
The PUA script are largely redundant, but there are still applications out there that do not support OpenType features so the only way to access these extra glyphs is by using PUA codepoints. Leaving a couple of (almost) obsolete scripts does no harm.
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Leon Gauthier
Posts: 127
Joined: Thu May 07, 2015 6:07 am

Re: Petite Capitals Private Use.xml

Post by Leon Gauthier »

You are killing my plans with this in CompositeData:

<GlyphMapping>7838</GlyphMapping>
<Member id="1">
<GlyphMapping>223</GlyphMapping>
<UseMetrics>TRUE</UseMetrics>
</Member>
</Composite>

This is why the lowercase sharp s winds up being used to create the Germandbls.pcap as illustrated in my images above. In your effort to preserve both forms for the Capital German sharp S, you have managed to mixup the names (if I understand your naming scheme correctly)
The Germandbls.pcap should be the petite "SS", while its counterpart, the Capital sharp S, cannot logically be named germandbls.pcap.

To me, the obvious solution would be to replace the 7838 glyph mappimg above with:

<GlyphMapping>7838</GlyphMapping>
<Member id="1">
<GlyphMapping>383</GlyphMapping>
<InheritLSB>TRUE</InheritLSB>
</Member>
<Member id="2">
<GlyphMapping>439</GlyphMapping>
<InheritRSB>TRUE</InheritRSB>
</Member>
<AlignHorizontal>
<Source>
<Member>1</Member>
<Position>Right</Position>
</Source>
<Dest>
<Member>2</Member>
<Position>Left</Position>
</Dest>
</AlignHorizontal>
</Composite>

I do not pretend to fully understand the scripting language but I just copied the instructions for mapping glyph 223 and changed the member glyphs. Sadly, this does not seem to work.
Leon Gauthier
Posts: 127
Joined: Thu May 07, 2015 6:07 am

Re: Petite Capitals Private Use.xml

Post by Leon Gauthier »

Also, @ 50355 of ConpositeData, two s.pcaps are mapped to germandbls.pcap and the SS is, in fact , the uppercase form, not the lowercase.
I advocate for the name "smallsharps" for the lowercase form, "CapitalsharpS" for one form of the capital and "Germandbls" for the other form
Leon Gauthier
Posts: 127
Joined: Thu May 07, 2015 6:07 am

Re: Petite Capitals Private Use.xml

Post by Leon Gauthier »

I experimented on another font which, like mine, contained both upper and lower cases of the German Shsrp S. The UMPC script produced a new glyph, Germandbls.pcap.
Trio.png
Trio.png (8.31 KiB) Viewed 5659 times
When there was no Capital German Sharp S in the font, the script created a Germandbls.pcap from the germandbls (small German Sharp s).
duo.png
duo.png (3 KiB) Viewed 5659 times
With no German Sharp S's in the font, the script created an empty cell for Germandbls.pcap.
empty.png
empty.png (8.11 KiB) Viewed 5659 times
What I had hoped for was: if the small sharp s were present, the script would create the two versions of the uppercase glyph which would allow the user to choose which would be used in small/petite caps. I have not figured out how the SS glyph shown in my first post came about.
Leon Gauthier
Posts: 127
Joined: Thu May 07, 2015 6:07 am

Re: Petite Capitals Private Use.xml

Post by Leon Gauthier »

Finally! Starting fresh after removing all of my little tweaks, the results are much closer to what I expect. With 7838, Germandbls, and 223, germandbls, in place prior to running the UMPC script we get the greatly anticipated SS glyph, germandbls.pcap, alongside the small sharp S, Germandbls.pcap.
Final.png
Final.png (8.52 KiB) Viewed 5650 times
Next, I need to solve why 59 of the accented pcap characters are empty because the existing accents were not named, I believe. In CompositeData, agrave has three possible accents encoded, gravecomb.case, gravecomb, and gravemod. Many of the existing glyphs use mod accents so these PCAP glyphs need something other.
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Petite Capitals Private Use.xml

Post by Bhikkhu Pesala »

Leon Gauthier wrote: Sat Aug 24, 2019 6:50 amIn CompositeData, agrave has three possible accents encoded, gravecomb.case, gravecomb, and gravemod. Many of the existing glyphs use mod accents so these PCAP glyphs need something other.
The recommendation now is to use combining accents. Add gravecomb.case to your fonts if you want small or lower profile accents for uppercase, otherwise, use gravecomb for both upper and lowercase.

The smaller accents may also be more suitable for Petite Capitals.
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Leon Gauthier
Posts: 127
Joined: Thu May 07, 2015 6:07 am

Re: Petite Capitals Private Use.xml

Post by Leon Gauthier »

Just to illustrate how one might access the petite capital version of the German sharp S the way it is created by the UMPC script (SS), I made the section symbol act as the lowercase version of the German sharp s since the lowercase version of the German sharp s was already linked to the German sharp S. Of course, one could just as well make the SS version the default petite capital for the German sharp S.
PC01.png
PC01.png (10.21 KiB) Viewed 5624 times
PC02.png
PC02.png (9.04 KiB) Viewed 5624 times
I have not yet found the size relationships between Glyphcomb.case, Glyphcomb or Glyphmod (if there is one)
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Petite Capitals Private Use.xml

Post by Bhikkhu Pesala »

It is up to the user to design the different accents to suit his/her needs.

The script will use the first accent that is available (provided that it is named correctly).
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
Leon Gauthier
Posts: 127
Joined: Thu May 07, 2015 6:07 am

Re: Petite Capitals Private Use.xml

Post by Leon Gauthier »

The script will use the first accent that is available (provided that it is named correctly).
That is what I suspected, thanks. The font I was working with had what looked like three different sizes of accent marks and only glyph numbers to tell them apart. That is why I had some 59 empty cells after running the UMPC script. Tags made it easy to sort them into three groups and arbitrarily name each group.
Post Reply