You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In some cases, this may lead to specifying a Subfamily name of “Regular” for a font that might not otherwise be considered a regular font. For example, the Arial Black font has a Font Family name of “Arial Black” and a Subfamily name of “Regular”. Note that, in such cases, name IDs 16 and 17 should also be included, using a shared value for name ID 16 that reflects the full typographic family, and values for name ID 17 that appropriately reflect the actual design variant of each font.
So, e.g. for "Arial Black", you would pass the following arguments:
However, then SUBFAMILY (ID 2) would be set to Black, incorrectly.
In the context of Framer, I feel that the best way to retrieve a name for a font would be to look at PREFERRED_FAMILY (ID 16) and PREFERRED_SUBFAMILY (ID 17). If those are not set, then FAMILY (ID 1) and SUBFAMILY (ID 2) values can be used.
IDs 1 & 2 are subject to a number of restrictions and peculiarities that IDs 16 & 17 are not subject to. But, values for IDs 16 & 17 will not always be present.
Additionally, deriving the names from the source filename is bound to be prone to error. I would recommend reading values from the name table, if you can.
I hope this is helpful!
The text was updated successfully, but these errors were encountered:
P.S.: This said, if the purpose of your script is only to make the fonts work for Framer, then maybe your approach is okay. I merely wanted to point out how fiddly font naming can be—the Microsoft OpenType Spec isn't the most straight-forward document to read and implement.
Hello!
I noticed that your script applies the
--subfamily-name
argument to theSUBFAMILY
(ID2
) entry in thename
table. This is (sadly) not always correct.The following is an excerpt from https://learn.microsoft.com/en-us/typography/opentype/spec/name#name-ids about
SUBFAMILY
(ID2
):So, e.g. for "Arial Black", you would pass the following arguments:
However, then
SUBFAMILY
(ID2
) would be set toBlack
, incorrectly.In the context of Framer, I feel that the best way to retrieve a name for a font would be to look at
PREFERRED_FAMILY
(ID16
) andPREFERRED_SUBFAMILY
(ID17
). If those are not set, thenFAMILY
(ID1
) andSUBFAMILY
(ID2
) values can be used.IDs
1
&2
are subject to a number of restrictions and peculiarities that IDs16
&17
are not subject to. But, values for IDs16
&17
will not always be present.Additionally, deriving the names from the source filename is bound to be prone to error. I would recommend reading values from the
name
table, if you can.I hope this is helpful!
The text was updated successfully, but these errors were encountered: