1 #!/usr/bin/env python 2 # 3 # Copyright (C) 2017 The Android Open Source Project 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 # 17 18 import sys 19 20 def main(argv): 21 original_file = 'frameworks/base/data/fonts/fonts.xml' 22 23 if len(argv) == 3: 24 output_file_path = argv[1] 25 override_file_path = argv[2] 26 else: 27 raise ValueError("Wrong number of arguments %s" % len(argv)) 28 29 fallbackPlaceholderFound = False 30 with open(original_file, 'r') as input_file: 31 with open(output_file_path, 'w') as output_file: 32 for line in input_file: 33 # If we've found the spot to add additional fonts, add them. 34 if line.strip() == '<!-- fallback fonts -->': 35 fallbackPlaceholderFound = True 36 with open(override_file_path) as override_file: 37 for override_line in override_file: 38 output_file.write(override_line) 39 output_file.write(line) 40 if not fallbackPlaceholderFound: 41 raise ValueError('<!-- fallback fonts --> not found in source file: %s' % original_file) 42 43 if __name__ == '__main__': 44 main(sys.argv) 45