googlefonts / robotoslab Goto Github PK
View Code? Open in Web Editor NEWRoboto Slab Typeface by Google
License: Apache License 2.0
Roboto Slab Typeface by Google
License: Apache License 2.0
Some of the major revisions to Roboto (from 2014) have not yet made their way into Roboto Slab. The most obvious ones being the structure of the /R, /K, and /k, but also include rounder forms and less extreme flat portions in round glyphs. This is most noticeable in the smallcaps of Roboto Slab which do not match the capitals.
These modifications, while significantly changing the appearance of Roboto Slab, would make it more harmonious with Roboto and are additionally more consistent with the existing internal grammar of Roboto Slab, which is of the same skeletal structure as Roboto.
Roboto Slab edits and originals as compared to Roboto's new and old constructions:
Here's some diffs against the fonts currently hosted on GF.
Some quick observations
attribs 21 modified
table | attrib | value_a | value_b |
---|---|---|---|
OS/2 | ySubscriptYOffset | 287.0 | 153.0 |
OS/2 | ySuperscriptXSize | 1434.0 | 1331.0 |
OS/2 | usWinDescent | 555.0 | 618.0 |
head | modified | 2013/05/20 05:22:09 | 2018/08/03 09:29:10 |
OS/2 | ulUnicodeRange2 | 1342185563 | 2147500127 |
OS/2 | ulUnicodeRange3 | 32.0 | 34.0 |
head | xMax | 2562.0 | 2523.0 |
OS/2 | ulUnicodeRange1 | 3758097151 | 1279 |
OS/2 | ySubscriptYSize | 1331.0 | 1228.0 |
OS/2 | ulCodePageRange2 | 1325465600.0 | 0.0 |
head | xMin | -890.0 | -1432.0 |
head | yMin | -616.0 | -555.0 |
OS/2 | usMaxContex | 2 | 3 |
OS/2 | yStrikeoutPosition | 512.0 | 649.0 |
OS/2 | usMaxContext | 2 | 3 |
OS/2 | ySubscriptXSize | 1434.0 | 1331.0 |
OS/2 | ySuperscriptYOffset | 977.0 | 716.0 |
OS/2 | panose | 0-0-0-0-0-0-0-0-0-0 | 0-0-5-0-0-0-0-0-0-0 |
head | fontRevision | 1.0 | 2.0 |
OS/2 | yStrikeoutSize | 102 | 100 |
OS/2 | ySuperscriptYSize | 1331.0 | 1228.0 |
mkmks 26 new
base_glyph | mark_glyph | base_x | base_y | mark_x | mark_y |
---|---|---|---|---|---|
acutecomb | tildecomb | -335 | 1082 | -386 | 1456 |
acutecomb | acutecomb | -335 | 1082 | -335 | 1456 |
acutecomb | gravecomb | -335 | 1082 | -161 | 1456 |
acutecomb | hookabovecomb | -335 | 1082 | -238 | 1561 |
acutecomb | uni030F | -335 | 1082 | -320 | 1560 |
dotbelowcomb | dotbelowcomb | -143 | 0 | -143 | -398 |
gravecomb | tildecomb | -161 | 1082 | -386 | 1456 |
gravecomb | gravecomb | -161 | 1082 | -161 | 1456 |
gravecomb | acutecomb | -161 | 1082 | -335 | 1456 |
gravecomb | hookabovecomb | -161 | 1082 | -238 | 1561 |
gravecomb | uni030F | -161 | 1082 | -320 | 1560 |
hookabovecomb | hookabovecomb | -238 | 1082 | -238 | 1561 |
hookabovecomb | uni030F | -238 | 1082 | -320 | 1560 |
hookabovecomb | acutecomb | -238 | 1082 | -335 | 1456 |
hookabovecomb | gravecomb | -238 | 1082 | -161 | 1456 |
hookabovecomb | tildecomb | -238 | 1082 | -386 | 1456 |
tildecomb | tildecomb | -386 | 1082 | -386 | 1456 |
tildecomb | hookabovecomb | -386 | 1082 | -238 | 1561 |
tildecomb | uni030F | -386 | 1082 | -320 | 1560 |
tildecomb | acutecomb | -386 | 1082 | -335 | 1456 |
tildecomb | gravecomb | -386 | 1082 | -161 | 1456 |
uni030F | uni030F | -320 | 1082 | -320 | 1560 |
uni030F | hookabovecomb | -320 | 1082 | -238 | 1561 |
uni030F | tildecomb | -320 | 1082 | -386 | 1456 |
uni030F | acutecomb | -320 | 1082 | -335 | 1456 |
uni030F | gravecomb | -320 | 1082 | -161 | 1456 |
kerns 14077 new
left | right | value |
---|---|---|
A | uni0450 | -30 |
A | uni0408 | -20 |
A | uni1EC3 | -30 |
A | uni1EBD | -30 |
A | uni1EC5 | -30 |
A | uni1EDB | -30 |
A | uni1EDF | -30 |
A | uni0501 | -30 |
A | uni0502 | -30 |
A | uni0503 | -30 |
A | uni050D | -30 |
A | uni0481 | -30 |
A | uni04A9 | -30 |
A | uni04AB | -30 |
A | uni04D7 | -30 |
A | uni04DB | -30 |
A | uni04E9 | -30 |
A | uni0451 | -30 |
A | uni0454 | -30 |
A | uni047D | -30 |
A | uni04D9 | -30 |
A | alphatonos | -30 |
A | sigma | -30 |
A | uni03C2 | -30 |
A | uni0435 | -30 |
A | uni0441 | -30 |
A | cacute | -30 |
A | ccircumflex | -30 |
A | ccaron | -30 |
A | dcaron | -30 |
A | emacron | -30 |
A | ebreve | -30 |
A | edotaccent | -30 |
A | ecaron | -30 |
A | gcircumflex | -30 |
A | gbreve | -30 |
A | uni0444 | -30 |
A | Jcircumflex | -20 |
A | ccedilla | -30 |
A | eacute | -30 |
A | egrave | -30 |
A | edieresis | -30 |
A | ecircumflex | -30 |
A | J | -20 |
A | uni0479 | -30 |
A | e | -30 |
A | d | -30 |
A | g | -30 |
A | q | -30 |
A | alpha | -30 |
kerns 10973 modified
left | right | diff |
---|---|---|
Wgrave | uni1EA2 | -167.0 |
Wgrave | uni1EA0 | -167.0 |
Wgrave | uni1EA6 | -167.0 |
Wgrave | uni1EA4 | -167.0 |
Wgrave | uni1EAA | -167.0 |
Wgrave | uni1EA8 | -167.0 |
Wgrave | uni1EAE | -167.0 |
Wgrave | uni1EAC | -167.0 |
Wgrave | uni1EB2 | -167.0 |
Wgrave | uni1EB0 | -167.0 |
Wgrave | uni1EB6 | -167.0 |
Wgrave | uni1EB4 | -167.0 |
Wgrave | uni1E00 | -167.0 |
Wdieresis | uni1EB6 | -167.0 |
Wgrave | Alphatonos | -167.0 |
Wgrave | Alpha | -167.0 |
Wgrave | Delta | -167.0 |
Wgrave | Lambda | -167.0 |
Wgrave | Aringacute | -167.0 |
Wgrave | Abreve | -167.0 |
Wgrave | Amacron | -167.0 |
Wgrave | Aogonek | -167.0 |
Wgrave | Acircumflex | -167.0 |
Wgrave | Atilde | -167.0 |
Wgrave | Agrave | -167.0 |
Wgrave | Adieresis | -167.0 |
Wgrave | A | -167.0 |
Wgrave | uni04D0 | -167.0 |
Wgrave | uni0410 | -167.0 |
Wgrave | uni0466 | -167.0 |
Wcircumflex | Agrave | -167.0 |
W | uni0466 | -167.0 |
W | uni0410 | -167.0 |
W | uni04D2 | -167.0 |
W | uni04D0 | -167.0 |
W | A | -167.0 |
W | Aring | -167.0 |
W | Adieresis | -167.0 |
W | Atilde | -167.0 |
W | Aacute | -167.0 |
W | Agrave | -167.0 |
W | Aogonek | -167.0 |
W | Abreve | -167.0 |
W | Amacron | -167.0 |
W | Aringacute | -167.0 |
W | Alphatonos | -167.0 |
W | Alpha | -167.0 |
W | Lambda | -167.0 |
W | uni1EA6 | -167.0 |
W | uni1EA4 | -167.0 |
kerns 119 missing
left | right | value |
---|---|---|
N | Amacron | -85 |
N | Abreve | -85 |
N | Aogonek | -85 |
N | Aringacute | -85 |
N | uni0410 | -85 |
N | Alphatonos | -85 |
N | Lambda | -85 |
N | A | -85 |
N | Alpha | -85 |
N | Delta | -85 |
N | uni0466 | -85 |
N | uni1EB4 | -85 |
N | uni1E00 | -85 |
N | Agrave | -85 |
N | Aacute | -85 |
N | Atilde | -85 |
N | Adieresis | -85 |
N | Aring | -85 |
N | uni04D0 | -85 |
N | uni04D2 | -85 |
N | uni1EA8 | -85 |
N | uni1EAA | -85 |
N | uni1EAC | -85 |
N | uni1EAE | -85 |
N | uni1EA0 | -85 |
N | uni1EA2 | -85 |
N | uni1EA4 | -85 |
N | uni1EA6 | -85 |
N | uni1EB0 | -85 |
N | uni1EB2 | -85 |
N | uni1EB6 | -85 |
N | Acircumflex | -85 |
T | Tcaron | 16 |
T | uni0162 | 16 |
T | uni04B4 | 16 |
T | uni04AC | 16 |
T | uni04A0 | 16 |
T | T | 16 |
T | uni0422 | 16 |
T | uni021A | 16 |
T | uni0402 | 16 |
T | uni040B | 16 |
Tau | T | 16 |
Tau | Tcaron | 16 |
Tau | uni0422 | 16 |
Tau | uni04AC | 16 |
Tau | uni0162 | 16 |
Tau | uni04A0 | 16 |
Tau | uni04B4 | 16 |
Tau | uni040B | 16 |
metrics 418 modified
glyph | diff_adv | diff_lsb | diff_rsb |
---|---|---|---|
uni0484 | 1042.0 | 0 | 0 |
uni0483 | 1007.0 | 0 | 0 |
uni030F | 924.0 | 0 | 0 |
tildecomb | 922.0 | 0 | 0 |
hook | 573.0 | 0 | 0 |
commaaccent | 520.0 | 0 | 0 |
gravecomb | 511.0 | 0 | 0 |
acutecomb | 505.0 | 0 | 0 |
uni0485 | 496.0 | 0 | 0 |
uni0486 | 491.0 | 0 | 0 |
dotbelow | 387.0 | 0 | 0 |
dieresis | 282.0 | 0 | 0 |
dieresistonos | 244.0 | 0 | 0 |
dotaccent | 241.0 | 0 | 0 |
macron | 227.0 | 0 | 0 |
Wdieresis | 219.0 | 0 | 0 |
W | 219.0 | 0 | 0 |
Wacute | 219.0 | 0 | 0 |
Wgrave | 219.0 | 0 | 0 |
Wcircumflex | 219.0 | 0 | 0 |
ldot | 212.0 | 0 | 0 |
ring | 194.0 | 0 | 0 |
tilde | 175.0 | 0 | 0 |
dcaron | 161.0 | 0 | 0 |
Upsilontonos | 155.0 | 0 | 0 |
lcaron | 142.0 | 0 | 0 |
Ohorn | 135.0 | 0 | 0 |
uni1EDA | 135.0 | 0 | 0 |
circumflex | 135.0 | 0 | 0 |
uni1EDE | 135.0 | 0 | 0 |
uni1EDC | 135.0 | 0 | 0 |
uni1EE2 | 135.0 | 0 | 0 |
uni1EE0 | 135.0 | 0 | 0 |
Iotatonos | 134.0 | 0 | 0 |
breve | 134.0 | 0 | 0 |
wdieresis | 130.0 | 0 | 0 |
wacute | 130.0 | 0 | 0 |
w | 130.0 | 0 | 0 |
wcircumflex | 130.0 | 0 | 0 |
wgrave | 130.0 | 0 | 0 |
ohorn | 125.0 | 0 | 0 |
uni1EDF | 125.0 | 0 | 0 |
uni04FE | 125.0 | 0 | 0 |
uni1EE3 | 125.0 | 0 | 0 |
uni0425 | 125.0 | 0 | 0 |
X | 125.0 | 0 | 0 |
uni1EDD | 125.0 | 0 | 0 |
uni1EDB | 125.0 | 0 | 0 |
uni04FC | 125.0 | 0 | 0 |
uni1EE1 | 125.0 | 0 | 0 |
names 5 modified
id | string_a | string_b |
---|---|---|
(0, 1, 0, 0) | Font data copyright Google 2013 | Copyright 2018 Google Inc. All Rights Reserved. |
(0, 3, 1, 1033) | Font data copyright Google 2013 | Copyright 2018 Google Inc. All Rights Reserved. |
(3, 3, 1, 1033) | Google:Roboto Slab:2013 | Google:Roboto Slab:2018 |
(5, 1, 0, 0) | Version 1.100263; 2013; ttfautohint (v0.94.20-1c74) -l 8 -r 12 -G 200 -x 14 -w "" -W | Version 2.000 |
(5, 3, 1, 1033) | Version 1.100263; 2013; ttfautohint (v0.94.20-1c74) -l 8 -r 12 -G 200 -x 14 -w "" -W | Version 2.000 |
names 7 missing
id | string |
---|---|
(3, 1, 0, 0) | Google:Roboto Slab:2013 |
(16, 1, 0, 0) | Roboto Slab |
(16, 3, 1, 1033) | Roboto Slab |
(17, 1, 0, 0) | Regular |
(17, 3, 1, 1033) | Regular |
(18, 1, 0, 0) | Roboto Slab Regular |
(18, 3, 1, 1033) | Roboto Slab Regular |
marks 3450 new
base_glyph | mark_glyph | base_x | base_y | mark_x | mark_y |
---|---|---|---|---|---|
A | acutecomb | 770 | 1376 | -335 | 1082 |
A | gravecomb | 770 | 1376 | -161 | 1082 |
A | tildecomb | 770 | 1376 | -386 | 1082 |
A | hookabovecomb | 770 | 1376 | -238 | 1082 |
A | uni030F | 770 | 1376 | -320 | 1082 |
A | dotbelowcomb | 767 | 0 | -143 | 0 |
AE | gravecomb | 1158 | 1376 | -161 | 1082 |
AE | acutecomb | 1158 | 1376 | -335 | 1082 |
AE | tildecomb | 1158 | 1376 | -386 | 1082 |
AE | hookabovecomb | 1158 | 1376 | -238 | 1082 |
AE | uni030F | 1158 | 1376 | -320 | 1082 |
AE | dotbelowcomb | 1088 | 0 | -143 | 0 |
AEacute | dotbelowcomb | 1088 | 0 | -143 | 0 |
AEacute | tildecomb | 1158 | 1750 | -386 | 1082 |
AEacute | gravecomb | 1158 | 1750 | -161 | 1082 |
AEacute | acutecomb | 1158 | 1750 | -335 | 1082 |
AEacute | uni030F | 1158 | 1750 | -320 | 1082 |
AEacute | hookabovecomb | 1158 | 1750 | -238 | 1082 |
Aacute | acutecomb | 770 | 1750 | -335 | 1082 |
Aacute | gravecomb | 770 | 1750 | -161 | 1082 |
Aacute | tildecomb | 770 | 1750 | -386 | 1082 |
Aacute | hookabovecomb | 770 | 1750 | -238 | 1082 |
Aacute | uni030F | 770 | 1750 | -320 | 1082 |
Aacute | dotbelowcomb | 767 | 0 | -143 | 0 |
Abreve | gravecomb | 770 | 1750 | -161 | 1082 |
Abreve | acutecomb | 770 | 1750 | -335 | 1082 |
Abreve | tildecomb | 770 | 1750 | -386 | 1082 |
Abreve | uni030F | 770 | 1750 | -320 | 1082 |
Abreve | hookabovecomb | 770 | 1750 | -238 | 1082 |
Abreve | dotbelowcomb | 767 | 0 | -143 | 0 |
Acircumflex | gravecomb | 770 | 1750 | -161 | 1082 |
Acircumflex | acutecomb | 770 | 1750 | -335 | 1082 |
Acircumflex | tildecomb | 770 | 1750 | -386 | 1082 |
Acircumflex | uni030F | 770 | 1750 | -320 | 1082 |
Acircumflex | hookabovecomb | 770 | 1750 | -238 | 1082 |
Acircumflex | dotbelowcomb | 767 | 0 | -143 | 0 |
Adieresis | uni030F | 770 | 1750 | -320 | 1082 |
Adieresis | hookabovecomb | 770 | 1750 | -238 | 1082 |
Adieresis | tildecomb | 770 | 1750 | -386 | 1082 |
Adieresis | gravecomb | 770 | 1750 | -161 | 1082 |
Adieresis | acutecomb | 770 | 1750 | -335 | 1082 |
Adieresis | dotbelowcomb | 767 | 0 | -143 | 0 |
Agrave | tildecomb | 770 | 1750 | -386 | 1082 |
Agrave | gravecomb | 770 | 1750 | -161 | 1082 |
Agrave | acutecomb | 770 | 1750 | -335 | 1082 |
Agrave | hookabovecomb | 770 | 1750 | -238 | 1082 |
Agrave | uni030F | 770 | 1750 | -320 | 1082 |
Agrave | dotbelowcomb | 767 | 0 | -143 | 0 |
Alpha | dotbelowcomb | 767 | 0 | -143 | 0 |
Alpha | acutecomb | 770 | 1376 | -335 | 1082 |
glyphs 246 new
glyph |
---|
D.ss05 |
Dcroat.ss05 |
K.ss05 |
OE.ss05 |
R.ss05 |
a.sc |
aacute.sc |
abreve.sc |
acircumflex.sc |
adieresis.sc |
ae.sc |
ae.ss03 |
aeacute.sc |
agrave.sc |
alpha.ss02 |
amacron.sc |
aogonek.sc |
aring.sc |
aringacute.sc |
atilde.sc |
b.sc |
c.sc |
c.sc.ss05 |
cacute.sc |
ccaron.sc |
ccedilla.sc |
ccircumflex.sc |
cdotaccent.sc |
d.sc |
d.sc.ss05 |
dcaron.sc |
dcroat.sc |
e.sc |
eacute.sc |
ebreve.sc |
ecaron.sc |
ecircumflex.sc |
edieresis.sc |
edotaccent.sc |
egrave.sc |
eight.sc |
emacron.sc |
eng.sc |
eogonek.sc |
eth.sc |
f.sc |
five.sc |
four.sc |
g.sc |
g.sc.ss05 |
glyphs 168 modified
glyph | diff |
---|---|
uniFFFC | 662473.958333 |
uni2105 | 384219.833333 |
uni047F | 224439.0 |
uni047E | 223790.916667 |
uni1EB3 | 176989.333333 |
uni1EA9 | 175176.333333 |
uni1EB2 | 167071.833333 |
uni1EA8 | 165258.833333 |
uni1EC3 | 164471.541667 |
uni1ED5 | 164460.041667 |
uni1ED4 | 163677.958333 |
uni1EC2 | 144601.833333 |
uni1EB5 | 51689.7916667 |
uni1E01 | 44844.7916667 |
uni1EB4 | 41772.2916667 |
uni1EAF | 41026.0 |
uni1EAB | 40704.4583333 |
aringacute | 38431.5 |
wacute | 35051.0 |
uni1E00 | 34927.2916667 |
wdieresis | 34068.0 |
w | 33914.0 |
wcircumflex | 33914.0 |
wgrave | 33385.0 |
uni1EAE | 31108.5 |
uni1EAA | 30786.9583333 |
uni1EC5 | 29999.6666667 |
uni1ED7 | 29988.1666667 |
uni1ED6 | 29206.0833333 |
gbreve | 26419.9583333 |
Gbreve | 25098.4166667 |
K | 21715.5 |
Kappa | 21715.5 |
nu | 19011.0 |
v | 19011.0 |
uni0121 | 18344.5416667 |
g | 18284.5416667 |
gcircumflex | 18284.5416667 |
uni1EB7 | 18153.9166667 |
uni04D1 | 18076.9166667 |
abreve | 18076.9166667 |
uni0120 | 17023.0 |
G | 16963.0 |
Gcircumflex | 16963.0 |
Aringacute | 16711.5833333 |
Cacute | 15442.3333333 |
k | 15275.5 |
uni010A | 14365.3333333 |
Ccircumflex | 14305.3333333 |
C | 14305.3333333 |
glyphs 114 missing
glyph |
---|
A.smcp |
Aacute.smcp |
Abreve.smcp |
Acircumflex.smcp |
Adieresis.smcp |
Agrave.smcp |
Amacron.smcp |
Aogonek.smcp |
Aring.smcp |
Aringacute.smcp |
Atilde.smcp |
B.smcp |
C.smcp |
Cacute.smcp |
Ccaron.smcp |
Ccedilla.smcp |
Ccircumflex.smcp |
D.smcp |
Dcaron.smcp |
Dcroat.smcp |
E.smcp |
Eacute.smcp |
Ebreve.smcp |
Ecaron.smcp |
Ecircumflex.smcp |
Edieresis.smcp |
Edotaccent.smcp |
Egrave.smcp |
Emacron.smcp |
Eogonek.smcp |
Eth.smcp |
F.smcp |
G.smcp |
Gbreve.smcp |
Gcircumflex.smcp |
Gcommaaccent.smcp |
H.smcp |
Hcircumflex.smcp |
I.smcp |
Iacute.smcp |
Ibreve.smcp |
Icircumflex.smcp |
Idieresis.smcp |
Idotaccent.smcp |
Igrave.smcp |
Imacron.smcp |
Iogonek.smcp |
Itilde.smcp |
J.smcp |
Jcircumflex.smcp |
I have been encountering numerous metrics related issues with Roboto Slab.
First are a few inconsistencies on sidebearings like with the /H 81, 81 .versus the /I 120, 120
Neither glyph's sidebearings correspond to the original ttf which is fine since there were unpublished edits which I am assuming modified spacing a bit, but this is a large 30 unit between sidebearings that should be very similar if not identical.
Proposed Solution: Modify metrics on glyphs (via metrics keys) with extreme deviations from the metrics of identical shapes
Mark alignment is problematic across the board in the source ufos (the unpublished update). On top of this, automatic alignment of components on composite glyphs produce the wrong width and sidebearings, which in turn causes collisions, this is due to using noncombining marks as components rather than combining marks
Proposed Solution: The ideal solution in terms of structuring a good maintainable source file would be to set up glyphs with anchors and combining marks. this would mean making all noncombining marks use a component of the corresponding combining mark and then use the combining marks in the composite glyphs to enable automatic alignment. This would be fine without anchors, but I would argue that a proper anchor setup is more manageable than manually aligning and checking all components in all composites
Overall these inconsistencies mean that very little will match up on GF regressions
@davelab6 I did not want to mess with metrics and kerning so that updates will not deviate drastically from what is currently being served, but they seem necessary. What are your thoughts on how to move forward?
Roboto Slab currently exists as 4 separate ufo sources: Thin, Light, Regular, and Bold. Their relationship is not strictly linear, as generating the same fonts from the two extremes, Thin and Bold, results in discrepancies on Regular and Light. When adding Regular in as a master the design has discrepancies that are much more subtle on the Light, and Nonexistent on the Regular.
These discrepancies are minimized when adding the Regular in as an intermediate third master but are still present. While I think that it would be nice to have the VF match 100% to the static fonts, I believe it will make for a more manageable source file (and smaller VF) to use Thin, Regular, and Bold for the mastering. However, if the differences are determined to be too large, then Light can be added in as a 4th master at the expense of file size.
Here is a comparison of the ttf generated from the original Light UFO as compared to the ttf generated as an instance between the Thin and Regular masters:
View on GF Regressions
Back in 2013 I found a hidden treasure: an italic Roboto Slab!
Back in the Holo days of Android, before Material Design was unveiled, I remembered seeing a certain Roboto Slab Light Italic being used in Google Play Newsstand for pull quotes⦠So I tore apart an APK file and extracted it. I wonder if it can be used as a basis for new italic styles to be extrapolated from?
Unknown command line option: '-file'
The following glyphs do not have the recommended number of contours:
Glyph name: K Counters detected: 3 Expected: 1 or 2
Glyph name: R Counters detected: 3 Expected: 1 or 2
Glyph name: k Counters detected: 3 Expected: 1 or 2
Glyph name: Eth Counters detected: 3 Expected: 2
Glyph name: aogonek Counters detected: 3 Expected: 2
Glyph name: Dcroat Counters detected: 3 Expected: 2
Glyph name: dcroat Counters detected: 3 Expected: 2
Glyph name: eogonek Counters detected: 3 Expected: 2
Glyph name: hbar Counters detected: 2 Expected: 1
Glyph name: uni0136 Counters detected: 4 Expected: 2 or 3
Glyph name: uni0137 Counters detected: 4 Expected: 2 or 3
Glyph name: kgreenlandic Counters detected: 3 Expected: 1 or 2
Glyph name: Lslash Counters detected: 2 Expected: 1
Glyph name: lslash Counters detected: 2 Expected: 1
Glyph name: Racute Counters detected: 4 Expected: 3
Glyph name: uni0156 Counters detected: 4 Expected: 3
Glyph name: Rcaron Counters detected: 4 Expected: 3
Glyph name: Tbar Counters detected: 2 Expected: 1
Glyph name: tbar Counters detected: 2 Expected: 1
Glyph name: Uogonek Counters detected: 2 Expected: 1
Glyph name: uogonek Counters detected: 2 Expected: 1
Glyph name: ohorn Counters detected: 3 Expected: 2
Glyph name: Uhorn Counters detected: 2 Expected: 1
Glyph name: uhorn Counters detected: 2 Expected: 1
Glyph name: Kappa Counters detected: 3 Expected: 1
Glyph name: kappa Counters detected: 3 Expected: 1
Glyph name: uni045B Counters detected: 2 Expected: 1
Glyph name: uni0462 Counters detected: 3 Expected: 2
Glyph name: uni046C Counters detected: 3 Expected: 2
Glyph name: uni046D Counters detected: 3 Expected: 2
Glyph name: uni047A Counters detected: 4 Expected: 2
Glyph name: uni047B Counters detected: 4 Expected: 2
Glyph name: uni048C Counters detected: 3 Expected: 2
Glyph name: uni048E Counters detected: 3 Expected: 1 or 2
Glyph name: uni048F Counters detected: 3 Expected: 2
Glyph name: uni0492 Counters detected: 2 Expected: 1
Glyph name: uni0493 Counters detected: 2 Expected: 1
Glyph name: uni049C Counters detected: 2 Expected: 1
Glyph name: uni049D Counters detected: 2 Expected: 1
Glyph name: uni049E Counters detected: 2 Expected: 1
Glyph name: uni04B0 Counters detected: 2 Expected: 1
Glyph name: uni04B1 Counters detected: 2 Expected: 1
Glyph name: uni04B8 Counters detected: 2 Expected: 1
Glyph name: uni04B9 Counters detected: 2 Expected: 1
Glyph name: uni04FE Counters detected: 2 Expected: 1
Glyph name: uni04FF Counters detected: 2 Expected: 1
Glyph name: uni0506 Counters detected: 2 Expected: 1
Glyph name: uni0507 Counters detected: 2 Expected: 1
Glyph name: uni1E9E Counters detected: 2 Expected: 1
Glyph name: uni1EDB Counters detected: 4 Expected: 3
Glyph name: uni1EDD Counters detected: 4 Expected: 3
Glyph name: uni1EDF Counters detected: 4 Expected: 3
Glyph name: uni1EE1 Counters detected: 4 Expected: 3
Glyph name: uni1EE3 Counters detected: 4 Expected: 3
Glyph name: uni1EE8 Counters detected: 3 Expected: 2
Glyph name: uni1EE9 Counters detected: 3 Expected: 2
Glyph name: uni1EEA Counters detected: 3 Expected: 2
Glyph name: uni1EEB Counters detected: 3 Expected: 2
Glyph name: uni1EEC Counters detected: 3 Expected: 2
Glyph name: uni1EED Counters detected: 3 Expected: 2
Glyph name: uni1EEE Counters detected: 3 Expected: 2
Glyph name: uni1EEF Counters detected: 3 Expected: 2
Glyph name: uni1EF0 Counters detected: 3 Expected: 2
Glyph name: uni1EF1 Counters detected: 3 Expected: 2
π ERROR | π₯ FAIL | π€ SKIP | βΉοΈ INFO | π PASS | |
---|---|---|---|---|---|
1 | 2 | 7 | 63 | 4 | 56 |
1% | 2% | 5% | 47% | 3% | 42% |
pip install -r reguirements.txt
should be pip install -r requirements.txt
I noticed that some glyph (RKkg) are made by multiple shapes, therefore when outlined they renders erroneous. Could you fix that?
I am new to this font building business, so maybe I miss something very obvious. I am following
the instructions of README.md
# Debian 10 Buster
# as root
aptitude install virtualenv fontmake
# as user
git clone https://github.com/googlefonts/robotoslab.git
cd robotoslab
# the line in the README is just "virtualenv venv" which do NOT
# work since it uses python2. You might update this?
virtualenv --python=/usr/bin/python3 venv
. ./venv/bin/activate
pip install -r requirements.txt
...
Successfully installed Flask-1.1.1 ...
cd fonts
fontmake -m ../sources/RobotoSlab.designspace
...
FileNotFoundError: [Errno 2] No such file or directory:
'../sources/RobotoSlab.designspace'
And indeed the file is missing. Where I do get this file? FYI: build.sh also fails, I did not
install fontbakery as it was not declared mandatory in the README.md
Please add support for IPA Phonetic characters:
p,btdtΜ¬ΚΚkΙ‘fvΞΈΓ°szmnΕhlrwjiΛΙͺΚueΙΙΙΙΓ¦ΚΙΙoaΛΛΜ©lΜ©nΜ©rΜ©α΅(Γ΄)Β·.-|
Thank you!
The README file says that Roboto Slab is licensed under OFL, while everywhere else (LICENSE file, Google Fonts Website, etc.) says it's Apache. Is this just a mistake, or is it going to change its license (just like Noto)?
I don't know if it is a Windows 10 specific rasterizer glitch or if it is the font which has the glitch (I don't have access to other systems), but when using the variant font Roboto Slab Thin instead of static font Roboto Slab Thin there is a glitch on the minuscule letter "b": The foot/joint is very different from the static version, as if the ink had escaped the ink trap (if the font were physical and not digital).
Please see the attached pictures and look at the letter "b":
Windows seems to identify all files at https://github.com/googlefonts/robotoslab/tree/master/fonts/static as Roboto Slab Regular so when I install all six files I get this prompt five times:
The 'Roboto Slab Regular' font is already installed. Do you want to replace it?
It doesn't feel right.
(I found this while trying to figure out why released font prevents LibreOffice from printing documents, if that matters.)
When using ss03
there are multiple characters not having the correct character variants:
aacute
abreve
uni1EAF
uni1EB7
uni1EB1
uni1EB3
uni1EB5
acircumflex
uni1EA5
uni1EAD
uni1EA7
uni1EA9
uni1EAB
adieresis
uni1EA1
agrave
uni1EA3
amacron
aogonek
aring
aringacute
uni1E01
atilde
aeacute
cacute
ccaron
ccedilla
ccircumflex
cdotaccent
It will be great to have releases with version numbers as roboto fonts https://github.com/googlefonts/roboto/releases
When my Microsoft Word document uses the Roboto Slab font, I can not print it.
Printer: HP Deskjet 1515
Windows 10, Office 365 ProPlus (1904)
Anyone else having issues with Roboto fonts? Specifically Roboto Slab.
I have it installed on a couple sites and all of a sudden it isn't loading and falling back to the alternative font. I've tried on a couple sites and static tests with the same result.
Since Roboto and Roboto Slab are under one superfamily, I think it would make sense for them to be available in the same weights(Added weights noted below). Medium falls between masters and would be an instance. To get Roboto Slab Black an additinal master is needed. In this case extrapolation actually works quite well and yields a result that needs minimal correction to be used as a master.
Added weights would mean 6 matching weights to Roboto:
Sample of the extrapolated Black with minor corrections on a few glyphs:
File size impacts:
1 static ttf β 170kB
3-master VF β 220/230kB
4-master VF β 275kB
(vf file sizes without VTT hinting)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.