Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Agu Display: Version 1.103 added #8487

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

n8willis
Copy link
Collaborator

@n8willis n8willis commented Nov 14, 2024

No description provided.

This comment was marked as outdated.

@n8willis
Copy link
Collaborator Author

Updated

@n8willis n8willis force-pushed the gftools_packager_ofl_agudisplay branch from 81fe77a to e165274 Compare November 14, 2024 12:58

This comment was marked as outdated.

@n8willis n8willis added II Commissioned Commissioned project to do II African Mostly west african non-latin and African indigenous scripts II Custom axes Contains unregistered MS axis (even if registered by GF) P2 labels Nov 14, 2024
@m4rc1e m4rc1e force-pushed the gftools_packager_ofl_agudisplay branch from e165274 to d51351c Compare November 14, 2024 14:47
Copy link

FontBakery report

fontbakery version: 0.13.0a5

Check results

[19] AguDisplay[MORF].ttf
💥 ERROR Familyname must be unique according to namecheck.fontdata.com
	You can exclude this check with the command line option:
	-x fontdata_namecheck

	Or you can wait until the service is available again.
	If the problem persists please report this issue at: https://github.com/fonttools/fontbakery/issues

	Original error message:
	<class 'requests.exceptions.ConnectionError'>

[code: namecheck-service]

🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field.
🔥 FAIL Shapes languages in all GF glyphsets.
  • 🔥 FAIL

    GF_Phonetics_SinoExt glyphset:

