- Added style linking for Bold in TTF
- Removed any NAME table IDs with a PlatformID="1" attribute
- Updated BUILD.txt
This commit is contained in:
Wei Huang 2015-07-06 20:52:43 +02:00
parent 68396ce82d
commit 76764c33e5
46 changed files with 33 additions and 14 deletions

View File

@ -37,10 +37,14 @@ ChangeLog
When you make modifications, be sure to add a description of your changes,
following the format of the other entries, to the start of this section.
3 Jun 2015 (Wei Huang) 'Work Sans' v1.29
- set fsType to 0
3 Jul 2015 (Wei Huang) 'Work Sans' v1.30
- Added style linking for Bold in TTF
- Removed any NAME table IDs with a PlatformID="1" attribute
3 Jun 2015 (Wei Huang) 'Work Sans' v1.28
6 Jul 2015 (Wei Huang) 'Work Sans' v1.29
- Set fsType to 0
22 Jun 2015 (Wei Huang) 'Work Sans' v1.28
- Fixed tittle of /j
3 Jun 2015 (Wei Huang) 'Work Sans' v1.27

View File

@ -11,7 +11,7 @@ The fonts under **/fonts/webfonts** contain TTF, WOFF, and WOFF2 formats for web
This typeface was funded by Google and will be available on Google Fonts shortly many thanks to Dave Crossland for the commission.
## [Download v1.29 (OTF, TTF, WOFF, WOFF2)](https://github.com/weiweihuanghuang/Work-Sans/archive/v1.29.zip)
## [Download v1.30 (OTF, TTF, WOFF, WOFF2)](https://github.com/weiweihuanghuang/Work-Sans/archive/v1.30.zip)
## [View a webfont specimen](http://weiweihuanghuang.github.io/Work-Sans/).

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,6 +1,6 @@
Introduction
------------
I use Glyphs App to work on Work Sans. As stated in README.md I am not offering UFOs since the UFOs generated from Glyphs 2 will not interpolate properly due to using Glyphs 2 only features. If there is demand, in the future I may upload a compatible UFO set for interpolation.
I use Glyphs App 2 to work on Work Sans. As stated in README.md I am not offering UFOs since the UFOs generated from Glyphs 2 will not interpolate properly due to using Glyphs 2 only features. If there is demand, in the future I may upload a compatible UFO set for interpolation.
Generating Fonts
----------------
@ -10,7 +10,7 @@ The fonts must be generated from Glyphs 2, not Glyphs 1 as it is using features
* * *
There are three sets of instances in the .glyphs file, two that are named with font weights, the third named using its stem weights. The first set (10 weights from Hairline to Black) are for generating OTFs and follow Microsoft's recommendations for setting vertical metrics[1]. The second set are for generating TTFs for webfonts and follows Google Font's webfont recommendations[2]. When exporting fonts, export at the 'OTF' tab and check 'Remove Overlap' (hinting and format settings are already set in the Instances panel for each instance).
There are two sets of instances in the .glyphs file. The first set (10 weights from Hairline to Black) are for generating OTFs and follow Microsoft's recommendations for setting vertical metrics[1]. The second set are for generating TTFs for webfonts and follows Google Font's webfont recommendations[2]. When exporting fonts, export at the 'OTF' tab and check 'Remove Overlap' (hinting and format settings are already set in the Instances panel for each instance).
The OTFs generated with Glyphs App will be usable immediately in desktop applications.
@ -39,11 +39,13 @@ sh generatefamily.sh
This script will:
1. Call fontTools in Python to set the ROUND_XY_TO_GRID [3] bit by changing the flags on components from "0x0" to "0x4".
2. Runs ttfautohint and creates autohinted TTFs (with control-files for some weights that define custom hinting to correct autohinting mistakes when rendered in ClearType GDI which is commonly encountered in Firefox on Windows 7).
1. Run a script which will call fontTools in Python to set the ROUND_XY_TO_GRID [3] bit by changing the flags on components from "0x0" to "0x4". It will then remove any NAME table IDs with a PlatformID="1" attribute [4].
2. Run ttfautohint and creates autohinted TTFs (with control-files for some weights that define custom hinting to correct autohinting mistakes when rendered in ClearType GDI which is commonly encountered in Firefox on Windows 7).
[3] Setting the ROUND_XY_TO_GRID bit in composite glyphs causes components to be shifted by an integer pixel amount which preserves the hinted shape. This reduces file size so that ttfautohint does not need to rehint composite glyphs to create consistent rendering especially important for glyphs such as super-/sub-script numerals and fractions which use components that are shifted.
[4] These IDs are needed for Mac OS 9 and are considered wasted space.
Converting to woff and woff2
----------------------------
sfnt2woff and woff2_compress are used to generate woff and woff2 fonts. Follow the resepective programs' instructions to do so.

View File

@ -37,7 +37,7 @@ name = licenseURL;
value = "http://scripts.sil.org/OFL";
}
);
date = "2015-07-06 16:28:27 +0000";
date = "2015-07-06 18:08:35 +0000";
designer = "Wei Huang";
designerURL = "wweeiihhuuaanngg@gmail.com";
familyName = "Work Sans";
@ -130559,6 +130559,7 @@ value = (
);
interpolationWeight = 170;
interpolationWidth = 5;
isBold = 1;
name = Bold;
weightClass = Bold;
},
@ -138292,5 +138293,5 @@ tH = 152;
};
};
versionMajor = 1;
versionMinor = 29;
versionMinor = 30;
}

View File

@ -1,6 +1,6 @@
for i in *.ttf; do
python setflag.py "$i"
echo "Set flag for $i"
python process.py "$i"
echo "Processing $i"
done
for i in Hairline Thin; do

View File

@ -1,4 +1,5 @@
# This python script finds and replaces the flags="0x0" with flags="0x4" to set the ROUND_XY_TO_GRID bit in a TTF.
# This python script finds and replaces the flags="0x0" with flags="0x4" to set the ROUND_XY_TO_GRID bit in a TTF. It then removes any NAME table IDs with a PlatformID="1" attribute
import os
import sys
from fontTools.ttLib import TTFont
@ -9,6 +10,8 @@ inputTTF = sys.argv[1]
# open the source file and read it
font = TTFont(inputTTF)
extension = os.path.splitext(inputTTF)[1]
# Set ROUND_XY_TO_GRID flag
if 'glyf' in font:
glyf = font['glyf']
for glyphname in glyf.glyphs:
@ -18,5 +21,14 @@ if 'glyf' in font:
for component in glyph.components:
component.flags |= 0x4
glyph.compact(glyf)
# Remove NAME table IDs with a PlatformID="1" attribute
records = []
for record in font['name'].names:
if record.platformID == 1:
continue
records.append(record)
font['name'].names = records
outputTTF = makeOutputFileName(inputTTF, '', extension)
font.save(outputTTF)
font.save(outputTTF)