I've been trying to analyse how the blends make up the optical sizes, and some of the values seem a bit odd. They may be correct but are worth looking at as they don't fit the pattern of the rest of the masters; I've highlighted the values in bold which don't seem to fit the pattern - i.e. if we look at all the opsz8 masters and find that all the other weight/width combinations have a value lower than the opsz14 master except for one master which has a higher value, then that master is highlighted in bold.
XTUD X transparent uppercase diagonals
LESS: opsz8_wght100: 452 = 5% less than text 477
LESS: opsz8_wght1000: 281 = 8% less than text 304
MORE: opsz8_wght1000_wdth50: 129 = 9% more than text 118
LESS: opsz8 wght400: 388 = 5% less than text 410
LESS: opsz144 wght100: 433 = 9% less than text 477
MORE: opsz144 wght1000_wdth50: 170 = 44% more than text 118
LESS: opsz144 wght100_wdth125: 632 = 7% less than text 678
LESS: opsz144 wght100_wdth50: 256 = 25% less than text 342
XTFI X transparent figures
LESS: opsz8 wdth125: 391 = 25% less than text 518
LESS: opsz8 wdth50: 166 = 22% less than text 213
LESS: opsz8 wght100: 318 = 12% less than text 363
MORE: opsz8 wght1000: 208 = 18% more than text 176
LESS: opsz8 wght1000_wdth125: 308 = 15% less than text 364
LESS: opsz8 wght1000_wdth50: 64 = 9% less than text 70
LESS: opsz8 wght100_wdth125: 545 = 9% less than text 600
LESS: opsz8 wght400: 202 = 39% less than text 329
LESS: opsz144 wdth125: 448 = 14% less than text 518
LESS: opsz144 wdth50: 148 = 31% less than text 213
MORE: opsz144 wght100: 418 = 15% more than text 363
LESS: opsz144 wght1000: 105 = 40% less than text 176
LESS: opsz144 wght1000_wdth125: 294 = 19% less than text 364
LESS: opsz144 wght1000_wdth50: 44 = 37% less than text 70
LESS: opsz144 wght100_wdth50: 184 = 26% less than text 247
LESS: opsz144 wght400: 258 = 22% less than text 329
XSHU X horizontal serif uppercase
LESS: opsz8 wdth50: 74 = 6% less than text 79
MORE: opsz8 wght1000_wdth50: 56 = 75% more than text 32
YSVU Y vertical serif uppercase
LESS: opsz144 wdth125: 153 = 7% less than text 165
LESS: opsz144 wdth50: 143 = 8% less than text 155
LESS: opsz144 wght100: 152 = 7% less than text 163
LESS: opsz144 wght1000: 131 = 8% less than text 143
LESS: opsz144 wght1000_wdth125: 120 = 16% less than text 143
MORE: opsz144 wght1000_wdth50: 180 = 26% more than text 143
LESS: opsz144 wght400: 153 = 7% less than text 165
XSHL X horizontal serif lowercase
MORE: opsz8 wght1000_wdth50: 50 = 100% more than text 25
YSVL Y vertical serif lowercase
MORE: opsz8 wdth125: 78 = 11% more than text 70
MORE: opsz8 wdth50: 84 = 27% more than text 66
MORE: opsz8 wght100: 96 = 9% more than text 88
MORE: opsz8 wght1000: 68 = 13% more than text 60
MORE: opsz8 wght1000_wdth125: 78 = 30% more than text 60
MORE: opsz8 wght1000_wdth50: 74 = 6% more than text 70
MORE: opsz8 wght100_wdth125: 100 = 14% more than text 88
LESS: opsz8 wght100_wdth50: 81 = 8% less than text 88
MORE: opsz8 wght400: 78 = 11% more than text 70
XSHF X horizontal serif figures
MORE: opsz8 wdth125: 199 = 5% more than text 189
MORE: opsz8 wght100: 142 = 11% more than text 128
MORE: opsz8 wght1000: 134 = 8% more than text 124
MORE: opsz8 wght1000_wdth125: 194 = 5% more than text 184
LESS: opsz8 wght1000_wdth50: 89 = 10% less than text 99
LESS: opsz8 wght100_wdth125: 197 = 5% less than text 208
MORE: opsz8 wght100_wdth50: 112 = 10% more than text 102
MORE: opsz8 wght400: 139 = 8% more than text 129
LESS: opsz144 wdth125: 169 = 11% less than text 189
LESS: opsz144 wdth50: 84 = 19% less than text 104
MORE: opsz144 wght100: 142 = 11% more than text 128
LESS: opsz144 wght1000: 104 = 16% less than text 124
LESS: opsz144 wght1000_wdth125: 164 = 11% less than text 184
LESS: opsz144 wght1000_wdth50: 78 = 21% less than text 99
LESS: opsz144 wght100_wdth125: 168 = 19% less than text 208
LESS: opsz144 wght100_wdth50: 82 = 20% less than text 102
LESS: opsz144 wght400: 109 = 16% less than text 129
XSVF X vertical serif figures
MORE: opsz8 wdth125: 80 = 31% more than text 61
MORE: opsz8 wdth50: 71 = 22% more than text 58
MORE: opsz8 wght100: 43 = 79% more than text 24
MORE: opsz8 wght1000: 78 = 30% more than text 60
MORE: opsz8 wght1000_wdth125: 118 = 97% more than text 60
LESS: opsz8 wght1000_wdth50: 75 = 9% less than text 82
MORE: opsz8 wght100_wdth125: 43 = 79% more than text 24
MORE: opsz8 wght100_wdth50: 40 = 90% more than text 21
MORE: opsz8 wght400: 80 = 31% more than text 61
YSVF Y vertical serif figures
MORE: opsz8 wdth125: 135 = 21% more than text 112
MORE: opsz8 wdth50: 125 = 23% more than text 102
MORE: opsz8 wght100: 158 = 14% more than text 138
MORE: opsz8 wght1000: 120 = 24% more than text 97
LESS: opsz8 wght1000_wdth125: 80 = 13% less than text 92
MORE: opsz8 wght100_wdth125: 142 = 8% more than text 132
LESS: opsz8 wght100_wdth50: 102 = 18% less than text 124
MORE: opsz8 wght400: 140 = 20% more than text 117
LESS: opsz144 wdth125: 86 = 23% less than text 112
LESS: opsz144 wdth50: 76 = 25% less than text 102
LESS: opsz144 wght100: 112 = 19% less than text 138
LESS: opsz144 wght1000: 71 = 27% less than text 97
LESS: opsz144 wght1000_wdth125: 66 = 28% less than text 92
MORE: opsz144 wght1000_wdth50: 116 = 66% more than text 70
LESS: opsz144 wght100_wdth125: 105 = 20% less than text 132
LESS: opsz144 wght100_wdth50: 98 = 21% less than text 124
LESS: opsz144 wght400: 91 = 22% less than text 117
XVAL Lowercase vertical serif angle
MORE: opsz8 wght1000_wdth50: 10 = 11% more than text 9
LESS: opsz8 wght100_wdth125: 26 = 35% less than text 40
MORE: opsz144 wdth125: 44 = 83% more than text 24
MORE: opsz144 wdth50: 32 = 167% more than text 12
MORE: opsz144 wght1000: 53 = 279% more than text 14
MORE: opsz144 wght1000_wdth125: 99 = 371% more than text 21
MORE: opsz144 wght1000_wdth50: 53 = 489% more than text 9
LESS: opsz144 wght100_wdth125: 30 = 25% less than text 40
MORE: opsz144 wght100_wdth50: 24 = 33% more than text 18
MORE: opsz144 wght400: 36 = 112% more than text 17
YHAL Lowercase horizontal serif angle
LESS: opsz144 wght1000_wdth50: 14 = 22% less than text 18
XVAF Figures vertical serif angle
MORE: opsz8 wght100: 20 = 33% more than text 15
MORE: opsz8 wght1000: 46 = 188% more than text 16
MORE: opsz8 wght1000_wdth125: 21 = 31% more than text 16
LESS: opsz8 wght100_wdth125: 25 = 11% less than text 28
LESS: opsz8 wght100_wdth50: 16 = 38% less than text 26
MORE: opsz144 wdth125: 30 = 67% more than text 18
MORE: opsz144 wdth50: 30 = 67% more than text 18
MORE: opsz144 wght100: 24 = 60% more than text 15
MORE: opsz144 wght1000: 28 = 75% more than text 16
MORE: opsz144 wght1000_wdth125: 28 = 75% more than text 16
MORE: opsz144 wght1000_wdth50: 20 = 25% more than text 16
LESS: opsz144 wght100_wdth125: 24 = 14% less than text 28
LESS: opsz144 wght100_wdth50: 24 = 8% less than text 26
MORE: opsz144 wght400: 30 = 67% more than text 18
XUCD X sidebearing uppercase diagonals
MORE: opsz8 wdth125: 122 = 6% more than text 115
MORE: opsz8 wdth50: 69 = 8% more than text 64
MORE: opsz8 wght100: 98 = 9% more than text 90
MORE: opsz8 wght1000: 82 = 9% more than text 75
LESS: opsz8 wght1000_wdth125: 93 = 23% less than text 121
MORE: opsz8 wght1000_wdth50: 38 = 58% more than text 24
MORE: opsz8 wght400: 76 = 10% more than text 69
XLCS X sidebearing lowercase rounds
LESS: opsz8 wdth50: 68 = 7% less than text 73
MORE: opsz8 wght1000_wdth50: 60 = 67% more than text 36
MORE: opsz8 wght100_wdth50: 88 = 10% more than text 80
XLCR X sidebearing lowercase straights
MORE: opsz8 wdth50: 28 = 12% more than text 25
LESS: opsz8 wght1000_wdth125: 37 = 5% less than text 39
MORE: opsz8 wght1000_wdth50: 19 = 6% more than text 18
WDSP Word space width
MORE: opsz8 wght1000_wdth125: 310 = 24% more than text 250
MORE: opsz8 wght1000_wdth50: 240 = 60% more than text 150
MORE: opsz8 wght100_wdth50: 160 = 52% more than text 105
LESS: opsz144 wdth125: 267 = 17% less than text 320
LESS: opsz144 wdth50: 100 = 34% less than text 152
LESS: opsz144 wght1000: 198 = 21% less than text 250
LESS: opsz144 wght1000_wdth125: 225 = 10% less than text 250
MORE: opsz144 wght100_wdth125: 278 = 9% more than text 256
MORE: opsz144 wght100_wdth50: 122 = 16% more than text 105
LESS: opsz144 wght400: 267 = 17% less than text 320
XQFI X internal curvature figures
LESS: opsz144 wdth125: 102 = 16% less than text 122
LESS: opsz144 wdth50: 40 = 33% less than text 60
MORE: opsz144 wght100: 97 = 14% more than text 85
LESS: opsz144 wght1000: 26 = 43% less than text 46
LESS: opsz144 wght1000_wdth125: 74 = 16% less than text 88
LESS: opsz144 wght1000_wdth50: 12 = 54% less than text 26
LESS: opsz144 wght100_wdth125: 123 = 7% less than text 132
LESS: opsz144 wght100_wdth50: 52 = 20% less than text 65
LESS: opsz144 wght400: 60 = 25% less than text 80
YQUC Y internal curvature uppercase
LESS: opsz8 wdth125: 124 = 9% less than text 136
MORE: opsz8 wdth50: 160 = 14% more than text 140
LESS: opsz8 wght100: 140 = 8% less than text 152
LESS: opsz8 wght1000: 144 = 7% less than text 155
LESS: opsz8 wght1000_wdth125: 138 = 8% less than text 150
LESS: opsz8 wght100_wdth50: 140 = 7% less than text 151
LESS: opsz8 wght400: 130 = 8% less than text 141
YQLC Y internal curvature lowercase
LESS: opsz8 wdth125: 82 = 9% less than text 90
MORE: opsz8 wdth50: 102 = 7% more than text 95
LESS: opsz8 wght100: 95 = 7% less than text 102
LESS: opsz8 wght1000_wdth125: 105 = 6% less than text 112
LESS: opsz8 wght1000_wdth50: 110 = 26% less than text 148
LESS: opsz8 wght100_wdth50: 100 = 7% less than text 108
LESS: opsz8 wght400: 82 = 9% less than text 90
I've been trying to analyse how the blends make up the optical sizes, and some of the values seem a bit odd. They may be correct but are worth looking at as they don't fit the pattern of the rest of the masters; I've highlighted the values in bold which don't seem to fit the pattern - i.e. if we look at all the opsz8 masters and find that all the other weight/width combinations have a value lower than the opsz14 master except for one master which has a higher value, then that master is highlighted in bold.
XTUD X transparent uppercase diagonals
LESS: opsz8_wght100: 452 = 5% less than text 477
LESS: opsz8_wght1000: 281 = 8% less than text 304
MORE: opsz8_wght1000_wdth50: 129 = 9% more than text 118
LESS: opsz8 wght400: 388 = 5% less than text 410
LESS: opsz144 wght100: 433 = 9% less than text 477
MORE: opsz144 wght1000_wdth50: 170 = 44% more than text 118
LESS: opsz144 wght100_wdth125: 632 = 7% less than text 678
LESS: opsz144 wght100_wdth50: 256 = 25% less than text 342
XTFI X transparent figures
LESS: opsz8 wdth125: 391 = 25% less than text 518
LESS: opsz8 wdth50: 166 = 22% less than text 213
LESS: opsz8 wght100: 318 = 12% less than text 363
MORE: opsz8 wght1000: 208 = 18% more than text 176
LESS: opsz8 wght1000_wdth125: 308 = 15% less than text 364
LESS: opsz8 wght1000_wdth50: 64 = 9% less than text 70
LESS: opsz8 wght100_wdth125: 545 = 9% less than text 600
LESS: opsz8 wght400: 202 = 39% less than text 329
LESS: opsz144 wdth125: 448 = 14% less than text 518
LESS: opsz144 wdth50: 148 = 31% less than text 213
MORE: opsz144 wght100: 418 = 15% more than text 363
LESS: opsz144 wght1000: 105 = 40% less than text 176
LESS: opsz144 wght1000_wdth125: 294 = 19% less than text 364
LESS: opsz144 wght1000_wdth50: 44 = 37% less than text 70
LESS: opsz144 wght100_wdth50: 184 = 26% less than text 247
LESS: opsz144 wght400: 258 = 22% less than text 329
XSHU X horizontal serif uppercase
LESS: opsz8 wdth50: 74 = 6% less than text 79
MORE: opsz8 wght1000_wdth50: 56 = 75% more than text 32
YSVU Y vertical serif uppercase
LESS: opsz144 wdth125: 153 = 7% less than text 165
LESS: opsz144 wdth50: 143 = 8% less than text 155
LESS: opsz144 wght100: 152 = 7% less than text 163
LESS: opsz144 wght1000: 131 = 8% less than text 143
LESS: opsz144 wght1000_wdth125: 120 = 16% less than text 143
MORE: opsz144 wght1000_wdth50: 180 = 26% more than text 143
LESS: opsz144 wght400: 153 = 7% less than text 165
XSHL X horizontal serif lowercase
MORE: opsz8 wght1000_wdth50: 50 = 100% more than text 25
YSVL Y vertical serif lowercase
MORE: opsz8 wdth125: 78 = 11% more than text 70
MORE: opsz8 wdth50: 84 = 27% more than text 66
MORE: opsz8 wght100: 96 = 9% more than text 88
MORE: opsz8 wght1000: 68 = 13% more than text 60
MORE: opsz8 wght1000_wdth125: 78 = 30% more than text 60
MORE: opsz8 wght1000_wdth50: 74 = 6% more than text 70
MORE: opsz8 wght100_wdth125: 100 = 14% more than text 88
LESS: opsz8 wght100_wdth50: 81 = 8% less than text 88
MORE: opsz8 wght400: 78 = 11% more than text 70
XSHF X horizontal serif figures
MORE: opsz8 wdth125: 199 = 5% more than text 189
MORE: opsz8 wght100: 142 = 11% more than text 128
MORE: opsz8 wght1000: 134 = 8% more than text 124
MORE: opsz8 wght1000_wdth125: 194 = 5% more than text 184
LESS: opsz8 wght1000_wdth50: 89 = 10% less than text 99
LESS: opsz8 wght100_wdth125: 197 = 5% less than text 208
MORE: opsz8 wght100_wdth50: 112 = 10% more than text 102
MORE: opsz8 wght400: 139 = 8% more than text 129
LESS: opsz144 wdth125: 169 = 11% less than text 189
LESS: opsz144 wdth50: 84 = 19% less than text 104
MORE: opsz144 wght100: 142 = 11% more than text 128
LESS: opsz144 wght1000: 104 = 16% less than text 124
LESS: opsz144 wght1000_wdth125: 164 = 11% less than text 184
LESS: opsz144 wght1000_wdth50: 78 = 21% less than text 99
LESS: opsz144 wght100_wdth125: 168 = 19% less than text 208
LESS: opsz144 wght100_wdth50: 82 = 20% less than text 102
LESS: opsz144 wght400: 109 = 16% less than text 129
XSVF X vertical serif figures
MORE: opsz8 wdth125: 80 = 31% more than text 61
MORE: opsz8 wdth50: 71 = 22% more than text 58
MORE: opsz8 wght100: 43 = 79% more than text 24
MORE: opsz8 wght1000: 78 = 30% more than text 60
MORE: opsz8 wght1000_wdth125: 118 = 97% more than text 60
LESS: opsz8 wght1000_wdth50: 75 = 9% less than text 82
MORE: opsz8 wght100_wdth125: 43 = 79% more than text 24
MORE: opsz8 wght100_wdth50: 40 = 90% more than text 21
MORE: opsz8 wght400: 80 = 31% more than text 61
YSVF Y vertical serif figures
MORE: opsz8 wdth125: 135 = 21% more than text 112
MORE: opsz8 wdth50: 125 = 23% more than text 102
MORE: opsz8 wght100: 158 = 14% more than text 138
MORE: opsz8 wght1000: 120 = 24% more than text 97
LESS: opsz8 wght1000_wdth125: 80 = 13% less than text 92
MORE: opsz8 wght100_wdth125: 142 = 8% more than text 132
LESS: opsz8 wght100_wdth50: 102 = 18% less than text 124
MORE: opsz8 wght400: 140 = 20% more than text 117
LESS: opsz144 wdth125: 86 = 23% less than text 112
LESS: opsz144 wdth50: 76 = 25% less than text 102
LESS: opsz144 wght100: 112 = 19% less than text 138
LESS: opsz144 wght1000: 71 = 27% less than text 97
LESS: opsz144 wght1000_wdth125: 66 = 28% less than text 92
MORE: opsz144 wght1000_wdth50: 116 = 66% more than text 70
LESS: opsz144 wght100_wdth125: 105 = 20% less than text 132
LESS: opsz144 wght100_wdth50: 98 = 21% less than text 124
LESS: opsz144 wght400: 91 = 22% less than text 117
XVAL Lowercase vertical serif angle
MORE: opsz8 wght1000_wdth50: 10 = 11% more than text 9
LESS: opsz8 wght100_wdth125: 26 = 35% less than text 40
MORE: opsz144 wdth125: 44 = 83% more than text 24
MORE: opsz144 wdth50: 32 = 167% more than text 12
MORE: opsz144 wght1000: 53 = 279% more than text 14
MORE: opsz144 wght1000_wdth125: 99 = 371% more than text 21
MORE: opsz144 wght1000_wdth50: 53 = 489% more than text 9
LESS: opsz144 wght100_wdth125: 30 = 25% less than text 40
MORE: opsz144 wght100_wdth50: 24 = 33% more than text 18
MORE: opsz144 wght400: 36 = 112% more than text 17
YHAL Lowercase horizontal serif angle
LESS: opsz144 wght1000_wdth50: 14 = 22% less than text 18
XVAF Figures vertical serif angle
MORE: opsz8 wght100: 20 = 33% more than text 15
MORE: opsz8 wght1000: 46 = 188% more than text 16
MORE: opsz8 wght1000_wdth125: 21 = 31% more than text 16
LESS: opsz8 wght100_wdth125: 25 = 11% less than text 28
LESS: opsz8 wght100_wdth50: 16 = 38% less than text 26
MORE: opsz144 wdth125: 30 = 67% more than text 18
MORE: opsz144 wdth50: 30 = 67% more than text 18
MORE: opsz144 wght100: 24 = 60% more than text 15
MORE: opsz144 wght1000: 28 = 75% more than text 16
MORE: opsz144 wght1000_wdth125: 28 = 75% more than text 16
MORE: opsz144 wght1000_wdth50: 20 = 25% more than text 16
LESS: opsz144 wght100_wdth125: 24 = 14% less than text 28
LESS: opsz144 wght100_wdth50: 24 = 8% less than text 26
MORE: opsz144 wght400: 30 = 67% more than text 18
XUCD X sidebearing uppercase diagonals
MORE: opsz8 wdth125: 122 = 6% more than text 115
MORE: opsz8 wdth50: 69 = 8% more than text 64
MORE: opsz8 wght100: 98 = 9% more than text 90
MORE: opsz8 wght1000: 82 = 9% more than text 75
LESS: opsz8 wght1000_wdth125: 93 = 23% less than text 121
MORE: opsz8 wght1000_wdth50: 38 = 58% more than text 24
MORE: opsz8 wght400: 76 = 10% more than text 69
XLCS X sidebearing lowercase rounds
LESS: opsz8 wdth50: 68 = 7% less than text 73
MORE: opsz8 wght1000_wdth50: 60 = 67% more than text 36
MORE: opsz8 wght100_wdth50: 88 = 10% more than text 80
XLCR X sidebearing lowercase straights
MORE: opsz8 wdth50: 28 = 12% more than text 25
LESS: opsz8 wght1000_wdth125: 37 = 5% less than text 39
MORE: opsz8 wght1000_wdth50: 19 = 6% more than text 18
WDSP Word space width
MORE: opsz8 wght1000_wdth125: 310 = 24% more than text 250
MORE: opsz8 wght1000_wdth50: 240 = 60% more than text 150
MORE: opsz8 wght100_wdth50: 160 = 52% more than text 105
LESS: opsz144 wdth125: 267 = 17% less than text 320
LESS: opsz144 wdth50: 100 = 34% less than text 152
LESS: opsz144 wght1000: 198 = 21% less than text 250
LESS: opsz144 wght1000_wdth125: 225 = 10% less than text 250
MORE: opsz144 wght100_wdth125: 278 = 9% more than text 256
MORE: opsz144 wght100_wdth50: 122 = 16% more than text 105
LESS: opsz144 wght400: 267 = 17% less than text 320
XQFI X internal curvature figures
LESS: opsz144 wdth125: 102 = 16% less than text 122
LESS: opsz144 wdth50: 40 = 33% less than text 60
MORE: opsz144 wght100: 97 = 14% more than text 85
LESS: opsz144 wght1000: 26 = 43% less than text 46
LESS: opsz144 wght1000_wdth125: 74 = 16% less than text 88
LESS: opsz144 wght1000_wdth50: 12 = 54% less than text 26
LESS: opsz144 wght100_wdth125: 123 = 7% less than text 132
LESS: opsz144 wght100_wdth50: 52 = 20% less than text 65
LESS: opsz144 wght400: 60 = 25% less than text 80
YQUC Y internal curvature uppercase
LESS: opsz8 wdth125: 124 = 9% less than text 136
MORE: opsz8 wdth50: 160 = 14% more than text 140
LESS: opsz8 wght100: 140 = 8% less than text 152
LESS: opsz8 wght1000: 144 = 7% less than text 155
LESS: opsz8 wght1000_wdth125: 138 = 8% less than text 150
LESS: opsz8 wght100_wdth50: 140 = 7% less than text 151
LESS: opsz8 wght400: 130 = 8% less than text 141
YQLC Y internal curvature lowercase
LESS: opsz8 wdth125: 82 = 9% less than text 90
MORE: opsz8 wdth50: 102 = 7% more than text 95
LESS: opsz8 wght100: 95 = 7% less than text 102
LESS: opsz8 wght1000_wdth125: 105 = 6% less than text 112
LESS: opsz8 wght1000_wdth50: 110 = 26% less than text 148
LESS: opsz8 wght100_wdth50: 100 = 7% less than text 108
LESS: opsz8 wght400: 82 = 9% less than text 90