FAIL messages Languages
Shaper didn't attach acutecomb to j nl_Latn (Dutch)
Shaper didn't attach acutecomb to J nl_Latn (Dutch)
The locl feature did not affect Eng bm_Latn (Bambara), dyu_Latn (Dyula), ig_Latn (Igbo), lg_Latn (Ganda), bkm_Latn (Kom), tnr_Latn (Ménik), gde_Latn (Gude), bsc_Latn (Bassari), ee_Latn (Ewe), ken_Latn (Kenyang) and 250 more.
Shaper didn't attach tildecomb to r ha_Latn (Hausa) and ha_Latn (Hausa)
Shaper didn't attach tildecomb to R ha_Latn (Hausa) and ha_Latn (Hausa)
Shaper didn't attach acutecomb to uni1ECB ig_Latn (Igbo), mhi_Latn (Ma’di), abn_Latn (Abua), avu_Latn (Avokaya), ig_Latn (Igbo), igb_Latn (Ebira), ikw_Latn (Ikwere), kbo_Latn (Keliko) and ijs_Latn (Ijo, Southeast)
Shaper didn't attach acutecomb to uni1ECA ig_Latn (Igbo), mhi_Latn (Ma’di), abn_Latn (Abua), avu_Latn (Avokaya), ig_Latn (Igbo), igb_Latn (Ebira), ikw_Latn (Ikwere), kbo_Latn (Keliko) and ijs_Latn (Ijo, Southeast)
Shaper didn't attach gravecomb to uni1ECB ig_Latn (Igbo), ig_Latn (Igbo), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach gravecomb to uni1ECA ig_Latn (Igbo), ig_Latn (Igbo), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach gravecomb to m ig_Latn (Igbo), yo_Latn (Yoruba), nup_Latn (Nupe-Nupe-Tako), yo_Latn (Yoruba), ig_Latn (Igbo), kyq_Latn (Kenga), mev_Latn (Mano), ikw_Latn (Ikwere), gvl_Latn (Gulay), jgo_Latn (Ngomba) and 4 more.
Shaper didn't attach gravecomb to M ig_Latn (Igbo), yo_Latn (Yoruba), nup_Latn (Nupe-Nupe-Tako), yo_Latn (Yoruba), ig_Latn (Igbo), kyq_Latn (Kenga), mev_Latn (Mano), ikw_Latn (Ikwere), gvl_Latn (Gulay), jgo_Latn (Ngomba) and 4 more.
Shaper didn't attach acutecomb to uni1ECD ig_Latn (Igbo), yo_Latn (Yoruba), mhi_Latn (Ma’di), yo_Latn (Yoruba), abn_Latn (Abua), ig_Latn (Igbo), ish_Latn (Esan), igb_Latn (Ebira), ikw_Latn (Ikwere), kbo_Latn (Keliko), ijs_Latn (Ijo, Southeast) and pcm_Latn (Nigerian Pidgin)
Shaper didn't attach acutecomb to uni1ECC ig_Latn (Igbo), yo_Latn (Yoruba), mhi_Latn (Ma’di), yo_Latn (Yoruba), abn_Latn (Abua), ig_Latn (Igbo), ish_Latn (Esan), igb_Latn (Ebira), ikw_Latn (Ikwere), kbo_Latn (Keliko), ijs_Latn (Ijo, Southeast) and pcm_Latn (Nigerian Pidgin)
Shaper didn't attach gravecomb to uni1ECD ig_Latn (Igbo), yo_Latn (Yoruba), yo_Latn (Yoruba), ig_Latn (Igbo), ann_Latn (Obolo), ish_Latn (Esan), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach gravecomb to uni1ECC ig_Latn (Igbo), yo_Latn (Yoruba), yo_Latn (Yoruba), ig_Latn (Igbo), ann_Latn (Obolo), ish_Latn (Esan), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach acutecomb to uni1EE5 ig_Latn (Igbo), mhi_Latn (Ma’di), abn_Latn (Abua), ig_Latn (Igbo), igb_Latn (Ebira), ikw_Latn (Ikwere), kbo_Latn (Keliko) and ijs_Latn (Ijo, Southeast)
Shaper didn't attach acutecomb to uni1EE4 ig_Latn (Igbo), mhi_Latn (Ma’di), abn_Latn (Abua), ig_Latn (Igbo), igb_Latn (Ebira), ikw_Latn (Ikwere), kbo_Latn (Keliko) and ijs_Latn (Ijo, Southeast)
Shaper didn't attach gravecomb to uni1EE5 ig_Latn (Igbo), ig_Latn (Igbo), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach gravecomb to uni1EE4 ig_Latn (Igbo), ig_Latn (Igbo), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach acutecomb to uni1EB9 yo_Latn (Yoruba), mhi_Latn (Ma’di), yo_Latn (Yoruba), abn_Latn (Abua), ish_Latn (Esan), igb_Latn (Ebira), ikw_Latn (Ikwere), kbo_Latn (Keliko), ijs_Latn (Ijo, Southeast) and pcm_Latn (Nigerian Pidgin)
Shaper didn't attach gravecomb to uni1EB8 yo_Latn (Yoruba), yo_Latn (Yoruba), ish_Latn (Esan), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach gravecomb to uni1EB9 yo_Latn (Yoruba), yo_Latn (Yoruba), ish_Latn (Esan), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach acutecomb to uni1EB8 yo_Latn (Yoruba), mhi_Latn (Ma’di), yo_Latn (Yoruba), abn_Latn (Abua), ish_Latn (Esan), igb_Latn (Ebira), ikw_Latn (Ikwere), kbo_Latn (Keliko), ijs_Latn (Ijo, Southeast) and pcm_Latn (Nigerian Pidgin)
Shaper didn't attach gravecomb to ae bkm_Latn (Kom), dnj_Latn (Dan) and tik_Latn (Tikar)
Shaper didn't attach uni0302 to OE bkm_Latn (Kom), ozm_Latn (Koonzime) and dnj_Latn (Dan)
Shaper didn't attach uni0302 to oe bkm_Latn (Kom) and ozm_Latn (Koonzime)
Shaper didn't attach gravecomb to AE bkm_Latn (Kom), dnj_Latn (Dan) and tik_Latn (Tikar)
Shaper didn't attach uni0302 to uni0197 bkm_Latn (Kom), mnf_Latn (Mundani), nzk_Latn (Nzakara), fvr_Latn (Fur), ozm_Latn (Koonzime), nfu_Latn (Mfumte), bfd_Latn (Bafut), lgg_Latn (Lugbara), lnl_Latn (South Central Banda), mcp_Latn (Makaa) and agq_Latn (Aghem)
Shaper didn't attach gravecomb to uni0197 bkm_Latn (Kom), dur_Latn (Dii), mnf_Latn (Mundani), nfu_Latn (Mfumte), bfd_Latn (Bafut), lgg_Latn (Lugbara), gvl_Latn (Gulay), mge_Latn (Mango) and agq_Latn (Aghem)
Shaper didn't attach uni0302 to AE bkm_Latn (Kom), dnj_Latn (Dan) and tik_Latn (Tikar)
Shaper didn't attach uni0302 to ae bkm_Latn (Kom), dnj_Latn (Dan) and tik_Latn (Tikar)
Shaper didn't attach gravecomb to oe bkm_Latn (Kom)
Shaper didn't attach gravecomb to uni0268 bkm_Latn (Kom), dur_Latn (Dii), mnf_Latn (Mundani), nfu_Latn (Mfumte), bfd_Latn (Bafut), lgg_Latn (Lugbara), gvl_Latn (Gulay), mge_Latn (Mango) and agq_Latn (Aghem)
Shaper didn't attach uni0302 to uni0268 bkm_Latn (Kom), mnf_Latn (Mundani), nzk_Latn (Nzakara), fvr_Latn (Fur), ozm_Latn (Koonzime), nfu_Latn (Mfumte), bfd_Latn (Bafut), lgg_Latn (Lugbara), lnl_Latn (South Central Banda), mcp_Latn (Makaa) and agq_Latn (Aghem)
Shaper didn't attach gravecomb to OE bkm_Latn (Kom)
Shaper didn't attach uni0302 to S tnr_Latn (Ménik), bsc_Latn (Bassari), mfv_Latn (Mandjak) and mey_Latn (Hassaniyya)
Shaper didn't attach uni0302 to s tnr_Latn (Ménik), bsc_Latn (Bassari) and mfv_Latn (Mandjak)
Shaper didn't attach uni0302 to h bsc_Latn (Bassari)
Shaper didn't attach uni0302 to H bsc_Latn (Bassari)
Shaper didn't attach tildecomb to h bsc_Latn (Bassari)
Shaper didn't attach tildecomb to H bsc_Latn (Bassari)
Shaper didn't attach tildecomb to w bsc_Latn (Bassari) and tcd_Latn (Tafi)
Shaper didn't attach tildecomb to W bsc_Latn (Bassari) and tcd_Latn (Tafi)
Shaper didn't attach acutecomb to uni0190 ee_Latn (Ewe), bbj_Latn (Ghomala), tcd_Latn (Tafi), soy_Latn (Miyobe), sld_Latn (Sissala), ewo_Latn (Ewondo), bqc_Latn (Boko), lu_Latn (Luba-Katanga), emk_Latn (Maninkakan, Eastern), nga_Latn (Ngbaka) and 55 more.
Shaper didn't attach tildecomb to uni0254 ee_Latn (Ewe), tcd_Latn (Tafi), soy_Latn (Miyobe), sld_Latn (Sissala), ife_Latn (Ifè), bqc_Latn (Boko), nga_Latn (Ngbaka), wwa_Latn (Waama), biv_Latn (Birifor, Southern), box_Latn (Buamu) and 23 more.
Shaper didn't attach tildecomb to uni025B ee_Latn (Ewe), tcd_Latn (Tafi), soy_Latn (Miyobe), sld_Latn (Sissala), ife_Latn (Ifè), bqc_Latn (Boko), nga_Latn (Ngbaka), wwa_Latn (Waama), biv_Latn (Birifor, Southern), box_Latn (Buamu) and 24 more.
Shaper didn't attach gravecomb to uni0190 ee_Latn (Ewe), bbj_Latn (Ghomala), tcd_Latn (Tafi), byv_Latn (Medumba), ewo_Latn (Ewondo), bqc_Latn (Boko), lu_Latn (Luba-Katanga), emk_Latn (Maninkakan, Eastern), nga_Latn (Ngbaka), wwa_Latn (Waama) and 46 more.
Shaper didn't attach gravecomb to uni025B ee_Latn (Ewe), bbj_Latn (Ghomala), tcd_Latn (Tafi), byv_Latn (Medumba), ewo_Latn (Ewondo), bqc_Latn (Boko), lu_Latn (Luba-Katanga), emk_Latn (Maninkakan, Eastern), nga_Latn (Ngbaka), wwa_Latn (Waama) and 46 more.
Shaper didn't attach acutecomb to uni025B ee_Latn (Ewe), bbj_Latn (Ghomala), tcd_Latn (Tafi), soy_Latn (Miyobe), sld_Latn (Sissala), ewo_Latn (Ewondo), bqc_Latn (Boko), lu_Latn (Luba-Katanga), emk_Latn (Maninkakan, Eastern), nga_Latn (Ngbaka) and 55 more.
Shaper didn't attach gravecomb to uni0186 ee_Latn (Ewe), dur_Latn (Dii), bbj_Latn (Ghomala), tcd_Latn (Tafi), byv_Latn (Medumba), mnf_Latn (Mundani), ewo_Latn (Ewondo), bqc_Latn (Boko), lu_Latn (Luba-Katanga), emk_Latn (Maninkakan, Eastern) and 48 more.
Shaper didn't attach acutecomb to uni0254 ee_Latn (Ewe), dur_Latn (Dii), bbj_Latn (Ghomala), tcd_Latn (Tafi), soy_Latn (Miyobe), sld_Latn (Sissala), ewo_Latn (Ewondo), bqc_Latn (Boko), lu_Latn (Luba-Katanga), emk_Latn (Maninkakan, Eastern) and 59 more.
Shaper didn't attach gravecomb to uni0254 ee_Latn (Ewe), dur_Latn (Dii), bbj_Latn (Ghomala), tcd_Latn (Tafi), byv_Latn (Medumba), mnf_Latn (Mundani), ewo_Latn (Ewondo), bqc_Latn (Boko), lu_Latn (Luba-Katanga), emk_Latn (Maninkakan, Eastern) and 48 more.
Shaper didn't attach tildecomb to uni0190 ee_Latn (Ewe), tcd_Latn (Tafi), soy_Latn (Miyobe), sld_Latn (Sissala), ife_Latn (Ifè), bqc_Latn (Boko), nga_Latn (Ngbaka), wwa_Latn (Waama), biv_Latn (Birifor, Southern), box_Latn (Buamu) and 24 more.
Shaper didn't attach acutecomb to uni0186 ee_Latn (Ewe), dur_Latn (Dii), bbj_Latn (Ghomala), tcd_Latn (Tafi), soy_Latn (Miyobe), sld_Latn (Sissala), ewo_Latn (Ewondo), bqc_Latn (Boko), lu_Latn (Luba-Katanga), emk_Latn (Maninkakan, Eastern) and 59 more.
Shaper didn't attach tildecomb to uni0186 ee_Latn (Ewe), tcd_Latn (Tafi), soy_Latn (Miyobe), sld_Latn (Sissala), ife_Latn (Ifè), bqc_Latn (Boko), nga_Latn (Ngbaka), wwa_Latn (Waama), biv_Latn (Birifor, Southern), box_Latn (Buamu) and 23 more.
Shaper didn't attach uni0327 to iacute dur_Latn (Dii), kzr_Latn (Karang), dow_Latn (Doyayo), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach acutecomb to uni0289 dur_Latn (Dii), bbj_Latn (Ghomala), fvr_Latn (Fur), ybb_Latn (Yemba), ozm_Latn (Koonzime), mas_Latn (Masai), fmp_Latn (Fe’fe’), nfu_Latn (Mfumte), lgg_Latn (Lugbara), jgo_Latn (Ngomba) and 4 more.
Shaper didn't attach uni0327 to i dur_Latn (Dii), kkj_Latn (Kako), kzr_Latn (Karang), dow_Latn (Doyayo), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to uni0259 dur_Latn (Dii) and vut_Latn (Vute)
Shaper didn't attach gravecomb to uni0327 dur_Latn (Dii), mnf_Latn (Mundani), dow_Latn (Doyayo) and vut_Latn (Vute)
Shaper didn't attach uni0327 to uacute dur_Latn (Dii), kzr_Latn (Karang), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to o dur_Latn (Dii), mnf_Latn (Mundani), kzr_Latn (Karang), vut_Latn (Vute), neb_Latn (Toura), mcp_Latn (Makaa) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to O dur_Latn (Dii), mnf_Latn (Mundani), kzr_Latn (Karang), vut_Latn (Vute), neb_Latn (Toura), mcp_Latn (Makaa) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach gravecomb to uni0244 dur_Latn (Dii), bbj_Latn (Ghomala), byv_Latn (Medumba), fmp_Latn (Fe’fe’), nfu_Latn (Mfumte), lgg_Latn (Lugbara), nnh_Latn (Ngiemboon), bax_Latn (Bamun (Latin)) and agq_Latn (Aghem)
Shaper didn't attach acutecomb to uni0244 dur_Latn (Dii), bbj_Latn (Ghomala), fvr_Latn (Fur), ybb_Latn (Yemba), ozm_Latn (Koonzime), mas_Latn (Masai), fmp_Latn (Fe’fe’), nfu_Latn (Mfumte), lgg_Latn (Lugbara), jgo_Latn (Ngomba) and 4 more.
Shaper didn't attach uni0327 to Igrave dur_Latn (Dii), dow_Latn (Doyayo) and vut_Latn (Vute)
Shaper didn't attach uni0327 to Iacute dur_Latn (Dii), kzr_Latn (Karang), dow_Latn (Doyayo), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to uni018F dur_Latn (Dii) and vut_Latn (Vute)
Shaper didn't attach uni0327 to Aacute dur_Latn (Dii), kzr_Latn (Karang), dow_Latn (Doyayo), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach acutecomb to uni0327 dur_Latn (Dii), dow_Latn (Doyayo), vut_Latn (Vute), mcp_Latn (Makaa) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach acutecomb to uni0259 dur_Latn (Dii), bbj_Latn (Ghomala), sba_Latn (Ngambay), ewo_Latn (Ewondo), nnw_Latn (Southern Nuni), eto_Latn (Eton, Cameroon), mwm_Latn (Sar), wok_Latn (Longto), ybb_Latn (Yemba), kyq_Latn (Kenga) and 12 more.
Shaper didn't attach uni0327 to I dur_Latn (Dii), kkj_Latn (Kako), kzr_Latn (Karang), dow_Latn (Doyayo), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to Ograve dur_Latn (Dii), mnf_Latn (Mundani) and vut_Latn (Vute)
Shaper didn't attach uni0327 to oacute dur_Latn (Dii), kzr_Latn (Karang), vut_Latn (Vute), mcp_Latn (Makaa) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to U dur_Latn (Dii), mnf_Latn (Mundani), kkj_Latn (Kako), kzr_Latn (Karang), dow_Latn (Doyayo), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to agrave dur_Latn (Dii), mnf_Latn (Mundani), dow_Latn (Doyayo) and vut_Latn (Vute)
Shaper didn't attach uni0327 to a dur_Latn (Dii), mnf_Latn (Mundani), kkj_Latn (Kako), dow_Latn (Doyayo), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach gravecomb to uni0259 dur_Latn (Dii), bbj_Latn (Ghomala), byv_Latn (Medumba), mnf_Latn (Mundani), ewo_Latn (Ewondo), mgo_Latn (Metaʼ), nnw_Latn (Southern Nuni), eto_Latn (Eton, Cameroon), wok_Latn (Longto), kyq_Latn (Kenga) and 11 more.
Shaper didn't attach uni0327 to aacute dur_Latn (Dii), kzr_Latn (Karang), dow_Latn (Doyayo), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to Agrave dur_Latn (Dii), mnf_Latn (Mundani), dow_Latn (Doyayo) and vut_Latn (Vute)
Shaper didn't attach acutecomb to uni0229 dur_Latn (Dii), kzr_Latn (Karang), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to ograve dur_Latn (Dii), mnf_Latn (Mundani) and vut_Latn (Vute)
Shaper didn't attach acutecomb to uni0268 dur_Latn (Dii), fvr_Latn (Fur), ozm_Latn (Koonzime), nfu_Latn (Mfumte), bfd_Latn (Bafut), lgg_Latn (Lugbara), gvl_Latn (Gulay), etu_Latn (Ejagham), mge_Latn (Mango) and mcp_Latn (Makaa)
Shaper didn't attach gravecomb to uni018F dur_Latn (Dii), bbj_Latn (Ghomala), byv_Latn (Medumba), mnf_Latn (Mundani), ewo_Latn (Ewondo), mgo_Latn (Metaʼ), nnw_Latn (Southern Nuni), eto_Latn (Eton, Cameroon), wok_Latn (Longto), kyq_Latn (Kenga) and 11 more.
Shaper didn't attach acutecomb to uni0228 dur_Latn (Dii), kzr_Latn (Karang), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to u dur_Latn (Dii), mnf_Latn (Mundani), kkj_Latn (Kako), kzr_Latn (Karang), dow_Latn (Doyayo), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to Oacute dur_Latn (Dii), kzr_Latn (Karang), vut_Latn (Vute), mcp_Latn (Makaa) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach gravecomb to uni0229 dur_Latn (Dii), mnf_Latn (Mundani) and vut_Latn (Vute)
Shaper didn't attach gravecomb to uni0289 dur_Latn (Dii), bbj_Latn (Ghomala), byv_Latn (Medumba), fmp_Latn (Fe’fe’), nfu_Latn (Mfumte), lgg_Latn (Lugbara), nnh_Latn (Ngiemboon), bax_Latn (Bamun (Latin)) and agq_Latn (Aghem)
Shaper didn't attach uni0327 to A dur_Latn (Dii), mnf_Latn (Mundani), kkj_Latn (Kako), dow_Latn (Doyayo), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to igrave dur_Latn (Dii), dow_Latn (Doyayo) and vut_Latn (Vute)
Shaper didn't attach uni0327 to ugrave dur_Latn (Dii), mnf_Latn (Mundani) and vut_Latn (Vute)
Shaper didn't attach uni0327 to Ugrave dur_Latn (Dii), mnf_Latn (Mundani) and vut_Latn (Vute)
Shaper didn't attach gravecomb to uni0228 dur_Latn (Dii), mnf_Latn (Mundani) and vut_Latn (Vute)
Shaper didn't attach acutecomb to uni018F dur_Latn (Dii), bbj_Latn (Ghomala), sba_Latn (Ngambay), ewo_Latn (Ewondo), nnw_Latn (Southern Nuni), eto_Latn (Eton, Cameroon), mwm_Latn (Sar), wok_Latn (Longto), ybb_Latn (Yemba), kyq_Latn (Kenga) and 12 more.
Shaper didn't attach acutecomb to uni0197 dur_Latn (Dii), fvr_Latn (Fur), ozm_Latn (Koonzime), nfu_Latn (Mfumte), bfd_Latn (Bafut), lgg_Latn (Lugbara), gvl_Latn (Gulay), etu_Latn (Ejagham), mge_Latn (Mango) and mcp_Latn (Makaa)
Shaper didn't attach uni0327 to Uacute dur_Latn (Dii), kzr_Latn (Karang), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0302 to uni0254 bbj_Latn (Ghomala), tcd_Latn (Tafi), byv_Latn (Medumba), mnf_Latn (Mundani), ewo_Latn (Ewondo), nga_Latn (Ngbaka), lol_Latn (Mongo), kkj_Latn (Kako), ln_Latn (Lingala), nmg_Latn (Kwasio) and 21 more.
Shaper didn't attach uni030C to uni0254 bbj_Latn (Ghomala), tcd_Latn (Tafi), byv_Latn (Medumba), mnf_Latn (Mundani), ewo_Latn (Ewondo), nga_Latn (Ngbaka), lol_Latn (Mongo), ln_Latn (Lingala), nmg_Latn (Kwasio), ozm_Latn (Koonzime) and 18 more.
Shaper didn't attach uni030C to uni025B bbj_Latn (Ghomala), tcd_Latn (Tafi), byv_Latn (Medumba), ewo_Latn (Ewondo), nga_Latn (Ngbaka), lol_Latn (Mongo), ln_Latn (Lingala), nmg_Latn (Kwasio), ozm_Latn (Koonzime), grb_Latn (Grebo) and 17 more.
Shaper didn't attach uni030C to uni0186 bbj_Latn (Ghomala), tcd_Latn (Tafi), byv_Latn (Medumba), mnf_Latn (Mundani), ewo_Latn (Ewondo), nga_Latn (Ngbaka), lol_Latn (Mongo), ln_Latn (Lingala), nmg_Latn (Kwasio), ozm_Latn (Koonzime) and 18 more.
Shaper didn't attach uni030C to uni0244 bbj_Latn (Ghomala), byv_Latn (Medumba), fvr_Latn (Fur), ozm_Latn (Koonzime), fmp_Latn (Fe’fe’), nfu_Latn (Mfumte), lgg_Latn (Lugbara), jgo_Latn (Ngomba), nnh_Latn (Ngiemboon), mcp_Latn (Makaa), bax_Latn (Bamun (Latin)) and agq_Latn (Aghem)
Shaper didn't attach uni030C to uni0190 bbj_Latn (Ghomala), tcd_Latn (Tafi), byv_Latn (Medumba), ewo_Latn (Ewondo), nga_Latn (Ngbaka), lol_Latn (Mongo), ln_Latn (Lingala), nmg_Latn (Kwasio), ozm_Latn (Koonzime), grb_Latn (Grebo) and 17 more.
Shaper didn't attach uni0302 to uni018F bbj_Latn (Ghomala), byv_Latn (Medumba), mnf_Latn (Mundani), ewo_Latn (Ewondo), nfu_Latn (Mfumte), bfd_Latn (Bafut), lee_Latn (Lyélé), etu_Latn (Ejagham), gkp_Latn (Kpelle, Guinea), lnl_Latn (South Central Banda) and 3 more.
Shaper didn't attach uni030C to uni0259 bbj_Latn (Ghomala), byv_Latn (Medumba), mnf_Latn (Mundani), ewo_Latn (Ewondo), fmp_Latn (Fe’fe’), nfu_Latn (Mfumte), bfd_Latn (Bafut), lee_Latn (Lyélé), sbd_Latn (Southern Samo), mcp_Latn (Makaa) and bax_Latn (Bamun (Latin))
Shaper didn't attach uni0302 to uni0186 bbj_Latn (Ghomala), tcd_Latn (Tafi), byv_Latn (Medumba), mnf_Latn (Mundani), ewo_Latn (Ewondo), nga_Latn (Ngbaka), lol_Latn (Mongo), kkj_Latn (Kako), ln_Latn (Lingala), nmg_Latn (Kwasio) and 20 more.
Shaper didn't attach uni0302 to uni025B bbj_Latn (Ghomala), byv_Latn (Medumba), ewo_Latn (Ewondo), nga_Latn (Ngbaka), lol_Latn (Mongo), kkj_Latn (Kako), ln_Latn (Lingala), nmg_Latn (Kwasio), ozm_Latn (Koonzime), goa_Latn (Guro) and 20 more.
Shaper didn't attach uni030C to uni0289 bbj_Latn (Ghomala), byv_Latn (Medumba), fvr_Latn (Fur), ozm_Latn (Koonzime), fmp_Latn (Fe’fe’), nfu_Latn (Mfumte), lgg_Latn (Lugbara), jgo_Latn (Ngomba), nnh_Latn (Ngiemboon), mcp_Latn (Makaa), bax_Latn (Bamun (Latin)) and agq_Latn (Aghem)
Shaper didn't attach uni0302 to uni0289 bbj_Latn (Ghomala), byv_Latn (Medumba), nzk_Latn (Nzakara), fvr_Latn (Fur), nfu_Latn (Mfumte), lgg_Latn (Lugbara), jgo_Latn (Ngomba), nnh_Latn (Ngiemboon), etu_Latn (Ejagham), lnl_Latn (South Central Banda) and 3 more.
Shaper didn't attach uni0302 to uni0190 bbj_Latn (Ghomala), byv_Latn (Medumba), ewo_Latn (Ewondo), nga_Latn (Ngbaka), lol_Latn (Mongo), kkj_Latn (Kako), ln_Latn (Lingala), nmg_Latn (Kwasio), ozm_Latn (Koonzime), goa_Latn (Guro) and 20 more.
Shaper didn't attach uni0302 to uni0244 bbj_Latn (Ghomala), byv_Latn (Medumba), nzk_Latn (Nzakara), fvr_Latn (Fur), nfu_Latn (Mfumte), lgg_Latn (Lugbara), jgo_Latn (Ngomba), nnh_Latn (Ngiemboon), etu_Latn (Ejagham), lnl_Latn (South Central Banda) and 3 more.
Shaper didn't attach uni0302 to uni0259 bbj_Latn (Ghomala), byv_Latn (Medumba), mnf_Latn (Mundani), ewo_Latn (Ewondo), nfu_Latn (Mfumte), bfd_Latn (Bafut), lee_Latn (Lyélé), etu_Latn (Ejagham), gkp_Latn (Kpelle, Guinea), lnl_Latn (South Central Banda) and 3 more.
Shaper didn't attach uni030C to uni018F bbj_Latn (Ghomala), byv_Latn (Medumba), mnf_Latn (Mundani), ewo_Latn (Ewondo), fmp_Latn (Fe’fe’), nfu_Latn (Mfumte), bfd_Latn (Bafut), lee_Latn (Lyélé), sbd_Latn (Southern Samo), mcp_Latn (Makaa) and bax_Latn (Bamun (Latin))
Some base glyphs were missing: T͟H, t͟h udu_Latn (Uduk)
Some mark glyphs were missing: ◌͟ udu_Latn (Uduk) and apd_Latn (Sudanese Arabic)
Shaper didn't attach uni0331 to p udu_Latn (Uduk)
Shaper didn't attach uni0331 to c udu_Latn (Uduk)
Shaper didn't attach uni0331 to C udu_Latn (Uduk)
Shaper didn't attach uni0331 to P udu_Latn (Uduk)
Shaper didn't attach uni1DC6 to a tcd_Latn (Tafi), bas_Latn (Basaa) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni1DC6 to A tcd_Latn (Tafi), bas_Latn (Basaa) and btt_Latn (Bete-Bendi)
Shaper didn't attach acutecomb to atilde tcd_Latn (Tafi), sld_Latn (Sissala), ife_Latn (Ifè), bqc_Latn (Boko), nga_Latn (Ngbaka), awc_Latn (Cicipu), box_Latn (Buamu), mev_Latn (Mano), tuz_Latn (Turka), kst_Latn (Winyé) and 6 more.
Shaper didn't attach acutecomb to Atilde tcd_Latn (Tafi), sld_Latn (Sissala), ife_Latn (Ifè), bqc_Latn (Boko), nga_Latn (Ngbaka), awc_Latn (Cicipu), box_Latn (Buamu), mev_Latn (Mano), tuz_Latn (Turka), kst_Latn (Winyé) and 6 more.
Shaper didn't attach uni0302 to atilde tcd_Latn (Tafi), nga_Latn (Ngbaka), awc_Latn (Cicipu) and gna_Latn (Kaansa)
Shaper didn't attach uni0302 to Atilde tcd_Latn (Tafi), nga_Latn (Ngbaka), awc_Latn (Cicipu) and gna_Latn (Kaansa)
Shaper didn't attach uni030C to atilde tcd_Latn (Tafi), nga_Latn (Ngbaka), bsq_Latn (Bassa (Latin)), lee_Latn (Lyélé) and gna_Latn (Kaansa)
Shaper didn't attach uni030C to Atilde tcd_Latn (Tafi), nga_Latn (Ngbaka), bsq_Latn (Bassa (Latin)), lee_Latn (Lyélé) and gna_Latn (Kaansa)
Shaper didn't attach uni0304 to atilde tcd_Latn (Tafi)
Shaper didn't attach uni0304 to Atilde tcd_Latn (Tafi)
Shaper didn't attach uni1DC6 to e tcd_Latn (Tafi), bas_Latn (Basaa) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni1DC6 to E tcd_Latn (Tafi), bas_Latn (Basaa) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni0304 to uni1EBD tcd_Latn (Tafi)
Shaper didn't attach uni0304 to uni1EBC tcd_Latn (Tafi)
Shaper didn't attach uni0304 to uni025B tcd_Latn (Tafi), wok_Latn (Longto), kyq_Latn (Kenga), nmg_Latn (Kwasio), dow_Latn (Doyayo), yba_Latn (Yala), bas_Latn (Basaa), jgo_Latn (Ngomba), ddn_Latn (Dendi), kss_Latn (Southern Kisi) and 3 more.
Shaper didn't attach uni0304 to uni0190 tcd_Latn (Tafi), wok_Latn (Longto), kyq_Latn (Kenga), nmg_Latn (Kwasio), dow_Latn (Doyayo), yba_Latn (Yala), bas_Latn (Basaa), jgo_Latn (Ngomba), ddn_Latn (Dendi), kss_Latn (Southern Kisi) and 3 more.
Shaper didn't attach acutecomb to tildecomb tcd_Latn (Tafi), soy_Latn (Miyobe), sld_Latn (Sissala), ife_Latn (Ifè), bqc_Latn (Boko), nga_Latn (Ngbaka), awc_Latn (Cicipu), box_Latn (Buamu), mev_Latn (Mano), tuz_Latn (Turka) and 9 more.
Shaper didn't attach uni0302 to tildecomb tcd_Latn (Tafi), nga_Latn (Ngbaka), awc_Latn (Cicipu), dnj_Latn_LR (Liberian Dan) and gna_Latn (Kaansa)
Shaper didn't attach uni030C to tildecomb tcd_Latn (Tafi), nga_Latn (Ngbaka), bsq_Latn (Bassa (Latin)) and lee_Latn (Lyélé)
Shaper didn't attach uni030C to itilde tcd_Latn (Tafi), nga_Latn (Ngbaka), bsq_Latn (Bassa (Latin)), lee_Latn (Lyélé) and gna_Latn (Kaansa)
Shaper didn't attach uni030C to Itilde tcd_Latn (Tafi), nga_Latn (Ngbaka), bsq_Latn (Bassa (Latin)), lee_Latn (Lyélé) and gna_Latn (Kaansa)
Shaper didn't attach acutecomb to uni0269 tcd_Latn (Tafi), sld_Latn (Sissala), aks_Latn (Akeselem), goa_Latn (Guro), kst_Latn (Winyé), neb_Latn (Toura), pug_Latn (Phuie), xsm_Latn_BF (Kasem, Burkina Faso), blo_Latn (Anii) and gna_Latn (Kaansa)
Shaper didn't attach acutecomb to uni0196 tcd_Latn (Tafi), sld_Latn (Sissala), aks_Latn (Akeselem), goa_Latn (Guro), tuz_Latn (Turka), kst_Latn (Winyé), neb_Latn (Toura), pug_Latn (Phuie), gov_Latn (Goo), xsm_Latn_BF (Kasem, Burkina Faso), blo_Latn (Anii) and gna_Latn (Kaansa)
Shaper didn't attach uni0302 to uni0269 tcd_Latn (Tafi), goa_Latn (Guro), neb_Latn (Toura), blo_Latn (Anii) and gna_Latn (Kaansa)
Shaper didn't attach uni0302 to uni0196 tcd_Latn (Tafi), goa_Latn (Guro), neb_Latn (Toura), blo_Latn (Anii) and gna_Latn (Kaansa)
Shaper didn't attach tildecomb to uni0269 tcd_Latn (Tafi), sld_Latn (Sissala), biv_Latn (Birifor, Southern), bfo_Latn (Malba Birifor), lob_Latn (Lobi), kst_Latn (Winyé), pug_Latn (Phuie) and gna_Latn (Kaansa)
Shaper didn't attach tildecomb to uni0196 tcd_Latn (Tafi), sld_Latn (Sissala), biv_Latn (Birifor, Southern), bfo_Latn (Malba Birifor), lob_Latn (Lobi), kst_Latn (Winyé), pug_Latn (Phuie) and gna_Latn (Kaansa)
Shaper didn't attach uni0304 to uni0269 tcd_Latn (Tafi)
Shaper didn't attach uni0304 to uni0196 tcd_Latn (Tafi)
Shaper didn't attach uni030C to uni0269 tcd_Latn (Tafi), goa_Latn (Guro) and gna_Latn (Kaansa)
Shaper didn't attach uni030C to uni0196 tcd_Latn (Tafi), goa_Latn (Guro) and gna_Latn (Kaansa)
Shaper didn't attach uni1DC6 to uni0269 tcd_Latn (Tafi)
Shaper didn't attach uni1DC6 to uni0196 tcd_Latn (Tafi)
Shaper didn't attach uni1DC6 to tildecomb tcd_Latn (Tafi)
Shaper didn't attach uni0302 to m tcd_Latn (Tafi) and ikw_Latn (Ikwere)
Shaper didn't attach uni0302 to M tcd_Latn (Tafi) and ikw_Latn (Ikwere)
Shaper didn't attach uni0304 to m tcd_Latn (Tafi), mwm_Latn (Sar), wok_Latn (Longto), kyq_Latn (Kenga), ikw_Latn (Ikwere), jgo_Latn (Ngomba), kss_Latn (Southern Kisi) and mge_Latn (Mango)
Shaper didn't attach uni0304 to M tcd_Latn (Tafi), mwm_Latn (Sar), wok_Latn (Longto), kyq_Latn (Kenga), ikw_Latn (Ikwere), jgo_Latn (Ngomba), kss_Latn (Southern Kisi) and mge_Latn (Mango)
Shaper didn't attach acutecomb to eng tcd_Latn (Tafi), eto_Latn (Eton, Cameroon), aks_Latn (Akeselem), wok_Latn (Longto), kyq_Latn (Kenga), mev_Latn (Mano) and jgo_Latn (Ngomba)
Shaper didn't attach acutecomb to Eng tcd_Latn (Tafi), eto_Latn (Eton, Cameroon), aks_Latn (Akeselem), wok_Latn (Longto), kyq_Latn (Kenga), mev_Latn (Mano) and jgo_Latn (Ngomba)
Shaper didn't attach uni1DC5 to o tcd_Latn (Tafi), kss_Latn (Southern Kisi) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni1DC5 to O tcd_Latn (Tafi), kss_Latn (Southern Kisi) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni1DC6 to o tcd_Latn (Tafi), bas_Latn (Basaa) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni1DC6 to O tcd_Latn (Tafi), bas_Latn (Basaa) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni030C to otilde tcd_Latn (Tafi) and lee_Latn (Lyélé)
Shaper didn't attach uni030C to Otilde tcd_Latn (Tafi) and lee_Latn (Lyélé)
Shaper didn't attach uni0304 to uni0254 tcd_Latn (Tafi), mwm_Latn (Sar), wok_Latn (Longto), ybb_Latn (Yemba), kyq_Latn (Kenga), nmg_Latn (Kwasio), dow_Latn (Doyayo), fmp_Latn (Fe’fe’), yba_Latn (Yala), bas_Latn (Basaa) and 4 more.
Shaper didn't attach uni0304 to uni0186 tcd_Latn (Tafi), mwm_Latn (Sar), wok_Latn (Longto), ybb_Latn (Yemba), kyq_Latn (Kenga), nmg_Latn (Kwasio), dow_Latn (Doyayo), fmp_Latn (Fe’fe’), yba_Latn (Yala), bas_Latn (Basaa) and 4 more.
Shaper didn't attach uni1DC6 to uni0254 tcd_Latn (Tafi) and bas_Latn (Basaa)
Shaper didn't attach uni1DC6 to uni0186 tcd_Latn (Tafi) and bas_Latn (Basaa)
Shaper didn't attach uni0304 to tildecomb tcd_Latn (Tafi)
Shaper didn't attach uni1DC6 to u tcd_Latn (Tafi), bas_Latn (Basaa) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni1DC6 to U tcd_Latn (Tafi), bas_Latn (Basaa) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni0304 to utilde tcd_Latn (Tafi)
Shaper didn't attach uni0304 to Utilde tcd_Latn (Tafi)
Shaper didn't attach uni1DC6 to utilde tcd_Latn (Tafi)
Shaper didn't attach uni1DC6 to Utilde tcd_Latn (Tafi)
Shaper didn't attach acutecomb to uni028A tcd_Latn (Tafi), aks_Latn (Akeselem) and blo_Latn (Anii)
Shaper didn't attach acutecomb to uni01B1 tcd_Latn (Tafi), aks_Latn (Akeselem) and blo_Latn (Anii)
Shaper didn't attach tildecomb to uni028A tcd_Latn (Tafi) and biv_Latn (Birifor, Southern)
Shaper didn't attach tildecomb to uni01B1 tcd_Latn (Tafi) and biv_Latn (Birifor, Southern)
Shaper didn't attach uni0304 to uni028A tcd_Latn (Tafi)
Shaper didn't attach uni0304 to uni01B1 tcd_Latn (Tafi)
Shaper didn't attach uni030C to uni028A tcd_Latn (Tafi)
Shaper didn't attach uni030C to uni01B1 tcd_Latn (Tafi)
Shaper didn't attach gravecomb to uni2C6D byv_Latn (Medumba) and fmp_Latn (Fe’fe’)
Shaper didn't attach uni030C to uni2C6D byv_Latn (Medumba) and fmp_Latn (Fe’fe’)
Shaper didn't attach uni0302 to uni2C6D byv_Latn (Medumba)
Shaper didn't attach uni030C to uni0251 byv_Latn (Medumba) and fmp_Latn (Fe’fe’)
Shaper didn't attach gravecomb to uni0251 byv_Latn (Medumba) and fmp_Latn (Fe’fe’)
Shaper didn't attach uni0302 to uni0251 byv_Latn (Medumba)
Shaper didn't attach uni0331 to u kaj_Latn (Jju), uth_Latn (ut-Hun), rub_Latn (Gungu) and kdj_Latn (Karamojong)
Shaper didn't attach uni0331 to A kaj_Latn (Jju), fvr_Latn (Fur), kcg_Latn (Tyap), kdj_Latn (Karamojong), nus_Latn (Nuer) and asg_Latn (Cishingini)
Shaper didn't attach uni0331 to a kaj_Latn (Jju), fvr_Latn (Fur), kcg_Latn (Tyap), kdj_Latn (Karamojong), nus_Latn (Nuer) and asg_Latn (Cishingini)
Shaper didn't attach uni0331 to U kaj_Latn (Jju), uth_Latn (ut-Hun), rub_Latn (Gungu) and kdj_Latn (Karamojong)
Shaper didn't attach gravecomb to uni1E1A sba_Latn (Ngambay) and mge_Latn (Mango)
Shaper didn't attach uni0330 to O sba_Latn (Ngambay), mwm_Latn (Sar) and kia_Latn (Kim)
Shaper didn't attach gravecomb to uni1E1B sba_Latn (Ngambay) and mge_Latn (Mango)
Shaper didn't attach acutecomb to uni1E1B sba_Latn (Ngambay), mwm_Latn (Sar) and mge_Latn (Mango)
Shaper didn't attach uni0330 to uni018F sba_Latn (Ngambay) and mge_Latn (Mango)
Shaper didn't attach uni0330 to Aacute sba_Latn (Ngambay), ntm_Latn (Nateni), mwm_Latn (Sar), wok_Latn (Longto), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach uni0330 to A sba_Latn (Ngambay), ntm_Latn (Nateni), mwm_Latn (Sar), wok_Latn (Longto), mev_Latn (Mano), kia_Latn (Kim) and mge_Latn (Mango)
Shaper didn't attach uni0330 to a sba_Latn (Ngambay), ntm_Latn (Nateni), mwm_Latn (Sar), wok_Latn (Longto), mev_Latn (Mano), kia_Latn (Kim) and mge_Latn (Mango)
Shaper didn't attach uni0330 to o sba_Latn (Ngambay), mwm_Latn (Sar) and kia_Latn (Kim)
Shaper didn't attach acutecomb to uni1E1A sba_Latn (Ngambay), mwm_Latn (Sar) and mge_Latn (Mango)
Shaper didn't attach uni0330 to aacute sba_Latn (Ngambay), ntm_Latn (Nateni), mwm_Latn (Sar), wok_Latn (Longto), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach uni0330 to uni0259 sba_Latn (Ngambay) and mge_Latn (Mango)
Shaper didn't attach acutecomb to uni01DD sba_Latn (Ngambay), nmg_Latn (Kwasio), tuz_Latn (Turka), dnj_Latn_LR (Liberian Dan), ksf_Latn (Bafia) and blo_Latn (Anii)
Shaper didn't attach acutecomb to uni018E sba_Latn (Ngambay), nmg_Latn (Kwasio), tuz_Latn (Turka), dnj_Latn_LR (Liberian Dan), ksf_Latn (Bafia) and blo_Latn (Anii)
Shaper didn't attach uni0330 to uni01DD sba_Latn (Ngambay)
Shaper didn't attach uni0330 to uni018E sba_Latn (Ngambay)
Shaper didn't attach uni0302 to uni1ECA mhi_Latn (Ma’di), avu_Latn (Avokaya), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach tildecomb to uni1EE4 mhi_Latn (Ma’di) and kbo_Latn (Keliko)
Shaper didn't attach tildecomb to uni1EB8 mhi_Latn (Ma’di) and kbo_Latn (Keliko)
Shaper didn't attach tildecomb to uni1EB9 mhi_Latn (Ma’di) and kbo_Latn (Keliko)
Shaper didn't attach tildecomb to uni1ECA mhi_Latn (Ma’di), avu_Latn (Avokaya) and kbo_Latn (Keliko)
Shaper didn't attach tildecomb to uni1ECB mhi_Latn (Ma’di), avu_Latn (Avokaya) and kbo_Latn (Keliko)
Shaper didn't attach tildecomb to uni1ECC mhi_Latn (Ma’di) and kbo_Latn (Keliko)
Shaper didn't attach tildecomb to uni1EE5 mhi_Latn (Ma’di) and kbo_Latn (Keliko)
Shaper didn't attach uni0302 to uni1EE4 mhi_Latn (Ma’di), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach uni0302 to uni1ECB mhi_Latn (Ma’di), avu_Latn (Avokaya), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach uni0302 to uni1EE5 mhi_Latn (Ma’di), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach tildecomb to uni1ECD mhi_Latn (Ma’di) and kbo_Latn (Keliko)
Shaper didn't attach uni0325 to L csk_Latn (Jola-Kasa)
Shaper didn't attach uni0325 to l csk_Latn (Jola-Kasa)
Shaper didn't attach acutecomb to itilde soy_Latn (Miyobe), sld_Latn (Sissala), ife_Latn (Ifè), bqc_Latn (Boko), nga_Latn (Ngbaka), awc_Latn (Cicipu), box_Latn (Buamu), tuz_Latn (Turka), bwj_Latn (Láá Láá Bwamu), bsq_Latn (Bassa (Latin)) and 5 more.
Shaper didn't attach acutecomb to Itilde soy_Latn (Miyobe), sld_Latn (Sissala), ife_Latn (Ifè), bqc_Latn (Boko), nga_Latn (Ngbaka), awc_Latn (Cicipu), box_Latn (Buamu), tuz_Latn (Turka), bwj_Latn (Láá Láá Bwamu), bsq_Latn (Bassa (Latin)) and 5 more.
Shaper didn't attach acutecomb to uni1EBC soy_Latn (Miyobe), sld_Latn (Sissala), awc_Latn (Cicipu), kst_Latn (Winyé), lee_Latn (Lyélé) and pug_Latn (Phuie)
Shaper didn't attach acutecomb to uni1EBD soy_Latn (Miyobe), sld_Latn (Sissala), awc_Latn (Cicipu), kst_Latn (Winyé), lee_Latn (Lyélé) and pug_Latn (Phuie)
Shaper didn't attach uni030C to uni0268 mnf_Latn (Mundani), fvr_Latn (Fur), ozm_Latn (Koonzime), nfu_Latn (Mfumte), bfd_Latn (Bafut), lgg_Latn (Lugbara), mcp_Latn (Makaa) and agq_Latn (Aghem)
Shaper didn't attach uni0327 to uni0268 mnf_Latn (Mundani) and vut_Latn (Vute)
Shaper didn't attach uni0327 to uni01D2 mnf_Latn (Mundani) and mcp_Latn (Makaa)
Shaper didn't attach uni0327 to acircumflex mnf_Latn (Mundani), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to uni0254 mnf_Latn (Mundani), kkj_Latn (Kako), dow_Latn (Doyayo), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to uni01D4 mnf_Latn (Mundani)
Shaper didn't attach uni0327 to uni0197 mnf_Latn (Mundani) and vut_Latn (Vute)
Shaper didn't attach uni0302 to uni0327 mnf_Latn (Mundani), vut_Latn (Vute), mcp_Latn (Makaa) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to uni01CE mnf_Latn (Mundani)
Shaper didn't attach uni0327 to Ocircumflex mnf_Latn (Mundani), vut_Latn (Vute), mcp_Latn (Makaa) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0302 to uni0229 mnf_Latn (Mundani), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to uni01D3 mnf_Latn (Mundani)
Shaper didn't attach uni0327 to uni0186 mnf_Latn (Mundani), kkj_Latn (Kako), dow_Latn (Doyayo), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni030C to uni0327 mnf_Latn (Mundani) and mcp_Latn (Makaa)
Shaper didn't attach uni0327 to ocircumflex mnf_Latn (Mundani), vut_Latn (Vute), mcp_Latn (Makaa) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni030C to uni0197 mnf_Latn (Mundani), fvr_Latn (Fur), ozm_Latn (Koonzime), nfu_Latn (Mfumte), bfd_Latn (Bafut), lgg_Latn (Lugbara), mcp_Latn (Makaa) and agq_Latn (Aghem)
Shaper didn't attach uni030C to uni0228 mnf_Latn (Mundani)
Shaper didn't attach uni0302 to uni0228 mnf_Latn (Mundani), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to uni01D1 mnf_Latn (Mundani) and mcp_Latn (Makaa)
Shaper didn't attach uni030C to uni0229 mnf_Latn (Mundani)
Shaper didn't attach uni0327 to Ucircumflex mnf_Latn (Mundani), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to ucircumflex mnf_Latn (Mundani), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to Acircumflex mnf_Latn (Mundani), vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to uni01CD mnf_Latn (Mundani)
Shaper didn't attach acutecomb to uni1EA1 abn_Latn (Abua) and avu_Latn (Avokaya)
Shaper didn't attach acutecomb to uni1EA0 abn_Latn (Abua) and avu_Latn (Avokaya)
Shaper didn't attach uni0304 to uni1EA1 abn_Latn (Abua)
Shaper didn't attach uni0304 to uni1EA0 abn_Latn (Abua)
Shaper didn't attach uni0304 to uni1EB9 abn_Latn (Abua), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach uni0304 to uni1EB8 abn_Latn (Abua), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach uni0304 to uni1ECB abn_Latn (Abua), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach uni0304 to uni1ECA abn_Latn (Abua), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach uni0304 to uni1ECD abn_Latn (Abua), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach uni0304 to uni1ECC abn_Latn (Abua), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach uni0304 to uni1EE5 abn_Latn (Abua), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach uni0304 to uni1EE4 abn_Latn (Abua), igb_Latn (Ebira), ikw_Latn (Ikwere) and ekp_Latn (Ekpeye)
Shaper didn't attach tildecomb to uni01B2 sld_Latn (Sissala), bfo_Latn (Malba Birifor), lob_Latn (Lobi), kst_Latn (Winyé), pug_Latn (Phuie) and gna_Latn (Kaansa)
Shaper didn't attach acutecomb to uni01B2 sld_Latn (Sissala), goa_Latn (Guro), kst_Latn (Winyé), neb_Latn (Toura), pug_Latn (Phuie), xsm_Latn_BF (Kasem, Burkina Faso) and gna_Latn (Kaansa)
Shaper didn't attach tildecomb to uni028B sld_Latn (Sissala), bfo_Latn (Malba Birifor), lob_Latn (Lobi), kst_Latn (Winyé), pug_Latn (Phuie) and gna_Latn (Kaansa)
Shaper didn't attach acutecomb to uni028B sld_Latn (Sissala), goa_Latn (Guro), kst_Latn (Winyé), neb_Latn (Toura), pug_Latn (Phuie), xsm_Latn_BF (Kasem, Burkina Faso) and gna_Latn (Kaansa)
Shaper didn't attach tildecomb to uni1EA1 avu_Latn (Avokaya)
Shaper didn't attach tildecomb to uni1EA0 avu_Latn (Avokaya)
Shaper didn't attach gravecomb to Atilde ife_Latn (Ifè), bqc_Latn (Boko), nga_Latn (Ngbaka), awc_Latn (Cicipu), box_Latn (Buamu), mev_Latn (Mano), tuz_Latn (Turka), bsq_Latn (Bassa (Latin)), lee_Latn (Lyélé), dnj_Latn_LR (Liberian Dan) and 4 more.
Shaper didn't attach gravecomb to utilde ife_Latn (Ifè), bqc_Latn (Boko), nga_Latn (Ngbaka), awc_Latn (Cicipu), box_Latn (Buamu), mev_Latn (Mano), tuz_Latn (Turka), bwj_Latn (Láá Láá Bwamu), bsq_Latn (Bassa (Latin)), lee_Latn (Lyélé) and 5 more.
Shaper didn't attach gravecomb to tildecomb ife_Latn (Ifè), bqc_Latn (Boko), nga_Latn (Ngbaka), awc_Latn (Cicipu), box_Latn (Buamu), mev_Latn (Mano), tuz_Latn (Turka), bwj_Latn (Láá Láá Bwamu), bsq_Latn (Bassa (Latin)), lee_Latn (Lyélé) and 5 more.
Shaper didn't attach gravecomb to Itilde ife_Latn (Ifè), bqc_Latn (Boko), nga_Latn (Ngbaka), awc_Latn (Cicipu), box_Latn (Buamu), tuz_Latn (Turka), bwj_Latn (Láá Láá Bwamu), bsq_Latn (Bassa (Latin)), lee_Latn (Lyélé), dnj_Latn_LR (Liberian Dan) and 3 more.
Shaper didn't attach gravecomb to itilde ife_Latn (Ifè), bqc_Latn (Boko), nga_Latn (Ngbaka), awc_Latn (Cicipu), box_Latn (Buamu), tuz_Latn (Turka), bwj_Latn (Láá Láá Bwamu), bsq_Latn (Bassa (Latin)), lee_Latn (Lyélé), dnj_Latn_LR (Liberian Dan) and 3 more.
Shaper didn't attach gravecomb to atilde ife_Latn (Ifè), bqc_Latn (Boko), nga_Latn (Ngbaka), awc_Latn (Cicipu), box_Latn (Buamu), mev_Latn (Mano), tuz_Latn (Turka), bsq_Latn (Bassa (Latin)), lee_Latn (Lyélé), dnj_Latn_LR (Liberian Dan) and 4 more.
Shaper didn't attach gravecomb to Utilde ife_Latn (Ifè), bqc_Latn (Boko), nga_Latn (Ngbaka), awc_Latn (Cicipu), box_Latn (Buamu), mev_Latn (Mano), tuz_Latn (Turka), bwj_Latn (Láá Láá Bwamu), bsq_Latn (Bassa (Latin)), lee_Latn (Lyélé) and 5 more.
Shaper didn't attach uni030D to a nga_Latn (Ngbaka), dow_Latn (Doyayo), yba_Latn (Yala), kss_Latn (Southern Kisi) and krw_Latn (Western Krahn)
Shaper didn't attach uni030D to A nga_Latn (Ngbaka), dow_Latn (Doyayo), yba_Latn (Yala), kss_Latn (Southern Kisi) and krw_Latn (Western Krahn)
Shaper didn't attach uni030D to e nga_Latn (Ngbaka), yba_Latn (Yala), kss_Latn (Southern Kisi) and krw_Latn (Western Krahn)
Shaper didn't attach uni030D to E nga_Latn (Ngbaka), yba_Latn (Yala), kss_Latn (Southern Kisi) and krw_Latn (Western Krahn)
Shaper didn't attach uni030D to uni025B nga_Latn (Ngbaka), dow_Latn (Doyayo), yba_Latn (Yala), kss_Latn (Southern Kisi) and krw_Latn (Western Krahn)
Shaper didn't attach uni030D to uni0190 nga_Latn (Ngbaka), dow_Latn (Doyayo), yba_Latn (Yala), kss_Latn (Southern Kisi) and krw_Latn (Western Krahn)
Shaper didn't attach uni030D to i nga_Latn (Ngbaka), yba_Latn (Yala), kss_Latn (Southern Kisi) and krw_Latn (Western Krahn)
Shaper didn't attach uni030D to I nga_Latn (Ngbaka), yba_Latn (Yala), kss_Latn (Southern Kisi) and krw_Latn (Western Krahn)
Shaper didn't attach uni030D to o nga_Latn (Ngbaka), dow_Latn (Doyayo), yba_Latn (Yala), kss_Latn (Southern Kisi) and krw_Latn (Western Krahn)
Shaper didn't attach uni030D to O nga_Latn (Ngbaka), dow_Latn (Doyayo), yba_Latn (Yala), kss_Latn (Southern Kisi) and krw_Latn (Western Krahn)
Shaper didn't attach uni030D to uni0254 nga_Latn (Ngbaka), dow_Latn (Doyayo), yba_Latn (Yala), kss_Latn (Southern Kisi) and krw_Latn (Western Krahn)
Shaper didn't attach uni030D to uni0186 nga_Latn (Ngbaka), dow_Latn (Doyayo), yba_Latn (Yala), kss_Latn (Southern Kisi) and krw_Latn (Western Krahn)
Shaper didn't attach uni030D to u nga_Latn (Ngbaka), yba_Latn (Yala), kss_Latn (Southern Kisi) and krw_Latn (Western Krahn)
Shaper didn't attach uni030D to U nga_Latn (Ngbaka), yba_Latn (Yala), kss_Latn (Southern Kisi) and krw_Latn (Western Krahn)
Shaper didn't attach uni030D to atilde nga_Latn (Ngbaka)
Shaper didn't attach uni030D to Atilde nga_Latn (Ngbaka)
Shaper didn't attach uni030D to tildecomb nga_Latn (Ngbaka)
Shaper didn't attach uni030D to itilde nga_Latn (Ngbaka)
Shaper didn't attach uni030D to Itilde nga_Latn (Ngbaka)
Shaper didn't attach uni030D to utilde nga_Latn (Ngbaka)
Shaper didn't attach uni030D to Utilde nga_Latn (Ngbaka)
Shaper didn't attach uni0302 to itilde nga_Latn (Ngbaka) and awc_Latn (Cicipu)
Shaper didn't attach uni0302 to Itilde nga_Latn (Ngbaka) and awc_Latn (Cicipu)
Shaper didn't attach uni0302 to utilde nga_Latn (Ngbaka), awc_Latn (Cicipu) and gna_Latn (Kaansa)
Shaper didn't attach uni0302 to Utilde nga_Latn (Ngbaka), awc_Latn (Cicipu) and gna_Latn (Kaansa)
Shaper didn't attach uni030C to utilde nga_Latn (Ngbaka), bsq_Latn (Bassa (Latin)) and lee_Latn (Lyélé)
Shaper didn't attach uni030C to Utilde nga_Latn (Ngbaka), bsq_Latn (Bassa (Latin)) and lee_Latn (Lyélé)
Some base glyphs were missing: Ŧ, ŧ aeb_Latn (Tunisian Darija), bjt_Latn (Balanta-Ganja), knf_Latn (Mankanya) and mey_Latn (Hassaniyya)
Shaper didn't attach tildecomb to oslash awc_Latn (Cicipu)
Shaper didn't attach tildecomb to Oslash awc_Latn (Cicipu)
Shaper didn't attach uni030B to a awc_Latn (Cicipu) and dnj_Latn (Dan)
Shaper didn't attach uni030B to A awc_Latn (Cicipu) and dnj_Latn (Dan)
Shaper didn't attach uni030B to e awc_Latn (Cicipu) and dnj_Latn (Dan)
Shaper didn't attach uni030B to E awc_Latn (Cicipu) and dnj_Latn (Dan)
Shaper didn't attach gravecomb to uni1EBD awc_Latn (Cicipu), lee_Latn (Lyélé) and pug_Latn (Phuie)
Shaper didn't attach gravecomb to uni1EBC awc_Latn (Cicipu), lee_Latn (Lyélé) and pug_Latn (Phuie)
Shaper didn't attach uni0302 to uni1EBD awc_Latn (Cicipu)
Shaper didn't attach uni0302 to uni1EBC awc_Latn (Cicipu)
Shaper didn't attach uni030C to uni1EBD awc_Latn (Cicipu) and lee_Latn (Lyélé)
Shaper didn't attach uni030C to uni1EBC awc_Latn (Cicipu) and lee_Latn (Lyélé)
Shaper didn't attach uni030B to i awc_Latn (Cicipu) and dnj_Latn (Dan)
Shaper didn't attach uni030B to I awc_Latn (Cicipu) and dnj_Latn (Dan)
Shaper didn't attach gravecomb to otilde awc_Latn (Cicipu), tuz_Latn (Turka), lee_Latn (Lyélé), lom_Latn (Loma, Liberia) and pug_Latn (Phuie)
Shaper didn't attach gravecomb to Otilde awc_Latn (Cicipu), tuz_Latn (Turka), lee_Latn (Lyélé), lom_Latn (Loma, Liberia) and pug_Latn (Phuie)
Shaper didn't attach uni0302 to otilde awc_Latn (Cicipu)
Shaper didn't attach uni0302 to Otilde awc_Latn (Cicipu)
Shaper didn't attach gravecomb to oslash awc_Latn (Cicipu) and nfu_Latn (Mfumte)
Shaper didn't attach gravecomb to Oslash awc_Latn (Cicipu) and nfu_Latn (Mfumte)
Shaper didn't attach uni0302 to oslash awc_Latn (Cicipu), ozm_Latn (Koonzime) and nfu_Latn (Mfumte)
Shaper didn't attach uni0302 to Oslash awc_Latn (Cicipu), ozm_Latn (Koonzime) and nfu_Latn (Mfumte)
Shaper didn't attach uni030B to oslash awc_Latn (Cicipu)
Shaper didn't attach uni030B to Oslash awc_Latn (Cicipu)
Some base glyphs were missing: ᵃ, ᵉ, ᵋ, ᵒ, ᵓ, ᶤ, ᶶ, ⁱ teo_Latn (Teso)
Shaper didn't attach uni0331 to e ema_Latn (Emai-Iuleha-Ora), uth_Latn (ut-Hun), kdj_Latn (Karamojong), nus_Latn (Nuer), etx_Latn (Iten) and saf_Latn (Safaliba)
Shaper didn't attach uni0331 to otilde ema_Latn (Emai-Iuleha-Ora)
Shaper didn't attach uni0331 to uni1EBC ema_Latn (Emai-Iuleha-Ora)
Shaper didn't attach uni0331 to Otilde ema_Latn (Emai-Iuleha-Ora)
Shaper didn't attach uni0331 to O ema_Latn (Emai-Iuleha-Ora), uth_Latn (ut-Hun), kdj_Latn (Karamojong), nus_Latn (Nuer), etx_Latn (Iten) and saf_Latn (Safaliba)
Shaper didn't attach uni0331 to E ema_Latn (Emai-Iuleha-Ora), uth_Latn (ut-Hun), kdj_Latn (Karamojong), nus_Latn (Nuer), etx_Latn (Iten) and saf_Latn (Safaliba)
Shaper didn't attach uni0331 to uni1EBD ema_Latn (Emai-Iuleha-Ora)
Shaper didn't attach uni0331 to o ema_Latn (Emai-Iuleha-Ora), uth_Latn (ut-Hun), kdj_Latn (Karamojong), nus_Latn (Nuer), etx_Latn (Iten) and saf_Latn (Safaliba)
Shaper didn't attach uni0327 to uni0190 kkj_Latn (Kako), dow_Latn (Doyayo), mcp_Latn (Makaa) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to uni025B kkj_Latn (Kako), dow_Latn (Doyayo), mcp_Latn (Makaa) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0308 to uni0268 nzk_Latn (Nzakara) and lnl_Latn (South Central Banda)
Shaper didn't attach uni0308 to uni0289 nzk_Latn (Nzakara), jgo_Latn (Ngomba) and lnl_Latn (South Central Banda)
Shaper didn't attach uni0308 to uni0244 nzk_Latn (Nzakara), jgo_Latn (Ngomba) and lnl_Latn (South Central Banda)
Shaper didn't attach uni0308 to uni0197 nzk_Latn (Nzakara) and lnl_Latn (South Central Banda)
Shaper didn't attach gravecomb to adieresis mgd_Latn (Moru)
Shaper didn't attach gravecomb to Adieresis mgd_Latn (Moru)
Some base glyphs were missing: Ꟈ, ꟈ mor_Latn (Moro)
Shaper didn't attach gravecomb to eng eto_Latn (Eton, Cameroon), wok_Latn (Longto), kyq_Latn (Kenga), mev_Latn (Mano), jgo_Latn (Ngomba) and tik_Latn (Tikar)
Shaper didn't attach gravecomb to Eng eto_Latn (Eton, Cameroon), wok_Latn (Longto), kyq_Latn (Kenga), mev_Latn (Mano), jgo_Latn (Ngomba) and tik_Latn (Tikar)
Shaper didn't attach gravecomb to uni0272 eto_Latn (Eton, Cameroon)
Shaper didn't attach gravecomb to uni019D eto_Latn (Eton, Cameroon)
Shaper didn't attach acutecomb to uni0272 eto_Latn (Eton, Cameroon)
Shaper didn't attach acutecomb to uni019D eto_Latn (Eton, Cameroon)
Shaper didn't attach tildecomb to uni0268 ebo_Latn (Teke-Ebo)
Shaper didn't attach tildecomb to uni0197 ebo_Latn (Teke-Ebo)
Shaper didn't attach tildecomb to uni0244 ebo_Latn (Teke-Ebo)
Shaper didn't attach tildecomb to uni0289 ebo_Latn (Teke-Ebo)
Shaper didn't attach uni0331 to Aacute fvr_Latn (Fur) and kcg_Latn (Tyap)
Shaper didn't attach uni0331 to uni01CE fvr_Latn (Fur)
Shaper didn't attach uni0331 to acircumflex fvr_Latn (Fur)
Shaper didn't attach uni0331 to Acircumflex fvr_Latn (Fur)
Shaper didn't attach uni0331 to uni01CD fvr_Latn (Fur)
Shaper didn't attach uni0331 to aacute fvr_Latn (Fur) and kcg_Latn (Tyap)
Shaper didn't attach uni0330 to uni0190 ntm_Latn (Nateni), wok_Latn (Longto), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach gravecomb to uni0330 ntm_Latn (Nateni), wok_Latn (Longto), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach uni0330 to uni0186 ntm_Latn (Nateni), wok_Latn (Longto), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach acutecomb to uni0330 ntm_Latn (Nateni), wok_Latn (Longto), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach acutecomb to uni1E74 ntm_Latn (Nateni), mwm_Latn (Sar), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach acutecomb to uni1E2D ntm_Latn (Nateni), mwm_Latn (Sar) and wok_Latn (Longto)
Shaper didn't attach uni0330 to uni025B ntm_Latn (Nateni), wok_Latn (Longto), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach acutecomb to uni1E2C ntm_Latn (Nateni), mwm_Latn (Sar) and wok_Latn (Longto)
Shaper didn't attach gravecomb to uni1E2C ntm_Latn (Nateni), wok_Latn (Longto) and mge_Latn (Mango)
Shaper didn't attach uni0330 to uni0254 ntm_Latn (Nateni), wok_Latn (Longto), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach gravecomb to uni1E74 ntm_Latn (Nateni), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach gravecomb to uni1E75 ntm_Latn (Nateni), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach acutecomb to uni1E75 ntm_Latn (Nateni), mwm_Latn (Sar), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach uni0330 to agrave ntm_Latn (Nateni), wok_Latn (Longto), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach gravecomb to uni1E2D ntm_Latn (Nateni), wok_Latn (Longto) and mge_Latn (Mango)
Shaper didn't attach uni0330 to Agrave ntm_Latn (Nateni), wok_Latn (Longto), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach uni0330 to Oacute mwm_Latn (Sar) and mge_Latn (Mango)
Shaper didn't attach uni0304 to uni0259 mwm_Latn (Sar), wok_Latn (Longto), ybb_Latn (Yemba), kyq_Latn (Kenga), fmp_Latn (Fe’fe’), mge_Latn (Mango) and bax_Latn (Bamun (Latin))
Shaper didn't attach uni0304 to n mwm_Latn (Sar), wok_Latn (Longto), kyq_Latn (Kenga), ann_Latn (Obolo), ikw_Latn (Ikwere), jgo_Latn (Ngomba) and mge_Latn (Mango)
Shaper didn't attach uni0304 to uni1E75 mwm_Latn (Sar), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach uni0330 to Omacron mwm_Latn (Sar) and mge_Latn (Mango)
Shaper didn't attach uni0304 to N mwm_Latn (Sar), wok_Latn (Longto), kyq_Latn (Kenga), ann_Latn (Obolo), ikw_Latn (Ikwere), jgo_Latn (Ngomba) and mge_Latn (Mango)
Shaper didn't attach uni0304 to uni1E1A mwm_Latn (Sar) and mge_Latn (Mango)
Shaper didn't attach uni0304 to R mwm_Latn (Sar), wok_Latn (Longto) and kyq_Latn (Kenga)
Shaper didn't attach uni0304 to r mwm_Latn (Sar), wok_Latn (Longto) and kyq_Latn (Kenga)
Shaper didn't attach uni0304 to w mwm_Latn (Sar)
Shaper didn't attach uni0304 to uni1E2D mwm_Latn (Sar) and wok_Latn (Longto)
Shaper didn't attach uni0304 to uni1E2C mwm_Latn (Sar) and wok_Latn (Longto)
Shaper didn't attach uni0304 to uni1E1B mwm_Latn (Sar) and mge_Latn (Mango)
Shaper didn't attach uni0330 to Amacron mwm_Latn (Sar), wok_Latn (Longto), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach uni0330 to oacute mwm_Latn (Sar) and mge_Latn (Mango)
Shaper didn't attach uni0330 to omacron mwm_Latn (Sar) and mge_Latn (Mango)
Shaper didn't attach uni0304 to W mwm_Latn (Sar)
Shaper didn't attach uni0304 to uni1E74 mwm_Latn (Sar), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach uni0330 to amacron mwm_Latn (Sar), wok_Latn (Longto), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach uni0304 to uni018F mwm_Latn (Sar), wok_Latn (Longto), ybb_Latn (Yemba), kyq_Latn (Kenga), fmp_Latn (Fe’fe’), mge_Latn (Mango) and bax_Latn (Bamun (Latin))
Shaper didn't attach uni0304 to uni0330 wok_Latn (Longto), kyq_Latn (Kenga), mev_Latn (Mano) and mge_Latn (Mango)
Shaper didn't attach uni0304 to Eng wok_Latn (Longto), kyq_Latn (Kenga), mev_Latn (Mano), jgo_Latn (Ngomba) and kss_Latn (Southern Kisi)
Shaper didn't attach gravecomb to L wok_Latn (Longto) and bud_Latn (Ntcham)
Shaper didn't attach uni0304 to eng wok_Latn (Longto), kyq_Latn (Kenga), mev_Latn (Mano), jgo_Latn (Ngomba) and kss_Latn (Southern Kisi)
Shaper didn't attach gravecomb to R wok_Latn (Longto), kyq_Latn (Kenga) and dno_Latn (Ndrulo)
Shaper didn't attach uni0304 to L wok_Latn (Longto) and mge_Latn (Mango)
Shaper didn't attach uni0304 to l wok_Latn (Longto) and mge_Latn (Mango)
Shaper didn't attach gravecomb to l wok_Latn (Longto) and bud_Latn (Ntcham)
Shaper didn't attach gravecomb to r wok_Latn (Longto), kyq_Latn (Kenga) and dno_Latn (Ndrulo)
Shaper didn't attach uni030C to J taq_Latn (Tamasheq (Latin)), tmh_Latn (Tamashek) and ttq_Latn (Tawallammat Tamajaq)
Shaper didn't attach uni030C to j taq_Latn (Tamasheq (Latin)), tmh_Latn (Tamashek) and ttq_Latn (Tawallammat Tamajaq)
Shaper didn't attach uni0330 to N mne_Latn (Naba), kyq_Latn (Kenga), daa_Latn (Dangaléat), mls_Latn (Masalit) and mge_Latn (Mango)
Shaper didn't attach uni0330 to n mne_Latn (Naba), kyq_Latn (Kenga), daa_Latn (Dangaléat), mls_Latn (Masalit) and mge_Latn (Mango)
Shaper didn't attach dotbelowcomb to g tuq_Latn (Tedaga)
Shaper didn't attach dotbelowcomb to G tuq_Latn (Tedaga)
Shaper didn't attach uni0304 to uni0289 ybb_Latn (Yemba), fmp_Latn (Fe’fe’), bax_Latn (Bamun (Latin)) and agq_Latn (Aghem)
Shaper didn't attach uni0304 to uni0244 ybb_Latn (Yemba), fmp_Latn (Fe’fe’), bax_Latn (Bamun (Latin)) and agq_Latn (Aghem)
Shaper didn't attach uni0308 to uni0259 ybb_Latn (Yemba), sbd_Latn (Southern Samo), lnl_Latn (South Central Banda) and ksp_Latn (Kabba)
Shaper didn't attach uni0308 to uni018F ybb_Latn (Yemba), sbd_Latn (Southern Samo), lnl_Latn (South Central Banda) and ksp_Latn (Kabba)
Shaper didn't attach uni0330 to nacute kyq_Latn (Kenga)
Shaper didn't attach uni0330 to Nacute kyq_Latn (Kenga)
Shaper didn't attach uni0330 to uni01F9 kyq_Latn (Kenga)
Shaper didn't attach uni0330 to uni01F8 kyq_Latn (Kenga)
Shaper didn't attach tildecomb to uni018E lob_Latn (Lobi), tuz_Latn (Turka) and dnj_Latn_LR (Liberian Dan)
Shaper didn't attach tildecomb to uni01DD lob_Latn (Lobi), tuz_Latn (Turka) and dnj_Latn_LR (Liberian Dan)
Shaper didn't attach uni030C to uni01DD nmg_Latn (Kwasio)
Shaper didn't attach uni030C to uni018E nmg_Latn (Kwasio)
Shaper didn't attach uni0302 to uni018E nmg_Latn (Kwasio), dnj_Latn_LR (Liberian Dan) and blo_Latn (Anii)
Shaper didn't attach uni0304 to uni01DD nmg_Latn (Kwasio)
Shaper didn't attach uni0304 to uni018E nmg_Latn (Kwasio)
Shaper didn't attach uni0302 to uni01DD nmg_Latn (Kwasio), dnj_Latn_LR (Liberian Dan) and blo_Latn (Anii)
Shaper didn't attach acutecomb to oe ozm_Latn (Koonzime)
Shaper didn't attach uni030C to Oslash ozm_Latn (Koonzime) and nfu_Latn (Mfumte)
Shaper didn't attach uni030C to oe ozm_Latn (Koonzime)
Shaper didn't attach acutecomb to OE ozm_Latn (Koonzime)
Shaper didn't attach uni030C to OE ozm_Latn (Koonzime)
Shaper didn't attach uni030C to oslash ozm_Latn (Koonzime) and nfu_Latn (Mfumte)
Shaper didn't attach uni0308 to uni0186 grb_Latn (Grebo), dip_Latn (Dinka, Northeastern), din_Latn (Dinka), nus_Latn (Nuer) and sbd_Latn (Southern Samo)
Shaper didn't attach uni0308 to uni0190 grb_Latn (Grebo), dip_Latn (Dinka, Northeastern), din_Latn (Dinka), nus_Latn (Nuer), sbd_Latn (Southern Samo) and lnl_Latn (South Central Banda)
Shaper didn't attach uni0308 to uni025B grb_Latn (Grebo), dip_Latn (Dinka, Northeastern), din_Latn (Dinka), nus_Latn (Nuer), sbd_Latn (Southern Samo) and lnl_Latn (South Central Banda)
Shaper didn't attach uni0308 to uni0254 grb_Latn (Grebo), dip_Latn (Dinka, Northeastern), din_Latn (Dinka), nus_Latn (Nuer) and sbd_Latn (Southern Samo)
Shaper didn't attach uni032F to b rub_Latn (Gungu)
Shaper didn't attach uni0331 to I rub_Latn (Gungu), kcg_Latn (Tyap), kdj_Latn (Karamojong) and nus_Latn (Nuer)
Shaper didn't attach uni0331 to i rub_Latn (Gungu), kcg_Latn (Tyap), kdj_Latn (Karamojong) and nus_Latn (Nuer)
Shaper didn't attach uni032F to B rub_Latn (Gungu)
Shaper didn't attach uni0327 to amacron dow_Latn (Doyayo)
Shaper didn't attach uni0327 to umacron dow_Latn (Doyayo)
Shaper didn't attach uni0304 to uni0327 dow_Latn (Doyayo)
Shaper didn't attach uni0327 to Umacron dow_Latn (Doyayo)
Shaper didn't attach uni0327 to Amacron dow_Latn (Doyayo)
Shaper didn't attach uni0327 to Imacron dow_Latn (Doyayo)
Shaper didn't attach uni030D to uni0327 dow_Latn (Doyayo)
Shaper didn't attach uni0327 to imacron dow_Latn (Doyayo)
Shaper didn't attach uni0331 to iacute kcg_Latn (Tyap)
Shaper didn't attach uni0331 to Iacute kcg_Latn (Tyap)
Shaper didn't attach acutecomb to uni0251 fmp_Latn (Fe’fe’)
Shaper didn't attach uni0304 to uni2C6D fmp_Latn (Fe’fe’)
Shaper didn't attach uni0304 to uni0251 fmp_Latn (Fe’fe’)
Shaper didn't attach acutecomb to uni2C6D fmp_Latn (Fe’fe’)
Shaper didn't attach uni0302 to uni01B2 goa_Latn (Guro), neb_Latn (Toura) and gna_Latn (Kaansa)
Shaper didn't attach uni030C to uni028B goa_Latn (Guro)
Shaper didn't attach uni030C to uni01B2 goa_Latn (Guro)
Shaper didn't attach gravecomb to uni0269 goa_Latn (Guro), neb_Latn (Toura), pug_Latn (Phuie) and blo_Latn (Anii)
Shaper didn't attach gravecomb to uni0196 goa_Latn (Guro), tuz_Latn (Turka), neb_Latn (Toura), pug_Latn (Phuie) and blo_Latn (Anii)
Shaper didn't attach uni0302 to uni028B goa_Latn (Guro), neb_Latn (Toura) and gna_Latn (Kaansa)
Shaper didn't attach gravecomb to uni01B2 goa_Latn (Guro), neb_Latn (Toura) and pug_Latn (Phuie)
Shaper didn't attach gravecomb to uni028B goa_Latn (Guro), neb_Latn (Toura) and pug_Latn (Phuie)
The locl feature did not affect uni01A9 gaa_Latn (Ga)
The locl feature did not affect uni01B7 gaa_Latn (Ga)
Shaper didn't attach uni0302 to C bqj_Latn (Bandial)
Shaper didn't attach uni0302 to c bqj_Latn (Bandial)
Shaper didn't attach uni0331 to uni0197 kdj_Latn (Karamojong)
Shaper didn't attach uni0331 to uni0254 kdj_Latn (Karamojong) and nus_Latn (Nuer)
Shaper didn't attach uni0331 to uni0190 kdj_Latn (Karamojong) and nus_Latn (Nuer)
Shaper didn't attach uni0331 to uni0268 kdj_Latn (Karamojong)
Shaper didn't attach uni0331 to uni0244 kdj_Latn (Karamojong)
Shaper didn't attach uni0331 to uni0289 kdj_Latn (Karamojong)
Shaper didn't attach uni0331 to uni025B kdj_Latn (Karamojong) and nus_Latn (Nuer)
Shaper didn't attach uni0331 to uni0186 kdj_Latn (Karamojong) and nus_Latn (Nuer)
Shaper didn't attach gravecomb to uni018E tuz_Latn (Turka), dnj_Latn_LR (Liberian Dan) and blo_Latn (Anii)
Shaper didn't attach gravecomb to uni01DD tuz_Latn (Turka), dnj_Latn_LR (Liberian Dan) and blo_Latn (Anii)
Shaper didn't attach uni030C to uni1EB9 igb_Latn (Ebira) and ekp_Latn (Ekpeye)
Shaper didn't attach uni030C to uni1EB8 igb_Latn (Ebira) and ekp_Latn (Ekpeye)
Shaper didn't attach uni030C to uni1ECB igb_Latn (Ebira) and ekp_Latn (Ekpeye)
Shaper didn't attach uni030C to uni1ECA igb_Latn (Ebira) and ekp_Latn (Ekpeye)
Shaper didn't attach uni030C to uni1ECD igb_Latn (Ebira) and ekp_Latn (Ekpeye)
Shaper didn't attach uni030C to uni1ECC igb_Latn (Ebira) and ekp_Latn (Ekpeye)
Shaper didn't attach uni030C to uni1EE5 igb_Latn (Ebira) and ekp_Latn (Ekpeye)
Shaper didn't attach uni030C to uni1EE4 igb_Latn (Ebira) and ekp_Latn (Ekpeye)
Shaper didn't attach uni032F to t pkb_Latn (Pokomo)
Shaper didn't attach uni032F to d pkb_Latn (Pokomo)
Shaper didn't attach uni032F to T pkb_Latn (Pokomo)
Shaper didn't attach uni032F to D pkb_Latn (Pokomo)
Shaper didn't attach uni1DC6 to i bas_Latn (Basaa) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni1DC7 to E bas_Latn (Basaa)
Shaper didn't attach uni1DC7 to uni0186 bas_Latn (Basaa)
Shaper didn't attach uni1DC7 to e bas_Latn (Basaa)
Shaper didn't attach uni1DC7 to uni0254 bas_Latn (Basaa)
Shaper didn't attach uni1DC7 to u bas_Latn (Basaa)
Shaper didn't attach uni1DC7 to O bas_Latn (Basaa)
Shaper didn't attach uni1DC6 to I bas_Latn (Basaa) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni1DC7 to o bas_Latn (Basaa)
Shaper didn't attach uni1DC7 to uni0190 bas_Latn (Basaa)
Shaper didn't attach uni1DC6 to uni025B bas_Latn (Basaa)
Shaper didn't attach uni1DC7 to I bas_Latn (Basaa)
Shaper didn't attach uni1DC7 to A bas_Latn (Basaa)
Shaper didn't attach uni1DC6 to uni0190 bas_Latn (Basaa)
Shaper didn't attach uni1DC7 to uni025B bas_Latn (Basaa)
Shaper didn't attach uni1DC7 to U bas_Latn (Basaa)
Shaper didn't attach uni1DC7 to i bas_Latn (Basaa)
Shaper didn't attach uni1DC7 to a bas_Latn (Basaa)
Shaper didn't attach uni0331 to idieresis bot_Latn (Bongo)
Shaper didn't attach uni0331 to Udieresis bot_Latn (Bongo)
Shaper didn't attach uni0331 to udieresis bot_Latn (Bongo)
Shaper didn't attach uni0331 to Idieresis bot_Latn (Bongo)
Shaper didn't attach uni0331 to Edieresis bot_Latn (Bongo)
Shaper didn't attach uni0331 to edieresis bot_Latn (Bongo)
Shaper didn't attach uni0308 to uni0331 nus_Latn (Nuer)
Shaper didn't attach uni0302 to N ikw_Latn (Ikwere), etu_Latn (Ejagham) and ksp_Latn (Kabba)
Shaper didn't attach uni0302 to n ikw_Latn (Ikwere), etu_Latn (Ejagham) and ksp_Latn (Kabba)
Shaper didn't attach uni0327 to Icircumflex vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach uni0327 to icircumflex vut_Latn (Vute) and pnz_Latn (Pana, Central African Republic)
Shaper didn't attach gravecomb to uniA78D dnj_Latn_LR (Liberian Dan)
Shaper didn't attach tildecomb to uni0265 dnj_Latn_LR (Liberian Dan)
Shaper didn't attach uni0302 to uni0275 dnj_Latn_LR (Liberian Dan)
Shaper didn't attach uni0302 to uni019F dnj_Latn_LR (Liberian Dan)
Shaper didn't attach uni0302 to uniA78D dnj_Latn_LR (Liberian Dan)
Shaper didn't attach tildecomb to uniA78D dnj_Latn_LR (Liberian Dan)
Shaper didn't attach gravecomb to uni0265 dnj_Latn_LR (Liberian Dan)
Shaper didn't attach acutecomb to uni019F dnj_Latn_LR (Liberian Dan)
Shaper didn't attach acutecomb to uni0265 dnj_Latn_LR (Liberian Dan)
Shaper didn't attach acutecomb to uni0275 dnj_Latn_LR (Liberian Dan)
Shaper didn't attach uni0302 to uni0265 dnj_Latn_LR (Liberian Dan)
Shaper didn't attach gravecomb to uni019F dnj_Latn_LR (Liberian Dan)
Shaper didn't attach gravecomb to uni0275 dnj_Latn_LR (Liberian Dan)
Shaper didn't attach acutecomb to uniA78D dnj_Latn_LR (Liberian Dan)
Shaper didn't attach tildecomb to uniA7B7 kzc_Latn (Bondoukou Kulango)
Shaper didn't attach tildecomb to uni026A kzc_Latn (Bondoukou Kulango)
Shaper didn't attach tildecomb to uniA7B6 kzc_Latn (Bondoukou Kulango)
Shaper didn't attach tildecomb to uniA7AE kzc_Latn (Bondoukou Kulango)
Shaper didn't attach uni0308 to eng nmz_Latn (Nawdm)
Shaper didn't attach uni0308 to g nmz_Latn (Nawdm)
Shaper didn't attach uni0308 to G nmz_Latn (Nawdm)
Shaper didn't attach uni0308 to N nmz_Latn (Nawdm) and buc_Latn (Bushi)
Shaper didn't attach uni0308 to Eng nmz_Latn (Nawdm)
Shaper didn't attach uni0308 to n nmz_Latn (Nawdm) and buc_Latn (Bushi)
Shaper didn't attach uni0302 to r dno_Latn (Ndrulo)
Shaper didn't attach gravecomb to s dno_Latn (Ndrulo)
Shaper didn't attach uni0302 to R dno_Latn (Ndrulo)
Shaper didn't attach gravecomb to S dno_Latn (Ndrulo)
Shaper didn't attach acutecomb to aogonek gkp_Latn (Kpelle, Guinea)
Shaper didn't attach acutecomb to Aogonek gkp_Latn (Kpelle, Guinea)
Shaper didn't attach uni0328 to uni0259 gkp_Latn (Kpelle, Guinea)
Shaper didn't attach uni0328 to uni018F gkp_Latn (Kpelle, Guinea)
Shaper didn't attach acutecomb to uni0328 gkp_Latn (Kpelle, Guinea)
Shaper didn't attach uni0328 to uni025B gkp_Latn (Kpelle, Guinea)
Shaper didn't attach uni0328 to uni0190 gkp_Latn (Kpelle, Guinea)
Shaper didn't attach acutecomb to iogonek gkp_Latn (Kpelle, Guinea)
Shaper didn't attach acutecomb to Iogonek gkp_Latn (Kpelle, Guinea)
Shaper didn't attach uni0328 to uni0254 gkp_Latn (Kpelle, Guinea)
Shaper didn't attach uni0328 to uni0186 gkp_Latn (Kpelle, Guinea)
Shaper didn't attach acutecomb to uogonek gkp_Latn (Kpelle, Guinea)
Shaper didn't attach acutecomb to Uogonek gkp_Latn (Kpelle, Guinea)
The locl feature did not affect uni0181 lom_Latn (Loma, Liberia) and dnj_Latn (Dan)
Shaper didn't attach uni1DC4 to a kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC4 to A kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC5 to a kss_Latn (Southern Kisi) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni1DC5 to A kss_Latn (Southern Kisi) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni1DC4 to e kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC4 to E kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC5 to e kss_Latn (Southern Kisi) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni1DC5 to E kss_Latn (Southern Kisi) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni1DC4 to uni025B kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC4 to uni0190 kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC5 to uni025B kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC5 to uni0190 kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC4 to i kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC4 to I kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC5 to i kss_Latn (Southern Kisi) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni1DC5 to I kss_Latn (Southern Kisi) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni030D to eng kss_Latn (Southern Kisi)
Shaper didn't attach uni030D to Eng kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC4 to o kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC4 to O kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC4 to uni0254 kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC4 to uni0186 kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC5 to uni0254 kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC5 to uni0186 kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC4 to u kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC4 to U kss_Latn (Southern Kisi)
Shaper didn't attach uni1DC5 to u kss_Latn (Southern Kisi) and btt_Latn (Bete-Bendi)
Shaper didn't attach uni1DC5 to U kss_Latn (Southern Kisi) and btt_Latn (Bete-Bendi)
The locl feature did not affect uni028B tod_Latn (Toma)
The locl feature did not affect uni01B2 tod_Latn (Toma)
Some mark glyphs were missing: ◌̤ mdt_Latn (Mbere) and fan_Latn (Fang)
Shaper didn't attach acutecomb to B bud_Latn (Ntcham)
Shaper didn't attach gravecomb to B bud_Latn (Ntcham)
Shaper didn't attach gravecomb to b bud_Latn (Ntcham)
Shaper didn't attach acutecomb to b bud_Latn (Ntcham)
Some base glyphs were missing: ɤ, ɤ̀, ɤ́, ɤ̂, ɤ̄, ɤ̋, ɤ̏, Ɤ, Ɤ̀, Ɤ́, Ɤ̂, Ɤ̄, Ɤ̋, Ɤ̏ dnj_Latn (Dan)
Shaper didn't attach acutecomb to ae dnj_Latn (Dan)
Shaper didn't attach uni030F to ae dnj_Latn (Dan)
Shaper didn't attach uni030F to AE dnj_Latn (Dan)
Shaper didn't attach uni030B to ae dnj_Latn (Dan)
Shaper didn't attach uni030B to AE dnj_Latn (Dan)
Shaper didn't attach uni030F to uni028C dnj_Latn (Dan)
Shaper didn't attach uni030F to uni0245 dnj_Latn (Dan)
Shaper didn't attach gravecomb to uni028C dnj_Latn (Dan)
Shaper didn't attach gravecomb to uni0245 dnj_Latn (Dan)
Shaper didn't attach uni0304 to uni028C dnj_Latn (Dan)
Shaper didn't attach uni0304 to uni0245 dnj_Latn (Dan)
Shaper didn't attach acutecomb to uni028C dnj_Latn (Dan)
Shaper didn't attach acutecomb to uni0245 dnj_Latn (Dan)
Shaper didn't attach uni030B to uni028C dnj_Latn (Dan)
Shaper didn't attach uni030B to uni0245 dnj_Latn (Dan)
Shaper didn't attach uni0302 to uni028C dnj_Latn (Dan)
Shaper didn't attach uni0302 to uni0245 dnj_Latn (Dan)
Shaper didn't attach uni030F to uni025B dnj_Latn (Dan)
Shaper didn't attach uni030F to uni0190 dnj_Latn (Dan)
Shaper didn't attach uni030B to uni025B dnj_Latn (Dan)
Shaper didn't attach uni030B to uni0190 dnj_Latn (Dan)
Some base glyphs were missing: W̤, w̤ fan_Latn (Fang)
Shaper didn't attach uni0304 to uni0268 mge_Latn (Mango) and agq_Latn (Aghem)
Shaper didn't attach uni0304 to uni0197 mge_Latn (Mango) and agq_Latn (Aghem)
Shaper didn't attach uni0330 to ograve mge_Latn (Mango)
Shaper didn't attach uni0330 to Ograve mge_Latn (Mango)
Shaper didn't attach uni0304 to V swb_Latn (Maore Comorian, Latin)
Shaper didn't attach uni0304 to v swb_Latn (Maore Comorian, Latin)
Shaper didn't attach uni0331 to v swb_Latn (Maore Comorian, Latin)
Shaper didn't attach uni0331 to V swb_Latn (Maore Comorian, Latin)
Shaper didn't attach tildecomb to Udieresis bvi_Latn (Belanda Viri, Latin)
Shaper didn't attach acutecomb to Adieresis bvi_Latn (Belanda Viri, Latin)
Shaper didn't attach acutecomb to adieresis bvi_Latn (Belanda Viri, Latin)
Shaper didn't attach tildecomb to idieresis bvi_Latn (Belanda Viri, Latin)
Shaper didn't attach tildecomb to edieresis bvi_Latn (Belanda Viri, Latin)
Shaper didn't attach tildecomb to udieresis bvi_Latn (Belanda Viri, Latin)
Shaper didn't attach tildecomb to odieresis bvi_Latn (Belanda Viri, Latin)
Shaper didn't attach acutecomb to edieresis bvi_Latn (Belanda Viri, Latin)
Shaper didn't attach acutecomb to Odieresis bvi_Latn (Belanda Viri, Latin)
Shaper didn't attach tildecomb to Adieresis bvi_Latn (Belanda Viri, Latin)
Shaper didn't attach tildecomb to Idieresis bvi_Latn (Belanda Viri, Latin)
Shaper didn't attach tildecomb to adieresis bvi_Latn (Belanda Viri, Latin)
Shaper didn't attach tildecomb to Odieresis bvi_Latn (Belanda Viri, Latin)
Shaper didn't attach acutecomb to Edieresis bvi_Latn (Belanda Viri, Latin)
Shaper didn't attach tildecomb to Edieresis bvi_Latn (Belanda Viri, Latin)
Shaper didn't attach acutecomb to odieresis bvi_Latn (Belanda Viri, Latin)
Some base glyphs were missing: ɤ, ɤ̀, ɤ́, ɤ̂, Ɤ, Ɤ̀, Ɤ́, Ɤ̂ gov_Latn (Goo)
Shaper didn't attach gravecomb to uni028A blo_Latn (Anii)
Shaper didn't attach gravecomb to uni01B1 blo_Latn (Anii)
Shaper didn't attach uni0302 to uni028A blo_Latn (Anii)
Shaper didn't attach uni0302 to uni01B1 blo_Latn (Anii)
Shaper didn't attach uni030C to ae tik_Latn (Tikar)
Shaper didn't attach uni030C to AE tik_Latn (Tikar)
[code: failed-language-shaping]
  • ⚠️ WARN

    GF_Phonetics_SinoExt glyphset:

