fonttools / fontbakery

🧁 A font quality assurance tool for everyone
https://fontbakery.readthedocs.io
Apache License 2.0
550 stars 102 forks source link

Add METADATA check for Han Unification #2506

Open davelab6 opened 5 years ago

davelab6 commented 5 years ago

If a family supports one of the 4 CJK scripts, it should not support any of the other 3.

felipesanches commented 5 years ago

Did it actually happen already?

davelab6 commented 5 years ago

Did what happen? We have some Chinese, Japanese and Korean fonts already

felipesanches commented 5 years ago

Did what happen? We have some Chinese, Japanese and Korean fonts already

is there any family supporting more than one of the 4 CJK scripts?

davelab6 commented 5 years ago

Noto Sans HK and some of the Chinese Simplified fonts were detected as supporting several. The metadata generator should be fixed too, but this is a fail safe request

felipesanches commented 5 years ago

The git repo at https://github.com/googlefonts/noto-cjk contains ttc files, but I don't see them at https://github.com/google/fonts/

In order to work in this issue I'm interested in looking at the bad METADATA.pb files that the check must detect in a FAIL scenario.

felipesanches commented 5 years ago

@m4rc1e do you have a script that will sync fonts in the API to the git repo?

felipesanches commented 5 years ago

ping, @m4rc1e

m4rc1e commented 5 years ago

do you have a script that will sync fonts in the API to the git repo?

@felipesanches apologies but I don't fully understand. I'm assuming you want a script that will take a family from fonts.google.com and generate us a family dir in our google/fonts repo?

The only script I have is a reporter that will tell me which families haven't made it into fonts.google.com yet.

felipesanches commented 5 years ago

A few weeks ago I was trying to work on this issue and I was unable to find where the CJK fonts on the google/fonts repo. Then @davelab6 suggested that perhaps the CJK fonts were pushed to the API directly (without going through the google/fonts repo first) and that perhaps you had a script that could be useful in this case. I simply copied here Dave's original question to you, so I am unsure exactly what he meant.

felipesanches commented 5 years ago

let's make things simpler here: what are the valid values for the subsets field in a METADATA.pb of CJK fonts?

felipesanches commented 5 years ago

@chrissimpkins, maybe you can help us clarify here what to do in this check (and how to do it). Dave's original description for this issue is too short and lacks a more detailed definition of the problem.

felipesanches commented 5 years ago

@chrissimpkins agreed to be assigned this issue so that he'll be working on this new check request to be part of our new CJK fontbakery profile.

chrissimpkins commented 5 years ago

Sure happy to help here. Please let me know where I can find the CJK fonts and metadata files that you would like to have reviewed. I don't have any specific FB check in mind at the moment because I don't understand what process is failing here. Please add detail so that I can understand.

felipesanches commented 5 years ago

we need a more detailed description of the issue from @davelab6

felipesanches commented 5 years ago

@chrissimpkins I've pushed a commit to my personal account with a boilerplate of a new CJK profile. Please use that to prepare a PR when you start creating CJK checks. A single cjk check is enough for me to review and merge the PR and then you can gradually add more checks as usual.

I hope this is useful. The commit is available at https://github.com/felipesanches/fontbakery/commit/9fde1ce000ed4a88a254f6aca00c72d0a45850f1

chrissimpkins commented 5 years ago

Thanks Felipe! I will have a look. I really appreciate it

chrissimpkins commented 5 years ago

Here are the lists of fonts by locale:

Simplified Chinese

Traditional Chinese - HK

Traditional Chinese - not otherwise specified

Japanese

Korean

chrissimpkins commented 5 years ago

Simplified Chinese

  1. Noto Sans SC - no METADATA.pb file available in source repository
  2. Noto Serif SC - no METADATA.pb file available in source repository
  3. ZCOOL QingKe HuangYou - no METADATA.pb file available in source repository
  4. ZCOOL KuaiLe - no METADATA.pb file available in source repository
  5. ZCOOL XiaoWei - no METADATA.pb file available in source repository
chrissimpkins commented 5 years ago

Traditional Chinese - Hong Kong

  1. Noto Sans HK - no METADATA.pb file available in source repository
chrissimpkins commented 5 years ago

Traditional Chinese - NOS

  1. Noto Sans TC - no METADATA.pb file available in source repository
  2. Noto Serif TC - no METADATA.pb file available in source repository
chrissimpkins commented 5 years ago

Japanese

  1. Noto Sans JP - no METADATA.pb file in source repository
  2. Noto Serif JP - no METADATA.pb file in source repository
  3. M PLUS 1p - no METADATA.pb file in the source repository
  4. Sawarabi Mincho - unable to locate source repository
  5. M PLUS Rounded 1c - no METADATA.pb file in the source repository
  6. Kosugi - unable to locate the source repository
  7. Kosugi Maru - unable to locate the source repository
chrissimpkins commented 5 years ago

Seems like a consistent pattern across the CJK fonts. There are no METADATA.pb files for any of these CJK projects as far as I can tell. Removing my assignment for this issue as I don't understand what is being requested here. If someone can expand on the needs for this check, I'd be happy to revisit this issue.

felipesanches commented 5 years ago

@davelab6 could you please clarify the requirements here?

davelab6 commented 5 years ago

I see that the METADATA files made internally haven't been reposted upstream. I will try to get that done

davelab6 commented 5 years ago

This is literally only about the METADATA files, not about font data.

felipesanches commented 5 years ago

Once we get the METADATA files available on their respective repos, I will reassign this issue to myself and use the METADATA files as a reference for implementing (and testing) this rather simple check.