Composite glyphs

We speak about compound glyphs, for example uni1EA4 (Latin Capital Letter A with circumflex and acute).
In some cases the glyph exists as a whole in the font, in other cases the glyph is composed of two glyphs, sometimes with the use of an anchor.
Finally, in some fonts there are, while in others they are absent,  the ranges of the glyphs modifier (from slot 688) and combinig (from slot  768).
What is the most functional procedure to create these composite glyphs?
«1

Comments

  • There really is no “best” way when it comes to creating precomposed glyphs. The easiest/most efficient way is really determined by the font-creation software that you're using.

    The only thing worth pointing out here is that combining accent marks are generally more useful than the spacing modifier versions of these accents, and there are numerous combining accents which have no encoded spacing glyphs. So if you're only going to include one of these sets, go with the combining forms.
  • mauro sacchetto
    mauro sacchetto Posts: 353
    edited July 2019
    At present, I'm working about the glyphs of 7680 - 7292 slots. Some of them have different accent marks, - as you know very well -, circumflex + accent, tilde + accent and so on.  Is it useful to use anchors too?
    In a guide online I read:
    A warning about mark attachments: Not all software supports them. And even more confusing software may support them for some scripts and not for others.


  • Peter Baker
    Peter Baker Posts: 190
    A lot of very important apps do support mark attachments: especially MS Word and all the major browsers. I think they are essential in any font.
  • Even if you decide not to include mark attachment lookups, it is still beneficial to use anchors to position marks.

    We have a tutorial, aimed at FontCreator but also works with most other professional font editors, that explains the benefits of anchor based positioning:




  • There is also an Diacritic tutorial for Glyphs: https://glyphsapp.com/tutorials/diacritics
  • Thank you. Now, let me study how anchors work...
  • The user and all related content has been deleted.
  • Thomas Phinney
    Thomas Phinney Posts: 2,883
    Basically, there is no good reason NOT to have combining accents in your font. You need to create the outlines anyway, just to make accented characters. Filling the non-combining accent slots does not support a lot of use cases (except when somebody wants to use an accent by itself, like when writing about accents). The combining accents allow character combinations you may have never considered to work.

    If you want to have both, it is easy to make one as a set of differently-spaced composites based on the other. (Combining accents are normally non-spacing.)
  • mauro sacchetto
    mauro sacchetto Posts: 353
    edited July 2019
    If you want to have both, it is easy to make one as a set of differently-spaced composites based on the other. (Combining accents are normally non-spacing.)
    About this useful clarification: since the lookups, as I can see, are Mark Positioning and Mark to Mark, in practice the first one serves to connect a basic glyph to its accents and the second one to connect multiple accents, to be connected in turn to the glyph base. Is it right?


  • Adam Jagosz
    Adam Jagosz Posts: 689
    Anchors are such a waste of time.
    If your process is not well streamlined.
  • The user and all related content has been deleted.
  • Paul Miller
    Paul Miller Posts: 273
    The new version of Font Creator, version 12 automates the process of placing anchors which can save you a lot of time if you get the sequence correct.
    It will place all the necessary anchors in the glyphs and in the diacritic marks but the automated process doesn't always get them in the right place so it is best to review the placement and correct them before creating the composite characters (without using the option to re-position the anchors) otherwise it could end up wasting some time.
    If you get the sequence correct it does save a lot of time.
  • The user and all related content has been deleted.
  • Thomas Phinney
    Thomas Phinney Posts: 2,883
    edited July 2019
    Personally, I would be happy with being able to summon automatic anchor placement, on all selected glyphs or the entire font, which I could then modify to my liking. It saves me creating and naming the anchors, even if it requires occasional repositioning. I am currently working on a variable font which will have quite large number of masters. I am happy to have anchors as a tool for this purpose.

    FontLab VI has a fair bit of automation for this, although I do have to tell it to make anchors on a glyph-by-glyph basis.

    For base glyphs, the y-position of the anchor can be deduced from whether it is uppercase or lowercase. The x-position of the anchor will sometimes need manual tweaking, but some simple heuristics can at least get it in the right area, to start.

    For combining marks, the anchor position is going to be the same for all of them, anyway. A pref could indicate whether the initial position is relative to x-height or relative to cap-height. Or the app could reasonably deduce this from the marks’ y-positioning.

    One major advantage of this is, if I make tweaks later on to glyph widths, whether it is the sidebearings or the marking portions, and move the anchor accordingly, all the composites can get updated automatically. No more “did I remember to update the accented characters after I made that change?”

    Also, the benefit of anchors rises depending on the number of accented glyphs one is doing. If only western European accented Latin, it is “nice” but not exceptional. As one gets further into central European and extended Latin, perhaps with polytonic Greek and extended Cyrillic as well, the benefits increase dramatically.
  • Mark Simonson
    Mark Simonson Posts: 1,734
    Glyphs has a command to add all the usual anchors to both bases and marks all at once for selected glyphs. You can adjust positions afterwards if needed.

    On new designs, this is a huge time saver. I design my base glyphs and marks (combining accents) first, set all the anchors, and, when all is ready, generate all the accented characters in one fell swoop. Once this is done, any adjustments to anchor positions or bases or marks take effect immediately.

    The side benefit is that, once the anchors are present and set up this way, Glyphs will automatically generate the mark-to-base and mark-to-mark features.

    I have not run into any problems with this workflow. I have better control over placement of accents than before, less chance of missing something, and less endless tedium.
  • Paul Miller
    Paul Miller Posts: 273
    edited July 2019
    I have found that any "automated" feature in a type design workflow causes more problems then it solves.
    I would not be happy just accepting the results without checking them, Font Creator gets most of them correct most of the time and the ones which are misplaced are easily moved.  It is a good starting point but not an endpoint and it does save time.  It gets them at the correct height but it isn't so good at determining the optical centre of a glyph.
  • mauro sacchetto
    mauro sacchetto Posts: 353
    edited July 2019
    As always, a noob question.
    I created a Mark Positioning lookup and so far everything went smoothly. The process is not that complicated, even if I understand the time it takes. However, the subsequent generation of accented glyphs is rapid.
    A doubt instead on the creation of the Mark to Mark lookup.
    There are glyphs where the composite diacritics are differently positioned.
    Let me clarify.
    Consider for example the uni022B glyphs (Latin Small Letter o with dieresis and macron) and uni1E4F (Latin Small Letter o with tilde and dieresis). It is evident that the dieresis is the lowest diacritic in the first case and the highest in the second case.
    Which glyph should be considered Base and which Mark? Do I have to create two different Anchor Classes in the same lookup by entering the dieresis once as a Base and one as Mark? Or what other technique should be followed?

  • Paul Miller
    Paul Miller Posts: 273

    Which glyph should be considered Base and which Mark? Do I have to create two different Anchor Classes in the same lookup by entering the dieresis once as a Base and one as Mark? Or what other technique should be followed?


    The Mark to Mark lookups are for stacking diacritics.
    Normal glyphs should be considered the Base character and diacritic marks should be considered as being the Mark character but each diacritic can also be a Base character for another diacritic.
    The Mark to Mark lookups set the position of a diacritic mark relative to another diacritic mark.
    When you use a diacritic mark with a base character then it is re-positioned so that it's mark anchor is in the same place as the base characters base anchor thus re-positioning the diacritic mark to be in the correct position relative to the base character it is being used with.  These positions are given in the Mark to Base lookups.
    If another diacritic mark then follows it is re-positioned so that it's mark anchor is in the same position as the base anchor of the previous diacritic mark.  These positions are given in the Mark to Mark lookups.
    So in answer to your question there are two different lookup tables which serve different purposes.
  • This applies especially to nearby or overlapping diacritics.

    What is the procedure for distant diacritics?
    For example, Latin Capital Letter O with horn and dot below (uni1EE2), or Latin Small Letter r with dot below and macron (uni1E5D)...

  • Paul Miller
    Paul Miller Posts: 273
    There is no distinction between diacritics which are overlapping, near or far away.  They are all treated exactly the same.
    In my fonts diacritics which are above the glyphs are positioned relative to an anchor which I have called 'above' and diacritics which are below the glyph are positioned relative to an anchor which I have called 'below'.  The horn is placed relative to an anchor which I have called 'horn'.  There are also other anchor points, in all about five lookup tables for the positioning of diacritics relative to glyphs and a further two for the positioning of diacritics relative to other diacritics.
  • In your Munson (downloaded from FontSquirrel) I find 6 lookup.
    Now I begin to study the case...
  • Thomas Phinney
    Thomas Phinney Posts: 2,883
    Although I am fond of anchors and automatic positioning, not every accent can be handled well in this way.

    For the horn, in particular, if one is finicky about quality, positioning relative to the U is tricky, and usually the shape needs adjustment to blend into the O nicely.

    Similar issues exist for the ogonek.

    The cedilla and non-attached accents are generally fine with using anchors.

    (Note: the horn is required for Vietnamese, and the ogonek for Polish, Lithuanian, and a number of less commonly-supported languages.)
  • ... not every accent can be handled well in this way.
    Yes, I realized it...

    A last little aestetic question: in the case os composite glyphs as circumflex -acute / grave, do you prefer to set there glyphs the first one below and the second one above, or set them 
    next to each other, on the same baseline?
  • Thomas Phinney
    Thomas Phinney Posts: 2,883
    With most glyphs, vertical stacking is the norm. My usual approach for the circumflex in particular is sort of in-between, at least for some combinations:


    I’ve seen typefaces in which all the other accent combinations are vertically stacked, but with the circumflex, the grave or acute is placed beside the circumflex instead of above it. I might have guessed this would be due to vertical spacing issues, but that doesn’t match what I see done:


    I am not convinced this is better. Looks pretty weird, particularly given that the grave or acute might end up mostly over a different, adjacent letter.
  • There are fonts where the proportions make it easier to choose between these two options.
    In fact, stacking the two diacritics produces not so good results at the height.
    The mixed solution indicated by @Thomas is probably the best for certain glyphs.
    However, in the case of the font I'm working on, this mixed solution is made difficult by the rather conspicuous size of the diacritics.

    At this point another idea comes to me, I don't know if it is anomalous or distant from the more consolidated practice.
    What if I create accents (grave and acute etc.) that are a little smaller for compound glyphs? What do you think?

  • mauro sacchetto
    mauro sacchetto Posts: 353
    edited July 2019

    Since I proceed by trial and error, I did this:
    - I reduced the circumflex;
    - I produced a smaller acute accent and above all with a greater "slope" (I don't know the correct typographical term to indicate the inclination of a glyph).
    Here is the current result:

    The end justifies the means?
  • Peter Baker
    Peter Baker Posts: 190
    I've never seen diacritics lined up horizontally before: to me it looks horrible. There's an interesting-looking online book devoted to Vietnamese typography, by one Donny Trương (scroll all the way down for the table of contents), which appears to address the problem of stacking diacritics pretty thoroughly. (Vietnamese being, of course the nightmare case for stacked diacritics, but also very beautiful when it's done well.)
  • Thanks for letting me know about that text. I admit that I am completely oblivious to the Vietnamese language ...
    It seems to me that the solution proposed here is very similar to the wise mixed solution of @Thomas.
    In this line I think my experiment is also going.
    Suggestions to improve it?
  • Peter Baker
    Peter Baker Posts: 190
    edited July 2019
    What Thomas suggests seems to me the standard practice for Vietnamese. I do like your idea of making the second diacritic smaller: it looks good to me.
  • Paul Miller
    Paul Miller Posts: 273
    For the letters which need double diacritics (especially the capitals) I often make a set of low profile diacritics which I can substitute for the full height diacritics.  I used to put them in the PUA but in more recent fonts I have them unmapped and only used in composites and acessible via Open Type.