1*e5825d3bSAndroid Build Coastguard Worker#!/usr/bin/python 2*e5825d3bSAndroid Build Coastguard Worker# coding=UTF-8 3*e5825d3bSAndroid Build Coastguard Worker# 4*e5825d3bSAndroid Build Coastguard Worker# Copyright 2016 Google Inc. All rights reserved. 5*e5825d3bSAndroid Build Coastguard Worker# 6*e5825d3bSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 7*e5825d3bSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 8*e5825d3bSAndroid Build Coastguard Worker# You may obtain a copy of the License at 9*e5825d3bSAndroid Build Coastguard Worker# 10*e5825d3bSAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 11*e5825d3bSAndroid Build Coastguard Worker# 12*e5825d3bSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 13*e5825d3bSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 14*e5825d3bSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15*e5825d3bSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 16*e5825d3bSAndroid Build Coastguard Worker# limitations under the License. 17*e5825d3bSAndroid Build Coastguard Worker 18*e5825d3bSAndroid Build Coastguard Worker"""Create a curated subset of Noto Serif for Android.""" 19*e5825d3bSAndroid Build Coastguard Worker 20*e5825d3bSAndroid Build Coastguard Workerimport sys 21*e5825d3bSAndroid Build Coastguard Worker 22*e5825d3bSAndroid Build Coastguard Workerfrom nototools import subset 23*e5825d3bSAndroid Build Coastguard Workerfrom nototools import unicode_data 24*e5825d3bSAndroid Build Coastguard Worker 25*e5825d3bSAndroid Build Coastguard Worker# Characters we have decided we are doing as emoji-style in Android, 26*e5825d3bSAndroid Build Coastguard Worker# despite UTR #51's recommendation 27*e5825d3bSAndroid Build Coastguard WorkerANDROID_EMOJI = { 28*e5825d3bSAndroid Build Coastguard Worker 0x2600, # ☀ BLACK SUN WITH RAYS 29*e5825d3bSAndroid Build Coastguard Worker 0x2601, # ☁ CLOUD 30*e5825d3bSAndroid Build Coastguard Worker 0X260E, # ☎ BLACK TELEPHONE 31*e5825d3bSAndroid Build Coastguard Worker 0x261D, # ☝ WHITE UP POINTING INDEX 32*e5825d3bSAndroid Build Coastguard Worker 0x263A, # ☺ WHITE SMILING FACE 33*e5825d3bSAndroid Build Coastguard Worker 0x2660, # ♠ BLACK SPADE SUIT 34*e5825d3bSAndroid Build Coastguard Worker 0x2663, # ♣ BLACK CLUB SUIT 35*e5825d3bSAndroid Build Coastguard Worker 0x2665, # ♥ BLACK HEART SUIT 36*e5825d3bSAndroid Build Coastguard Worker 0x2666, # ♦ BLACK DIAMOND SUIT 37*e5825d3bSAndroid Build Coastguard Worker 0x270C, # ✌ VICTORY HAND 38*e5825d3bSAndroid Build Coastguard Worker 0x2744, # ❄ SNOWFLAKE 39*e5825d3bSAndroid Build Coastguard Worker 0x2764, # ❤ HEAVY BLACK HEART 40*e5825d3bSAndroid Build Coastguard Worker} 41*e5825d3bSAndroid Build Coastguard Worker 42*e5825d3bSAndroid Build Coastguard Workerdef main(argv): 43*e5825d3bSAndroid Build Coastguard Worker """Subset a Noto Serif font. 44*e5825d3bSAndroid Build Coastguard Worker 45*e5825d3bSAndroid Build Coastguard Worker The first argument is the source file name, and the second argument is 46*e5825d3bSAndroid Build Coastguard Worker the target file name. 47*e5825d3bSAndroid Build Coastguard Worker """ 48*e5825d3bSAndroid Build Coastguard Worker 49*e5825d3bSAndroid Build Coastguard Worker source_file_name = argv[1] 50*e5825d3bSAndroid Build Coastguard Worker target_file_name = argv[2] 51*e5825d3bSAndroid Build Coastguard Worker subset.subset_font( 52*e5825d3bSAndroid Build Coastguard Worker source_file_name, 53*e5825d3bSAndroid Build Coastguard Worker target_file_name, 54*e5825d3bSAndroid Build Coastguard Worker exclude=ANDROID_EMOJI) 55*e5825d3bSAndroid Build Coastguard Worker 56*e5825d3bSAndroid Build Coastguard Worker 57*e5825d3bSAndroid Build Coastguard Workerif __name__ == '__main__': 58*e5825d3bSAndroid Build Coastguard Worker main(sys.argv) 59