# IsFixedPitch to disable metrics adjustment

**URL:** <https://forum.glyphsapp.com/t/isfixedpitch-to-disable-metrics-adjustment/12370>\
**Category:** Uncategorized\
**Created:** [August 19, 2019, 1:38pm UTC](https://forum.glyphsapp.com/t/isfixedpitch-to-disable-metrics-adjustment/12370 "2019-08-19T13:38:33Z")\
**Posts on this page:** 11\
**Page:** 2

<div class="post-metadata">

**Author:** ![Cormullion](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/cormullion/32/33901_2.png) [@Cormullion](https://forum.glyphsapp.com/u/Cormullion)\
**Post date:** [February 11, 2021, 11:38am UTC](https://forum.glyphsapp.com/t/isfixedpitch-to-disable-metrics-adjustment/12370/22 "2021-02-11T11:38:05Z")

</div>

On Linux (I think) they might use `font-config` to check whether a font is monospaced or not. On macOS, I can run something like this:

```auto
fc-query IBMPlexMono-Regular.ttf | grep spacing
	spacing: 100(i)(s)

```

where a value of 100 is good (= monospace, apparently). Whereas:

```auto
fc-query IBMPlexSansCondensed-Regular.ttf | grep spacing

```

gives nothing, and means that the font isn’t going to be treated as monospaced.

I think this test determines whether some software recognises a font as being monospaced.

---

<div class="post-metadata">

**Author:** ![oneweioranother](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/oneweioranother/32/273_2.png) [@oneweioranother](https://forum.glyphsapp.com/u/oneweioranother)\
**Post date:** [August 8, 2022, 4:42am UTC](https://forum.glyphsapp.com/t/isfixedpitch-to-disable-metrics-adjustment/12370/23 "2022-08-08T04:42:18Z")

</div>

What’s the behaviour in the end here? What happens to zero width glyphs like combining diagritics and zero width space for example?

---

<div class="post-metadata">

**Author:** ![GeorgSeifert](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/georgseifert/32/259_2.png) [@GeorgSeifert](https://forum.glyphsapp.com/u/GeorgSeifert)\
**Post date:** [September 1, 2022, 8:13pm UTC](https://forum.glyphsapp.com/t/isfixedpitch-to-disable-metrics-adjustment/12370/24 "2022-09-01T20:13:17Z")

</div>

Separators ( are excluded from the width syncing. But all (other) glyphs need to be the same width. So it needs some GPOS trickery to make them work as expected.

---

<div class="post-metadata">

**Author:** ![Mark](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/mark/32/20784_2.png) [@Mark](https://forum.glyphsapp.com/u/Mark)\
**Post date:** [July 29, 2023, 4:12pm UTC](https://forum.glyphsapp.com/t/isfixedpitch-to-disable-metrics-adjustment/12370/25 "2023-07-29T16:12:58Z")

</div>

I wonder how one should approach coding ligatures that are not one unit wide, but 2 or 3 units. When I have the `isFixedPitch` CP active, I cannot make any glyph wider than one unit.

When I disable it, I can, but then I loose the fixed pitched info, I assume?

Will the `.monospace` number value help in any way? What is that for exactly and is it needed? If I add/use that, I also cannot give the ligatures any other width than the one unit.

---

<div class="post-metadata">

**Author:** ![GeorgSeifert](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/georgseifert/32/259_2.png) [@GeorgSeifert](https://forum.glyphsapp.com/u/GeorgSeifert)\
**Post date:** [July 29, 2023, 4:32pm UTC](https://forum.glyphsapp.com/t/isfixedpitch-to-disable-metrics-adjustment/12370/26 "2023-07-29T16:32:37Z")

</div>

To make a proper monospace font, all glyphs HAVE to be the same width. You need to add GPOS to make them wider or narrower (for combining marks).

---

<div class="post-metadata">

**Author:** ![Mark](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/mark/32/20784_2.png) [@Mark](https://forum.glyphsapp.com/u/Mark)\
**Post date:** [July 29, 2023, 4:47pm UTC](https://forum.glyphsapp.com/t/isfixedpitch-to-disable-metrics-adjustment/12370/27 "2023-07-29T16:47:11Z")

</div>

Ah, so the glyph keeps the normal one unit width and then exceeds to the right outside the RSB. And then GPOS would look like `pos hyphen_hyphen_greater.dlig <0 0 1200 0>;` or even `pos hyphen_hyphen_greater.dlig <0 0 ${.monospace*2} 0>;`

That seems to work 👌  
Love it. Thanks a lot! Happy to finally have a way to implement these in the hopefully most-Glyphs-compatible appraoach.

---

<div class="post-metadata">

**Author:** ![GeorgSeifert](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/georgseifert/32/259_2.png) [@GeorgSeifert](https://forum.glyphsapp.com/u/GeorgSeifert)\
**Post date:** [July 29, 2023, 6:08pm UTC](https://forum.glyphsapp.com/t/isfixedpitch-to-disable-metrics-adjustment/12370/28 "2023-07-29T18:08:37Z")

</div>

That requirement is in the OpenType spec.

---

<div class="post-metadata">

**Author:** ![Mark](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/mark/32/20784_2.png) [@Mark](https://forum.glyphsapp.com/u/Mark)\
**Post date:** [July 29, 2023, 6:19pm UTC](https://forum.glyphsapp.com/t/isfixedpitch-to-disable-metrics-adjustment/12370/29 "2023-07-29T18:19:11Z")

</div>

Sure, i meant the proper handling of glyphs that are wider than one unit inside of Glyphs 😉  
In the past I tried a lot of off approaches, which all felt hacky and wrong.

---

<div class="post-metadata">

**Author:** ![GeorgSeifert](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/georgseifert/32/259_2.png) [@GeorgSeifert](https://forum.glyphsapp.com/u/GeorgSeifert)\
**Post date:** [July 29, 2023, 10:05pm UTC](https://forum.glyphsapp.com/t/isfixedpitch-to-disable-metrics-adjustment/12370/30 "2023-07-29T22:05:55Z")

</div>

For ligatures, you also could use contextual alternates that look like the ligature when next to each other.

---

<div class="post-metadata">

**Author:** ![Mark](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/mark/32/20784_2.png) [@Mark](https://forum.glyphsapp.com/u/Mark)\
**Post date:** [July 30, 2023, 8:25am UTC](https://forum.glyphsapp.com/t/isfixedpitch-to-disable-metrics-adjustment/12370/31 "2023-07-30T08:25:31Z")

</div>

It’s more about things like arrows, that form from combinations like `-->` and need to keep the width of the single units combined. I’d rather draw the long arrow into one glyph instead of piecing it together from alternates. Or maybe for some glyphs single pieces could work indeed 🤔

For things like `::` where the middle gap might need horizontal reduction, it certainly could be an option. But for this I consider using GPOS, too.

---

<div class="post-metadata">

**Author:** ![jkutilek](https://forum.glyphsapp.com/user_avatar/forum.glyphsapp.com/jkutilek/32/29173_2.png) [@jkutilek](https://forum.glyphsapp.com/u/jkutilek)\
**Post date:** [August 4, 2023, 1:03pm UTC](https://forum.glyphsapp.com/t/isfixedpitch-to-disable-metrics-adjustment/12370/32 "2023-08-04T13:03:08Z")

</div>

FWIW, PowerShell seems to ignore the “GPOS trickery” (setting advance widths of combining marks to 0) completely, and centers the resulting glyph inside the double width:

![Bildschirmfoto 2023-08-04 um 15.02.10](https://forum.glyphsapp.com/uploads/default/original/3X/9/6/96770bf199ddb52bde521fab8443fee9f4112904.png)

[Previous page](https://forum.glyphsapp.com/t/isfixedpitch-to-disable-metrics-adjustment/12370.md?page=1)
