🐛 Fix font weight/style metadata (#186)

This fixes a bug that Bold is interpreted as a standard font style (instead of Book) by some applications and operating systems.

This sets correct values to following metadata:
* head: macStyle: https://learn.microsoft.com/en-us/typography/opentype/spec/head
* OS/2: fsSelection: https://learn.microsoft.com/en-us/typography/opentype/spec/os2#fsselection
* OS/2: usWeightClass: https://learn.microsoft.com/en-us/typography/opentype/spec/os2#usweightclass
This commit is contained in:
Tomek Weksej
2024-03-20 15:36:17 +01:00
committed by GitHub
parent 1babf4977d
commit 7554d7ab76
13 changed files with 65 additions and 14 deletions
+3
View File
@@ -291,6 +291,9 @@ const patchHmtx = (dom) => {
copyConfigAttribute(dom, configDom, '/ttFont/hhea/advanceWidthMax', 'value'); copyConfigAttribute(dom, configDom, '/ttFont/hhea/advanceWidthMax', 'value');
copyConfigAttribute(dom, configDom, '/ttFont/hhea/xMaxExtent', 'value'); copyConfigAttribute(dom, configDom, '/ttFont/hhea/xMaxExtent', 'value');
copyConfigAttribute(dom, configDom, '/ttFont/CFF/CFFFont/FontBBox', 'value'); copyConfigAttribute(dom, configDom, '/ttFont/CFF/CFFFont/FontBBox', 'value');
copyConfigAttribute(dom, configDom, '/ttFont/head/macStyle', 'value');
copyConfigAttribute(dom, configDom, '/ttFont/OS_2/fsSelection', 'value');
copyConfigAttribute(dom, configDom, '/ttFont/OS_2/usWeightClass', 'value');
copyConfigAttribute( copyConfigAttribute(
dom, dom,
configDom, configDom,
+4
View File
@@ -118,4 +118,8 @@
</Private> </Private>
</CFFFont> </CFFFont>
</CFF> </CFF>
<OS_2>
<fsSelection value="00000000 01000000"/>
<usWeightClass value="400"/>
</OS_2>
</ttFont> </ttFont>
@@ -118,4 +118,8 @@
</Private> </Private>
</CFFFont> </CFFFont>
</CFF> </CFF>
<OS_2>
<fsSelection value="00000000 00000001"/>
<usWeightClass value="400"/>
</OS_2>
</ttFont> </ttFont>
@@ -118,4 +118,8 @@
</Private> </Private>
</CFFFont> </CFFFont>
</CFF> </CFF>
<OS_2>
<fsSelection value="00000000 01000000"/>
<usWeightClass value="300"/>
</OS_2>
</ttFont> </ttFont>
@@ -118,4 +118,8 @@
</Private> </Private>
</CFFFont> </CFFFont>
</CFF> </CFF>
<OS_2>
<fsSelection value="00000000 00000001"/>
<usWeightClass value="300"/>
</OS_2>
</ttFont> </ttFont>
+5 -1
View File
@@ -35,7 +35,7 @@
<yMax value="1282"/> <yMax value="1282"/>
<macStyle value="00000000 00000000"/> <macStyle value="00000000 00000001"/>
<lowestRecPPEM value="3"/> <lowestRecPPEM value="3"/>
@@ -118,4 +118,8 @@
</Private> </Private>
</CFFFont> </CFFFont>
</CFF> </CFF>
<OS_2>
<fsSelection value="00000000 00100000"/>
<usWeightClass value="700"/>
</OS_2>
</ttFont> </ttFont>
@@ -35,7 +35,7 @@
<yMax value="1271"/> <yMax value="1271"/>
<macStyle value="00000000 00000010"/> <macStyle value="00000000 00000011"/>
<lowestRecPPEM value="3"/> <lowestRecPPEM value="3"/>
@@ -118,4 +118,8 @@
</Private> </Private>
</CFFFont> </CFFFont>
</CFF> </CFF>
<OS_2>
<fsSelection value="00000000 00100001"/>
<usWeightClass value="700"/>
</OS_2>
</ttFont> </ttFont>
@@ -118,4 +118,8 @@
</Private> </Private>
</CFFFont> </CFFFont>
</CFF> </CFF>
<OS_2>
<fsSelection value="00000000 01000000"/>
<usWeightClass value="400"/>
</OS_2>
</ttFont> </ttFont>
@@ -118,4 +118,8 @@
</Private> </Private>
</CFFFont> </CFFFont>
</CFF> </CFF>
<OS_2>
<fsSelection value="00000000 00000001"/>
<usWeightClass value="400"/>
</OS_2>
</ttFont> </ttFont>
@@ -118,4 +118,8 @@
</Private> </Private>
</CFFFont> </CFFFont>
</CFF> </CFF>
<OS_2>
<fsSelection value="00000000 01000000"/>
<usWeightClass value="300"/>
</OS_2>
</ttFont> </ttFont>
@@ -118,4 +118,8 @@
</Private> </Private>
</CFFFont> </CFFFont>
</CFF> </CFF>
<OS_2>
<fsSelection value="00000000 00000001"/>
<usWeightClass value="300"/>
</OS_2>
</ttFont> </ttFont>
@@ -118,4 +118,8 @@
</Private> </Private>
</CFFFont> </CFFFont>
</CFF> </CFF>
<OS_2>
<fsSelection value="00000000 01000000"/>
<usWeightClass value="500"/>
</OS_2>
</ttFont> </ttFont>
@@ -118,4 +118,8 @@
</Private> </Private>
</CFFFont> </CFFFont>
</CFF> </CFF>
<OS_2>
<fsSelection value="00000000 00000001"/>
<usWeightClass value="500"/>
</OS_2>
</ttFont> </ttFont>