[NO BUG] Composite Problem

Post your bug reports here. Include information that helps us to understand and reproduce the bug.
Post Reply
guest9
Posts: 8
Joined: Sun Sep 01, 2013 7:48 am

[NO BUG] Composite Problem

Post by guest9 »

Hello,

I have a problem with the composites that I have no idea how can happen.

I made composites for a font a few days ago, and everything worked properly. Today I did the same on another one but characters from Private Use Area was used instead of the accents (A Graves was composed, but I got an A mixed with a swashed W). I checked the Composites.txt in the FontCreator folder and it makes that character from Private Use Area to be composed. I was like what? How could it change? I myself didn't change it.
After it I tested on a third font and it worked properly again (A Graves) but the 2nd one still has the issue (A with Wswash)... How can it be possible if they use the same Composites.txt? What's more important, what can I do to solve it it?

Thanks in advance!
Erwin Denissen
Moderator
Moderator
Posts: 11155
Joined: Fri Oct 04, 2002 12:41 am
Location: Bilthoven, The Netherlands
Contact:

Re: Composite problem

Post by Erwin Denissen »

It is probably the font which contains the wrong outline for the specific character.
Erwin Denissen
High-Logic
Proven Font Technology
guest9
Posts: 8
Joined: Sun Sep 01, 2013 7:48 am

Re: Composite problem

Post by guest9 »

After some research I found that some low profile accents are in that Private Use Area where I made those characters. It's a bit weird that there are defined characters where you could make your own ones, isn't it?
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9877
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Composite problem

Post by Bhikkhu Pesala »

guest9 wrote:After some research I found that some low profile accents are in that Private Use Area where I made those characters. It's a bit weird that there are defined characters where you could make your own ones, isn't it?
Yes, it is a bit weird, but it is the way that Complete Composites was designed to work. FontCreator needs to use some code-points in the Private Use Area.

It is documented in the help file and the linked tutorial on Using Complete Composites.
Gentium Accents.png
Gentium Accents.png (1.51 KiB) Viewed 5668 times
Low Profile diacritics are used by some fonts (e.g. Gentium) for Uppercase while regular diacritics are used for lowercase. Stacking diacritics for Vietnamese also need low profile diacritics to reduce the vertical height otherwise line-spacing would be excessive for regular English text.

If FontCreator had not used the PUA area at all, the feature would be far less powerful. As it is, it can be used to save a lot of work if adding Small Capitals, OldStyle Numbers, and other OpenType glyphs to a font. The downside is, as you discovered, unexpected results if users add other glyphs to those reserved (by FontCreator) code-points in the PUA.

Swashes, or other OpenType glyphs do not need to be mapped at all, and they are not mapped in a lot of OpenType fonts (e.g. Linotype Palatino), but that may mean they are not accessible in applications that don't support OpenType glyph substitutions.
Unmapped Glyphs.png
Unmapped Glyphs.png (21.13 KiB) Viewed 5668 times
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
guest9
Posts: 8
Joined: Sun Sep 01, 2013 7:48 am

Re: Composite problem

Post by guest9 »

Thanks for the information!

I make OpenType characters mapped because I want them to be accessible from Character Map for example, if a software doesn't support them. Is there a list out somewhere about these defined characters in the PUA so I can avoid them?
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9877
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Composite problem

Post by Bhikkhu Pesala »

guest9 wrote:Is there a list out somewhere about these defined characters in the PUA so I can avoid them?
There's a comprehensive list in the Appendix in the PDF for the Tutorial on Using Glyph Transformations linked to in the Tutorial Thread.

Glyph Transformations for, e.g. Creating Petite Capitals from Capitals, greatly speed up the work of adding Petite Capitals to a font, but they also rely on using code-points in the PUA. At the moment, there's no way around that. Maybe in a future version of FontCreator.

There is an added advantage of using standardised code-points — All fonts that you create with FontCreator will be interchangeable if you use the Character Map to insert glyphs from the PUA.

Like CompositeData.xml, the numbering system uses Decimal encoding.

Note the correspondence between 58097 (Small Caps A) and lowercase a (97). The glyph overview can be set to display either Hex (shortcut Ctrl K) or Decimal (Ctrl J) numbering.
57334-57364 Stacking Diacritics for Vietnamese
57365-57378 Low Profile Diacritics for Uppercase or Small/Petite Capitals
58033-58126 Basic Latin Initial Forms or Titling, and Small Capitals or Petite Capitals
58048-58057 Old Style Figures, Proportional Figures, or Tabular Figures
58161-58255 Latin-1 Supplement
58188-58190 Alternative Fractions or Stacking fractions for ¼, ½, and ¾
58256-58383 Latin Extended-A for Petite Capitals and Titling Capitals
58384-58591 Latin Extended-B for Petite Capitals and Titling Capitals
58912-58974 Basic Greek for Petite Capitals and Titling Capitals
59072-59218 Cyrillic for Petite Capitals and Titling Capitals
59680-59829 Latin Extended Additional for Petite Capitals and Titling Capitals
60531-60559 Number Forms, Nut Fractions or Stacking Fractions
60065-60255 Basic Latin and Latin-1 Supplement Superscripts or Ordinals
60600-60664 Divisor, Numerators, and Denominators for Stacking Fractions
61122-61398 Discretionary Ligatures: bb to ffk
61125-61148 Selected Ligatures from the Medieval Unicode Font Initiative
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
guest9
Posts: 8
Joined: Sun Sep 01, 2013 7:48 am

Re: Composite problem

Post by guest9 »

Thank you for the long explanation, it helps a lot!
Post Reply