WARN messages Languages
Some auxiliary glyphs were missing: Ŀ, ŀ ca_Latn (Catalan)
Some auxiliary glyphs were missing: ſ de_Latn (German) and fr_Latn (French)
Some auxiliary glyphs were missing: Ŧ, ŧ fi_Latn (Finnish) and nb_Latn (Norwegian Bokmål)
No exemplar glyphs were defined for language Eastern Gurung, Latin ggn_Latn (Eastern Gurung, Latin)
No exemplar glyphs were defined for language Mina hna_Latn (Mina)
Some auxiliary glyphs were missing: ˈ lob_Latn (Lobi), cae_Latn (Lehar) and ndv_Latn (Ndut)
No exemplar glyphs were defined for language Seki syi_Latn (Seki)
No exemplar glyphs were defined for language Atsam cch_Latn (Atsam)
Some auxiliary glyphs were missing: Ƃ, ƃ dnj_Latn_LR (Liberian Dan) and lom_Latn (Loma, Liberia)
No exemplar glyphs were defined for language Koro kfo_Latn (Koro)
Some auxiliary glyphs were missing: W̤, w̤ mdt_Latn (Mbere)
No exemplar glyphs were defined for language Mbunga mgy_Latn (Mbunga)
No exemplar glyphs were defined for language Amo amo_Latn (Amo)
Some auxiliary glyphs were missing: ɐ, ɐ̀, ɐ́, ɐ̂, Ⓐ, ⓐ, Ɐ, Ɐ̀, Ɐ́, Ɐ̂ kib_Latn (Koalib)
[code: warning-language-shaping]
⚠️ WARN Detect any interpolation issues in the font.
  • ⚠️ WARN

    Interpolation issues were found in the font:

