Update mincho.otf

This rewrites the `ascent` and `descent` values in the `hhea` table of
the font, so that the height of the surface returned by `TTF_Render*`
will be the same as the `ptsize` passed to `TTF_OpenFont`. (MTLc3m.ttf
already have this property.)

This fixes the text rendering issue in Tsumamigui2 and Yoru ga Kuru.
This commit is contained in:
kichikuou
2022-03-05 10:14:48 +09:00
parent 76db37756b
commit fc80275944
3 changed files with 27 additions and 8 deletions
+5 -8
View File
@@ -10,12 +10,9 @@ find_program(PYFTSUBSET_FOUND pyftsubset)
if (PYFTSUBSET_FOUND)
add_custom_target(fonts
pyftsubset SourceHanSerifJP-Regular.otf --text-file=uchars.txt --output-file=${CMAKE_CURRENT_SOURCE_DIR}/mincho.otf
DEPENDS uchars.txt SourceHanSerifJP-Regular.otf)
add_custom_command(OUTPUT uchars.txt
COMMAND uchars > uchars.txt)
add_custom_command(OUTPUT SourceHanSerifJP-Regular.otf
COMMAND wget -O SourceHanSerifJP-Regular.otf https://github.com/adobe-fonts/source-han-serif/blob/release/SubsetOTF/JP/SourceHanSerifJP-Regular.otf?raw=true)
COMMAND uchars > uchars.txt
COMMAND wget -O SourceHanSerifJP-Regular.otf https://github.com/adobe-fonts/source-han-serif/blob/release/SubsetOTF/JP/SourceHanSerifJP-Regular.otf?raw=true
COMMAND pyftsubset SourceHanSerifJP-Regular.otf --text-file=uchars.txt --output-file=subset.otf
COMMAND python3 ${CMAKE_CURRENT_SOURCE_DIR}/adjust_metrics.py subset.otf ${CMAKE_CURRENT_SOURCE_DIR}/mincho.otf
)
endif()
+22
View File
@@ -0,0 +1,22 @@
#!/usr/bin/env python3
import sys
from fontTools.ttLib import TTFont
if len(sys.argv) != 3:
print('Usage: adjust_metrics.py infile outfile')
exit(1)
font = TTFont(sys.argv[1])
hhea = font['hhea']
os2 = font['OS/2']
if hhea.ascent != os2.sTypoAscender:
print(f'Changing hhea.ascent from {hhea.ascent} to {os2.sTypoAscender}')
hhea.ascent = os2.sTypoAscender
if hhea.descent != os2.sTypoDescender:
print(f'Changing hhea.descent from {hhea.descent} to {os2.sTypoDescender}')
hhea.descent = os2.sTypoDescender
font.save(sys.argv[2])
BIN
View File
Binary file not shown.