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

Yarndings 20: Version 1.000; ttfautohint (v1.8.4.7-5d5b) added #7219

Merged
merged 4 commits into from
Feb 15, 2024

Conversation

emmamarichal
Copy link
Collaborator

16fd506: [gftools-packager] Yarndings 20: Version 1.000; ttfautohint (v1.8.4.7-5d5b) added

e59fe9c: description and metadatas updated

This comment was marked as outdated.

@emmamarichal emmamarichal marked this pull request as ready for review January 24, 2024 13:18
@vv-monsalve vv-monsalve added the -- Needs Meta/Desc/License changes Corrections in METADATA.pb or html snippet or License file required label Jan 25, 2024
@emmamarichal emmamarichal removed the -- Needs Meta/Desc/License changes Corrections in METADATA.pb or html snippet or License file required label Feb 1, 2024
Copy link

github-actions bot commented Feb 1, 2024

FontBakery report

fontbakery version: 0.10.9

[1] Experimental checks
🔥 FAIL: Shapes languages in all GF glyphsets. (com.google.fonts/check/glyphsets/shape_languages)
  • 🔥 FAIL No GF glyphset was found to be supported >80%, so language shaping support couldn't get checked. [code: no-glyphset-supported]

[1] Family checks
INFO: Check axis ordering on the STAT table. (com.google.fonts/check/STAT/axis_order)
  • INFO From a total of 1 font files, 1 of them (100.00%) lack a STAT table.

    And these are the most common STAT axis orderings:
    [code: summary]


[16] Yarndings20-Regular.ttf
🔥 FAIL: Check Google Fonts glyph coverage. (com.google.fonts/check/glyph_coverage)
  • 🔥 FAIL Missing required codepoints:

    • 0x0024 (DOLLAR SIGN)

    • 0x0025 (PERCENT SIGN)

    • 0x0026 (AMPERSAND)

    • 0x0040 (COMMERCIAL AT)

    • 0x005E (CIRCUMFLEX ACCENT)

    • 0x0060 (GRAVE ACCENT)

    • 0x007C (VERTICAL LINE)

    • 0x007E (TILDE)

    • 0x00A1 (INVERTED EXCLAMATION MARK)

    • 0x00A2 (CENT SIGN)

    • 217 more.

Use -F or --full-lists to disable shortening of long lists. [code: missing-codepoints]

🔥 FAIL: Check OFL body text is correct. (com.google.fonts/check/license/OFL_body_text)
🔥 FAIL: Check copyright namerecords match license file. (com.google.fonts/check/name/license)
  • 🔥 FAIL License file OFL.txt exists but NameID 13 (LICENSE DESCRIPTION) value on platform 3 (WINDOWS) is not specified for that. Value was: "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" Must be changed to "This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: https://scripts.sil.org/OFL" [code: wrong]
🔥 FAIL: Check font follows the Google Fonts vertical metric schema (com.google.fonts/check/vertical_metrics)
  • 🔥 FAIL The sum of hhea.ascender + abs(hhea.descender) + hhea.lineGap is 960 when it should be at least 1152 [code: bad-hhea-range]
WARN: Checking OS/2 achVendID. (com.google.fonts/check/vendor_id)
  • WARN OS/2 VendorID value 'NONE' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
WARN: Check for codepoints not covered by METADATA subsets. (com.google.fonts/check/metadata/unreachable_subsetting)
  • 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+200A HAIR SPACE: not included in any glyphset definition

Or you can add the above codepoints to one of the subsets supported by the font: latin, math, menu, symbols [code: unreachable-subsetting]

WARN: Ensure fonts have ScriptLangTags declared on the 'meta' table. (com.google.fonts/check/meta/script_lang_tags)
  • WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
WARN: Check if each glyph has the recommended amount of contours. (com.google.fonts/check/contour_count)
  • WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

- Glyph name: exclam	Contours detected: 164	Expected: 2

- Glyph name: quotedbl	Contours detected: 112	Expected: 2

- Glyph name: numbersign	Contours detected: 78	Expected: 2

- Glyph name: quotesingle	Contours detected: 128	Expected: 1

- Glyph name: parenleft	Contours detected: 160	Expected: 1