- Contour 1 in glyph 'v.BRACKET.varAlt02': becomes underweight between MORF=0 and MORF=30.

- Contour 2 in glyph 'v.BRACKET.varAlt02': becomes underweight between MORF=0 and MORF=30.

- Contour 3 in glyph 'v.BRACKET.varAlt02': becomes underweight between MORF=0 and MORF=30.

- Contour 4 in glyph 'v.BRACKET.varAlt02': becomes underweight between MORF=0 and MORF=30.

- Contour 1 in glyph 'v.BRACKET.varAlt02': becomes underweight between MORF=30 and MORF=60.

- Contour 2 in glyph 'v.BRACKET.varAlt02': becomes underweight between MORF=30 and MORF=60.

- Contour 3 in glyph 'v.BRACKET.varAlt02': becomes underweight between MORF=30 and MORF=60.

- Contour 4 in glyph 'v.BRACKET.varAlt02': becomes underweight between MORF=30 and MORF=60.

- Contour 4 in glyph 'W': becomes underweight between MORF=0 and MORF=30.

- Contour 5 in glyph 'W': becomes underweight between MORF=0 and MORF=30.

- 5581 more.

Use -F or --full-lists to disable shortening of long lists.

[code: interpolation-issues]
⚠️ WARN Ensure variable fonts include an avar table.
  • ⚠️ WARN

    This variable font does not have an avar table. Most variable fonts should include an avar table to correctly define axes progression rates.


    [code: missing-avar]
