Question re Paste special/Mappings

I am a new user, and having trouble understanding the information in the manual and help re what is supposed to happen when you copy a character from the glyph overview window, then use paste special to paste it to another character and paste the mappings as well as the glyph contours.

First of all, I assume that a given character can be associated with only 1 glyph, but 1 glyph can be used to represent multiple characters.

To simplify my question, let’s assume my font contains only 2 glyphs, the contours that look like an ‘A’ and a ‘B’, and they are mapped to CHARACTER A (ASCII 65) and CHARACTER B (ASCII 66), respectively.

Let’s say I copy the 1st glyph and paste glyph contours and glyph mappings, and I choose “Keep same mappings”. After the paste, both of my characters have the contour of an A. The 1st is mapped to ASCII A (65), and the 2nd is mapped to ASCII 66 (B) – same as before the paste. The text ABAB (ASCII 65,66,65,66) will print/display as AAAA since A and B now have the same contours. How does this differ from not pasting mappings at all??

OTOH, if I paste the contours and mappings and “overrule same mappings”, after the paste, the 1st glyph (looks like ‘A’) is not mapped to any character and the 2nd glyph (also looks like ‘A’) is mapped to ASCII 65, and no glyph is mapped to ASCII 66. i.e. my font now has 2 glyphs (both look like A), but only 1 character, A, ASCII 65. If I type ABAB, the test window shows AA, where is the symbol for ‘not defined’.

I don’t understand the use of the word “overrule”. Does this mean “replace”. And the word “same”. What 2 things are the same? My source glyph was mapped to 65, and the 2nd to 66.

In my words, this option seems to mean “replace the mapping of the destination glyph with the mapping of the source glyph, and, since a character can be mapped to only 1 glyph, remove the mappings of the source glyph”. Is this correct?

The 3rd option, “add mappings”, I think I understand: after the paste the source glyph again has no mapping, and the 2nd glyph looks like an A and it is mapped to both character A and character B. So If I type ABAB (ASCII 65,66,65,66), I will see AAAA.

In what situations would you use each of the 3 options for pasting mappings?

It seems to me that if you choose to paste mappings, there should be only 2 choices, (a) replace the destination glyph’s mappings with those of the source glyph, or (b) add the source glyph’s mappings to those of the destination glyph, i.e. the 1st option, “keep same” isn’t needed.

Am I wrong? Probably. But please help me to understand where I am going astray.

There are lots of ways to use paste special — I use it frequently, not only within a single font, but also from one font to another. All four typestyles of one font should contain the same glyphs. The mappings are identical but the outlines are different. The metrics should sometimes be the same and should sometimes be different.

  • Paste contours and metrics (the default) is the same as paste. The mappings of the target glyph won’t be replaced.
  • Paste metrics only to make the spacing of two fonts identical, to make currency and maths symbols the same width as digits, or to make all fractions the same width, etc.
  • Paste mappings, keep same mappings only pastes the mappings if they don’t already exist elsewhere in the font. No need to search the font to check, the unmapped glyphs after pasting will inform you that the glyphs already exist.
  • Paste mappings, overrule same mappings, always pastes the mappings making the other glyph redundant by removing its mapping if it exists.

Paste mappings, keep same mappings only pastes the mappings if they don’t already exist elsewhere in the font.

Again, I’m missing something. How can the mappings of the source glyph “exist elsewhere in the font”? I didn’t think you could map two glyphs to the same Unicode number. I thought that if this situation existed, it would indicate an error or corrupt font.

If that is allowed, what will happen at print time? Example: if you have the shape that we usually associate with A and the shape we associate with B both mapped to character 65, what would be printed when the text contains ASCII code 65? Does it print the 1st mapping, the 2nd, both, neither?

I tried to create this situation – a mapping occurring twice in the font – but FC won’t let me do it.

Just now, I selected ‘A’, currently mapped to 65, and in the properties/mappings window said to add value 66. I got a warning message. I said to overrule the [existing] mapping. This gave me an ‘A’ contour mapped to codes 65 and 66, and the ‘B’ contour lost its mapping.

BUT (and this may be a bug) the glyph overview window did NOT change to show that the B shape was no longer mapped.

OTOH, if I responded to the warning with ‘no’, the 66 mapping was not added to the ‘A’. So I could not accomplish my goal – to have two glyphs mapped to 66.

So I am still confused. Can you try again to explain?

It is taking too much time. Maybe I will get around to writing a tutorial on this one day, but I am busy now with other work. I expect you will figure it out after a while.

Open two fonts and copy and paste from one to the other.

Don’t worry about it. Erwin explained it, and quite simply. This situation can occur when you are copying from one font to another (but presumably not when copying between two characters WITHIN a font, which is what I was thinking about).

Thank you for your help.

THANK YOU, Erwin!!!

I was thinking only in terms of copying and pasting within a single font. The purpose is obvious once you think in terms of the right situation – pasting between fonts.

Erwin: did you note my comment from a previous message, i.e.

“…and the ‘B’ contour lost its mapping. …BUT (and this may be a bug) the glyph overview window did NOT change to show that the B shape was no longer mapped.”

Is this a bug? Does it need fixing?

I’m not able to reproduce it here, so please send me the font file and I’ll look into it.

No need to send the font, as this happened with several fonts, and I think I have the explanation: “pilot error”. :frowning:

I selected A, and added 66 to the Microsoft mapping, thus removing the mapping from B.

But I did that only for the Microsoft mapping, and not the Macintosh Roman mapping. In this situation, there was no little box around the dot to the left of the caption (I assume because it is mapped in the Mac font).

If I remove the Macintosh mapping, too, then the box indicating an unmapped character does appear.

Sorry for the “false alarm”. As I said, I’m just starting out with the program.