#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
from fontTools.ttLib import TTFont

def modify_font_metrics(input_font_path, output_font_path, scale=1.1):
    font = TTFont(input_font_path)
    hhea = font['hhea']
    original_ascender = hhea.ascent
    original_descender = hhea.descent
    hhea.ascent = int(original_ascender * scale)
    hhea.descent = int(original_descender * scale)
    os2 = font['OS/2']
    os2.sTypoAscender = int(os2.sTypoAscender * scale)
    os2.sTypoDescender = int(os2.sTypoDescender * scale)
    os2.usWinAscent = int(os2.usWinAscent * scale)
    os2.usWinDescent = int(os2.usWinDescent * scale)
    font.save(output_font_path)

# Sample
input_font_path = "./IBMPlexMono-Regular.ttf"
output_font_path = "./IBMPlexMono-Regular-modified.ttf"
modify_font_metrics(input_font_path, output_font_path, scale=1.1)