- Glyph name: parenright	Contours detected: 88	Expected: 1

- Glyph name: asterisk	Contours detected: 78	Expected: 1 or 4

- Glyph name: plus	Contours detected: 104	Expected: 1

- Glyph name: comma	Contours detected: 144	Expected: 1

- Glyph name: hyphen	Contours detected: 48	Expected: 1

- 170 more.

Use -F or --full-lists to disable shortening of long lists.
[code: contour-count]

WARN: Check math signs have the same width. (com.google.fonts/check/math_signs_width)
  • WARN The most common width is 560 among a set of 3 math glyphs.
    The following math glyphs have a different width, though:

Width = 680:
greater
[code: width-outliers]

WARN: Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value (com.google.fonts/check/gpos_kerning_info)
  • WARN GPOS table lacks kerning information. [code: lacks-kern-info]
INFO: Show hinting filesize impact. (com.google.fonts/check/hinting_impact)
  • INFO Hinting filesize impact:
ofl/yarndings20/Yarndings20-Regular.ttf
Dehinted Size 105.1kb
Hinted Size 188.1kb
Increase 83.0kb
Change 78.9 %
[code: size-impact]
INFO: EPAR table present in font? (com.google.fonts/check/epar)
INFO: Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (com.google.fonts/check/gasp)
  • 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: Check for font-v versioning. (com.google.fonts/check/fontv)
  • INFO Version string is: "Version 1.000; ttfautohint (v1.8.4.7-5d5b)"
    The version string must ideally include a git commit hash and either a "dev" or a "release" suffix such as in the example below:
    "Version 1.3; git-0d08353-release" [code: bad-format]
INFO: Font contains all required tables? (com.google.fonts/check/required_tables)
  • INFO This font contains the following optional tables:

    • cvt

    • fpgm

    • loca

    • prep

    • gasp [code: optional-tables]

INFO: List all superfamily filepaths (com.google.fonts/check/superfamily/list)
  • INFO ofl/yarndings20 [code: family-path]

Summary

💔 ERROR ☠ FATAL 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 0 5 6 77 7 161 0
0% 0% 2% 2% 30% 3% 63% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • PASS
  • DEBUG

@emmamarichal
Copy link
Collaborator Author

@vv-monsalve I updated the description with the sentence about the number.
For the metadatas (subsets), I suggest to let them like this, and try with this PR. If the font is well displayed, we can go ahead with the other PRs. I will let them in draft until we are happy with this one!

@vv-monsalve
Copy link
Collaborator

vv-monsalve commented Feb 7, 2024

For the metadatas (subsets), I suggest to let them like this, and try with this PR. If the font is well displayed, we can go ahead with the other PRs.

Okay, let's see how it perform in Dev.

@emmamarichal
Copy link
Collaborator Author

@vv-monsalve, done :)

Copy link

github-actions bot commented Feb 7, 2024

FontBakery report

fontbakery version: 0.11.1

Checks with FATAL results

These must be addressed first.

[1] Yarndings20-Regular.ttf
FATAL: The font has tags in the GF Tags spreadsheet (com.google.fonts/check/metadata/has_tags)
  • FATAL Family does not appear in tag spreadsheet. [code: no-tags]

All other checks

[1] Family checks
INFO: Check axis ordering on the STAT table. (com.google.fonts/check/STAT/axis_order)
  • INFO All of the fonts lack a STAT table.
    [code: summary]

[15] Yarndings20-Regular.ttf
💔 ERROR: Shapes languages in all GF glyphsets. (com.google.fonts/check/glyphsets/shape_languages)
  • 💔 ERROR Failed with AttributeError: 'Vharfbuzz' object has no attribute 'ttfont'
  File "/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/fontbakery/checkrunner.py", line 170, in _exec_check
    results.extend(list(result))
  File "/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/fontbakery/profiles/googlefonts.py", line 3537, in com_google_fonts_check_glyphsets_shape_languages
    shaperglot_checker = Checker(ttFont.reader.file.name)
  File "/opt/hostedtoolcache/Python/3.10.13/x64/lib/python3.10/site-packages/shaperglot/checker.py", line 23, in __init__
    self.ttfont = self.vharfbuzz.ttfont

