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!
[NO BUG] Composite Problem
-
- Moderator
- Posts: 11158
- Joined: Fri Oct 04, 2002 12:41 am
- Location: Bilthoven, The Netherlands
- Contact:
Re: Composite problem
It is probably the font which contains the wrong outline for the specific character.
Re: Composite problem
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?
-
- Top Typographer
- Posts: 9878
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Composite problem
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.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?
It is documented in the help file and the linked tutorial on Using Complete Composites.
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.
Re: Composite problem
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?
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?
-
- Top Typographer
- Posts: 9878
- Joined: Tue Oct 29, 2002 5:28 am
- Location: Seven Kings, London UK
- Contact:
Re: Composite problem
There's a comprehensive list in the Appendix in the PDF for the Tutorial on Using Glyph Transformations linked to in the Tutorial Thread.guest9 wrote:Is there a list out somewhere about these defined characters in the PUA so I can avoid them?
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
Re: Composite problem
Thank you for the long explanation, it helps a lot!