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
Sometimes there is a need to have installed a couple versions of the same font with different interline spacing. Therefore, OS should be able to treat these fonts as different.
This is a great idea Anton. It would also be useful to modify the name in case you want to re-release a modified version of a open font licensed font with a reserved font name. This is not difficult. Will leave this open to remind me to do it when I get back to work on this tool.
I am interested in whether anyone has thoughts about whether we should support an automated approach (e.g. add integer that indicates the percent UPM value passed at the command line to the current font family name - Coolfont 25, Coolfont 15) or user specified at the command line so that you can change the font family name to anything that you would like in order to create your own naming scheme. Either approach should permit side-by-side installs of fonts with different line spacing settings.
Let me know what you think. I am prepared to add this if there is interest in it.
On the to do list! I have actually been considering a standalone tool to rename fonts because we need this for other things.
Here is a Python script that will accomplish this until it is in this tool or we have a standalone renaming tool (that will likely be based on the script in the repo below):
@jesseleite if we do add the font renaming to this tool, best to create option to specify name on command line or automate it in some fashion based upon the change in the line spacing?
Probably because I'm new to python, but I am having trouble with fonttools dependency...
if we do add the font renaming to this tool, best to create option to specify name on command line or automate it in some fashion based upon the change in the line spacing?
100% could have optional flag to specify name, like:
font-line percent 120 ~/Downloads/Menlo-Regular.ttf --name="Menlo LG 120"
Incidentally, you should already have fontTools installed if you are using font-line... It is a dependency and is automatically installed with the font-line install. Maybe it is installed under Py3 for some reason? Let's see what the above shows and can troubleshoot from there.
On the to do list! I have actually been considering a standalone tool to rename fonts because we need this for other things.
Here is a Python script that will accomplish this until it is in this tool or we have a standalone renaming tool (that will likely be based on the script in the repo below):
Assuming that the font has all the namerecords correcly set, I'd do the following:
Get old_family_name from nameID 16, and if it's not present use nameID 1 as fallback
Set new_family_name = old_family_name + linegap (or whatever)
Replace the old_family_name with new_family_name in nameIDs 1, 3, 4, 6, 16, 18 (at least these ones, but better in all nemerecords) and CFF names
Since some namerecords contain spaces and other don't, a double replacement is needed:
Activity
chrissimpkins commentedon May 13, 2016
This is a great idea Anton. It would also be useful to modify the name in case you want to re-release a modified version of a open font licensed font with a reserved font name. This is not difficult. Will leave this open to remind me to do it when I get back to work on this tool.
chrissimpkins commentedon Oct 31, 2017
We just discussed this over here source-foundry/Hack#345 (comment).
I am interested in whether anyone has thoughts about whether we should support an automated approach (e.g. add integer that indicates the percent UPM value passed at the command line to the current font family name - Coolfont 25, Coolfont 15) or user specified at the command line so that you can change the font family name to anything that you would like in order to create your own naming scheme. Either approach should permit side-by-side installs of fonts with different line spacing settings.
Let me know what you think. I am prepared to add this if there is interest in it.
jesseleite commentedon Nov 15, 2017
@chrissimpkins Would love to rename font so I could have multiple line heights installed as well.
How hard would this be to add?
chrissimpkins commentedon Nov 16, 2017
On the to do list! I have actually been considering a standalone tool to rename fonts because we need this for other things.
Here is a Python script that will accomplish this until it is in this tool or we have a standalone renaming tool (that will likely be based on the script in the repo below):
https://github.com/chrissimpkins/fontname.py
Let me know if you have any problems with it. Instructions are on the repository readme page.
Note that the script renames the fonts without writing to new file paths so create copies if you intend to keep previous names.
chrissimpkins commentedon Nov 16, 2017
@jesseleite if we do add the font renaming to this tool, best to create option to specify name on command line or automate it in some fashion based upon the change in the line spacing?
jesseleite commentedon Nov 16, 2017
Hey @chrissimpkins thanks for reply!
Probably because I'm new to python, but I am having trouble with fonttools dependency...
100% could have optional flag to specify name, like:
Or something similar?
chrissimpkins commentedon Nov 16, 2017
@jesseleite strange. Mind dropping into the Python2 and Python3 REPL to check the import?:
chrissimpkins commentedon Nov 16, 2017
Incidentally, you should already have fontTools installed if you are using font-line... It is a dependency and is automatically installed with the font-line install. Maybe it is installed under Py3 for some reason? Let's see what the above shows and can troubleshoot from there.
chrissimpkins commentedon Nov 16, 2017
👍 thanks for the feedback!
jesseleite commentedon Nov 16, 2017
Ahh it was
python2
I needed to run. Thanks 👍chrissimpkins commentedon Nov 16, 2017
you must default to python3. this is a good thing! time to get rid of py2...
work as a separate install?
jesseleite commentedon Nov 17, 2017
Yeah learning :) I did get it to work though, thanks!
chrissimpkins commentedon Nov 17, 2017
@jesseleite great! enjoy!
ftCLI commentedon May 30, 2021
Assuming that the font has all the namerecords correcly set, I'd do the following:
Since some namerecords contain spaces and other don't, a double replacement is needed:
new_string = old_string.replace(old_family_name, new_family_name).replace(old_family_name.replace(" ", ""), new_family_name.replace(" ", ""))
But I'd not to this by default, leaving the choice to the user.
Anyway, I tested this script yesterday for the first time and it's superb!
chrissimpkins commentedon May 30, 2021
Something that you intend to support in ftCLI?
ftCLI commentedon May 30, 2021
Yes! I will add an option to allow the user choose if changing the family name or leave it as is.
ftCLI commentedon May 30, 2021
Done, seems working: