Fontlab 7 - Windows reads exported font name differently

2»

Comments

  • c.g.c.g. Posts: 53
    Thanks Cesare, you were faster than me :-)
    I just released a new version on GitHub:

    https://github.com/ftCLI/ftCLI/releases/tag/v0.5.0

    In case you need to edit a large number of files in one pass:

    ftcli os2table --set-wws "path/to/fonts"

    or

    ftcli os2table --set-wws "path/to/font.otf"

    If the path is a directory, WWS bit will be set in all font files. Files that have already the bit set won't be touched.

    It uses FontTools.
  • Great to hear that did the trick! I suspect that WPF skips any heuristics on the font naming if the OS/2 fsSelection WWS bit is set.
    I attached a copy of the WPF Font Selection Model spec earlier in this discussion. Indeed, it says the following (emphasis added):

    "After extracting family name, face name, style, weight and stretch from an OpenType font file, WPF runs an algorithm that resolves potential conflicts between these values. This process is called font differentiation. Since existing fonts may contain weight, style or stretch values that either don’t reflect font appearance or conflict with the values from other faces within the same font family, WPF performs font differentiation by default. However, font manufacturers may direct WPF to bypass the font differentiation process by either setting ‘OS/2’ fsSelection bit 8 or providing ‘name’ table IDs 21 and 22 (section “Guidelines for font manufacturers” provides more details on this bypass process.)"

  • So, is "Compact" in IBM Plex Sans not intended to indicate a narrower width?

    Yes, "Compact" is the SemiCondensed style of the font family (we just used IBM Plex for testing), but it is intended to be shown as an own family (as InDesign would do it).
    I'm curious as to why you want it to appear as a separate family?
  • c.g.c.g. Posts: 53

    So, is "Compact" in IBM Plex Sans not intended to indicate a narrower width?

    Yes, "Compact" is the SemiCondensed style of the font family (we just used IBM Plex for testing), but it is intended to be shown as an own family (as InDesign would do it).
    I'm curious as to why you want it to appear as a separate family?
    I think it's about having control on which words can be used in the family name and how to group font families.

    Anyway, trying to replicate what Viktor Nübel did, I restarted from IBM Plex original files and noticed another strange thing.

    (Better to open the images in a new tab)

    If nameID 4 is compiled the old way (==nameID 6), version string disappears from Windows preview:



    If nameID 4 is a concatenation of nameID 1 and 2 (or 16 and 17), the version string comes back:



    Probably this is a FontTools thing, but I can't explain why Version string is not showed despite it's present in the 'name' table.
  • I really don't like to expose a "hacky" interface like explicit fsSelection in the UI in a disorganized way. I'll think about it — to elegantly put it together with WWS NIDs. 

    I'll also think about using the Lib. We have Master & Font Lib to hold custom parameters as JSON. That would be the right place for custom OT field overrides, additional name table entries, gasp etc.
  • I really don't like to expose a "hacky" interface like explicit fsSelection in the UI in a disorganized way. I'll think about it — to elegantly put it together with WWS NIDs.
    I wonder if this could be a way...



  • I'm curious as to why you want it to appear as a separate family?
    It is about consistency and sorting I guess. InDesign would show the 'Compact' styles as a seperat familiy and it makes it easy to understand and use. (I would agree that for the Windows fonts folder it is not such a big deal.)


  • Consider what will happen as people use more variable fonts with a width axis. Would you want Condensed / Compact, Semi-condensed, Semi-extended and Extended to appear as separate families? What about the slider that InDesign has: as the user adjusts the width slider, would they expect the family to change? What family should be shown if the slider is adjusted to a position between Normal and Compact?

    i worry that making Compact appear as a separate family will lead to more confusion for users in the long run.
  • Viktor, 

    This is not just about setting the flag :) It’s also about providing, if necessary, the NID 20 & 21. Also, adding such a checkbox with a cryptic name ("WWS consistency") means that 99% of the users won’t know what it’s all about. I’ll think how to do it in a way that does not require the “I know that you know that I know that you know” backlog of secret knowledge. 
  • Consider what will happen as people use more variable fonts with a width axis. Would you want Condensed / Compact, Semi-condensed, Semi-extended and Extended to appear as separate families? What about the slider that InDesign has: as the user adjusts the width slider, would they expect the family to change? What family should be shown if the slider is adjusted to a position between Normal and Compact?

    i worry that making Compact appear as a separate family will lead to more confusion for users in the long run.
    Peter, why should the variables behave like the static fonts ? I think the users could only benefit from the better overview with separate static subfamilies and a floating VF.
    Indeed it would be more effort in the mastering, but I always considered VF as a different product.
  • The majority of users shouldn't need to understand implementation details and the technologies involved. We should expect the majority of users to be able to use fonts successfully with the fewest concepts they need to learn. When they see inconsistent behaviour in application UI—such as (e.g.) Compact appearing at a family level in some cases but as a family-internal style in other cases—that creates confusion and leaves users less confident about using those features.

    Usability is a basic reason why I think there should be consistency between named instances of variable fonts and static fonts.
Sign In or Register to comment.