⚠️ WARN Check there are no overlapping path segments
  • ⚠️ WARN

    The following glyphs have overlapping path segments:

* F (U+0046): B<<199.0,514.0>-<199.0,531.0>-<216.0,531.0>> has the same coordinates as a previous segment.

* F (U+0046): L<<216.0,531.0>--<290.0,531.0>> has the same coordinates as a previous segment.

* F (U+0046): B<<290.0,531.0>-<309.0,531.0>-<309.0,514.0>> has the same coordinates as a previous segment.

* F (U+0046): B<<309.0,514.0>-<309.0,496.0>-<291.0,496.0>> has the same coordinates as a previous segment.

* F (U+0046): L<<291.0,496.0>--<217.0,496.0>> has the same coordinates as a previous segment.

* F (U+0046): B<<217.0,496.0>-<199.0,496.0>-<199.0,514.0>> has the same coordinates as a previous segment.

* uni1E1E (U+1E1E): B<<199.0,514.0>-<199.0,531.0>-<216.0,531.0>> has the same coordinates as a previous segment.

* uni1E1E (U+1E1E): L<<216.0,531.0>--<290.0,531.0>> has the same coordinates as a previous segment.

* uni1E1E (U+1E1E): B<<290.0,531.0>-<309.0,531.0>-<309.0,514.0>> has the same coordinates as a previous segment.

