forked from fonttools/fontspector
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdebug.html
More file actions
870 lines (556 loc) · 43 KB
/
debug.html
File metadata and controls
870 lines (556 loc) · 43 KB
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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Fontspector Check Report</title>
<style>
html {
font-family: -apple-system, sans-serif;
}
body {
margin: 0;
}
header {
border-bottom: 1px solid #dadada;
padding-top: 1rem;
padding-bottom: 1rem;
display: flex;
align-items: center;
padding-left: 2rem;
padding-right: 2rem;
}
main {
max-width: 720px;
margin: auto;
padding-bottom: 3rem;
}
header svg {
height: 2rem
}
header img {
height: 2rem
}
header .titleBar {
margin-left: 2rem;
font-size: 1rem;
}
h2 {
margin-top: 2em;
font-size: 2rem;
margin-bottom: 0.5rem;
}
h3 {
margin-bottom: 1px;
margin-top: 2rem;
border-top: 1px solid #cecece;
padding-top: 2rem;
}
.check__idlabel {
color: #999;
}
table {
border-collapse: collapse;
}
th,
td {
border: 1px solid #ddd;
padding: 0.5em
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
tr {
text-align: left;
}
ul {
margin-top: 0;
}
.details_item {
list-style: none;
display: flex;
align-items: baseline;
}
.details_indicator {
flex: 0 0 5em;
font-weight: bold;
padding-right: 0.5em;
text-align: right;
}
.details_text {
flex: 1 0;
}
.section__emoji {
overflow-wrap: break-word;
}
.rationale {
padding: 0 1em;
margin-top: 5px;
margin-bottom: 1em;
background-color: #f5f2f2;
}
.rationale p:first-child {
padding-top: 10px;
}
.rationale ul {
padding-bottom: 10px;
}
</style>
</head>
<body>
<header>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="500"
height="500"
id="svg3179"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="Font-Bakery-logo_clean.svg">
<title
id="title3236">Font Bakery Logo</title>
<defs
id="defs3181" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#dedede"
borderopacity="1"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.89871365"
inkscape:cx="216.27103"
inkscape:cy="202.08774"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:showpageshadow="false"
inkscape:window-width="1680"
inkscape:window-height="996"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<metadata
id="metadata3184">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Font Bakery Logo</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Robert Martinez</dc:title>
</cc:Agent>
</dc:creator>
<dc:subject>
<rdf:Bag>
<rdf:li>font build service</rdf:li>
</rdf:Bag>
</dc:subject>
<dc:source>https://github.com/xen/fontbakery</dc:source>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(635.27948,-52.362183)">
<g
id="g4364">
<g
id="g4082">
<path
style="color:#000000;fill:#b3eeff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 251.59375 47.21875 C 170.31953 47.21875 104.4375 113.10078 104.4375 194.375 C 104.4375 275.64922 170.31953 341.53125 251.59375 341.53125 C 332.86797 341.53125 398.75 275.64922 398.75 194.375 C 398.75 113.10078 332.86797 47.21875 251.59375 47.21875 z "
transform="translate(-635.27948,52.362183)"
id="path3278" />
<g
id="g4077">
<path
id="text18282-2"
transform="translate(-635.27948,52.362183)"
d="M 227.5625 373.375 C 217.00932 373.375 211.65625 379.31093 211.65625 385.15625 C 211.65625 391.03317 216.97773 396.875 227.5625 396.875 C 236.97821 396.52744 242.09375 390.34601 242.09375 384.4375 C 242.09375 378.78176 237.45215 373.375 227.5625 373.375 z M 180.84375 374.0625 C 179.27529 374.07139 177.74223 374.0934 176.3125 374.125 C 175.17503 374.18819 174.25208 374.78964 174.0625 376.875 L 174.09375 394.03125 C 174.28333 395.45309 175.20594 396.21875 176.375 396.21875 L 185.34375 396.21875 C 186.26004 396.21875 187.0625 395.61072 187.0625 394.0625 L 187.0625 388.625 C 187.0625 387.61392 187.33163 387.03125 188.4375 387.03125 L 193.15625 387.03125 C 194.07254 387.03125 194.71875 386.92634 194.71875 385.09375 C 194.71875 383.29276 194.0406 383.15625 193.1875 383.15625 L 187.9375 383.15625 C 187.36877 383.15625 187.125 382.81943 187.125 382.1875 L 187.125 379.9375 C 187.125 378.98961 187.64621 378.3125 188.5625 378.3125 L 195.46875 378.3125 C 196.57462 378.3125 197.125 377.85414 197.125 376.90625 C 197.125 375.67399 196.82982 374.09375 195.25 374.09375 C 190.70013 374.09375 185.54914 374.03584 180.84375 374.0625 z M 315.75 374.0625 C 311.35811 374.0625 306.80376 374.0934 304.75 374.125 C 304.08648 374.125 303.31319 374.55419 303.25 375.3125 C 303.15521 376.44997 303.18681 377.61288 303.25 378.71875 C 303.2816 379.47706 303.92815 379.9375 304.78125 379.9375 L 307.625 379.9375 C 308.41491 379.9375 308.6875 380.33509 308.6875 381.125 C 308.6559 382.70482 308.65625 384.20247 308.65625 385.6875 C 308.65625 388.40478 308.68681 391.12127 308.75 394.3125 C 308.7816 395.1656 309.54795 396.12396 310.875 396.21875 C 312.45482 396.31354 314.20247 396.375 315.6875 396.375 C 317.04614 396.375 318.48511 396.31354 319.84375 396.21875 C 321.1708 396.12396 321.93715 395.1656 321.96875 394.3125 C 322.03194 392.35353 322.0625 390.45863 322.0625 388.53125 C 322.0625 386.06674 322.03194 383.59159 321.96875 380.9375 C 321.96875 380.21078 322.27294 379.84375 323.03125 379.84375 L 325.875 379.84375 C 326.7281 379.84375 327.37465 379.38331 327.40625 378.625 C 327.46944 377.51913 327.50104 376.44997 327.40625 375.3125 C 327.34306 374.55419 326.56977 374.1566 325.90625 374.125 C 324.38963 374.0934 320.14189 374.0625 315.75 374.0625 z M 261.09375 374.125 C 259.54553 374.125 259.25035 375.23026 259.21875 377.03125 C 259.18715 379.02182 259.1875 382.47299 259.1875 384.9375 C 259.1875 388.12873 259.18646 390.48969 259.28125 394.28125 C 259.31285 395.13435 259.92538 396.12431 261.03125 396.1875 C 262.42149 396.28229 263.29553 396.25139 264.84375 396.125 C 265.50727 396.06181 266.3125 395.63435 266.3125 394.78125 L 266.3125 391.28125 C 266.3125 390.27017 266.6823 389.96667 267.15625 390.15625 C 268.4833 390.81977 273.7525 393.88928 276.375 395.4375 C 277.2281 395.94304 277.80142 396.21875 278.8125 396.21875 L 284.09375 396.21875 C 285.23122 396.21875 285.84306 395.1656 285.90625 394.3125 C 286.12742 391.7532 286.15625 388.28775 286.15625 384.84375 C 286.15625 381.65252 286.03229 378.27632 285.9375 375.875 C 285.87431 374.38997 285.35864 374.125 284 374.125 L 280.625 374.125 C 279.83509 374.125 279.375 374.741 279.375 375.5625 L 279.375 380 C 279.375 380.66352 278.94547 380.97256 278.21875 380.625 C 274.61677 378.82401 270.85718 376.8357 266.78125 374.71875 C 266.11773 374.37119 265.32081 374.125 264.5625 374.125 L 261.09375 374.125 z M 229.65625 380.84375 C 232.56311 380.84375 233.8125 382.82505 233.8125 384.53125 C 233.8125 386.49022 232.06242 388.5625 229.21875 388.5625 C 226.97541 388.5625 224.6875 387.24576 224.6875 384.78125 C 224.6875 382.82228 226.30704 380.84375 229.65625 380.84375 z "
style="font-size:31.59636497px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:112.00000048%;letter-spacing:0.06206039px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;color:#000000;fill:#333333;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.79440379;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Chango;-inkscape-font-specification:Chango Bold" />
<path
id="text18286-8"
transform="translate(-635.27948,52.362183)"
d="M 182.875 429.5625 C 180.94762 429.5625 179.26074 430.32505 178.28125 432.03125 L 168.375 449.46875 C 167.77467 450.51143 167.48026 452 169.28125 452 L 172.125 452 C 173.07289 452 173.4955 451.82116 173.90625 451.03125 L 175.15625 448.46875 C 175.47221 447.80523 175.96044 447.78125 176.71875 447.78125 L 182.6875 447.78125 C 183.41422 447.84444 184.27744 448.05419 184.625 448.8125 L 185.53125 450.78125 C 185.87881 451.50797 186.07401 452 187.875 452 L 198.0625 452 C 198.9156 452 199.9375 451.66803 199.9375 450.59375 C 199.9375 450.1514 199.75485 449.57047 199.3125 448.84375 L 189 431.375 C 188.24169 430.07955 186.76489 429.5625 185.40625 429.5625 L 182.875 429.5625 z M 139.9375 429.78125 C 136.27233 429.78125 132.50096 429.81146 129.5625 429.90625 C 127.66672 429.96944 127.37639 431.01116 127.25 432.84375 C 127.12361 434.9923 127.03125 438.0921 127.03125 441.09375 C 127.03125 444.31658 127.06008 447.59833 127.28125 450.03125 C 127.37604 450.91595 128.11045 451.96875 129.4375 451.96875 C 139.48513 452.06354 139.87084 452.0625 140.25 452.0625 C 142.68292 452.0625 145.07124 451.96979 147.125 451.875 C 152.71755 451.65383 154.84375 448.06277 154.84375 445.1875 C 154.84375 442.40702 153.02251 440.41248 150.96875 439.84375 C 150.65279 439.74896 150.65279 439.47048 150.96875 439.3125 C 152.61176 438.4278 153.21875 437.1753 153.21875 435.4375 C 153.21875 432.56223 150.50269 430.03298 147.40625 429.875 C 145.2261 429.78021 142.65478 429.78125 139.9375 429.78125 z M 313.03125 429.84375 C 311.16707 429.84375 309.21382 429.8434 306.8125 429.875 C 304.91672 429.9066 304.18889 430.94901 304.0625 432.75 C 303.90452 434.89855 303.875 438.1546 303.875 441.15625 C 303.875 444.34748 303.90383 447.59833 304.125 450.03125 C 304.21979 450.88435 304.92295 451.87396 306.25 451.96875 C 308.05099 452.06354 309.85526 452.125 311.65625 452.125 C 312.88851 452.125 314.08059 452.09444 315.28125 452.03125 C 316.51351 451.96806 317.0625 451.44685 317.0625 450.59375 L 317.0625 447.375 C 317.0625 446.80627 317.58994 446.77675 317.9375 447.1875 L 320.65625 451.3125 C 321.25658 451.88123 321.71217 452.03125 322.3125 452.03125 C 323.92391 452.06285 327.45109 452.06285 329.0625 452.03125 C 329.72602 452.03125 330.03645 451.25589 329.5625 450.71875 C 328.10907 449.07574 326.63989 447.35934 325.28125 445.9375 C 327.93534 444.45247 329.125 441.8725 329.125 439.25 C 329.125 434.76332 325.68492 430.00104 320.21875 429.90625 C 317.50147 429.84306 315.30619 429.84375 313.03125 429.84375 z M 215.875 429.875 C 213.97922 429.875 213.72014 430.97991 213.59375 432.8125 C 213.43577 434.96105 213.40625 437.96675 213.40625 441 C 213.40625 444.22283 213.43508 447.47333 213.65625 449.90625 C 213.75104 450.79095 214.48545 451.78021 215.8125 451.875 C 217.48711 451.96979 219.07713 452 220.59375 452 C 222.07878 452 223.57747 451.96979 225.0625 451.875 C 225.884 451.81181 226.78125 451.384 226.78125 450.5625 L 226.78125 447.5625 C 226.78125 446.7094 227.05765 446.34375 227.5 446.34375 C 227.87916 446.34375 228.27709 446.5573 228.65625 447.03125 L 232.375 451.46875 C 232.69096 451.81631 233.08578 452 233.8125 452 L 242.3125 452 C 243.86072 452 244.51316 450.23468 243.3125 448.78125 C 241.19555 446.22195 236.62284 441.81034 233.96875 439.15625 C 233.5264 438.7139 233.46321 438.37985 233.96875 437.9375 C 236.52805 435.75735 238.53272 433.93603 241.25 431.21875 C 241.75554 430.71321 241.41352 429.875 240.75 429.875 C 239.13859 429.8434 237.51766 429.8434 235.90625 429.875 C 235.30592 429.875 234.81908 430.05627 234.21875 430.625 L 228.03125 436.40625 C 227.71529 436.65902 227.44062 436.9375 227.15625 436.9375 C 226.99827 436.9375 226.8125 436.7552 226.8125 436.28125 L 226.78125 432.71875 C 226.78125 431.13893 225.73399 429.875 224.34375 429.875 L 215.875 429.875 z M 268.5625 429.875 C 266.99749 429.88833 265.49223 429.898 264.0625 429.9375 C 262.92503 429.9691 262.00208 430.57089 261.8125 432.65625 C 261.62292 434.42564 261.59375 437.99315 261.59375 441.46875 C 261.59375 444.97594 261.62292 448.35941 261.8125 449.78125 C 262.00208 451.20309 262.92503 452 264.0625 452 L 283.5625 452 C 284.47879 452 285.34375 450.77147 285.34375 448.8125 C 285.34375 447.58024 284.47498 447.34375 283.90625 447.34375 L 276.03125 447.34375 C 275.02017 447.34375 274.75 446.75866 274.75 445.96875 L 274.75 444.4375 C 274.75 443.39482 275.01913 442.8125 276.125 442.8125 L 281.28125 442.8125 C 282.22914 442.8125 282.8125 442.67599 282.8125 440.875 C 282.8125 439.04241 282.16525 438.9375 281.34375 438.9375 L 275.59375 438.9375 C 275.02502 438.9375 274.75 438.56908 274.75 437.96875 L 274.75 435.6875 C 274.75 434.77121 275.27121 434.125 276.1875 434.125 L 283.15625 434.125 C 284.4517 434.125 284.78125 433.26108 284.78125 432.25 C 284.78125 431.11253 284.45447 429.875 282.90625 429.875 C 278.38008 429.875 273.25752 429.83501 268.5625 429.875 z M 355.96875 429.875 L 345.15625 429.9375 C 343.67122 429.9375 343.14586 431.29691 344.09375 432.71875 L 350.46875 443.4375 C 350.46875 446.15478 350.46806 446.90252 350.53125 450.09375 C 350.56285 450.94685 351.3292 451.90521 352.65625 452 C 354.23607 452.09479 355.98372 452.125 357.46875 452.125 C 358.82739 452.125 360.26636 452.09479 361.625 452 C 362.95205 451.90521 363.7184 450.94685 363.75 450.09375 C 363.81319 448.13478 363.90625 444.55238 363.90625 442.625 L 370.96875 431.40625 C 371.47429 430.71113 371.38262 429.875 370.6875 429.875 L 366.59375 429.875 C 365.96182 429.875 365.59791 430.08855 365.21875 430.5625 L 362 435.59375 C 361.65244 436.0045 361.37742 436.1875 361.15625 436.1875 C 360.90348 436.1875 360.72256 435.9427 360.375 435.46875 L 358.4375 431.34375 C 357.64759 430.23788 357.2642 429.875 355.96875 429.875 z M 140.65625 433.46875 C 143.12076 433.37396 143.84375 434.2042 143.84375 435.53125 C 143.84375 436.73191 142.7732 437.34375 140.65625 437.34375 C 140.11911 437.34375 139.9375 437.00277 139.9375 436.75 L 139.90625 434.15625 C 139.90625 433.6823 140.15071 433.46875 140.65625 433.46875 z M 317.78125 435.625 C 320.68811 435.625 321.9375 437.48026 321.9375 439.28125 C 321.9375 441.11384 320.53048 442.9375 317.75 442.9375 C 317.14967 442.9375 317.09375 442.65971 317.09375 442.34375 L 317.03125 436.5 C 317.03125 435.89967 317.24411 435.625 317.78125 435.625 z M 179.6875 438.71875 C 180.16145 438.71875 180.43438 438.93092 180.71875 439.53125 L 181.90625 442.25 C 182.25381 443.03991 181.69685 443.65625 180.84375 443.65625 L 177.96875 443.65625 C 177.27363 443.65625 177.02813 443.00727 177.3125 442.34375 L 178.75 439.46875 C 178.97117 439.0264 179.33994 438.71875 179.6875 438.71875 z M 141.53125 441.75 C 143.21252 441.76814 145.03125 442.47097 145.03125 444.40625 C 145.03125 446.90236 142.86869 447.65625 140.59375 447.65625 C 140.1514 447.65625 139.90625 447.28506 139.90625 446.9375 L 139.9375 442.84375 C 139.9375 442.02225 140.33855 441.81285 140.8125 441.78125 C 141.04157 441.75755 141.29107 441.74741 141.53125 441.75 z "
style="font-size:31.59636497px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:112.00000048%;letter-spacing:0.06206039px;word-spacing:2.41503072px;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#333333;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.79440379;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Chango;-inkscape-font-specification:Chango Bold" />
<path
id="path3288"
transform="translate(-635.27948,52.362183)"
d="M 249.9375 403.46875 C 249.32611 403.46875 248.71723 403.68377 248.25 404.125 L 243.09375 408.96875 L 85.46875 411.4375 L 243.09375 413.875 L 248.25 418.71875 C 249.18448 419.60121 250.69052 419.60121 251.625 418.71875 L 256.78125 413.875 L 414.53125 411.4375 L 256.78125 408.96875 L 251.625 404.125 C 251.15776 403.68377 250.54889 403.46875 249.9375 403.46875 z "
style="color:#000000;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
</g>
</g>
<g
id="g4067">
<path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path3290"
transform="translate(-635.27948,52.362183)"
d="m 206.89349,137.05441 c -72.73857,-33.75998 -74.49408,71.0107 -10.29974,57.82059 l 5.76713,88.33318 c 33.82742,-2.45226 64.21304,-3.34452 86.21392,-0.82763 l 4.55015,-73.5993 c 0.58262,-9.0357 -12.00001,4.01117 -47.09375,-15.125 27.11798,4.95126 43.83163,3.94126 53.60332,-1.28551 32.28612,10.09481 58.06133,-3.9468 51.14668,-34.12079 -6.09438,-23.26773 -28.8541,-29.53508 -61.0625,-35.09375 -47.44109,-5.43966 -47.52019,37.4132 -82.82521,13.89821 z"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<g
id="g4060">
<path
id="text4705"
transform="translate(-635.27948,52.362183)"
d="M 209.0625 208.96875 L 195.5625 209.34375 L 197.65625 285.1875 L 250.3125 283.71875 L 249.96875 271.34375 L 210.8125 272.4375 L 210.3125 254.21875 L 246.28125 253.21875 L 245.9375 240.84375 L 209.96875 241.84375 L 209.0625 208.96875 z "
style="font-size:109.31424713px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#333333;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold" />
<path
id="text4709"
transform="translate(-635.27948,52.362183)"
d="M 300.34375 209.40625 L 298.96875 242.25 L 263.03125 240.75 L 262.5 253.125 L 298.4375 254.625 L 297.6875 272.8125 L 258.53125 271.15625 L 258.03125 283.53125 L 310.65625 285.75 L 313.84375 209.96875 L 300.34375 209.40625 z "
style="font-size:109.31424713px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#333333;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold" />
<path
id="text4713"
transform="translate(-635.27948,52.362183)"
d="M 308.5625 119.46875 L 307.09375 131.65625 L 309.21875 131.96875 C 316.42036 133.03782 322.52077 134.84167 327.5 137.375 C 331.43268 139.37599 334.73731 141.86431 337.4375 144.875 C 340.12213 147.83799 342.03348 150.9639 343.15625 154.25 C 344.24732 157.5201 344.71437 160.86107 344.53125 164.28125 C 344.31643 167.68541 343.4241 170.92416 341.875 173.96875 C 340.27751 177.10858 338.09635 179.77603 335.34375 181.96875 C 332.5756 184.1137 329.47546 185.66251 326.03125 186.625 C 322.57151 187.53971 318.72928 187.71109 314.5 187.15625 C 310.28692 186.56976 306.06236 185.19356 301.8125 183.03125 C 296.61129 180.38492 291.85916 176.82963 287.59375 172.34375 L 286.15625 170.8125 L 277.40625 178.34375 L 278.78125 180 C 284.16279 186.45113 290.70049 191.64241 298.34375 195.53125 C 304.27451 198.54877 310.10287 200.37016 315.875 201.03125 C 321.61549 201.67624 326.85648 201.22981 331.59375 199.6875 C 336.34719 198.11352 340.6574 195.69004 344.5 192.375 C 348.3109 189.04388 351.42227 184.94572 353.875 180.125 C 356.36 175.24093 357.80182 170.26143 358.1875 165.1875 C 358.57317 160.11368 357.95095 155.22233 356.28125 150.5 C 354.61154 145.77781 351.77786 141.29191 347.78125 137.0625 C 343.78464 132.83326 338.80619 129.22123 332.84375 126.1875 C 325.73961 122.57305 318.33703 120.39428 310.6875 119.65625 L 308.5625 119.46875 z "
style="font-size:109.31424713px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#333333;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold" />
<path
id="text4717"
transform="translate(-635.27948,52.362183)"
d="M 182.375 124.65625 C 180.47774 124.69766 178.65321 124.86732 176.84375 125.125 C 172.02391 125.77713 167.77343 127.05342 164.125 128.96875 C 160.51714 130.85454 157.29418 133.22156 154.46875 136.09375 C 151.67843 138.97154 149.44751 142.19737 147.78125 145.71875 C 146.11495 149.24023 144.99528 152.96467 144.375 156.9375 C 143.78213 160.73461 143.67471 164.53754 144.09375 168.3125 C 144.51825 172.05235 145.56042 175.75716 147.21875 179.4375 C 148.9122 183.12336 151.15908 186.473 153.96875 189.46875 C 156.78385 192.42935 160.45841 195.02839 164.96875 197.28125 C 169.51966 199.50444 174.67152 201.06849 180.4375 201.96875 C 193.97331 204.08214 205.01285 201.71568 213.53125 194.90625 L 218.34375 164.0625 L 181.84375 158.375 L 180.03125 170.09375 L 203.5 173.75 L 201.25 188.125 C 196.68082 190.40087 191.15653 191.04129 184.6875 190.03125 C 178.78089 189.10904 173.61373 187.14744 169.21875 184.15625 C 164.86433 181.13541 161.69147 177.4018 159.65625 172.90625 C 157.62097 168.41074 156.98526 163.59795 157.78125 158.5 C 158.38505 154.63265 159.75267 151.20083 161.875 148.21875 C 164.0379 145.20709 166.65093 142.87436 169.6875 141.1875 C 172.75915 139.50624 176.1194 138.36683 179.78125 137.75 C 183.443 137.13328 187.11693 137.10568 190.84375 137.6875 C 194.64076 138.2804 198.36595 139.36186 201.96875 140.96875 C 205.57689 142.54059 208.51381 144.15711 210.8125 145.8125 L 212.5625 147.125 L 219.71875 137.53125 L 218.0625 136.1875 C 210.80834 130.51705 202.19967 126.92855 192.25 125.375 C 188.84402 124.84326 185.5371 124.58723 182.375 124.65625 z "
style="font-size:109.31424713px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#333333;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold" />
<path
id="text4721"
transform="translate(-635.27948,52.362183)"
d="M 279.625 116.25 C 277.81025 116.24545 275.93131 116.46106 273.96875 116.9375 C 271.95816 117.39923 270.20044 117.95291 268.6875 118.59375 C 267.15798 119.20322 265.54155 119.97507 263.84375 120.875 L 220.9375 143.625 L 227.21875 155.5 L 270.03125 132.8125 C 270.81729 132.39587 271.55666 132.05171 272.21875 131.78125 C 272.86425 131.47939 273.76669 131.17348 274.9375 130.875 C 276.06027 130.56179 277.12238 130.38295 278.125 130.375 C 279.11102 130.33565 280.28015 130.49298 281.59375 130.84375 C 282.89075 131.16312 284.10061 131.71628 285.28125 132.5 C 286.41384 133.26899 287.66009 134.39392 288.96875 135.875 C 290.22935 137.34134 291.40006 139.11248 292.5 141.1875 C 293.64997 143.35686 294.51541 145.55055 295.09375 147.78125 L 295.65625 150.03125 L 307.1875 146.46875 L 306.71875 144.40625 C 305.85482 140.87706 304.53327 137.42659 302.75 134.0625 C 301.01674 130.79277 299.15338 127.99724 297.1875 125.65625 C 295.20498 123.28387 293.29924 121.43379 291.4375 120.125 C 289.55913 118.78483 287.56877 117.80614 285.46875 117.1875 C 283.36878 116.56892 281.40837 116.27129 279.625 116.25 z "
style="font-size:109.3142395px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:100%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#333333;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold" />
</g>
</g>
</g>
</g>
</svg>
<div class="titleBar">
Fontspector Technical Report
</div>
</header>
<main>
<p>If you think a check is flawed or have an idea for a check,
please file an issue at <a href='https://github.com/fonttools/fontspector/issues'>https://github.com/fonttools/fontspector/issues</a>
and remember to include a pointer to the repo and branch
you're checking.</p>
<h2>Summary</h2>
<table>
<tr>
<th>✅ PASS</th><th>⏩ SKIP</th>
</tr>
<tr>
<td>10 </td> <td>3 </td>
</tr>
<tr>
<td>77%</td> <td>23%</td>
</tr>
</table>
<p>Meaning of check results:</p>
<ul>
<li>💥 An <em>ERROR</em> is something wrong with Fontspector itself, possibly a bug.
<li>☠ A <em>FATAL</em> is an extremely severe issue that must be addressed
immediately.
<li>🔥 A <em>FAIL</em> is a problem with the font that must be fixed.
<li>⚠️ A <em>WARN</em> is something that you should consider addressing.
<li>ℹ️ An <em>INFO</em> result simply prints something useful. Typically stats.
<li>✅ A <em>PASS</em> means the font looks good for the given checking routine.
<li>⏩ And a <em>SKIP</em> happens when the check does not apply to the given font.
</ul>
<p>If you get ERRORs, please help us improve the tool by reporting them at our
<a href="https://github.com/fonttools/fontspector/issues">issue tracker.</a></p>
<p>(but other kinds of bug reports and/or feature requests
are also always welcome, of course!)</p>
<p>Fontspector version: 1.5.2</p>
<h2>Opentype Specification Checks</h2>
<h3>Check that OS/2.fsSelection bold & italic settings are unique for each NameID1</h3>
<div class='check__idlabel'>Check ID: opentype/family/bold_italic_unique_for_nameid1</div>
<div class="rationale">
<p>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.</p>
<p>This four-way distinction should also be reflected in the OS/2.fsSelection field, using bits 0 and 5.</p>
<ul>
<li>Original proposal: <a href="https://github.com/fonttools/fontbakery/issues/4829">https://github.com/fonttools/fontbakery/issues/4829</a></li>
</ul>
</div>
<details>
<summary>
✅
typenetwork
</summary>
<div>
<ul>
<li class='details_item'>
<span class='details_indicator'>
✅ PASS
</span>
<span class='details_text'>
</span>
</li>
</ul>
</div>
</details>
<h3>Verify that family names in the name table are consistent across all fonts in the family. Checks Typographic Family name (nameID 16) if present, otherwise uses Font Family name (nameID 1)</h3>
<div class='check__idlabel'>Check ID: opentype/family/consistent_family_name</div>
<div class="rationale">
<p>Per the OpenType spec:</p>
<ul>
<li>
<p>"...many existing applications that use this pair of names assume that a Font Family name is shared by at most four fonts that form a font style-linking group"</p>
</li>
<li>
<p>"For extended typographic families that includes fonts other than the four basic styles(regular, italic, bold, bold italic), it is strongly recommended that name IDs 16 and 17 be used in fonts to create an extended, typographic grouping."</p>
</li>
<li>
<p>"If name ID 16 is absent, then name ID 1 is considered to be the typographic family name."</p>
</li>
</ul>
<p><a href="https://learn.microsoft.com/en-us/typography/opentype/spec/name">https://learn.microsoft.com/en-us/typography/opentype/spec/name</a></p>
<p>Fonts within a font family all must have consistent names in the Typographic Family name (nameID 16) or Font Family name (nameID 1), depending on which it uses.</p>
<p>Inconsistent font/typographic family names across fonts in a family can result in unexpected behaviors, such as broken style linking.</p>
<ul>
<li>Original proposal: <a href="https://github.com/fonttools/fontbakery/issues/4112">https://github.com/fonttools/fontbakery/issues/4112</a></li>
</ul>
</div>
<details>
<summary>
✅
typenetwork
</summary>
<div>
<ul>
<li class='details_item'>
<span class='details_indicator'>
✅ PASS
</span>
<span class='details_text'>
</span>
</li>
</ul>
</div>
</details>
<h3>Make sure all font files have the same version value.</h3>
<div class='check__idlabel'>Check ID: opentype/family/equal_font_versions</div>
<div class="rationale">
<p>Within a family released at the same time, all members of the family should have the same version number in the head table.</p>
<ul>
<li>Original proposal: <a href="https://github.com/fonttools/fontbakery/issues/4829">https://github.com/fonttools/fontbakery/issues/4829</a></li>
</ul>
</div>
<details>
<summary>
✅
typenetwork
</summary>
<div>
<ul>
<li class='details_item'>
<span class='details_indicator'>
✅ PASS
</span>
<span class='details_text'>
</span>
</li>
</ul>
</div>
</details>
<h3>Verify that each group of fonts with the same nameID 1 has maximum of 4 fonts.</h3>
<div class='check__idlabel'>Check ID: opentype/family/max_4_fonts_per_family_name</div>
<div class="rationale">
<p>Per the OpenType spec:</p>
<p>'The Font Family name [...] should be shared among at most four fonts that differ only in weight or style [...]'</p>
<ul>
<li>Original proposal: <a href="https://github.com/fonttools/fontbakery/pull/2372">https://github.com/fonttools/fontbakery/pull/2372</a></li>
</ul>
</div>
<details>
<summary>
✅
typenetwork
</summary>
<div>
<ul>
<li class='details_item'>
<span class='details_indicator'>
✅ PASS
</span>
<span class='details_text'>
</span>
</li>
</ul>
</div>
</details>
<h3>Fonts have consistent PANOSE family type?</h3>
<div class='check__idlabel'>Check ID: opentype/family/panose_familytype</div>
<div class="rationale">
<p>The <a href="https://monotype.github.io/panose/">PANOSE value</a> in the OS/2 table is a way of classifying a font based on its visual appearance and characteristics.</p>
<p>The first field in the PANOSE classification is the family type: 2 means Latin Text, 3 means Latin Script, 4 means Latin Decorative, 5 means Latin Symbol. This check ensures that within a family, all fonts have the same family type.</p>
<ul>
<li>Original proposal: <a href="https://github.com/fonttools/fontbakery/issues/4829">https://github.com/fonttools/fontbakery/issues/4829</a></li>
</ul>
</div>
<details>
<summary>
✅
typenetwork
</summary>
<div>
<ul>
<li class='details_item'>
<span class='details_indicator'>
✅ PASS
</span>
<span class='details_text'>
</span>
</li>
</ul>
</div>
</details>
<h3>Ensure VFs have 'ital' STAT axis.</h3>
<div class='check__idlabel'>Check ID: opentype/STAT/ital_axis</div>
<div class="rationale">
<p>Check that related Upright and Italic VFs have an 'ital' axis in the STAT table.</p>
<p>Since the STAT table can be used to create new instances, it is important to ensure that such an 'ital' axis be the last one declared in the STAT table so that the eventual naming of new instances follows the subfamily traditional scheme (RIBBI / WWS) where "Italic" is always last.</p>
<p>The 'ital' axis should also be strictly boolean, only accepting values of 0 (for Uprights) or 1 (for Italics). This usually works as a mechanism for selecting between two linked variable font files.</p>
<p>Also, the axis value name for uprights must be set as elidable.</p>
<ul>
<li>Original proposal: <a href="https://github.com/fonttools/fontbakery/issues/2934">https://github.com/fonttools/fontbakery/issues/2934</a></li>
<li>See also: <a href="https://github.com/fonttools/fontbakery/issues/3668">https://github.com/fonttools/fontbakery/issues/3668</a></li>
<li>See also: <a href="https://github.com/fonttools/fontbakery/issues/3669">https://github.com/fonttools/fontbakery/issues/3669</a></li>
</ul>
</div>
<details>
<summary>
✅
typenetwork
</summary>
<div>
<ul>
<li class='details_item'>
<span class='details_indicator'>
✅ PASS
</span>
<span class='details_text'>
</span>
</li>
</ul>
</div>
</details>
<h2>Universal Profile Checks</h2>
<h3>Each font in a family must have the same set of vertical metrics values.</h3>
<div class='check__idlabel'>Check ID: family/vertical_metrics</div>
<div class="rationale">
<p>We want all fonts within a family to have the same vertical metrics so their line spacing is consistent across the family.</p>
<ul>
<li>Original proposal: <a href="https://github.com/fonttools/fontbakery/issues/1487">https://github.com/fonttools/fontbakery/issues/1487</a></li>
</ul>
</div>
<details>
<summary>
✅
typenetwork
</summary>
<div>
<ul>
<li class='details_item'>
<span class='details_indicator'>
✅ PASS
</span>
<span class='details_text'>
</span>
</li>
</ul>
</div>
</details>
<h3>Checking OS/2 usWinAscent & usWinDescent</h3>
<div class='check__idlabel'>Check ID: family/win_ascent_and_descent</div>
<div class="rationale">
<p>A font's winAscent and winDescent values should be greater than or equal to the head table's yMax, abs(yMin) values. If they are less than these values, clipping can occur on Windows platforms (<a href="https://github.com/RedHatBrand/Overpass/issues/33">https://github.com/RedHatBrand/Overpass/issues/33</a>).</p>
<p>If the font includes tall/deep writing systems such as Arabic or Devanagari, the winAscent and winDescent can be greater than the yMax and absolute yMin values to accommodate vowel marks.</p>
<p>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 absolute yMin.</p>
<ul>
<li>Original proposal: <a href="https://github.com/fonttools/fontbakery/issues/4829">https://github.com/fonttools/fontbakery/issues/4829</a></li>
</ul>
</div>
<details>
<summary>
✅
typenetwork
</summary>
<div>
<ul>
<li class='details_item'>
<span class='details_indicator'>
✅ PASS
</span>
<span class='details_text'>
</span>
</li>
</ul>
</div>
</details>
<h3>Check if first 31 characters are unique within a font family</h3>
<div class='check__idlabel'>Check ID: family/uniqueness_first_31_characters</div>
<div class="rationale">
<p>First 31 character of Full Name (NID 16 and 17) together should be unique within the family. Otherwise it may cause issues in MS Word (last tested 2025/10/02 with Win10 MS Word 365 Version 2508 Build 16.0.19127.20082)</p>
<ul>
<li>Original proposal: <a href="https://github.com/fonttools/fontspector/issues/472">https://github.com/fonttools/fontspector/issues/472</a></li>
</ul>
</div>
<details>
<summary>
✅
typenetwork
</summary>
<div>
<ul>
<li class='details_item'>
<span class='details_indicator'>
✅ PASS
</span>
<span class='details_text'>
</span>
</li>
</ul>
</div>
</details>
<h3>Typographic Family name consistency.</h3>
<div class='check__idlabel'>Check ID: typographic_family_name</div>
<div class="rationale">
<p>Check whether Name ID 16 (Typographic Family name) is consistent across the set of fonts.</p>
<ul>
<li>Original proposal: <a href="https://github.com/fonttools/fontbakery/pull/4567">https://github.com/fonttools/fontbakery/pull/4567</a></li>
</ul>
</div>
<details>
<summary>
✅
typenetwork
</summary>
<div>
<ul>
<li class='details_item'>
<span class='details_indicator'>
✅ PASS
</span>
<span class='details_text'>
</span>
</li>
</ul>
</div>
</details>
</main>
</body>
</html>