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

Output all char-sequences needed for a language #36

Open
davelab6 opened this issue Nov 17, 2023 · 3 comments
Open

Output all char-sequences needed for a language #36

davelab6 opened this issue Nov 17, 2023 · 3 comments

Comments

@davelab6
Copy link
Member

@Lorp wrote in a chat

@EbenSorkin My recent immersion in Emoji reminds me that, just because Unicode does not define codepoints for these "standard" yet unencoded glyphs, does not mean they shouldn’t be responsible for maintaining a list of them. And that list can be imported into Glyphs etc., just as the Emoji sequence definitions can be imported into font editors and glyph pickers.

I think this belongs as a shaperglot feature; an arg to output all the chars and char-sequences needed for a language that has a shaperglot profile

@moyogo
Copy link
Contributor

moyogo commented Nov 20, 2023

@davelab6 shaperglot already does this:

$ shaperglot describe yo_Latn
To test for Yoruba support, shaperglot will:
 * ensure that the following glyphs are in the font: '̀', '́', '̄', '̣', 'a', 'A', 'á', 'Á', 'à', 'À', 'b', 'B', 'd', 'D', 'e', 'E', 'é', 'É', 'è', 'È', 'ẹ', 'Ẹ', 'ẹ́', 'Ẹ́', 'ẹ̀', 'Ẹ̀', 'f',
   'F', 'g', 'G', 'gb', 'GB', 'h', 'H', 'i', 'I', 'í', 'Í', 'ì', 'Ì', 'j', 'J', 'k', 'K', 'l', 'L', 'm', 'M', 'ḿ', 'Ḿ', 'm̀', 'M̀', 'n', 'N', 'ń', 'Ń', 'ǹ', 'Ǹ', 'o', 'O', 'ó', 'Ó', 'ò', 'Ò',
   'ọ', 'Ọ', 'ọ́', 'Ọ́', 'ọ̀', 'Ọ̀', 'p', 'P', 'r', 'R', 's', 'S', 'ṣ', 'Ṣ', 't', 'T', 'u', 'U', 'ú', 'Ú', 'ù', 'Ù', 'w', 'W', 'y' and 'Y'
* ensure that, when shaping the text 'ò é n ọ Ṣ Ẹ̀ GB g A À E Ḿ Ó e m̀ O D u Ò U p gb Í ṣ H Ẹ́ ẹ̀ G á È Ú ẹ m t ẹ́ Ù F K M̀ h k a ọ̀ N S Ẹ B y ń Ǹ W o s r ì ǹ P R l L ó Ń à M ọ́ f ù j w J É è Ì
   i I ú Ọ ḿ Á b d í Ọ̀ Y T Ọ́', no marks are left unattached
 * ensure that, when shaping the text 'ẹ́Ẹ́ẹ̀Ẹ̀m̀M̀ọ́Ọ́ọ̀Ọ̀', no marks are left unattached
 * ensure that, when shaping the text 'ẹ́Ẹ́ẹ̀Ẹ̀m̀M̀ọ́Ọ́ọ̀Ọ̀' while turning the 'smcp' feature on, no marks are left unattached
 * ensure that, when shaping the text 'a', and then shaping the text 'a' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: a.
 * ensure that, when shaping the text 'á', and then shaping the text 'á' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: á.
 * ensure that, when shaping the text 'à', and then shaping the text 'à' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: à.
 * ensure that, when shaping the text 'b', and then shaping the text 'b' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: b.
 * ensure that, when shaping the text 'd', and then shaping the text 'd' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: d.
 * ensure that, when shaping the text 'e', and then shaping the text 'e' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: e.
 * ensure that, when shaping the text 'é', and then shaping the text 'é' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: é.
 * ensure that, when shaping the text 'è', and then shaping the text 'è' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: è.
 * ensure that, when shaping the text 'ẹ', and then shaping the text 'ẹ' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: ẹ.
 * ensure that, when shaping the text 'f', and then shaping the text 'f' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: f.
 * ensure that, when shaping the text 'g', and then shaping the text 'g' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: g.
 * ensure that, when shaping the text 'h', and then shaping the text 'h' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: h.
 * ensure that, when shaping the text 'i', and then shaping the text 'i' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: i.
 * ensure that, when shaping the text 'í', and then shaping the text 'í' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: í.
 * ensure that, when shaping the text 'ì', and then shaping the text 'ì' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: ì.
 * ensure that, when shaping the text 'j', and then shaping the text 'j' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: j.
 * ensure that, when shaping the text 'k', and then shaping the text 'k' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: k.
 * ensure that, when shaping the text 'l', and then shaping the text 'l' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: l.
 * ensure that, when shaping the text 'm', and then shaping the text 'm' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: m.
 * ensure that, when shaping the text 'ḿ', and then shaping the text 'ḿ' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: ḿ.
 * ensure that, when shaping the text 'n', and then shaping the text 'n' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: n.
 * ensure that, when shaping the text 'ń', and then shaping the text 'ń' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: ń.
 * ensure that, when shaping the text 'ǹ', and then shaping the text 'ǹ' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: ǹ.
 * ensure that, when shaping the text 'o', and then shaping the text 'o' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: o.
 * ensure that, when shaping the text 'ó', and then shaping the text 'ó' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: ó.
 * ensure that, when shaping the text 'ò', and then shaping the text 'ò' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: ò.
 * ensure that, when shaping the text 'ọ', and then shaping the text 'ọ' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: ọ.
 * ensure that, when shaping the text 'p', and then shaping the text 'p' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: p.
 * ensure that, when shaping the text 'r', and then shaping the text 'r' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: r.
 * ensure that, when shaping the text 's', and then shaping the text 's' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: s.
 * ensure that, when shaping the text 'ṣ', and then shaping the text 'ṣ' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: ṣ.
 * ensure that, when shaping the text 't', and then shaping the text 't' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: t.
 * ensure that, when shaping the text 'u', and then shaping the text 'u' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: u.
 * ensure that, when shaping the text 'ú', and then shaping the text 'ú' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: ú.
 * ensure that, when shaping the text 'ù', and then shaping the text 'ù' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: ù.
 * ensure that, when shaping the text 'w', and then shaping the text 'w' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: w.
 * ensure that, when shaping the text 'y', and then shaping the text 'y' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: y.
 * ensure that, when shaping the text 'c', and then shaping the text 'c' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: c.
 * ensure that, when shaping the text 'q', and then shaping the text 'q' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: q.
 * ensure that, when shaping the text 'v', and then shaping the text 'v' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: v.
 * ensure that, when shaping the text 'x', and then shaping the text 'x' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: x.
 * ensure that, when shaping the text 'z', and then shaping the text 'z' while turning the 'smcp' feature on, the outputs differ. This is because Requires Small-cap: z.

@davelab6 @EbenSorkin What did you mean?

@moyogo
Copy link
Contributor

moyogo commented Nov 20, 2023

/cc @Lorp

@NeilSureshPatel
Copy link
Contributor

Is there some context? I am not sure I am following.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants