def updateConfigFile(config, filename, rmnames):
wrapper = TextWrapper()
wrapper.width = 80
wrapper.break_long_words = False
wrapper.break_on_hyphens = False
wrap = lambda names: '\n'.join(wrapper.wrap(' '.join(names)))
didChange = False
for propertyName, values in config.items('glyphs'):
glyphNames = values.split()
propChanged = False
glyphNames2 = [name for name in glyphNames if name not in rmnames]
if len(glyphNames2) < len(glyphNames):
print('[fontbuild.cfg] updating glyphs property', propertyName)
config.set('glyphs', propertyName, wrap(glyphNames2)+'\n')
didChange = True
if didChange:
s = StringIO()
config.write(s)
s = s.getvalue()
s = re.sub(r'\n(\w+)\s+=\s*', '\n\\1: ', s, flags=re.M)
s = re.sub(r'((?:^|\n)\[[^\]]*\])', '\\1\n', s, flags=re.M)
s = re.sub(r'\n\t\n', '\n\n', s, flags=re.M)
s = s.strip() + '\n'
print('Writing', filename)
if not dryRun:
with open(filename, 'w') as f:
f.write(s)
评论列表
文章目录