summaryrefslogtreecommitdiff
path: root/scripts/subset_for_web.py
diff options
context:
space:
mode:
authorRoozbeh Pournader <roozbeh@google.com>2014-12-01 13:36:03 -0800
committerJames Godfrey-Kittle <jamesgk@google.com>2015-04-16 12:16:23 -0700
commit6ca0d935997f3a1f1bd53169a6b2f10ab4ae75d3 (patch)
tree485ce7f391971627cf08257f77b783fa8bb1afb4 /scripts/subset_for_web.py
parent6f8d5ea14c2d9fe8916bfd85c67fbf254b5b78da (diff)
Add targets and scripts for web fonts.
Diffstat (limited to 'scripts/subset_for_web.py')
-rw-r--r--scripts/subset_for_web.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/scripts/subset_for_web.py b/scripts/subset_for_web.py
new file mode 100644
index 0000000..e100dfc
--- /dev/null
+++ b/scripts/subset_for_web.py
@@ -0,0 +1,53 @@
+#!/usr/bin/python
+#
+# Copyright 2014 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.
+
+"""Subset for web fonts."""
+
+__author__ = 'roozbeh@google.com (Roozbeh Pournader)'
+
+import sys
+
+from nototools import subset
+
+
+def read_charlist(filename):
+ """Returns a list of characters read from a charset text file."""
+ with open(filename) as datafile:
+ charlist = []
+ for line in datafile:
+ if '#' in line:
+ line = line[:line.index('#')]
+ line = line.strip()
+ if not line:
+ continue
+ if line.startswith('U+'):
+ line = line[2:]
+ char = int(line, 16)
+ charlist.append(char)
+ return charlist
+
+
+def main(argv):
+ """Subset the first argument to second, dropping unused parts of the font.
+ """
+ charlist = read_charlist('res/web_charset.txt')
+ # Add private use characters for legacy reasons
+ charlist += [0xEE01, 0xEE02, 0xF6C3]
+ subset.subset_font(argv[1], argv[2], include=charlist)
+
+
+if __name__ == '__main__':
+ main(sys.argv)