* uni1E1E (U+1E1E): B<<309.0,514.0>-<309.0,496.0>-<291.0,496.0>> has the same coordinates as a previous segment.

* 3693 more.

Use -F or --full-lists to disable shortening of long lists.

[code: overlapping-path-segments]
⚠️ WARN Check font contains no unreachable glyphs
  • ⚠️ WARN

    The following glyphs could not be reached by codepoint or substitution rules:

- _part.longstrokecomb

- _part.singlebristle

- eight.dnom

- eight.numr

- eight.tf

- five.dnom

- five.numr

- five.tf

- four.dnom

- four.numr

- 38 more.

Use -F or --full-lists to disable shortening of long lists.

[code: unreachable-glyphs]
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
  • ⚠️ WARN

    Article page lacks visual assets.


    [code: missing-visual-asset]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
  • ⚠️ WARN

    It seems that Seun Badejo is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry.


    [code: profile-not-found]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
  • ⚠️ WARN

    The following codepoints supported by the font are not covered by
    any subsets defined in the font's metadata file, and will never
    be served. You can solve this by either manually adding additional
    subset declarations to METADATA.pb, or by editing the glyphset
    definitions.

  • U+02D8 BREVE: try adding one of: yi, canadian-aboriginal
  • U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: coptic, math, tifinagh, cherokee
  • U+0306 COMBINING BREVE: try adding one of: old-permic, tifinagh
  • U+0307 COMBINING DOT ABOVE: try adding one of: duployan, malayalam, coptic, hebrew, canadian-aboriginal, old-permic, syriac, tai-le, tifinagh, todhri, math
  • U+030A COMBINING RING ABOVE: try adding one of: duployan, syriac
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: tai-le, cherokee
  • U+030D COMBINING VERTICAL LINE ABOVE: try adding sunuwar 119 more.

Use -F or --full-lists to disable shortening of long lists.

Or you can add the above codepoints to one of the subsets supported by the font: latin, latin-ext, menu, vietnamese

[code: unreachable-subsetting]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
  • ⚠️ WARN

    The dot of soft dotted characters used in orthographies must disappear in the following strings: i̊ i̋ i̍ i̐ i̓ i᷆ i᷇ j̀ j́ j̃ j̄ j̈ j̑ į̀ į́ į̂ į̃ į̄ į̌ ɨ̀ ɨ́ ɨ̂ ɨ̃ ɨ̄ ɨ̈ ɨ̋ ɨ̌ ɨ̏ ɨ̧̀ ɨ̧́ ɨ̧̂ ɨ̧̌ ɨ̱̀ ɨ̱́ ɨ̱̈ ḭ̀ ḭ́ ḭ̄ ị̀ ị́ ị̂ ị̃ ị̄

The dot of soft dotted characters should disappear in other cases, for example: ĭ i̇ i̒ i᷄ i᷅ ĭ̛ i̛̇ i̛̊ i̛̋ i̛̍ i̛̐ i̛̒ i̛̓ i̛᷄ i̛᷅ i̛᷆ i̛᷇ ĭ̥ i̥̇ i̥̊

Your font fully covers the following languages that require the soft-dotted feature: Zapotec (Latn, 490,000 speakers), Lithuanian (Latn, 2,357,094 speakers).

