forked from arrowtype/recursive
-
Notifications
You must be signed in to change notification settings - Fork 0
/
fontbakery.txt
2290 lines (1489 loc) · 95.6 KB
/
fontbakery.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
## Fontbakery report
Fontbakery version: 0.7.15
<details>
<summary><b>[29] Family checks</b></summary>
<details>
<summary>ℹ <b>INFO:</b> Do we have the latest version of FontBakery installed?</summary>
* [com.google.fonts/check/fontbakery_version](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/fontbakery_version)
* ℹ **INFO** fontbakery (0.7.15) - Well designed Font QA tool, written in Python 3
INSTALLED: 0.7.15 (latest)
* 🍞 **PASS** Font Bakery is up-to-date
</details>
<details>
<summary>🍞 <b>PASS:</b> Does font file include unacceptable control character glyphs?</summary>
* [com.google.fonts/check/family/control_chars](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/family/control_chars)
<pre>--- Rationale ---
Use of some unacceptable control characters in the U+0000 - U+001F range can
lead to rendering issues on some platforms.
Acceptable control characters are defined as .null (U+0000) and CR (U+000D) for
this test.
</pre>
* 🍞 **PASS** Unacceptable control characters were not identified.
</details>
<details>
<summary>🍞 <b>PASS:</b> Checking all files are in the same directory.</summary>
* [com.google.fonts/check/family/single_directory](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/family/single_directory)
<pre>--- Rationale ---
If the set of font files passed in the command line is not all in the same
directory, then we warn the user since the tool will interpret the set of files
as belonging to a single family (and it is unlikely that the user would store
the files from a single family spreaded in several separate directories).
</pre>
* 🍞 **PASS** All files are in the same directory.
</details>
<details>
<summary>🍞 <b>PASS:</b> Is the command `ftxvalidator` (Apple Font Tool Suite) available?</summary>
* [com.google.fonts/check/ftxvalidator_is_available](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/ftxvalidator_is_available)
<pre>--- Rationale ---
There's no reasonable (and legal) way to run the command `ftxvalidator` of the
Apple Font Tool Suite on a non-macOS machine. I.e. on GNU+Linux or Windows etc.
If Font Bakery is not running on an OSX machine, the machine running Font
Bakery could access `ftxvalidator` on OSX, e.g. via ssh or a remote procedure
call (rpc).
There's an ssh example implementation at:
https://github.com/googlefonts/fontbakery/blob/master/prebuilt/workarounds/ftxvalidator/ssh-implementation/ftxvalidator
</pre>
* 🍞 **PASS** ftxvalidator is available.
</details>
<details>
<summary>🍞 <b>PASS:</b> Each font in a family must have the same vertical metrics values.</summary>
* [com.google.fonts/check/family/vertical_metrics](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/family/vertical_metrics)
<pre>--- Rationale ---
We want all fonts within a family to have the same vertical metrics so their
line spacing is consistent across the family.
</pre>
* 🍞 **PASS** Vertical metrics are the same across the family
</details>
<details>
<summary>🍞 <b>PASS:</b> Fonts have equal unicode encodings?</summary>
* [com.google.fonts/check/family/equal_unicode_encodings](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/cmap.html#com.google.fonts/check/family/equal_unicode_encodings)
* 🍞 **PASS** Fonts have equal unicode encodings.
</details>
<details>
<summary>🍞 <b>PASS:</b> Make sure all font files have the same version value.</summary>
* [com.google.fonts/check/family/equal_font_versions](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/head.html#com.google.fonts/check/family/equal_font_versions)
* 🍞 **PASS** All font files have the same version.
</details>
<details>
<summary>🍞 <b>PASS:</b> Fonts have consistent PANOSE proportion?</summary>
* [com.google.fonts/check/family/panose_proportion](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/os2.html#com.google.fonts/check/family/panose_proportion)
* 🍞 **PASS** Fonts have consistent PANOSE proportion.
</details>
<details>
<summary>🍞 <b>PASS:</b> Fonts have consistent PANOSE family type?</summary>
* [com.google.fonts/check/family/panose_familytype](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/os2.html#com.google.fonts/check/family/panose_familytype)
* 🍞 **PASS** Fonts have consistent PANOSE family type.
</details>
<details>
<summary>🍞 <b>PASS:</b> Fonts have consistent underline thickness?</summary>
* [com.google.fonts/check/family/underline_thickness](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/post.html#com.google.fonts/check/family/underline_thickness)
<pre>--- Rationale ---
Dave C Lemon (Adobe Type Team) recommends setting the underline thickness to be
consistent across the family.
If thicknesses are not family consistent, words set on the same line which have
different styles look strange.
See also:
https://twitter.com/typenerd1/status/690361887926697986
</pre>
* 🍞 **PASS** Fonts have consistent underline thickness.
</details>
<details>
<summary>🍞 <b>PASS:</b> Verify that each group of fonts with the same nameID 1 has maximum of 4 fonts</summary>
* [com.adobe.fonts/check/family/max_4_fonts_per_family_name](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/name.html#com.adobe.fonts/check/family/max_4_fonts_per_family_name)
<pre>--- Rationale ---
Per the OpenType spec:
'The Font Family name ... should be shared among at most four fonts that differ
only in weight or style ...'
</pre>
* 🍞 **PASS** There were no more than 4 fonts per family name.
</details>
<details>
<summary>💤 <b>SKIP:</b> Check METADATA.pb parse correctly.</summary>
* [com.google.fonts/check/metadata/parses](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/parses)
<pre>--- Rationale ---
The purpose of this check is to ensure that the METADATA.pb file is not
malformed.
</pre>
* 💤 **SKIP** Font family at 'font_betas' lacks a METADATA.pb file.
</details>
<details>
<summary>💤 <b>SKIP:</b> Font designer field in METADATA.pb must not be 'unknown'.</summary>
* [com.google.fonts/check/metadata/unknown_designer](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/unknown_designer)
* 💤 **SKIP** Unfulfilled Conditions: family_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> Multiple values in font designer field in METADATA.pb must be separated by commas.</summary>
* [com.google.fonts/check/metadata/designer_values](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/designer_values)
<pre>--- Rationale ---
We must use commas instead of forward slashes because the server-side code at
the fonts.google.com directory will segment the string on the commas into a
list of names and display the first item in the list as the "principal
designer" while the remaining names are identified as "contributors".
See eg https://fonts.google.com/specimen/Rubik
</pre>
* 💤 **SKIP** Unfulfilled Conditions: family_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> Does METADATA.pb copyright field contain broken links?</summary>
* [com.google.fonts/check/metadata/broken_links](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/broken_links)
* 💤 **SKIP** Unfulfilled Conditions: family_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> Ensure METADATA.pb lists all font binaries.</summary>
* [com.google.fonts/check/metadata/undeclared_fonts](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/undeclared_fonts)
<pre>--- Rationale ---
The set of font binaries available must match exactly those declared on the
METADATA.pb file.
Also, to avoid confusion, we expect that font files are not placed on
subdirectories.
</pre>
* 💤 **SKIP** Unfulfilled Conditions: family_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> Check font has a license.</summary>
* [com.google.fonts/check/family/has_license](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/family/has_license)
* 💤 **SKIP** Unfulfilled Conditions: gfonts_repo_structure
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb: check if fonts field only has unique "full_name" values.</summary>
* [com.google.fonts/check/metadata/unique_full_name_values](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/unique_full_name_values)
* 💤 **SKIP** Unfulfilled Conditions: family_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb: check if fonts field only contains unique style:weight pairs.</summary>
* [com.google.fonts/check/metadata/unique_weight_style_pairs](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/unique_weight_style_pairs)
* 💤 **SKIP** Unfulfilled Conditions: family_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb license is "APACHE2", "UFL" or "OFL"?</summary>
* [com.google.fonts/check/metadata/license](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/license)
* 💤 **SKIP** Unfulfilled Conditions: family_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb should contain at least "menu" and "latin" subsets.</summary>
* [com.google.fonts/check/metadata/menu_and_latin](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/menu_and_latin)
* 💤 **SKIP** Unfulfilled Conditions: family_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb subsets should be alphabetically ordered.</summary>
* [com.google.fonts/check/metadata/subsets_order](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/subsets_order)
* 💤 **SKIP** Unfulfilled Conditions: family_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb: Copyright notice is the same in all fonts?</summary>
* [com.google.fonts/check/metadata/copyright](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/copyright)
* 💤 **SKIP** Unfulfilled Conditions: family_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> Check that METADATA.pb family values are all the same.</summary>
* [com.google.fonts/check/metadata/familyname](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/familyname)
* 💤 **SKIP** Unfulfilled Conditions: family_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb: According Google Fonts standards, families should have a Regular style.</summary>
* [com.google.fonts/check/metadata/has_regular](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/has_regular)
* 💤 **SKIP** Unfulfilled Conditions: family_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb: Regular should be 400.</summary>
* [com.google.fonts/check/metadata/regular_is_400](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/regular_is_400)
* 💤 **SKIP** Unfulfilled Conditions: family_metadata, has_regular_style
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb: Font filenames match font.filename entries?</summary>
* [com.google.fonts/check/metadata/filenames](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/filenames)
* 💤 **SKIP** Unfulfilled Conditions: family_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> All tabular figures must have the same width across the RIBBI-family.</summary>
* [com.google.fonts/check/family/tnum_horizontal_metrics](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/family/tnum_horizontal_metrics)
<pre>--- Rationale ---
Tabular figures need to have the same metrics in all styles in order to allow
tables to be set with proper typographic control, but to maintain the placement
of decimals and numeric columns between rows.
Here's a good explanation of this:
https://www.typography.com/techniques/fonts-for-financials/#tabular-figs
</pre>
* 💤 **SKIP** Unfulfilled Conditions: RIBBI_ttFonts
</details>
<details>
<summary>💤 <b>SKIP:</b> Check that OS/2.fsSelection bold & italic settings are unique for each NameID1</summary>
* [com.adobe.fonts/check/family/bold_italic_unique_for_nameid1](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/os2.html#com.adobe.fonts/check/family/bold_italic_unique_for_nameid1)
<pre>--- Rationale ---
Per the OpenType spec: name ID 1 'is used in combination with Font Subfamily
name (name ID 2), and should be shared among at most four fonts that differ
only in weight or style...
This four-way distinction should also be reflected in the OS/2.fsSelection
field, using bits 0 and 5.
</pre>
* 💤 **SKIP** Unfulfilled Conditions: RIBBI_ttFonts
</details>
<br>
</details>
<details>
<summary><b>[132] recursive-MONO_CASL_wght_slnt_ital--full_gsub--2019_11_19-19_44.ttf</b></summary>
<details>
<summary>💔 <b>ERROR:</b> Version number has increased since previous release on Google Fonts?</summary>
* [com.google.fonts/check/version_bump](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/version_bump)
* 💔 **ERROR** The condition <FontBakeryCondition:github_gfonts_ttFont> had an error: BadCertificateSetupException: You probably installed official Mac python from python.org but forgot to also install the certificates. There is a note in the installer Readme about that. Check the Python folder in the Applications directory, you should find a shell script to install the certificates.
</details>
<details>
<summary>💔 <b>ERROR:</b> Check variable font instances have correct coordinate values</summary>
* [com.google.fonts/check/varfont_instance_coordinates](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/varfont_instance_coordinates)
* 💔 **ERROR** Failed with KeyError: 'MONO'
</details>
<details>
<summary>💔 <b>ERROR:</b> Checking with ftxvalidator.</summary>
* [com.google.fonts/check/ftxvalidator](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/ftxvalidator)
* 💔 **ERROR** ftxvalidator returned an error code. Output follows:
objc[66091]: Objective-C garbage collection is no longer supported.
</details>
<details>
<summary>🔥 <b>FAIL:</b> Checking file is named canonically.</summary>
* [com.google.fonts/check/canonical_filename](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/canonical_filename)
<pre>--- Rationale ---
A font's filename must be composed in the following manner:
<familyname>-<stylename>.ttf
- Nunito-Regular.ttf,
- Oswald-BoldItalic.ttf
Variable fonts must list the axis tags in alphabetical order in square brackets
and separated by commas:
- Roboto[wdth,wght].ttf
- Familyname-Italic[wght].ttf
</pre>
* 🔥 **FAIL** font filename "font_betas/recursive-MONO_CASL_wght_slnt_ital--full_gsub--2019_11_19-19_44.ttf" is invalid. It must not contain underscore characters! [code: invalid-char]
</details>
<details>
<summary>🔥 <b>FAIL:</b> Checking OS/2 fsType does not impose restrictions.</summary>
* [com.google.fonts/check/fstype](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/fstype)
<pre>--- Rationale ---
The fsType in the OS/2 table is a legacy DRM-related field. Fonts in the Google
Fonts collection must have it set to zero (also known as "Installable
Embedding"). This setting indicates that the fonts can be embedded in documents
and permanently installed by applications on remote systems.
More detailed info is available at:
https://docs.microsoft.com/en-us/typography/opentype/spec/os2#fstype
</pre>
* 🔥 **FAIL** In this font fsType is set to 4 meaning that:
The font may be embedded, and temporarily loaded on the remote system, but documents that use it must not be editable.
No such DRM restrictions can be enabled on the Google Fonts collection, so the fsType field must be set to zero (Installable Embedding) instead. [code: drm]
</details>
<details>
<summary>🔥 <b>FAIL:</b> Check copyright namerecords match license file.</summary>
* [com.google.fonts/check/name/license](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/license)
* 🔥 **FAIL** Font lacks NameID 13 (LICENSE DESCRIPTION). A proper licensing entry must be set. [code: missing]
</details>
<details>
<summary>🔥 <b>FAIL:</b> License URL matches License text on name table?</summary>
* [com.google.fonts/check/name/license_url](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/license_url)
* 🔥 **FAIL** A known license URL must be provided in the NameID 14 (LICENSE INFO URL) entry. Currently accepted licenses are Apache: 'http://www.apache.org/licenses/LICENSE-2.0' or Open Font License: 'http://scripts.sil.org/OFL'
For a small set of legacy families the Ubuntu Font License 'https://www.ubuntu.com/legal/terms-and-policies/font-licence' may be acceptable as well.
When in doubt, please choose OFL for new font projects. [code: no-license-found]
</details>
<details>
<summary>🔥 <b>FAIL:</b> Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering?</summary>
* [com.google.fonts/check/gasp](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/gasp)
<pre>--- Rationale ---
Traditionally version 0 'gasp' tables were set so that font sizes below 8 ppem
had no grid fitting but did have antialiasing. From 9-16 ppem, just grid
fitting. And fonts above 17ppem had both antialiasing and grid fitting toggled
on. The use of accelerated graphics cards and higher resolution screens make
this approach obsolete. Microsoft's DirectWrite pushed this even further with
much improved rendering built into the OS and apps.
In this scenario it makes sense to simply toggle all 4 flags ON for all font
sizes.
</pre>
* 🔥 **FAIL** Font is missing the 'gasp' table. Try exporting the font with autohinting enabled.
If you are dealing with an unhinted font, it can be fixed by running the fonts through the command 'gftools fix-nonhinting'
GFTools is available at https://pypi.org/project/gftools/ [code: lacks-gasp]
</details>
<details>
<summary>🔥 <b>FAIL:</b> Check name table: TYPOGRAPHIC_SUBFAMILY_NAME entries.</summary>
* [com.google.fonts/check/name/typographicsubfamilyname](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/name/typographicsubfamilyname)
* 🔥 **FAIL** TYPOGRAPHIC_SUBFAMILY_NAME for Win "Sans Linear A" is incorrect. It must be "Light". [code: bad-typo-win]
</details>
<details>
<summary>🔥 <b>FAIL:</b> Font enables smart dropout control in "prep" table instructions?</summary>
* [com.google.fonts/check/smart_dropout](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/smart_dropout)
<pre>--- Rationale ---
This setup is meant to ensure consistent rendering quality for fonts across all
devices (with different rendering/hinting capabilities).
Below is the snippet of instructions we expect to see in the fonts:
B8 01 FF PUSHW 0x01FF
85 SCANCTRL (unconditinally turn on
dropout control mode)
B0 04 PUSHB 0x04
8D SCANTYPE (enable smart dropout control)
"Smart dropout control" means activating rules 1, 2 and 5:
Rule 1: If a pixel's center falls within the glyph outline,
that pixel is turned on.
Rule 2: If a contour falls exactly on a pixel's center,
that pixel is turned on.
Rule 5: If a scan line between two adjacent pixel centers
(either vertical or horizontal) is intersected
by both an on-Transition contour and an off-Transition
contour and neither of the pixels was already turned on
by rules 1 and 2, turn on the pixel which is closer to
the midpoint between the on-Transition contour and
off-Transition contour. This is "Smart" dropout control.
For more detailed info (such as other rules not enabled in this snippet),
please refer to the TrueType Instruction Set documentation.
</pre>
* 🔥 **FAIL** The 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the `gftools fix-nonhinting` script. [code: lacks-smart-dropout]
</details>
<details>
<summary>🔥 <b>FAIL:</b> Variable font weight coordinates must be multiples of 100.</summary>
* [com.google.fonts/check/varfont_weight_instances](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/varfont_weight_instances)
<pre>--- Rationale ---
The named instances on the weight axis of a variable font must have coordinates
that are multiples of 100 on the design space.
</pre>
* 🔥 **FAIL** Found a variable font instance with 'wght'=696.7742. This should instead be a multiple of 100. [code: bad-coordinate]
* 🔥 **FAIL** Found a variable font instance with 'wght'=696.7742. This should instead be a multiple of 100. [code: bad-coordinate]
* 🔥 **FAIL** Found a variable font instance with 'wght'=696.7742. This should instead be a multiple of 100. [code: bad-coordinate]
* 🔥 **FAIL** Found a variable font instance with 'wght'=696.7742. This should instead be a multiple of 100. [code: bad-coordinate]
* 🔥 **FAIL** Found a variable font instance with 'wght'=696.7742. This should instead be a multiple of 100. [code: bad-coordinate]
* 🔥 **FAIL** Found a variable font instance with 'wght'=696.7742. This should instead be a multiple of 100. [code: bad-coordinate]
* 🔥 **FAIL** Found a variable font instance with 'wght'=696.7742. This should instead be a multiple of 100. [code: bad-coordinate]
* 🔥 **FAIL** Found a variable font instance with 'wght'=696.7742. This should instead be a multiple of 100. [code: bad-coordinate]
</details>
<details>
<summary>🔥 <b>FAIL:</b> Check variable font instances have correct names</summary>
* [com.google.fonts/check/varfont_instance_names](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/varfont_instance_names)
* 🔥 **FAIL** Instance name "Mono Linear Light" is incorrect. It should be "Light" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Linear Light Italic" is incorrect. It should be "Light Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Casual Light" is incorrect. It should be "Light" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Casual Light Italic" is incorrect. It should be "Light Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Linear Regular" is incorrect. It should be "Regular" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Linear Italic" is incorrect. It should be "Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Casual Regular" is incorrect. It should be "Regular" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Casual Italic" is incorrect. It should be "Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Linear Medium" is incorrect. It should be "Medium" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Linear Medium Italic" is incorrect. It should be "Medium Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Casual Medium" is incorrect. It should be "Medium" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Casual Medium Italic" is incorrect. It should be "Medium Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Linear SemiBold" is incorrect. It should be "SemiBold" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Linear SemiBold Italic" is incorrect. It should be "SemiBold Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Casual SemiBold" is incorrect. It should be "SemiBold" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Casual SemiBold Italic" is incorrect. It should be "SemiBold Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Linear Bold" is incorrect. It should be "Bold" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Linear Bold Italic" is incorrect. It should be "Bold Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Casual Bold" is incorrect. It should be "Bold" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Casual Bold Italic" is incorrect. It should be "Bold Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Linear ExtraBold" is incorrect. It should be "ExtraBold" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Linear ExtraBold Italic" is incorrect. It should be "ExtraBold Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Casual ExtraBold" is incorrect. It should be "ExtraBold" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Casual ExtraBold Italic" is incorrect. It should be "ExtraBold Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Linear Black" is incorrect. It should be "Black" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Linear Black Italic" is incorrect. It should be "Black Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Casual Black" is incorrect. It should be "Black" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Casual Black Italic" is incorrect. It should be "Black Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Linear ExtraBlack" is incorrect. It should be "Black" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Linear ExtraBlack Italic" is incorrect. It should be "Black Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Casual ExtraBlack" is incorrect. It should be "Black" [code: bad-name]
* 🔥 **FAIL** Instance name "Mono Casual ExtraBlack Italic" is incorrect. It should be "Black Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Linear Light" is incorrect. It should be "Light" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Linear Light Italic" is incorrect. It should be "Light Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Casual Light" is incorrect. It should be "Light" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Casual Light Italic" is incorrect. It should be "Light Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Linear Regular" is incorrect. It should be "Regular" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Linear Italic" is incorrect. It should be "Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Casual Regular" is incorrect. It should be "Regular" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Casual Italic" is incorrect. It should be "Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Linear Medium" is incorrect. It should be "Medium" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Linear Medium Italic" is incorrect. It should be "Medium Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Casual Medium" is incorrect. It should be "Medium" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Casual Medium Italic" is incorrect. It should be "Medium Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Linear SemiBold" is incorrect. It should be "SemiBold" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Linear SemiBold Italic" is incorrect. It should be "SemiBold Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Casual SemiBold" is incorrect. It should be "SemiBold" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Casual SemiBold Italic" is incorrect. It should be "SemiBold Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Linear Bold" is incorrect. It should be "Bold" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Linear Bold Italic" is incorrect. It should be "Bold Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Casual Bold" is incorrect. It should be "Bold" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Casual Bold Italic" is incorrect. It should be "Bold Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Linear ExtraBold" is incorrect. It should be "ExtraBold" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Linear ExtraBold Italic" is incorrect. It should be "ExtraBold Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Casual ExtraBold" is incorrect. It should be "ExtraBold" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Casual ExtraBold Italic" is incorrect. It should be "ExtraBold Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Linear Black" is incorrect. It should be "Black" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Linear Black Italic" is incorrect. It should be "Black Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Casual Black" is incorrect. It should be "Black" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Casual Black Italic" is incorrect. It should be "Black Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Linear ExtraBlack" is incorrect. It should be "Black" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Linear ExtraBlack Italic" is incorrect. It should be "Black Italic" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Casual ExtraBlack" is incorrect. It should be "Black" [code: bad-name]
* 🔥 **FAIL** Instance name "Sans Casual ExtraBlack Italic" is incorrect. It should be "Black Italic" [code: bad-name]
* 🔥 **FAIL** This will cause problems with some of the Google Fonts systems that look up fonts by their style names. This must be fixed! [code: bad-instance-names]
</details>
<details>
<summary>🔥 <b>FAIL:</b> Checking OS/2 usWinAscent & usWinDescent.</summary>
* [com.google.fonts/check/family/win_ascent_and_descent](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/family/win_ascent_and_descent)
<pre>--- Rationale ---
A font's winAscent and winDescent values should be greater than the head
table's yMax, abs(yMin) values. If they are less than these values, clipping
can occur on Windows platforms
(https://github.com/RedHatBrand/Overpass/issues/33).
If the font includes tall/deep writing systems such as Arabic or Devanagari,
the winAscent and winDescent can be greater than the yMax and abs(yMin) to
accommodate vowel marks.
When the win Metrics are significantly greater than the upm, the linespacing
can appear too loose. To counteract this, enabling the OS/2 fsSelection bit 7
(Use_Typo_Metrics), will force Windows to use the OS/2 typo values instead.
This means the font developer can control the linespacing with the typo values,
whilst avoiding clipping by setting the win values to values greater than the
yMax and abs(yMin).
</pre>
* 🔥 **FAIL** OS/2.usWinAscent value should be equal or greater than 1125, but got 950 instead [code: ascent]
* 🔥 **FAIL** OS/2.usWinDescent value should be equal or greater than 363, but got 250 instead [code: descent]
</details>
<details>
<summary>🔥 <b>FAIL:</b> Checking OS/2 Metrics match hhea Metrics.</summary>
* [com.google.fonts/check/os2_metrics_match_hhea](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/os2_metrics_match_hhea)
<pre>--- Rationale ---
When OS/2 and hhea vertical metrics match, the same linespacing results on
macOS, GNU+Linux and Windows. Unfortunately as of 2018, Google Fonts has
released many fonts with vertical metrics that don't match in this way. When we
fix this issue in these existing families, we will create a visible change in
line/paragraph layout for either Windows or macOS users, which will upset some
of them.
But we have a duty to fix broken stuff, and inconsistent paragraph layout is
unacceptably broken when it is possible to avoid it.
If users complain and prefer the old broken version, they have the freedom to
take care of their own situation.
</pre>
* 🔥 **FAIL** OS/2 sTypoAscender (750) and hhea ascent (950) must be equal. [code: ascender]
</details>
<details>
<summary>🔥 <b>FAIL:</b> Are there unwanted tables?</summary>
* [com.google.fonts/check/unwanted_tables](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/unwanted_tables)
<pre>--- Rationale ---
Some font editors store source data in their own SFNT tables, and these can
sometimes sneak into final release files, which should only have OpenType spec
tables.
</pre>
* 🔥 **FAIL** The following unwanted font tables were found:
Table: MVAR
Reason: Produces a bug in DirectWrite which causes https://bugzilla.mozilla.org/show_bug.cgi?id=1492477, https://github.com/google/fonts/issues/2085
They can be removed by using fonttools/ttx.
</details>
<details>
<summary>🔥 <b>FAIL:</b> Glyph names are all valid?</summary>
* [com.google.fonts/check/valid_glyphnames](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/universal.html#com.google.fonts/check/valid_glyphnames)
<pre>--- Rationale ---
Microsoft's recommendations for OpenType Fonts states the following:
'NOTE: The PostScript glyph name must be no longer than 31 characters, include
only uppercase or lowercase English letters, European digits, the period or the
underscore, i.e. from the set [A-Za-z0-9_.] and should start with a letter,
except the special glyph name ".notdef" which starts with a period.'
https://docs.microsoft.com/en-us/typography/opentype/spec/recom#post-table
</pre>
* 🔥 **FAIL** The following glyph names do not comply with naming conventions: gnrl:hyphen, thai:baht, gmtr:diamondblack, gmtr:diamondwhite, numbersign_numbersign_numbersign.code, numbersign_numbersign_numbersign_numbersign.code and ampersand_ampersand_ampersand.code
A glyph name may be up to 31 characters in length, must be entirely comprised of characters from the following set: A-Z a-z 0-9 .(period) _(underscore). and must not start with a digit or period. There are a few exceptions such as the special character ".notdef". The glyph names "twocents", "a1", and "_" are all valid, while "2cents" and ".twocents" are not. [code: found-invalid-names]
</details>
<details>
<summary>🔥 <b>FAIL:</b> Checking font version fields (head and name table).</summary>
* [com.google.fonts/check/font_version](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/head.html#com.google.fonts/check/font_version)
* 🔥 **FAIL** head version is "1.005" while name version string (for platform 3, encoding 1) is "Version 1.024". [code: mismatch]
</details>
<details>
<summary>🔥 <b>FAIL:</b> Does the font have a DSIG table?</summary>
* [com.google.fonts/check/dsig](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/dsig.html#com.google.fonts/check/dsig)
<pre>--- Rationale ---
Some programs expect fonts to have a digital signature declared in their DSIG
table in order to work properly.
This checks verifies that such signature is available in the font.
Typically, even a fake signature would be enough to make the fonts work. If
needed, such dummy-placeholder can be added to the font by using the `gftools
fix-dsig` script available at https://github.com/googlefonts/gftools
</pre>
* 🔥 **FAIL** This font lacks a digital signature (DSIG table). Some applications may require one (even if only a dummy placeholder) in order to work properly. You can add a DSIG table by running the `gftools fix-dsig` script. [code: lacks-signature]
</details>
<details>
<summary>⚠ <b>WARN:</b> Stricter unitsPerEm criteria for Google Fonts. </summary>
* [com.google.fonts/check/unitsperem_strict](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/unitsperem_strict)
<pre>--- Rationale ---
Even though the OpenType spec allows unitsPerEm to be any value between 16 and
16384, the Google Fonts project aims at a narrower set of reasonable values.
The spec suggests usage of powers of two in order to get some performance
improvements on legacy renderers, so those values are acceptable.
But value of 500 or 1000 are also acceptable, with the added benefit that it
makes upm math easier for designers, while the performance hit of not using a
power of two is most likely negligible nowadays.
Another acceptable value is 2000. Since TT outlines are all integers (no
floats), then instances in a VF suffer rounding compromises, and therefore a
1000 UPM is to small because it forces too many such compromises.
Therefore 2000 is a good 'new VF standard', because 2000 is a simple 2x
conversion from existing fonts drawn on a 1000 UPM, and anyone who knows what
10 units can do for 1000 UPM will know what 20 units does too.
Additionally, values above 2048 would result in filesize increases with not
much added benefit.
</pre>
* ⚠ **WARN** Even though unitsPerEm (1000) in this font is reasonable. It is strongly advised to consider changing it to 2000, since it will likely improve the quality of Variable Fonts by avoiding excessive rounding of coordinates on interpolations. [code: legacy-value]
</details>
<details>
<summary>⚠ <b>WARN:</b> Are there caret positions declared for every ligature?</summary>
* [com.google.fonts/check/ligature_carets](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/ligature_carets)
<pre>--- Rationale ---
All ligatures in a font must have corresponding caret (text cursor) positions
defined in the GDEF table, otherwhise, users may experience issues with caret
rendering.
</pre>
* ⚠ **WARN** This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
</details>
<details>
<summary>⚠ <b>WARN:</b> Is there kerning info for non-ligated sequences?</summary>
* [com.google.fonts/check/kerning_for_non_ligated_sequences](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/kerning_for_non_ligated_sequences)
<pre>--- Rationale ---
Fonts with ligatures should have kerning on the corresponding non-ligated
sequences for text where ligatures aren't used (eg
https://github.com/impallari/Raleway/issues/14).
</pre>
* ⚠ **WARN** GPOS table lacks kerning info for the following non-ligated sequences:
- f + i.italic
- i.italic + l.italic
[code: lacks-kern-info]
</details>
<details>
<summary>⚠ <b>WARN:</b> Checking Vertical Metric Linegaps.</summary>
* [com.google.fonts/check/linegaps](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/hhea.html#com.google.fonts/check/linegaps)
* ⚠ **WARN** OS/2 sTypoLineGap is not equal to 0. [code: OS/2]
</details>
<details>
<summary>💤 <b>SKIP:</b> Does DESCRIPTION file contain broken links?</summary>
* [com.google.fonts/check/description/broken_links](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/description/broken_links)
<pre>--- Rationale ---
The snippet of HTML in the DESCRIPTION.en_us.html file is added to the font
family webpage on the Google Fonts website. For that reason, all hyperlinks in
it must be properly working.
</pre>
* 💤 **SKIP** Unfulfilled Conditions: description
</details>
<details>
<summary>💤 <b>SKIP:</b> Does DESCRIPTION file contain a upstream Git repo URL?</summary>
* [com.google.fonts/check/description/git_url](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/description/git_url)
<pre>--- Rationale ---
The contents of the DESCRIPTION.en-us.html file are displayed on the Google
Fonts website in the about section of each font family specimen page.
Since all of the Google Fonts collection is composed of libre-licensed fonts,
this check enforces a policy that there must be a hypertext link in that page
directing users to the repository where the font project files are made
available.
Such hosting is typically done on sites like Github, Gitlab, GNU Savannah or
any other git-based version control service.
</pre>
* 💤 **SKIP** Unfulfilled Conditions: description
</details>
<details>
<summary>💤 <b>SKIP:</b> Does DESCRIPTION file mention when a family is available as variable font?</summary>
* [com.google.fonts/check/description/variable_font](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/description/variable_font)
<pre>--- Rationale ---
Families with variable fonts do not always mention that in their descriptions.
Therefore, this check ensures that a standard boilerplate sentence is present
in the DESCRIPTION.en_us.html files for all those families which are available
as variable fonts.
</pre>
* 💤 **SKIP** Unfulfilled Conditions: description
</details>
<details>
<summary>💤 <b>SKIP:</b> Is this a proper HTML snippet?</summary>
* [com.google.fonts/check/description/valid_html](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/description/valid_html)
<pre>--- Rationale ---
When packaging families for being pushed to the `google/fonts` git repo, if
there is no DESCRIPTION.en_us.html file, some older versions of the
`add_font.py` tool insert a dummy description file which contains invalid html.
This file needs to either be replaced with an existing description file or
edited by hand.
</pre>
* 💤 **SKIP** Unfulfilled Conditions: descfile
</details>
<details>
<summary>💤 <b>SKIP:</b> DESCRIPTION.en_us.html must have more than 200 bytes.</summary>
* [com.google.fonts/check/description/min_length](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/description/min_length)
* 💤 **SKIP** Unfulfilled Conditions: description
</details>
<details>
<summary>💤 <b>SKIP:</b> DESCRIPTION.en_us.html must have less than 1000 bytes.</summary>
* [com.google.fonts/check/description/max_length](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/description/max_length)
* 💤 **SKIP** Unfulfilled Conditions: description
</details>
<details>
<summary>💤 <b>SKIP:</b> Font has ttfautohint params?</summary>
* [com.google.fonts/check/has_ttfautohint_params](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/has_ttfautohint_params)
* 💤 **SKIP** Font appears to our heuristic as not hinted using ttfautohint. [code: not-hinted]
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb: Fontfamily is listed on Google Fonts API?</summary>
* [com.google.fonts/check/metadata/listed_on_gfonts](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/listed_on_gfonts)
* 💤 **SKIP** Unfulfilled Conditions: family_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> Checks METADATA.pb font.name field matches family name declared on the name table.</summary>
* [com.google.fonts/check/metadata/nameid/family_name](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/nameid/family_name)
* 💤 **SKIP** Unfulfilled Conditions: font_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> Checks METADATA.pb font.post_script_name matches postscript name declared on the name table.</summary>
* [com.google.fonts/check/metadata/nameid/post_script_name](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/nameid/post_script_name)
* 💤 **SKIP** Unfulfilled Conditions: font_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb font.full_name value matches fullname declared on the name table?</summary>
* [com.google.fonts/check/metadata/nameid/full_name](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/nameid/full_name)
* 💤 **SKIP** Unfulfilled Conditions: font_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb font.name value should be same as the family name declared on the name table.</summary>
* [com.google.fonts/check/metadata/nameid/font_name](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/nameid/font_name)
* 💤 **SKIP** Unfulfilled Conditions: font_metadata, style
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb font.full_name and font.post_script_name fields have equivalent values ?</summary>
* [com.google.fonts/check/metadata/match_fullname_postscript](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/match_fullname_postscript)
* 💤 **SKIP** Unfulfilled Conditions: font_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb font.filename and font.post_script_name fields have equivalent values?</summary>
* [com.google.fonts/check/metadata/match_filename_postscript](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/match_filename_postscript)
* 💤 **SKIP** Unfulfilled Conditions: font_metadata, not is_variable_font
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb font.name field contains font name in right format?</summary>
* [com.google.fonts/check/metadata/valid_name_values](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/valid_name_values)
* 💤 **SKIP** Unfulfilled Conditions: style, font_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb font.full_name field contains font name in right format?</summary>
* [com.google.fonts/check/metadata/valid_full_name_values](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/valid_full_name_values)
* 💤 **SKIP** Unfulfilled Conditions: style, font_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb font.filename field contains font name in right format?</summary>
* [com.google.fonts/check/metadata/valid_filename_values](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/valid_filename_values)
* 💤 **SKIP** Unfulfilled Conditions: style, family_metadata
</details>
<details>
<summary>💤 <b>SKIP:</b> METADATA.pb font.post_script_name field contains font name in right format?</summary>
* [com.google.fonts/check/metadata/valid_post_script_name_values](https://font-bakery.readthedocs.io/en/latest/fontbakery/profiles/googlefonts.html#com.google.fonts/check/metadata/valid_post_script_name_values)