``` [code: failed-check]
</div></details><details><summary>🔥 <b>FAIL:</b> Check Google Fonts glyph coverage. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/glyph_coverage">com.google.fonts/check/glyph_coverage</a>)</summary><div>


* 🔥 **FAIL** Missing required codepoints:

	- 0x0024 (DOLLAR SIGN)


	- 0x0025 (PERCENT SIGN)


	- 0x0026 (AMPERSAND)


	- 0x0040 (COMMERCIAL AT)


	- 0x005E (CIRCUMFLEX ACCENT)


	- 0x0060 (GRAVE ACCENT)


	- 0x007C (VERTICAL LINE)


	- 0x007E (TILDE)


	- 0x00A1 (INVERTED EXCLAMATION MARK)


	- 0x00A2 (CENT SIGN)


	- 217 more.

Use -F or --full-lists to disable shortening of long lists. [code: missing-codepoints]
</div></details><details><summary>🔥 <b>FAIL:</b> Check font follows the Google Fonts vertical metric schema (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/vertical_metrics">com.google.fonts/check/vertical_metrics</a>)</summary><div>


* 🔥 **FAIL** The sum of hhea.ascender + abs(hhea.descender) + hhea.lineGap is 960 when it should be at least 1152 [code: bad-hhea-range]
</div></details><details><summary>⚠ <b>WARN:</b> Checking OS/2 achVendID. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/vendor_id">com.google.fonts/check/vendor_id</a>)</summary><div>


* ⚠ **WARN** OS/2 VendorID value 'NONE' is not yet recognized. If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
 [code: unknown]
</div></details><details><summary>⚠ <b>WARN:</b> Check for codepoints not covered by METADATA subsets. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/unreachable_subsetting">com.google.fonts/check/metadata/unreachable_subsetting</a>)</summary><div>


* ⚠ **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+0020 SPACE: try adding one of: gothic, myanmar, samaritan, tibetan, osmanya, medefaidrin, mahajani, avestan, gunjala-gondi, miao, new-tai-lue, inscriptional-pahlavi, mandaic, newa, tamil, kaithi, khudawadi, old-uyghur, lao, runic, elbasan, zanabazar-square, tagbanwa, hanunoo, nko, anatolian-hieroglyphs, meroitic-cursive, tangut, carian, greek, khmer, greek-ext, syriac, thai, multani, tagalog, lepcha, chakma, toto, linear-b, soyombo, khitan-small-script, cyrillic, latin-ext, ahom, javanese, ottoman-siyaq-numbers, old-italic, pahawh-hmong, chinese-simplified, palmyrene, hebrew, kannada, warang-citi, nabataean, music, nag-mundari, lisu, tai-viet, vai, tamil-supplement, siddham, old-persian, buginese, duployan, ogham, canadian-aboriginal, georgian, osage, braille, telugu, caucasian-albanian, tifinagh, hatran, shavian, bhaiksuki, nandinagari, sogdian, ugaritic, yi, coptic, ol-chiki, znamenny, sundanese, limbu, mro, manichaean, imperial-aramaic, lycian, japanese, mayan-numerals, sharada, old-hungarian, arabic, batak, cypro-minoan, lydian, psalter-pahlavi, old-sogdian, khojki, phags-pa, bengali, devanagari, pau-cin-hau, masaram-gondi, vithkuqi, sinhala, tangsa, meroitic-hieroglyphs, nushu, dives-akuru, cyrillic-ext, nyiakeng-puachue-hmong, cherokee, mende-kikakui, linear-a, phoenician, marchen, signwriting, meroitic, old-south-arabian, thaana, chinese-hongkong, old-north-arabian, meetei-mayek, tai-tham, bassa-vah, grantha, rejang, modi, chorasmian, kawi, malayalam, hanifi-rohingya, dogra, egyptian-hieroglyphs, chinese-traditional, kharoshthi, ethiopic, old-permic, glagolitic, cham, gujarati, deseret, wancho, elymaic, saurashtra, oriya, sora-sompeng, gurmukhi, yezidi, armenian, cuneiform, inscriptional-parthian, syloti-nagri, buhid, cypriot, brahmi, takri, indic-siyaq-numbers, vietnamese, tai-le, adlam, tirhuta, korean, balinese, kayah-li, makasar, old-turkic, mongolian, bamum
 * U+00A0 NO-BREAK SPACE: try adding one of: gothic, myanmar, samaritan, tibetan, osmanya, medefaidrin, mahajani, avestan, gunjala-gondi, miao, new-tai-lue, inscriptional-pahlavi, mandaic, newa, tamil, kaithi, khudawadi, old-uyghur, lao, runic, elbasan, zanabazar-square, tagbanwa, hanunoo, nko, anatolian-hieroglyphs, meroitic-cursive, tangut, carian, greek, khmer, greek-ext, syriac, thai, multani, tagalog, lepcha, chakma, toto, linear-b, soyombo, khitan-small-script, cyrillic, latin-ext, ahom, javanese, ottoman-siyaq-numbers, old-italic, pahawh-hmong, chinese-simplified, palmyrene, hebrew, kannada, warang-citi, nabataean, music, nag-mundari, lisu, tai-viet, vai, tamil-supplement, siddham, old-persian, buginese, duployan, ogham, canadian-aboriginal, georgian, osage, braille, telugu, caucasian-albanian, tifinagh, hatran, shavian, bhaiksuki, nandinagari, sogdian, ugaritic, yi, coptic, ol-chiki, znamenny, sundanese, limbu, mro, manichaean, imperial-aramaic, lycian, japanese, mayan-numerals, sharada, old-hungarian, arabic, batak, cypro-minoan, lydian, psalter-pahlavi, old-sogdian, khojki, phags-pa, bengali, devanagari, pau-cin-hau, masaram-gondi, vithkuqi, sinhala, tangsa, meroitic-hieroglyphs, nushu, dives-akuru, cyrillic-ext, nyiakeng-puachue-hmong, cherokee, mende-kikakui, linear-a, phoenician, marchen, signwriting, meroitic, old-south-arabian, thaana, chinese-hongkong, old-north-arabian, meetei-mayek, tai-tham, bassa-vah, grantha, rejang, modi, chorasmian, kawi, malayalam, hanifi-rohingya, dogra, egyptian-hieroglyphs, chinese-traditional, kharoshthi, ethiopic, old-permic, glagolitic, cham, gujarati, deseret, wancho, elymaic, saurashtra, oriya, sora-sompeng, gurmukhi, yezidi, armenian, cuneiform, inscriptional-parthian, syloti-nagri, buhid, cypriot, brahmi, takri, indic-siyaq-numbers, vietnamese, tai-le, adlam, tirhuta, korean, balinese, kayah-li, makasar, old-turkic, mongolian, bamum
 * U+200A HAIR SPACE: not included in any glyphset definition

Or you can add the above codepoints to one of the subsets supported by the font: `latin`, `math`, `menu`, `symbols` [code: unreachable-subsetting]
</div></details><details><summary>⚠ <b>WARN:</b> Ensure fonts have ScriptLangTags declared on the 'meta' table. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/meta/script_lang_tags">com.google.fonts/check/meta/script_lang_tags</a>)</summary><div>


* ⚠ **WARN** This font file does not have a 'meta' table. [code: lacks-meta-table]
</div></details><details><summary>⚠ <b>WARN:</b> Check if each glyph has the recommended amount of contours. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/universal.html#com.google.fonts/check/contour_count">com.google.fonts/check/contour_count</a>)</summary><div>


* ⚠ **WARN** This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts of contours observed in a large collection of reference font families. The divergences listed below may simply indicate a significantly different design on some of your glyphs. On the other hand, some of these may flag actual bugs in the font such as glyphs mapped to an incorrect codepoint. Please consider reviewing the design and codepoint assignment of these to make sure they are correct.

The following glyphs do not have the recommended number of contours:

	- Glyph name: exclam	Contours detected: 164	Expected: 2

	- Glyph name: quotedbl	Contours detected: 112	Expected: 2

	- Glyph name: numbersign	Contours detected: 78	Expected: 2

	- Glyph name: quotesingle	Contours detected: 128	Expected: 1

	- Glyph name: parenleft	Contours detected: 160	Expected: 1

	- Glyph name: parenright	Contours detected: 88	Expected: 1

	- Glyph name: asterisk	Contours detected: 78	Expected: 1 or 4

	- Glyph name: plus	Contours detected: 104	Expected: 1

	- Glyph name: comma	Contours detected: 144	Expected: 1

	- Glyph name: hyphen	Contours detected: 48	Expected: 1

	- 170 more.

Use -F or --full-lists to disable shortening of long lists.
 [code: contour-count]
</div></details><details><summary>⚠ <b>WARN:</b> Check math signs have the same width. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/universal.html#com.google.fonts/check/math_signs_width">com.google.fonts/check/math_signs_width</a>)</summary><div>


* ⚠ **WARN** The most common width is 560 among a set of 3 math glyphs.
The following math glyphs have a different width, though:

Width = 680:
greater
 [code: width-outliers]
</div></details><details><summary>⚠ <b>WARN:</b> Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/gpos.html#com.google.fonts/check/gpos_kerning_info">com.google.fonts/check/gpos_kerning_info</a>)</summary><div>


* ⚠ **WARN** GPOS table lacks kerning information. [code: lacks-kern-info]
</div></details><details><summary>ℹ <b>INFO:</b> Show hinting filesize impact. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/hinting_impact">com.google.fonts/check/hinting_impact</a>)</summary><div>


* ℹ **INFO** Hinting filesize impact:

 |               | ofl/yarndings20/Yarndings20-Regular.ttf          |
 |:------------- | ---------------:|
 | Dehinted Size | 105.1kb |
 | Hinted Size   | 188.1kb   |
 | Increase      | 83.0kb      |
 | Change        | 78.9 %  |
 [code: size-impact]
</div></details><details><summary>ℹ <b>INFO:</b> EPAR table present in font? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/epar">com.google.fonts/check/epar</a>)</summary><div>


* ℹ **INFO** EPAR table not present in font. To learn more see https://github.com/fonttools/fontbakery/issues/818 [code: lacks-EPAR]
</div></details><details><summary>ℹ <b>INFO:</b> Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/gasp">com.google.fonts/check/gasp</a>)</summary><div>


* ℹ **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]
</div></details><details><summary>ℹ <b>INFO:</b> Check for font-v versioning. (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/googlefonts.html#com.google.fonts/check/fontv">com.google.fonts/check/fontv</a>)</summary><div>


* ℹ **INFO** Version string is: "Version 1.000; ttfautohint (v1.8.4.7-5d5b)"
The version string must ideally include a git commit hash and either a "dev" or a "release" suffix such as in the example below:
"Version 1.3; git-0d08353-release" [code: bad-format]
</div></details><details><summary>ℹ <b>INFO:</b> Font contains all required tables? (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/universal.html#com.google.fonts/check/required_tables">com.google.fonts/check/required_tables</a>)</summary><div>


* ℹ **INFO** This font contains the following optional tables:

	- cvt 

	- fpgm

	- loca

	- prep

	- gasp [code: optional-tables]
</div></details><details><summary>ℹ <b>INFO:</b> List all superfamily filepaths (<a href="https://font-bakery.readthedocs.io/en/stable/fontbakery/profiles/universal.html#com.google.fonts/check/superfamily/list">com.google.fonts/check/superfamily/list</a>)</summary><div>


* ℹ **INFO** ofl/yarndings20 [code: family-path]
</div></details><br></div></details>

### Summary

| 💔 ERROR | ☠ FATAL | 🔥 FAIL | ⚠ WARN | 💤 SKIP | ℹ INFO | 🍞 PASS | 🔎 DEBUG |
|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|:-----:|
| 1 | 1 | 2 | 6 | 76 | 7 | 167 | 0 |
| 0% | 0% | 1% | 2% | 29% | 3% | 64% | 0% |

**Note:** The following loglevels were omitted in this report:
* **SKIP**
* **PASS**
* **DEBUG**

@vv-monsalve
Copy link
Collaborator

Excellent! Now we just need to solve the tags issue (!)

@emmamarichal emmamarichal merged commit 9f9a916 into main Feb 15, 2024
8 of 9 checks passed
@emmamarichal emmamarichal deleted the gftools_packager_ofl_yarndings20 branch February 15, 2024 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Live
Development

Successfully merging this pull request may close these issues.

Add Soft Type Yarndings 20
2 participants