diff options
author | Roozbeh Pournader <roozbeh@google.com> | 2015-04-17 16:57:10 -0700 |
---|---|---|
committer | Roozbeh Pournader <roozbeh@google.com> | 2015-04-17 16:57:10 -0700 |
commit | 6510203ca14d48c65465b50db6492123024fa702 (patch) | |
tree | ac9faa20adb18658d5991e6c0c613f0c11bf4806 | |
parent | 5c6f75ac74a0184e25632c841d9a14c282f810ff (diff) |
Convert DOS line ending to Unix line endings.
-rw-r--r-- | scripts/build-v2.py | 274 |
1 files changed, 137 insertions, 137 deletions
diff --git a/scripts/build-v2.py b/scripts/build-v2.py index 69da573..85f676c 100644 --- a/scripts/build-v2.py +++ b/scripts/build-v2.py @@ -1,137 +1,137 @@ -# Copyright 2015 Google Inc. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-import sys
-
-sys.path.insert(0, "%s/scripts/lib" % BASEDIR)
-
-from robofab.objects.objectsRF import RPoint
-from fontTools.misc.transform import Transform
-from fontbuild.Build import FontProject
-from fontbuild.mix import Mix, Master
-from fontbuild.italics import condenseGlyph, transformFLGlyphMembers
-
-# Masters
-
-rg = Master("%s/src/v2/Roboto_Regular.ufo" % BASEDIR)
-bd = Master("%s/src/v2/Roboto_Bold.ufo" % BASEDIR)
-th = Master("%s/src/v2/Roboto_Thin.ufo" % BASEDIR)
-
-# build condensed masters
-
-lessCondensed = (
- "plusminus bracketleft bracketright dieresis macron "
- "percent multiply degree at i j "
- "zero one two three four five six seven eight nine "
- "braceright braceleft").split()
-uncondensed = (
- "tonos breve acute grave quotesingle quotedbl asterisk "
- "period currency registered copyright bullet ring degree "
- "dieresis comma bar brokenbar dotaccent dotbelow "
- "colon semicolon uniFFFC uniFFFD uni0488 uni0489 ringbelow "
- "estimated").split()
-moreCondensed = "z Z M W A V".split()
-
-
-def condenseFont(font, scale=.8, stemWidth=185):
- f = font.copy()
-
- xscale = scale
- CAPS = ("A B C.cn D.cn E F G.cn H I J K L M N O.cn P Q.cn R S T U.cn V W X "
- "Y Z one two three four five six seven eight nine zero").split()
- LC = ("a.cn b.cn c.cn d.cn e.cn f g.cn h i j k l m n o.cn p.cn q.cn r s t "
- "u v w x y z").split()
- # for g in [f[name] for name in LC]:
- for g in f:
- if len(g) > 0:
- # print g.name
- if g.name in lessCondensed:
- scale = xscale * 1.1
- if g.name in uncondensed:
- continue
- if g.name in moreCondensed:
- scale = xscale * .90
- # g2 = condenseGlyph(g, xscale)
- # g.clear()
- # g2.drawPoints(g.getPointPen())
- m = Transform(xscale, 0, 0, 1, 20, 0)
- g.transform(m)
- transformFLGlyphMembers(g, m, transformAnchors=False)
- if g.width != 0:
- g.width += 40
- return f
-
-
-proj = FontProject(rg.font, BASEDIR, "res/roboto.cfg", th.ffont)
-#proj.incrementBuildNumber()
-
-# FAMILYNAME = "Roboto 2 DRAFT"
-# FAMILYNAME = "Roboto2"
-FAMILYNAME = "Roboto"
-
-proj.buildOTF = True
-#proj.autohintOTF = True
-proj.buildTTF = True
-
-proj.generateFont(th.font, "%s/Thin/Regular/Th"%FAMILYNAME)
-proj.generateFont(Mix([th, rg], 0.45), "%s/Light/Regular/Lt"%FAMILYNAME)
-proj.generateFont(Mix([th, rg], RPoint(0.90, 0.92)),
- "%s/Regular/Regular/Rg"%FAMILYNAME)
-proj.generateFont(Mix([rg, bd], 0.35), "%s/Medium/Regular/Lt"%FAMILYNAME)
-proj.generateFont(Mix([rg, bd], RPoint(0.73, 0.73)),
- "%s/Bold/Bold/Rg"%FAMILYNAME)
-proj.generateFont(Mix([rg, bd], RPoint(1.125, 1.0)),
- "%s/Black/Bold/Bk"%FAMILYNAME)
-
-proj.generateFont(th.font, "%s/Thin Italic/Italic/Th"%FAMILYNAME,
- italic=True, stemWidth=80)
-proj.generateFont(Mix([th, rg], 0.45), "%s/Light Italic/Italic/Lt"%FAMILYNAME,
- italic=True, stemWidth=120)
-proj.generateFont(Mix([th, rg], RPoint(0.90, 0.92)),
- "%s/Italic/Italic/Rg"%FAMILYNAME, italic=True, stemWidth=185)
-proj.generateFont(Mix([rg, bd], 0.35), "%s/Medium Italic/Italic/Lt"%FAMILYNAME,
- italic=True, stemWidth=230)
-proj.generateFont(Mix([rg, bd], RPoint(0.73, 0.73)),
- "%s/Bold Italic/Bold Italic/Rg"%FAMILYNAME,
- italic=True, stemWidth=290)
-proj.generateFont(Mix([rg, bd], RPoint(1.125, 1.0)),
- "%s/Black Italic/Bold Italic/Bk"%FAMILYNAME,
- italic=True, stemWidth=290)
-
-thcn1 = Master(condenseFont(th.font, .84, 40))
-cn1 = Master(rg.ffont.addDiff(thcn1.ffont, th.ffont))
-bdcn1 = Master(bd.ffont.addDiff(thcn1.ffont, th.ffont))
-
-proj.generateFont(Mix([thcn1, cn1], RPoint(0.45, 0.47)),
- "%s Condensed/Light/Regular/Lt"%FAMILYNAME,
- swapSuffixes=[".cn"])
-proj.generateFont(Mix([thcn1, cn1], RPoint(0.9, 0.92)),
- "%s Condensed/Regular/Regular/Rg"%FAMILYNAME,
- swapSuffixes=[".cn"])
-proj.generateFont(Mix([cn1, bdcn1], RPoint(0.75, 0.75)),
- "%s Condensed/Bold/Bold/Rg"%FAMILYNAME,
- swapSuffixes=[".cn"])
-
-proj.generateFont(Mix([thcn1, cn1], RPoint(0.45, 0.47)),
- "%s Condensed/Light Italic/Italic/Lt"%FAMILYNAME,
- italic=True, swapSuffixes=[".cn"], stemWidth=120)
-proj.generateFont(Mix([thcn1, cn1], RPoint(0.9, 0.92)),
- "%s Condensed/Italic/Italic/Rg"%FAMILYNAME,
- italic=True, swapSuffixes=[".cn"], stemWidth=185)
-proj.generateFont(Mix([cn1, bdcn1], RPoint(0.75, 0.75)),
- "%s Condensed/Bold Italic/Bold Italic/Rg"%FAMILYNAME,
- italic=True, swapSuffixes=[".cn"], stemWidth=240)
-
-sys.exit(0)
+# Copyright 2015 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import sys + +sys.path.insert(0, "%s/scripts/lib" % BASEDIR) + +from robofab.objects.objectsRF import RPoint +from fontTools.misc.transform import Transform +from fontbuild.Build import FontProject +from fontbuild.mix import Mix, Master +from fontbuild.italics import condenseGlyph, transformFLGlyphMembers + +# Masters + +rg = Master("%s/src/v2/Roboto_Regular.ufo" % BASEDIR) +bd = Master("%s/src/v2/Roboto_Bold.ufo" % BASEDIR) +th = Master("%s/src/v2/Roboto_Thin.ufo" % BASEDIR) + +# build condensed masters + +lessCondensed = ( + "plusminus bracketleft bracketright dieresis macron " + "percent multiply degree at i j " + "zero one two three four five six seven eight nine " + "braceright braceleft").split() +uncondensed = ( + "tonos breve acute grave quotesingle quotedbl asterisk " + "period currency registered copyright bullet ring degree " + "dieresis comma bar brokenbar dotaccent dotbelow " + "colon semicolon uniFFFC uniFFFD uni0488 uni0489 ringbelow " + "estimated").split() +moreCondensed = "z Z M W A V".split() + + +def condenseFont(font, scale=.8, stemWidth=185): + f = font.copy() + + xscale = scale + CAPS = ("A B C.cn D.cn E F G.cn H I J K L M N O.cn P Q.cn R S T U.cn V W X " + "Y Z one two three four five six seven eight nine zero").split() + LC = ("a.cn b.cn c.cn d.cn e.cn f g.cn h i j k l m n o.cn p.cn q.cn r s t " + "u v w x y z").split() + # for g in [f[name] for name in LC]: + for g in f: + if len(g) > 0: + # print g.name + if g.name in lessCondensed: + scale = xscale * 1.1 + if g.name in uncondensed: + continue + if g.name in moreCondensed: + scale = xscale * .90 + # g2 = condenseGlyph(g, xscale) + # g.clear() + # g2.drawPoints(g.getPointPen()) + m = Transform(xscale, 0, 0, 1, 20, 0) + g.transform(m) + transformFLGlyphMembers(g, m, transformAnchors=False) + if g.width != 0: + g.width += 40 + return f + + +proj = FontProject(rg.font, BASEDIR, "res/roboto.cfg", th.ffont) +#proj.incrementBuildNumber() + +# FAMILYNAME = "Roboto 2 DRAFT" +# FAMILYNAME = "Roboto2" +FAMILYNAME = "Roboto" + +proj.buildOTF = True +#proj.autohintOTF = True +proj.buildTTF = True + +proj.generateFont(th.font, "%s/Thin/Regular/Th"%FAMILYNAME) +proj.generateFont(Mix([th, rg], 0.45), "%s/Light/Regular/Lt"%FAMILYNAME) +proj.generateFont(Mix([th, rg], RPoint(0.90, 0.92)), + "%s/Regular/Regular/Rg"%FAMILYNAME) +proj.generateFont(Mix([rg, bd], 0.35), "%s/Medium/Regular/Lt"%FAMILYNAME) +proj.generateFont(Mix([rg, bd], RPoint(0.73, 0.73)), + "%s/Bold/Bold/Rg"%FAMILYNAME) +proj.generateFont(Mix([rg, bd], RPoint(1.125, 1.0)), + "%s/Black/Bold/Bk"%FAMILYNAME) + +proj.generateFont(th.font, "%s/Thin Italic/Italic/Th"%FAMILYNAME, + italic=True, stemWidth=80) +proj.generateFont(Mix([th, rg], 0.45), "%s/Light Italic/Italic/Lt"%FAMILYNAME, + italic=True, stemWidth=120) +proj.generateFont(Mix([th, rg], RPoint(0.90, 0.92)), + "%s/Italic/Italic/Rg"%FAMILYNAME, italic=True, stemWidth=185) +proj.generateFont(Mix([rg, bd], 0.35), "%s/Medium Italic/Italic/Lt"%FAMILYNAME, + italic=True, stemWidth=230) +proj.generateFont(Mix([rg, bd], RPoint(0.73, 0.73)), + "%s/Bold Italic/Bold Italic/Rg"%FAMILYNAME, + italic=True, stemWidth=290) +proj.generateFont(Mix([rg, bd], RPoint(1.125, 1.0)), + "%s/Black Italic/Bold Italic/Bk"%FAMILYNAME, + italic=True, stemWidth=290) + +thcn1 = Master(condenseFont(th.font, .84, 40)) +cn1 = Master(rg.ffont.addDiff(thcn1.ffont, th.ffont)) +bdcn1 = Master(bd.ffont.addDiff(thcn1.ffont, th.ffont)) + +proj.generateFont(Mix([thcn1, cn1], RPoint(0.45, 0.47)), + "%s Condensed/Light/Regular/Lt"%FAMILYNAME, + swapSuffixes=[".cn"]) +proj.generateFont(Mix([thcn1, cn1], RPoint(0.9, 0.92)), + "%s Condensed/Regular/Regular/Rg"%FAMILYNAME, + swapSuffixes=[".cn"]) +proj.generateFont(Mix([cn1, bdcn1], RPoint(0.75, 0.75)), + "%s Condensed/Bold/Bold/Rg"%FAMILYNAME, + swapSuffixes=[".cn"]) + +proj.generateFont(Mix([thcn1, cn1], RPoint(0.45, 0.47)), + "%s Condensed/Light Italic/Italic/Lt"%FAMILYNAME, + italic=True, swapSuffixes=[".cn"], stemWidth=120) +proj.generateFont(Mix([thcn1, cn1], RPoint(0.9, 0.92)), + "%s Condensed/Italic/Italic/Rg"%FAMILYNAME, + italic=True, swapSuffixes=[".cn"], stemWidth=185) +proj.generateFont(Mix([cn1, bdcn1], RPoint(0.75, 0.75)), + "%s Condensed/Bold Italic/Bold Italic/Rg"%FAMILYNAME, + italic=True, swapSuffixes=[".cn"], stemWidth=240) + +sys.exit(0) |