Your font does not cover the following languages that require the soft-dotted feature: Gulay (Latn, 250,478 speakers), Basaa (Latn, 332,940 speakers), Ma’di (Latn, 584,000 speakers), Bafut (Latn, 158,146 speakers), Lugbara (Latn, 2,200,000 speakers), South Central Banda (Latn, 244,000 speakers), Ejagham (Latn, 120,000 speakers), Nateni (Latn, 100,000 speakers), Avokaya (Latn, 100,000 speakers), Ekpeye (Latn, 226,000 speakers), Makaa (Latn, 221,000 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Teke-Ebo (Latn, 260,000 speakers), Ngbaka (Latn, 1,020,000 speakers), Northern Tutchone (Latn, 85 speakers), Kaska (Latn, 125 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Keliko (Latn, 63,000 speakers), Mfumte (Latn, 79,000 speakers), Southern Tutchone (Latn, 65 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Heiltsuk (Latn, 300 speakers), Fur (Latn, 1,230,163 speakers), Belarusian (Cyrl, 10,064,517 speakers), Dii (Latn, 71,000 speakers), Han (Latn, 6 speakers), Cicipu (Latn, 44,000 speakers), Mundani (Latn, 34,000 speakers), Nzakara (Latn, 50,000 speakers), Navajo (Latn, 166,319 speakers), Yala (Latn, 200,000 speakers), Sar (Latn, 500,000 speakers), Ebira (Latn, 2,200,000 speakers), Koonzime (Latn, 40,000 speakers), Aghem (Latn, 38,843 speakers), Dan (Latn, 1,099,244 speakers), Mango (Latn, 77,000 speakers), Western Krahn (Latn, 97,800 speakers), Kom (Latn, 360,685 speakers), Dutch (Latn, 31,709,104 speakers), Bete-Bendi (Latn, 100,000 speakers), Southern Kisi (Latn, 360,000 speakers), Ikwere (Latn, 717,000 speakers), Longto (Latn, 5,000 speakers), Abua (Latn, 25,000 speakers), Vute (Latn, 21,000 speakers), Igbo (Latn, 27,823,640 speakers).

[code: soft-dotted]
⚠️ WARN Check font names are correct
  • ⚠️ WARN

    Font has a Morph axis. This check only works on fonts that have a wght axis. Since users can define their own stylenames for Morph families, please manually check that the family works on major platforms. You can use Agu Display as a reference.


    [code: morf-axis]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
  • ⚠️ WARN

    This font file does not have a 'meta' table.


    [code: lacks-meta-table]
ℹ️ INFO List all superfamily filepaths
  • ℹ️ INFO

    ofl/agudisplay


    [code: family-path]
ℹ️ INFO EPAR table present in font?
ℹ️ INFO Show hinting filesize impact.
  • ℹ️ INFO

    Hinting filesize impact:

ofl/agudisplay/AguDisplay[MORF].ttf
Dehinted Size 757.7kb
Hinted Size 757.7kb
Increase 24 bytes
Change 0.0 %
[code: size-impact]
ℹ️ INFO Font contains all required tables?
  • ℹ️ INFO

    This font contains the following optional tables:

- loca

- prep

- GPOS

- GSUB

- gasp

[code: optional-tables]

ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
  • ℹ️ INFO

    These are the ppm ranges declared on the gasp table:

PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®

[code: ranges]
ℹ️ INFO Font has old ttfautohint applied?
  • ℹ️ INFO

    Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 1.099']


    [code: version-not-detected]
[1] Family checks
ℹ️ INFO Check axis ordering on the STAT table.
  • ℹ️ INFO

    None of the fonts lack a STAT table.

And these are the most common STAT axis orderings:
('MORF', 1)

[code: summary]

Summary

💥 ERROR ☠ FATAL 🔥 FAIL ⚠️ WARN ⏩ SKIP ℹ️ INFO ✅ PASS 🔎 DEBUG
1 0 2 10 56 7 176 0
0% 0% 1% 4% 22% 3% 70% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • PASS
  • DEBUG

@vv-monsalve
Copy link
Collaborator

vv-monsalve commented Nov 14, 2024

@n8willis I've restored the first PR comment information including the checklist, it is key to our process, please do not delete it.

  • ⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
    ⚠️ WARN
    It seems that Seun Badejo is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry.

    The designer info for Seun Badejo needs to be added to the Catalog.

  • 🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field.

    Screenshot 2024-11-14 at 10 30 28

    The copyright record must follow the Copyright { year } The { family } Project Authors ({ git_url }) structure.

    In this case: Copyright 2024 The Agu Display Project Authors (https://github.com/theseunbadejo/Agu-Display)

    And this same line needs to go in the OFL.

  • 🔥 FAIL Shapes languages in all GF glyphsets.

    Please inspect all the shaping reported issues for the African languages

  • Please add the primary_script field into the Metadata file
    Edit: deleting this since this field is not needed for this font.

@n8willis
Copy link
Collaborator Author

Looking at the built binaries, the VF version appears to have "Uzo" as the subfamily name.

Screenshot-20241114153746-553x311

Screenshot 2024-11-14 at 15-33-52 Wakamai Fondue

I thought that had been sorted out previously. I may have thinking about the static instances.

TTX name dump:

  <name>
    <namerecord nameID="256" platformID="1" platEncID="0" langID="0x0" unicode="True">
      Morph
    </namerecord>
    <namerecord nameID="257" platformID="1" platEncID="0" langID="0x0" unicode="True">
      Uzo
    </namerecord>
    <namerecord nameID="258" platformID="1" platEncID="0" langID="0x0" unicode="True">
      Ala
    </namerecord>
    <namerecord nameID="259" platformID="1" platEncID="0" langID="0x0" unicode="True">
      Osisi
    </namerecord>
    <namerecord nameID="0" platformID="3" platEncID="1" langID="0x409">
      Copyright 2024 The Agu Display Project Authors (https://github.com/theseunbadejo/nsibidi-libre/blob/main/AUTHORS.txt)
    </namerecord>
    <namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
      Agu Display Uzo
    </namerecord>
    <namerecord nameID="2" platformID="3" platEncID="1" langID="0x409">
      Regular
    </namerecord>
    <namerecord nameID="3" platformID="3" platEncID="1" langID="0x409">
      1.099;53VN;AguDisplay-Uzo
    </namerecord>
    <namerecord nameID="4" platformID="3" platEncID="1" langID="0x409">
      Agu Display Uzo
    </namerecord>
    <namerecord nameID="5" platformID="3" platEncID="1" langID="0x409">
      Version 1.099
    </namerecord>
    <namerecord nameID="6" platformID="3" platEncID="1" langID="0x409">
      AguDisplay-Uzo
    </namerecord>
    <namerecord nameID="9" platformID="3" platEncID="1" langID="0x409">
      Oluwaseun Badejo
    </namerecord>
    <namerecord nameID="12" platformID="3" platEncID="1" langID="0x409">
      https://seun.design
    </namerecord>
    <namerecord nameID="13" platformID="3" platEncID="1" langID="0x409">
      This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://openfontlicense.org
    </namerecord>
    <namerecord nameID="14" platformID="3" platEncID="1" langID="0x409">
      https://openfontlicense.org
    </namerecord>
    <namerecord nameID="16" platformID="3" platEncID="1" langID="0x409">
      Agu Display
    </namerecord>
    <namerecord nameID="17" platformID="3" platEncID="1" langID="0x409">
      Uzo
    </namerecord>
    <namerecord nameID="25" platformID="3" platEncID="1" langID="0x409">
      AguDisplay
    </namerecord>
    <namerecord nameID="256" platformID="3" platEncID="1" langID="0x409">
      Morph
    </namerecord>
    <namerecord nameID="257" platformID="3" platEncID="1" langID="0x409">
      Uzo
    </namerecord>
    <namerecord nameID="258" platformID="3" platEncID="1" langID="0x409">
      Ala
    </namerecord>
    <namerecord nameID="259" platformID="3" platEncID="1" langID="0x409">
      Osisi
    </namerecord>
  </name>

@n8willis
Copy link
Collaborator Author

@m4rc1e Is that just an artifact of Uzo being at MORF=0?

@n8willis
Copy link
Collaborator Author

@vv-monsalve Were you intending to tag me on this?

I've restored the first PR comment information including the checklist, it is key to our process, please do not delete it.

Just for the record, I did not delete it.

@vv-monsalve
Copy link
Collaborator

vv-monsalve commented Nov 14, 2024

@vv-monsalve Were you intending to tag me on this?

I've restored the first PR comment information including the checklist, it is key to our process, please do not delete it.

Just for the record, I did not delete it.

Bad tagging indeed! Thank you for the clarification. Fixed it now.

@n8willis
Copy link
Collaborator Author

@vv-monsalve Were you intending to tag me on this?

I've restored the first PR comment information including the checklist, it is key to our process, please do not delete it.

Just for the record, I did not delete it.

Bad tagging indeed! Thank you for the clarification. Fixed it now.

As far as I can tell from the timestamps, the comment was "edited" at the same moment the first update push landed & the page refreshed. So maybe the update-as-someone-checks-checkboxes collides in transit with the page refresh. I don't know. It makes one wonder though.

@vv-monsalve
Copy link
Collaborator

As far as I can tell from the timestamps, the comment was "edited" at the same moment the first update push landed & the page refreshed. So maybe the update-as-someone-checks-checkboxes collides in transit with the page refresh. I don't know. It makes one wonder though.

Uhm! You're probably right. IIRC, Emma reported it before on another PR.

@m4rc1e seems the packager is still doing this.

@n8willis
Copy link
Collaborator Author

Some of these combinations it's reporting a problem with seem to come from this list of combos that don't have a Unicode codepoint. Like, right near the top, "Shaper didn't attach gravecomb to m". It's very trivial to see that m has the correct anchor on it. I don't see what the recommended fix is in that glyphsets issue. Is there something established here?

@n8willis
Copy link
Collaborator Author

Separately, on the subject of not changing the coverage required after the font was commissioned (and this is a commissioned project), we do have the GlyphsApp custom filter in the project-template repo, which was updated with GF African in September 2023.

@vv-monsalve vv-monsalve linked an issue Nov 15, 2024 that may be closed by this pull request
9 tasks
@vv-monsalve
Copy link
Collaborator

It's very trivial to see that m has the correct anchor on it. I don't see what the recommended fix is in that glyphsets issue. Is there something established here?

Not only the components (base glyph, marks, anchors) but also the rules to make them work are needed. Inspecting the files at the repo, the source is a .glyphs file, but there are no features set up and no features separated file.

Screenshot 2024-11-15 at 10 21 38

When trying to add them, some issues with some marks are reported.
Screenshot 2024-11-15 at 11 07 28

@simoncozens
Copy link
Collaborator

Add

languagesystem DFLT dflt;
languagesystem latn dflt;

to the feature prefixes. That way ufo2ft will make the appropriate mark-to-base rules for the script.

This will help, but other problems really do need new anchors (e.g. verticallineabovecomb, Eopen/eopen, schwa/Schwa, etc. have no anchors).

@n8willis
Copy link
Collaborator Author

Not only the components (base glyph, marks, anchors) but also the rules to make them work are needed. Inspecting the files at the repo, the source is a .glyphs file, but there are no features set up and no features separated file.

(Just for future reference, I do understand how shaping functions. I've even written about it at times.)

Sorry that you weren't able to join the call where we brought this up. The font doesn't have any non-standard features; it has been using the auto-generated mark and mkmk features — which worked up until now. The thing that we've been needing to figure out is why that is working for many/most combinations but isn't working for certain other combinations. Like whether there's something unexpected happening in the Glyphs file or if the build tools are losing something along the way.

That all having been said, the question I could really use some clarification on is what's supposed to be done about this list:

from googlefonts/glyphsets#147 (comment) of combos that don't have a Unicode codepoint.

of things. As I recall, Eben said that it was a ccmp issue. But what the best practices are for handling it, I do not find. There's not a solution on that issue thread, certainly not anything in the GF guide, and I have not had luck searching for it in old chat histories.

@simoncozens
Copy link
Collaborator

I've explained what you need to do to fix that list. Because you understand shaping, you will know why this helps.

@n8willis
Copy link
Collaborator Author

Add

languagesystem DFLT dflt;
languagesystem latn dflt;

to the feature prefixes. That way ufo2ft will make the appropriate mark-to-base rules for the script.

So, a TTX dump of GPOS indicates that those get added already (which does seem like it would be the expected behavior).

This will help, but other problems really do need new anchors (e.g. verticallineabovecomb, Eopen/eopen, schwa/Schwa, etc. have no anchors).

Well, some of that might happen at the same time, but as I understand where the conversation ended up, then upstream isn't going to be asked to add things beyond the original contracted feature set. It's certainly great that the glyphsets have received a serious cleanup and refactoring of the tools, but the goalposts of the contract shouldn't be moving at this stage.

@simoncozens
Copy link
Collaborator

So, a TTX dump of GPOS indicates that those get added already

Language systems get added to the font binary, yes. But that's not what I said. I said, add them to the feature prefixes. Please believe that there's a reason I suggested doing that.

I cloned the Agu Display repo as at the commit above and built the font. I saw that mark attachment was not working for the combinations above. Why not, I wondered? So I looked into it. I did some debugging. I used the --debug-feature-file argument to fontmake. There's a "pos base m" rule in mark2base_3. That looks fine. So why is it not firing? I noticed that the feature file doesn't define any languagesystems.

Then I did some more debugging - I loaded the font into FontGoggles, and changed the script from Automatic to DFLT. It worked! Aha! This tells me that the rules are correct in the font, but are not being attached to the correct language system - no mark rules for latn, only for DFLT.

So I tried adding the language systems into the feature prefixes, checked the generated feature file and the font in FontGoggles, and all was well.

Debugging: I can highly recommend it.

@n8willis
Copy link
Collaborator Author

Well, perhaps fortuitous that this landed while I was in the middle of writing a reply, not before:

I've explained what you need to do to fix that list. Because you understand shaping, you will know why this helps.

You make pointed comments like this — and like this one:

Debugging: I can highly recommend it.

directed my way, and in mid-thread context I'm not clear if this's intended to be humorous or what, but it really just sounds like you want to have an argument, and I'm not interested in that.

I wrote my comment in reply to Viviana's comment, which was about general feature code, because it started out with high-level, overview stuff. Viviana and I have never actually met, and we really do not know each other at all apart from these comments. So I was very literally explaining in my reply to her that I was already familiar with the basics and that it wasn't necessary to start there. And then followed up by relaying what we had figured out so far in additional detail. Your own comment I replied to below that, in its own message.

For the record on that one, upstream did already include that prefix insertion several days ago, and it didn't solve it.

So I don't get what these remarks are supposed to communicate. But I'm not interested in the argument at all, so if that's the intent please consider me out. OTOH, if it's meant to be humor, then it is not coming across. If neither, I suppose it's still not coming across.

@n8willis
Copy link
Collaborator Author

  • Please add the primary_script field into the Metadata file

@vv-monsalve The checklist in the PR template says that this field is for "projects that have a primary non-Latin based language support target". Is that not the case (or not the case anymore)?

@chrissimpkins chrissimpkins marked this pull request as draft November 19, 2024 17:11
@chrissimpkins
Copy link
Collaborator

I've pulled together time for us to discuss this project tomorrow. Please pause discussion in this thread until we have a chance to speak together. I will post the next message in this thread with the plan of record to land this in main once we have an opportunity to speak with each other.

@n8willis
Copy link
Collaborator Author

Updated

@n8willis n8willis changed the title Agu Display: Version 1.099 added Agu Display: Version 1.101 added Nov 21, 2024
@n8willis n8willis force-pushed the gftools_packager_ofl_agudisplay branch from d51351c to cd57731 Compare November 21, 2024 12:59
Copy link

FontBakery report

fontbakery version: 0.13.0a5

Check results

[17] AguDisplay[MORF].ttf
🔥 FAIL Shapes languages in all GF glyphsets.
  • 🔥 FAIL

    GF_Phonetics_SinoExt glyphset:

FAIL messages Languages
The locl feature did not affect Eng bm_Latn (Bambara), dyu_Latn (Dyula), ig_Latn (Igbo), lg_Latn (Ganda), bkm_Latn (Kom), tnr_Latn (Ménik), gde_Latn (Gude), bsc_Latn (Bassari), ee_Latn (Ewe), ken_Latn (Kenyang) and 250 more.
Some base glyphs were missing: T͟H, t͟h udu_Latn (Uduk)
Some mark glyphs were missing: ◌͟ udu_Latn (Uduk) and apd_Latn (Sudanese Arabic)
Shaper didn't attach acutecomb to uni0269 tcd_Latn (Tafi), sld_Latn (Sissala), aks_Latn (Akeselem), goa_Latn (Guro), kst_Latn (Winyé), neb_Latn (Toura), pug_Latn (Phuie), xsm_Latn_BF (Kasem, Burkina Faso), blo_Latn (Anii) and gna_Latn (Kaansa)
Shaper didn't attach uni0302 to uni0269 tcd_Latn (Tafi), goa_Latn (Guro), neb_Latn (Toura), blo_Latn (Anii) and gna_Latn (Kaansa)
Shaper didn't attach tildecomb to uni0269 tcd_Latn (Tafi), sld_Latn (Sissala), biv_Latn (Birifor, Southern), bfo_Latn (Malba Birifor), lob_Latn (Lobi), kst_Latn (Winyé), pug_Latn (Phuie) and gna_Latn (Kaansa)
Shaper didn't attach uni0304 to uni0269 tcd_Latn (Tafi)
Shaper didn't attach uni030C to uni0269 tcd_Latn (Tafi), goa_Latn (Guro) and gna_Latn (Kaansa)
Shaper didn't attach uni1DC6 to uni0269 tcd_Latn (Tafi)
Shaper didn't attach acutecomb to uni028A tcd_Latn (Tafi), aks_Latn (Akeselem) and blo_Latn (Anii)
Shaper didn't attach tildecomb to uni028A tcd_Latn (Tafi) and biv_Latn (Birifor, Southern)
Shaper didn't attach uni0304 to uni028A tcd_Latn (Tafi)
Shaper didn't attach uni030C to uni028A tcd_Latn (Tafi)
Shaper didn't attach uni030C to uni2C6D byv_Latn (Medumba) and fmp_Latn (Fe’fe’)
Shaper didn't attach uni0302 to uni0251 byv_Latn (Medumba)
Shaper didn't attach gravecomb to uni0251 byv_Latn (Medumba) and fmp_Latn (Fe’fe’)
Shaper didn't attach gravecomb to uni2C6D byv_Latn (Medumba) and fmp_Latn (Fe’fe’)
Shaper didn't attach uni0302 to uni2C6D byv_Latn (Medumba)
Shaper didn't attach uni030C to uni0251 byv_Latn (Medumba) and fmp_Latn (Fe’fe’)
Some base glyphs were missing: Ŧ, ŧ aeb_Latn (Tunisian Darija), bjt_Latn (Balanta-Ganja), knf_Latn (Mankanya) and mey_Latn (Hassaniyya)
Some base glyphs were missing: ᵃ, ᵉ, ᵋ, ᵒ, ᵓ, ᶤ, ᶶ, ⁱ teo_Latn (Teso)
Some base glyphs were missing: Ꟈ, ꟈ mor_Latn (Moro)
Shaper didn't attach acutecomb to uni0251 fmp_Latn (Fe’fe’)
Shaper didn't attach acutecomb to uni2C6D fmp_Latn (Fe’fe’)
Shaper didn't attach uni0304 to uni0251 fmp_Latn (Fe’fe’)
Shaper didn't attach uni0304 to uni2C6D fmp_Latn (Fe’fe’)
Shaper didn't attach gravecomb to uni0269 goa_Latn (Guro), neb_Latn (Toura), pug_Latn (Phuie) and blo_Latn (Anii)
The locl feature did not affect uni01A9 gaa_Latn (Ga)
The locl feature did not affect uni01B7 gaa_Latn (Ga)
Shaper didn't attach tildecomb to uniA7B7 kzc_Latn (Bondoukou Kulango)
Shaper didn't attach tildecomb to uniA7B6 kzc_Latn (Bondoukou Kulango)
Shaper didn't attach tildecomb to uni026A kzc_Latn (Bondoukou Kulango)
Shaper didn't attach uni0328 to uni0254 gkp_Latn (Kpelle, Guinea)
Shaper didn't attach uni0328 to uni0186 gkp_Latn (Kpelle, Guinea)
The locl feature did not affect uni0181 lom_Latn (Loma, Liberia) and dnj_Latn (Dan)
The locl feature did not affect uni028B tod_Latn (Toma)
The locl feature did not affect uni01B2 tod_Latn (Toma)
Some mark glyphs were missing: ◌̤ mdt_Latn (Mbere) and fan_Latn (Fang)
Some base glyphs were missing: ɤ, ɤ̀, ɤ́, ɤ̂, ɤ̄, ɤ̋, ɤ̏, Ɤ, Ɤ̀, Ɤ́, Ɤ̂, Ɤ̄, Ɤ̋, Ɤ̏ dnj_Latn (Dan)
Some base glyphs were missing: W̤, w̤ fan_Latn (Fang)
Some base glyphs were missing: ɤ, ɤ̀, ɤ́, ɤ̂, Ɤ, Ɤ̀, Ɤ́, Ɤ̂ gov_Latn (Goo)
Shaper didn't attach uni0302 to uni028A blo_Latn (Anii)
Shaper didn't attach gravecomb to uni028A blo_Latn (Anii)
[code: failed-language-shaping]
  • ⚠️ WARN

    GF_Phonetics_SinoExt glyphset:

WARN messages Languages
Some auxiliary glyphs were missing: Ŀ, ŀ ca_Latn (Catalan)
Some auxiliary glyphs were missing: ſ de_Latn (German) and fr_Latn (French)
Some auxiliary glyphs were missing: Ŧ, ŧ fi_Latn (Finnish) and nb_Latn (Norwegian Bokmål)
No exemplar glyphs were defined for language Eastern Gurung, Latin ggn_Latn (Eastern Gurung, Latin)
No exemplar glyphs were defined for language Mina hna_Latn (Mina)
Some auxiliary glyphs were missing: ˈ lob_Latn (Lobi), cae_Latn (Lehar) and ndv_Latn (Ndut)
No exemplar glyphs were defined for language Seki syi_Latn (Seki)
No exemplar glyphs were defined for language Atsam cch_Latn (Atsam)
Some auxiliary glyphs were missing: Ƃ, ƃ dnj_Latn_LR (Liberian Dan) and lom_Latn (Loma, Liberia)
No exemplar glyphs were defined for language Koro kfo_Latn (Koro)
Some auxiliary glyphs were missing: W̤, w̤ mdt_Latn (Mbere)
No exemplar glyphs were defined for language Mbunga mgy_Latn (Mbunga)
No exemplar glyphs were defined for language Amo amo_Latn (Amo)
Some auxiliary glyphs were missing: ɐ, ɐ̀, ɐ́, ɐ̂, Ⓐ, ⓐ, Ɐ, Ɐ̀, Ɐ́, Ɐ̂ kib_Latn (Koalib)
[code: warning-language-shaping]
⚠️ WARN Detect any interpolation issues in the font.
  • ⚠️ WARN

    Interpolation issues were found in the font:

- Contour 5 in glyph 'uni0247.BRACKET.varAlt02': becomes underweight between MORF=0 and MORF=30.

- Contour 6 in glyph 'uni0247.BRACKET.varAlt02': becomes underweight between MORF=0 and MORF=30.

- Contour 3 in glyph 'uni0247.BRACKET.varAlt02': becomes underweight between MORF=30 and MORF=60.

- Contour 4 in glyph 'uni0247.BRACKET.varAlt02': becomes underweight between MORF=30 and MORF=60.

- Contour 5 in glyph 'uni0247.BRACKET.varAlt02': becomes underweight between MORF=30 and MORF=60.

- Contour 6 in glyph 'uni0247.BRACKET.varAlt02': becomes underweight between MORF=30 and MORF=60.

- Contour 7 in glyph 'uni0247.BRACKET.varAlt02': becomes underweight between MORF=30 and MORF=60.

- Contour 9 in glyph 'uni026F.BRACKET.varAlt02': becomes underweight between MORF=0 and MORF=30.

- Contour 10 in glyph 'uni026F.BRACKET.varAlt02': becomes underweight between MORF=0 and MORF=30.

- Contour 11 in glyph 'uni026F.BRACKET.varAlt02': becomes underweight between MORF=0 and MORF=30.

- 5543 more.

Use -F or --full-lists to disable shortening of long lists.

[code: interpolation-issues]
⚠️ WARN Ensure variable fonts include an avar table.
  • ⚠️ WARN

    This variable font does not have an avar table. Most variable fonts should include an avar table to correctly define axes progression rates.


    [code: missing-avar]
⚠️ WARN Check there are no overlapping path segments
  • ⚠️ WARN

    The following glyphs have overlapping path segments:

* F (U+0046): B<<199.0,514.0>-<199.0,531.0>-<216.0,531.0>> has the same coordinates as a previous segment.

* F (U+0046): L<<216.0,531.0>--<290.0,531.0>> has the same coordinates as a previous segment.

* F (U+0046): B<<290.0,531.0>-<309.0,531.0>-<309.0,514.0>> has the same coordinates as a previous segment.

* F (U+0046): B<<309.0,514.0>-<309.0,496.0>-<291.0,496.0>> has the same coordinates as a previous segment.

* F (U+0046): L<<291.0,496.0>--<217.0,496.0>> has the same coordinates as a previous segment.

* F (U+0046): B<<217.0,496.0>-<199.0,496.0>-<199.0,514.0>> has the same coordinates as a previous segment.

* uni1E1E (U+1E1E): B<<199.0,514.0>-<199.0,531.0>-<216.0,531.0>> has the same coordinates as a previous segment.

* uni1E1E (U+1E1E): L<<216.0,531.0>--<290.0,531.0>> has the same coordinates as a previous segment.

* uni1E1E (U+1E1E): B<<290.0,531.0>-<309.0,531.0>-<309.0,514.0>> has the same coordinates as a previous segment.

* uni1E1E (U+1E1E): B<<309.0,514.0>-<309.0,496.0>-<291.0,496.0>> has the same coordinates as a previous segment.

* 3693 more.

Use -F or --full-lists to disable shortening of long lists.

[code: overlapping-path-segments]
⚠️ WARN Check font contains no unreachable glyphs
  • ⚠️ WARN

    The following glyphs could not be reached by codepoint or substitution rules:

- _part.longstrokecomb

- _part.singlebristle

- eight.dnom

- eight.numr

- eight.tf

- five.dnom

- five.numr

- five.tf

- four.dnom

- four.numr

- 38 more.

Use -F or --full-lists to disable shortening of long lists.

[code: unreachable-glyphs]
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
  • ⚠️ WARN

    Article page lacks visual assets.


    [code: missing-visual-asset]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
  • ⚠️ WARN

    It seems that Seun Badejo is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry.


    [code: profile-not-found]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
  • ⚠️ WARN

    The following codepoints supported by the font are not covered by
    any subsets defined in the font's metadata file, and will never
    be served. You can solve this by either manually adding additional
    subset declarations to METADATA.pb, or by editing the glyphset
    definitions.

  • U+02D8 BREVE: try adding one of: yi, canadian-aboriginal
  • U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: math, coptic, tifinagh, cherokee
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: duployan, tifinagh, coptic, todhri, math, canadian-aboriginal, tai-le, malayalam, old-permic, syriac, hebrew
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: osage, cherokee
  • U+030C COMBINING CARON: try adding one of: tai-le, cherokee
  • U+030D COMBINING VERTICAL LINE ABOVE: try adding sunuwar 119 more.

Use -F or --full-lists to disable shortening of long lists.

Or you can add the above codepoints to one of the subsets supported by the font: latin, latin-ext, menu, vietnamese

[code: unreachable-subsetting]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
  • ⚠️ WARN

    The dot of soft dotted characters used in orthographies must disappear in the following strings: i̊ i̋ i̍ i̐ i̓ i᷆ i᷇ j̀ j́ j̃ j̄ j̈ j̑ į̀ į́ į̂ į̃ į̄ į̌ ɨ̀ ɨ́ ɨ̂ ɨ̃ ɨ̄ ɨ̈ ɨ̋ ɨ̌ ɨ̏ ɨ̧̀ ɨ̧́ ɨ̧̂ ɨ̧̌ ɨ̱̀ ɨ̱́ ɨ̱̈ ḭ̀ ḭ́ ḭ̄ ị̀ ị́ ị̂ ị̃ ị̄

The dot of soft dotted characters should disappear in other cases, for example: ĭ i̇ i̒ i᷄ i᷅ ĭ̛ i̛̇ i̛̊ i̛̋ i̛̍ i̛̐ i̛̒ i̛̓ i̛᷄ i̛᷅ i̛᷆ i̛᷇ ĭ̥ i̥̇ i̥̊

Your font fully covers the following languages that require the soft-dotted feature: Cicipu (Latn, 44,000 speakers), Zapotec (Latn, 490,000 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Bete-Bendi (Latn, 100,000 speakers), Ebira (Latn, 2,200,000 speakers), Dutch (Latn, 31,709,104 speakers), Western Krahn (Latn, 97,800 speakers), Lithuanian (Latn, 2,357,094 speakers), Ngbaka (Latn, 1,020,000 speakers), Gulay (Latn, 250,478 speakers), Nzakara (Latn, 50,000 speakers), Abua (Latn, 25,000 speakers), Han (Latn, 6 speakers), Ekpeye (Latn, 226,000 speakers), Nateni (Latn, 100,000 speakers), Kaska (Latn, 125 speakers), Ma’di (Latn, 584,000 speakers), South Central Banda (Latn, 244,000 speakers), Ikwere (Latn, 717,000 speakers), Northern Tutchone (Latn, 85 speakers), Mango (Latn, 77,000 speakers), Southern Tutchone (Latn, 65 speakers), Navajo (Latn, 166,319 speakers), Sar (Latn, 500,000 speakers), Yala (Latn, 200,000 speakers).

Your font does not cover the following languages that require the soft-dotted feature: Longto (Latn, 5,000 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Aghem (Latn, 38,843 speakers), Fur (Latn, 1,230,163 speakers), Vute (Latn, 21,000 speakers), Heiltsuk (Latn, 300 speakers), Makaa (Latn, 221,000 speakers), Dan (Latn, 1,099,244 speakers), Teke-Ebo (Latn, 260,000 speakers), Bafut (Latn, 158,146 speakers), Avokaya (Latn, 100,000 speakers), Ejagham (Latn, 120,000 speakers), Belarusian (Cyrl, 10,064,517 speakers), Southern Kisi (Latn, 360,000 speakers), Keliko (Latn, 63,000 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Basaa (Latn, 332,940 speakers), Igbo (Latn, 27,823,640 speakers), Koonzime (Latn, 40,000 speakers), Dii (Latn, 71,000 speakers), Lugbara (Latn, 2,200,000 speakers), Mfumte (Latn, 79,000 speakers), Mundani (Latn, 34,000 speakers), Kom (Latn, 360,685 speakers).

[code: soft-dotted]
⚠️ WARN Check font names are correct
  • ⚠️ WARN

    Font has a Morph axis. This check only works on fonts that have a wght axis. Since users can define their own stylenames for Morph families, please manually check that the family works on major platforms. You can use Agu Display as a reference.


    [code: morf-axis]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
  • ⚠️ WARN

    This font file does not have a 'meta' table.


    [code: lacks-meta-table]
ℹ️ INFO List all superfamily filepaths
  • ℹ️ INFO

    ofl/agudisplay


    [code: family-path]
ℹ️ INFO EPAR table present in font?
ℹ️ INFO Show hinting filesize impact.
  • ℹ️ INFO

    Hinting filesize impact:

ofl/agudisplay/AguDisplay[MORF].ttf
Dehinted Size 755.0kb
Hinted Size 755.0kb
Increase 24 bytes
Change 0.0 %
[code: size-impact]
ℹ️ INFO Font contains all required tables?
  • ℹ️ INFO

    This font contains the following optional tables:

- loca

- prep

- GPOS

- GSUB

- gasp

[code: optional-tables]

ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
  • ℹ️ INFO

    These are the ppm ranges declared on the gasp table:

PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®

[code: ranges]
ℹ️ INFO Font has old ttfautohint applied?
  • ℹ️ INFO

    Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 1.101']


    [code: version-not-detected]
[1] Family checks
ℹ️ INFO Check axis ordering on the STAT table.
  • ℹ️ INFO

    None of the fonts lack a STAT table.

And these are the most common STAT axis orderings:
('MORF', 1)

[code: summary]

Summary

💥 ERROR ☠ FATAL 🔥 FAIL ⚠️ WARN ⏩ SKIP ℹ️ INFO ✅ PASS 🔎 DEBUG
0 0 1 10 56 7 178 0
0% 0% 0% 4% 22% 3% 71% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • PASS
  • DEBUG

@chrissimpkins
Copy link
Collaborator

Nate will publish the list of unsupported African languages as defined by a local shaperglot CLI reporting run here. Then we will decide on next steps for the v1.0 release.

@n8willis
Copy link
Collaborator Author

The attached file is the output summary from upstream's 1.03 release (https://github.com/theseunbadejo/Agu-Display/releases/tag/1.03 -- as of commit cd57731 above) .

Shaperglot_GF_Latin_African_report_AguDisplay_1.03.zip

@vv-monsalve
Copy link
Collaborator

vv-monsalve commented Nov 21, 2024

@vv-monsalve The checklist in the PR template says that this field is for "projects that have a primary non-Latin based language support target". Is that not the case (or not the case anymore)?

Hi @n8willis. No, it's not needed. After reviewing previous PRs, I got briefly confused last week, but for this font, it is not required. Please ignore that comment. I'll delete the bullet for added clarity.

@chrissimpkins
Copy link
Collaborator

chrissimpkins commented Nov 22, 2024

@n8willis please let us know what is missing for the following languages when you've completed your assessment (I added the info below):

  • Bambara
  • Igbo
  • Ganda
  • Dyula

Thanks!

@chrissimpkins
Copy link
Collaborator

chrissimpkins commented Nov 22, 2024

shaperglot lang checks across those four languages using the latest PyPI release of the shaperglot tool.

It looks like we only need to resolve the upper case Eng default +/- locl supported GSUB shaping. Do you know if we currently have the African form in the default encoding position? Or is it the Sami form? If the African lang form, then there is probably nothing to do at all and we are ready to ship v1.0?

Bambara

$ shaperglot check AguDisplay\[MORF\].ttf Bambara

 * FAIL: The locl feature did not affect Eng

To add full support to nearly-supported languages:
 * Add feature: a locale rule to substitute Eng with a variant glyph

Igbo

$ shaperglot check AguDisplay\[MORF\].ttf Igbo

 * FAIL: The locl feature did not affect Eng

To add full support to nearly-supported languages:
 * Add feature: a locale rule to substitute Eng with a variant glyph

Ditto my above question for Bambara

Ganda

shaperglot check AguDisplay\[MORF\].ttf Ganda
Font nearly supports language 'lg_Latn'
 * FAIL: The locl feature did not affect Eng

To add full support to nearly-supported languages:
 * Add feature: a locale rule to substitute Eng with a variant glyph

Dyula

 * FAIL: The locl feature did not affect Eng

To add full support to nearly-supported languages:
 * Add feature: a locale rule to substitute Eng with a variant glyph

@n8willis
Copy link
Collaborator Author

n8willis commented Nov 22, 2024

Sorry; I didn't see this until just now.

It looks like we only need to resolve the upper case Eng default +/- locl supported GSUB shaping.

That's correct, as far as I can determine. I have started a PR on the upstream repo that should have taken care of the other issue, with soft-dotted i/j in ccmp. I expect that will get merged in when the upstream designer has Eng solved to satisfaction.

I don't currently have an ETA on that, but there is already a base glyph that mostly shares construction with the other Eng skeleton. So it's likely just a matter of ensuring that the other Eng form works visually with the 3 variation masters and the rotating/substituting decorations in the alternate layers.

Do you know if we currently have the African form in the default encoding position? Or is it the Sami form?

The existing Eng form was Sami; the new one to be added is the African form. That will become the default; the plan is to make use of Glyphs's auto-feature-generation func. Assuming that works as expected, moving the old Eng to Eng.loclNSM and adding the new African Eng as the default is (I believe) all that's required. But even if the auto-feature doesn't work as advertised, this way there's just one locl rule required, which is trivial to do by hand if needed.

Plus, folks have said that the full set of African languages that would need locl lookups, in the reverse strategy, isn't perfect anyway, since not all of the languages have official codes (yet?).

Although on this:

$ shaperglot check AguDisplay[MORF].ttf Bambara

  • FAIL: The locl feature did not affect Eng

To add full support to nearly-supported languages:

  • Add feature: a locale rule to substitute Eng with a variant glyph

as I understand it, the check assumes Sami is the default and just looks for "does the glyph change if the language is set == Bambara". So the check will not succeed for fonts where the African form is the default, and that just needs to be noted and acknowledged when examining the report.

@chrissimpkins
Copy link
Collaborator

The existing Eng form was Sami; the new one to be added is the African form.

Noted. It sounds like we need to wait on this so that we pick up the missing languages that I noted above in our v1.0 release. Do we have an estimate on how long it will take to develop this glyph?

@chrissimpkins
Copy link
Collaborator

chrissimpkins commented Nov 22, 2024

So the check will not succeed for fonts where the African form is the default, and that just needs to be noted and acknowledged when examining the report.

This is my understanding as well. I think that we can satisfy the v1.0 release requirements if we add the African UC Eng as the default design in the encoded position. That is all that we need. If we can support the non-African localized UC Eng design through OT locl shaping by next week, that is fine and we can include it. If we can't support it by next week, let's ship without it and add that support in a new release following v1.0

@chrissimpkins
Copy link
Collaborator

chrissimpkins commented Nov 22, 2024

@n8willis please convert out of Draft PR status when #8487 (comment) is complete and ping the on call Maintainer (Marc next week) so that he knows that your PR is ready for review. Thanks!

@n8willis
Copy link
Collaborator Author

Updated

@n8willis n8willis force-pushed the gftools_packager_ofl_agudisplay branch from cd57731 to 6913b39 Compare November 25, 2024 10:36
@n8willis n8willis changed the title Agu Display: Version 1.101 added Agu Display: Version 1.103 added Nov 25, 2024
Copy link

FontBakery report

fontbakery version: 0.13.0a5

Check results

[18] AguDisplay[MORF].ttf
🔥 FAIL Shapes languages in all GF glyphsets.
  • 🔥 FAIL

    GF_Phonetics_SinoExt glyphset:

FAIL messages Languages
The locl feature did not affect Eng bm_Latn (Bambara), dyu_Latn (Dyula), ig_Latn (Igbo), lg_Latn (Ganda), bkm_Latn (Kom), tnr_Latn (Ménik), gde_Latn (Gude), bsc_Latn (Bassari), ee_Latn (Ewe), ken_Latn (Kenyang) and 250 more.
Some base glyphs were missing: T͟H, t͟h udu_Latn (Uduk)
Some mark glyphs were missing: ◌͟ udu_Latn (Uduk) and apd_Latn (Sudanese Arabic)
Shaper didn't attach acutecomb to Eng tcd_Latn (Tafi), eto_Latn (Eton, Cameroon), aks_Latn (Akeselem), wok_Latn (Longto), kyq_Latn (Kenga), mev_Latn (Mano) and jgo_Latn (Ngomba)
Some base glyphs were missing: Ŧ, ŧ aeb_Latn (Tunisian Darija), bjt_Latn (Balanta-Ganja), knf_Latn (Mankanya) and mey_Latn (Hassaniyya)
Some base glyphs were missing: ᵃ, ᵉ, ᵋ, ᵒ, ᵓ, ᶤ, ᶶ, ⁱ teo_Latn (Teso)
Some base glyphs were missing: Ꟈ, ꟈ mor_Latn (Moro)
Shaper didn't attach gravecomb to Eng eto_Latn (Eton, Cameroon), wok_Latn (Longto), kyq_Latn (Kenga), mev_Latn (Mano), jgo_Latn (Ngomba) and tik_Latn (Tikar)
Shaper didn't attach uni0304 to Eng wok_Latn (Longto), kyq_Latn (Kenga), mev_Latn (Mano), jgo_Latn (Ngomba) and kss_Latn (Southern Kisi)
The locl feature did not affect uni01A9 gaa_Latn (Ga)
The locl feature did not affect uni01B7 gaa_Latn (Ga)
Shaper didn't attach tildecomb to uni026A kzc_Latn (Bondoukou Kulango)
Shaper didn't attach tildecomb to uniA7B7 kzc_Latn (Bondoukou Kulango)
Shaper didn't attach tildecomb to uniA7B6 kzc_Latn (Bondoukou Kulango)
Shaper didn't attach uni0308 to Eng nmz_Latn (Nawdm)
Shaper didn't attach uni0328 to uni0254 gkp_Latn (Kpelle, Guinea)
Shaper didn't attach uni0328 to uni0186 gkp_Latn (Kpelle, Guinea)
The locl feature did not affect uni0181 lom_Latn (Loma, Liberia) and dnj_Latn (Dan)
Shaper didn't attach uni030D to Eng kss_Latn (Southern Kisi)
The locl feature did not affect uni028B tod_Latn (Toma)
The locl feature did not affect uni01B2 tod_Latn (Toma)
Some mark glyphs were missing: ◌̤ mdt_Latn (Mbere) and fan_Latn (Fang)
Some base glyphs were missing: ɤ, ɤ̀, ɤ́, ɤ̂, ɤ̄, ɤ̋, ɤ̏, Ɤ, Ɤ̀, Ɤ́, Ɤ̂, Ɤ̄, Ɤ̋, Ɤ̏ dnj_Latn (Dan)
Some base glyphs were missing: W̤, w̤ fan_Latn (Fang)
Some base glyphs were missing: ɤ, ɤ̀, ɤ́, ɤ̂, Ɤ, Ɤ̀, Ɤ́, Ɤ̂ gov_Latn (Goo)
[code: failed-language-shaping]
  • ⚠️ WARN

    GF_Phonetics_SinoExt glyphset:

WARN messages Languages
Some auxiliary glyphs were missing: Ŀ, ŀ ca_Latn (Catalan)
Some auxiliary glyphs were missing: ſ de_Latn (German) and fr_Latn (French)
Some auxiliary glyphs were missing: Ŧ, ŧ fi_Latn (Finnish) and nb_Latn (Norwegian Bokmål)
No exemplar glyphs were defined for language Eastern Gurung, Latin ggn_Latn (Eastern Gurung, Latin)
No exemplar glyphs were defined for language Mina hna_Latn (Mina)
Some auxiliary glyphs were missing: ˈ lob_Latn (Lobi), cae_Latn (Lehar) and ndv_Latn (Ndut)
No exemplar glyphs were defined for language Seki syi_Latn (Seki)
No exemplar glyphs were defined for language Atsam cch_Latn (Atsam)
Some auxiliary glyphs were missing: Ƃ, ƃ dnj_Latn_LR (Liberian Dan) and lom_Latn (Loma, Liberia)
No exemplar glyphs were defined for language Koro kfo_Latn (Koro)
Some auxiliary glyphs were missing: W̤, w̤ mdt_Latn (Mbere)
No exemplar glyphs were defined for language Mbunga mgy_Latn (Mbunga)
No exemplar glyphs were defined for language Amo amo_Latn (Amo)
Some auxiliary glyphs were missing: ɐ, ɐ̀, ɐ́, ɐ̂, Ⓐ, ⓐ, Ɐ, Ɐ̀, Ɐ́, Ɐ̂ kib_Latn (Koalib)
[code: warning-language-shaping]
⚠️ WARN Detect any interpolation issues in the font.
  • ⚠️ WARN

    Interpolation issues were found in the font:

- Contour 3 in glyph 'uni0188.BRACKET.varAlt02': becomes underweight between MORF=0 and MORF=30.

- Contour 4 in glyph 'uni0188.BRACKET.varAlt02': becomes underweight between MORF=0 and MORF=30.

- Contour 3 in glyph 'uni0188.BRACKET.varAlt02': becomes underweight between MORF=30 and MORF=60.

- Contour 4 in glyph 'uni0188.BRACKET.varAlt02': becomes underweight between MORF=30 and MORF=60.

- Contour 6 in glyph 'uni0193.BRACKET.varAlt02': becomes underweight between MORF=0 and MORF=30.

- Contour 7 in glyph 'uni0193.BRACKET.varAlt02': becomes underweight between MORF=0 and MORF=30.

- Contour 6 in glyph 'uni0193.BRACKET.varAlt02': becomes underweight between MORF=30 and MORF=60.

- Contour 7 in glyph 'uni0193.BRACKET.varAlt02': becomes underweight between MORF=30 and MORF=60.

- Contour 8 in glyph 'uni0193.BRACKET.varAlt02': becomes underweight between MORF=30 and MORF=60.

- Contour 9 in glyph 'uni0193.BRACKET.varAlt02': becomes underweight between MORF=30 and MORF=60.

- 5579 more.

Use -F or --full-lists to disable shortening of long lists.

[code: interpolation-issues]
⚠️ WARN Ensure variable fonts include an avar table.
  • ⚠️ WARN

    This variable font does not have an avar table. Most variable fonts should include an avar table to correctly define axes progression rates.


    [code: missing-avar]
⚠️ WARN Check there are no overlapping path segments
  • ⚠️ WARN

    The following glyphs have overlapping path segments:

* F (U+0046): B<<199.0,514.0>-<199.0,531.0>-<216.0,531.0>> has the same coordinates as a previous segment.

* F (U+0046): L<<216.0,531.0>--<290.0,531.0>> has the same coordinates as a previous segment.

* F (U+0046): B<<290.0,531.0>-<309.0,531.0>-<309.0,514.0>> has the same coordinates as a previous segment.

* F (U+0046): B<<309.0,514.0>-<309.0,496.0>-<291.0,496.0>> has the same coordinates as a previous segment.

* F (U+0046): L<<291.0,496.0>--<217.0,496.0>> has the same coordinates as a previous segment.

* F (U+0046): B<<217.0,496.0>-<199.0,496.0>-<199.0,514.0>> has the same coordinates as a previous segment.

* uni1E1E (U+1E1E): B<<199.0,514.0>-<199.0,531.0>-<216.0,531.0>> has the same coordinates as a previous segment.

* uni1E1E (U+1E1E): L<<216.0,531.0>--<290.0,531.0>> has the same coordinates as a previous segment.

* uni1E1E (U+1E1E): B<<290.0,531.0>-<309.0,531.0>-<309.0,514.0>> has the same coordinates as a previous segment.

* uni1E1E (U+1E1E): B<<309.0,514.0>-<309.0,496.0>-<291.0,496.0>> has the same coordinates as a previous segment.

* 3694 more.

Use -F or --full-lists to disable shortening of long lists.

[code: overlapping-path-segments]
⚠️ WARN Check font contains no unreachable glyphs
  • ⚠️ WARN

    The following glyphs could not be reached by codepoint or substitution rules:

- _part.longstrokecomb

- _part.singlebristle

[code: unreachable-glyphs]

⚠️ WARN Glyph names are all valid?
  • ⚠️ WARN

    The following glyph names may be too long for some legacy systems which may expect a maximum 31-characters length limit:
    dotlessi_dotbelowcomb.BRACKET.varAlt01, dotlessi_dotbelowcomb.BRACKET.varAlt02, uni0249.dotless.BRACKET.varAlt01, uni0249.dotless.BRACKET.varAlt02, uni0268.dotless.BRACKET.varAlt01 and uni0268.dotless.BRACKET.varAlt02


    [code: legacy-long-names]
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets.
  • ⚠️ WARN

    Article page lacks visual assets.


    [code: missing-visual-asset]
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog?
  • ⚠️ WARN

    It seems that Seun Badejo is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry.


    [code: profile-not-found]
⚠️ WARN Check for codepoints not covered by METADATA subsets.
  • ⚠️ WARN

    The following codepoints supported by the font are not covered by
    any subsets defined in the font's metadata file, and will never
    be served. You can solve this by either manually adding additional
    subset declarations to METADATA.pb, or by editing the glyphset
    definitions.

  • U+02D8 BREVE: try adding one of: yi, canadian-aboriginal
  • U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal
  • U+02DB OGONEK: try adding one of: yi, canadian-aboriginal
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: cherokee, tifinagh, math, coptic
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: malayalam, todhri, duployan, coptic, tai-le, tifinagh, canadian-aboriginal, syriac, math, old-permic, hebrew
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: cherokee, osage
  • U+030C COMBINING CARON: try adding one of: cherokee, tai-le
  • U+030D COMBINING VERTICAL LINE ABOVE: try adding sunuwar 119 more.

Use -F or --full-lists to disable shortening of long lists.

Or you can add the above codepoints to one of the subsets supported by the font: latin, latin-ext, menu, vietnamese

[code: unreachable-subsetting]
⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot.
  • ⚠️ WARN

    The dot of soft dotted characters used in orthographies must disappear in the following strings: i᷆ i᷇

The dot of soft dotted characters should disappear in other cases, for example: i᷄ i᷅ i̛᷄ i̛᷅ i̛᷆ i̛᷇ i̥᷄ i̥᷅ i̥᷆ i̥᷇ i̦᷄ i̦᷅ i̦᷆ i̦᷇ i̧᷄ i̧᷅ i̧᷆ i̧᷇ i̩᷄ i̩᷅

Your font fully covers the following languages that require the soft-dotted feature: Lithuanian (Latn, 2,357,094 speakers), Cicipu (Latn, 44,000 speakers), Bete-Bendi (Latn, 100,000 speakers), Navajo (Latn, 166,319 speakers), Zapotec (Latn, 490,000 speakers), South Central Banda (Latn, 244,000 speakers), Mango (Latn, 77,000 speakers), Yala (Latn, 200,000 speakers), Ikwere (Latn, 717,000 speakers), Gulay (Latn, 250,478 speakers), Nzakara (Latn, 50,000 speakers), Western Krahn (Latn, 97,800 speakers), Ijo, Southeast (Latn, 2,471,000 speakers), Nateni (Latn, 100,000 speakers), Northern Tutchone (Latn, 85 speakers), Ekpeye (Latn, 226,000 speakers), Ngbaka (Latn, 1,020,000 speakers), Ebira (Latn, 2,200,000 speakers), Sar (Latn, 500,000 speakers), Han (Latn, 6 speakers), Southern Tutchone (Latn, 65 speakers), Ma’di (Latn, 584,000 speakers), Abua (Latn, 25,000 speakers), Kaska (Latn, 125 speakers), Dutch (Latn, 31,709,104 speakers).

Your font does not cover the following languages that require the soft-dotted feature: Teke-Ebo (Latn, 260,000 speakers), Keliko (Latn, 63,000 speakers), Makaa (Latn, 221,000 speakers), Belarusian (Cyrl, 10,064,517 speakers), Igbo (Latn, 27,823,640 speakers), Heiltsuk (Latn, 300 speakers), Vute (Latn, 21,000 speakers), Dii (Latn, 71,000 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Basaa (Latn, 332,940 speakers), Fur (Latn, 1,230,163 speakers), Koonzime (Latn, 40,000 speakers), Dan (Latn, 1,099,244 speakers), Kpelle, Guinea (Latn, 622,000 speakers), Bafut (Latn, 158,146 speakers), Avokaya (Latn, 100,000 speakers), Southern Kisi (Latn, 360,000 speakers), Mundani (Latn, 34,000 speakers), Kom (Latn, 360,685 speakers), Lugbara (Latn, 2,200,000 speakers), Ejagham (Latn, 120,000 speakers), Aghem (Latn, 38,843 speakers), Mfumte (Latn, 79,000 speakers), Longto (Latn, 5,000 speakers).

[code: soft-dotted]
⚠️ WARN Check font names are correct
  • ⚠️ WARN

    Font has a Morph axis. This check only works on fonts that have a wght axis. Since users can define their own stylenames for Morph families, please manually check that the family works on major platforms. You can use Agu Display as a reference.


    [code: morf-axis]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table.
  • ⚠️ WARN

    This font file does not have a 'meta' table.


    [code: lacks-meta-table]
ℹ️ INFO List all superfamily filepaths
  • ℹ️ INFO

    ofl/agudisplay


    [code: family-path]
ℹ️ INFO EPAR table present in font?
ℹ️ INFO Show hinting filesize impact.
  • ℹ️ INFO

    Hinting filesize impact:

ofl/agudisplay/AguDisplay[MORF].ttf
Dehinted Size 761.4kb
Hinted Size 761.5kb
Increase 24 bytes
Change 0.0 %
[code: size-impact]
ℹ️ INFO Font contains all required tables?
  • ℹ️ INFO

    This font contains the following optional tables:

- loca

- prep

- GPOS

- GSUB

- gasp

[code: optional-tables]

ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?
  • ℹ️ INFO

    These are the ppm ranges declared on the gasp table:

PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType®

[code: ranges]
ℹ️ INFO Font has old ttfautohint applied?
  • ℹ️ INFO

    Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: ['Version 1.103']


    [code: version-not-detected]
[1] Family checks
ℹ️ INFO Check axis ordering on the STAT table.
  • ℹ️ INFO

    None of the fonts lack a STAT table.

And these are the most common STAT axis orderings:
('MORF', 1)

[code: summary]

Summary

💥 ERROR ☠ FATAL 🔥 FAIL ⚠️ WARN ⏩ SKIP ℹ️ INFO ✅ PASS 🔎 DEBUG
0 0 1 11 56 7 177 0
0% 0% 0% 4% 22% 3% 70% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • PASS
  • DEBUG

@n8willis
Copy link
Collaborator Author

The Eng has been updated, with the African construction as the default and the Sami construction activated in locl. The only bakery fail I encounter with {Bambara, Igbo, Ganda, Dyula} is the one that says locl doesn't "affect" Eng in those languages, which is expected because those langs need the default form.

@m4rc1e the designer still has some updated Article content he wants to deliver (it's a bit boilerplate now). Same with the Bio form. Should I hold off on un-drafting the state of this until that's pushed?

@davelab6
Copy link
Member

Eng thing looks good, I wonder how we can fix the FB check.

Article and Bio data should not delay this push to meet the EoY goal, we can update those in January.

@n8willis
Copy link
Collaborator Author

Eng thing looks good, I wonder how we can fix the FB check.

I could be mistaken, but it seems like checking for locl to affect NSM is the only other case to expect for Eng. So perhaps the check could be either locl-affects-NSM or locl-affects-{African-language-set}. If it does at least one of the two, that should be an indicator it's OK, right?

Article and Bio data should not delay this push to meet the EoY goal, we can update those in January.

Great; thanks. On the move now!

@n8willis n8willis marked this pull request as ready for review November 25, 2024 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I New Font II African Mostly west african non-latin and African indigenous scripts II Commissioned Commissioned project to do II Custom axes Contains unregistered MS axis (even if registered by GF) P2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Nsibidi Libre => renamed to Agu Display
5 participants