8000 [subset] Name Record default break EOTs · Issue #605 · fonttools/fonttools · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

[subset] Name Record default break EOTs #605

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
cjdunn opened this issue May 13, 2016 · 4 comments
Closed

[subset] Name Record default break EOTs #605

cjdunn opened this issue May 13, 2016 · 4 comments

Comments

@cjdunn
Copy link
cjdunn commented May 13, 2016

When using fontTools.subset the default should be that all name entries stay the same, unless otherwise specified.

Currently the default setting includes ONLY name entries 1 and 2, but this breaks EOTs as mentioned here:
#114

To get around this I currently have to add:
--name-IDs=* --name-legacy

@Arno-Enslin
Copy link
Arno-Enslin commented May 23, 2016

To get around this I currently have to add:

You also can specify name IDs.

Example: --name-IDs+=3, 4, 5, 6

Just test, which name IDs eot needs.

Maybe you could replace the names of these IDs with a dummy (just one character) for the case, that the pure existence of these IDs is important for eot, but not the content. You could automate that by decompiling the name table (only) first with TTX and with the help of a find and replace tool or script. And then you merge the name table into the source font and run the subset script with the option "--name-IDs=*".

@cjdunn
Copy link
Author
cjdunn commented May 23, 2016

@Arno-Enslin thank you for your response. I know I can get around this, that's not the problem. My issue is about what should be the default behavior. I spoke with @behdad and @justvanrossum about this a bit, and it sounded like my proposal was reasonable. Perhaps I didn't phrase my initial issue clearly.

I think that fundamentally a subsetter should be agnostic (not make assumptions) about what font info names I want to keep or not keep by default. The names I put in should be the names I get out, unless I tell it otherwise.

From the documentation.

Example:
Produce a subset containing the characters ' !"#$%' without performing
size-reducing optimizations:

$ pyftsubset font.ttf --unicodes="U+0020-0025"

I think this line of code should subset down to just the requested characters ' !"#$%' and should otherwise leave my data alone. But currently this will also remove a bunch of my font info names unless I explicitly tell it otherwise, which I think is a bug. If I wanted to remove other font info names I should have to request that explicitly, by using an option such as:

$ pyftsubset font.ttf --unicodes="U+0020-0025" --obfuscate_names

But otherwise I think the subsetter should leave the names as is.

@behdad
Copy link
Member
behdad commented May 30, 2016

I asked CJ to file this to remind us changing default nameIDs to work on all platforms.
We should also add option "profiles"..

@anthrotype
Copy link
Member

we changed the defaults of subset module to keep all nameIDs from 0 to 6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants
0