Petite Capitals Private Use.xml
-
- Posts: 127
- Joined: Thu May 07, 2015 6:07 am
Petite Capitals Private Use.xml
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?
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?
-
- Posts: 127
- Joined: Thu May 07, 2015 6:07 am
Re: Petite Capitals Private Use.xml
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)
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)
-
- Top Typographer
- Posts: 9878
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Petite Capitals Private Use.xml
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
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
-
- Posts: 127
- Joined: Thu May 07, 2015 6:07 am
Re: Petite Capitals Private Use.xml
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 . . .
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" . . .
Another default situation led to the creation of another petite capital …
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?
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 . . .
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" . . .
Another default situation led to the creation of another petite capital …
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?
-
- Top Typographer
- Posts: 9878
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Petite Capitals Private Use.xml
I tend to include both forms of germandbls and Germandbls in my fonts so that users can choose whichever they prefer.
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.
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.
-
- Posts: 127
- Joined: Thu May 07, 2015 6:07 am
Re: Petite Capitals Private Use.xml
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.
<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.
-
- Posts: 127
- Joined: Thu May 07, 2015 6:07 am
Re: Petite Capitals Private Use.xml
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
I advocate for the name "smallsharps" for the lowercase form, "CapitalsharpS" for one form of the capital and "Germandbls" for the other form
-
- Posts: 127
- Joined: Thu May 07, 2015 6:07 am
Re: Petite Capitals Private Use.xml
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.
When there was no Capital German Sharp S in the font, the script created a Germandbls.pcap from the germandbls (small German Sharp s).
With no German Sharp S's in the font, the script created an empty cell for Germandbls.pcap.
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.
When there was no Capital German Sharp S in the font, the script created a Germandbls.pcap from the germandbls (small German Sharp s).
With no German Sharp S's in the font, the script created an empty cell for Germandbls.pcap.
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.
-
- Posts: 127
- Joined: Thu May 07, 2015 6:07 am
Re: Petite Capitals Private Use.xml
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.
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.-
- Top Typographer
- Posts: 9878
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Petite Capitals Private Use.xml
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.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 smaller accents may also be more suitable for Petite Capitals.
-
- Posts: 127
- Joined: Thu May 07, 2015 6:07 am
Re: Petite Capitals Private Use.xml
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.
I have not yet found the size relationships between Glyphcomb.case, Glyphcomb or Glyphmod (if there is one)-
- Top Typographer
- Posts: 9878
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Petite Capitals Private Use.xml
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).
The script will use the first accent that is available (provided that it is named correctly).
-
- Posts: 127
- Joined: Thu May 07, 2015 6:07 am
Re: Petite Capitals Private Use.xml
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.The script will use the first accent that is available (provided that it is named correctly).