Skip to content
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

9.8.3.3 FD has wrong reference and is unclear which keys are "metric information only" #5

Closed
petervwyatt opened this issue Dec 21, 2020 · 7 comments
Labels
ISO approved Resolved issue approved by ISO

Comments

@petervwyatt
Copy link
Member

Clause 9.8.3.3 FD, 2nd paragraph currently states:

The key for each entry in an FD dictionary shall be the name of a class of glyphs — that is, a particular subset of the CIDFont’s character collection. The entry’s value shall be a font descriptor whose contents shall override the font-wide attributes for that class only. This font descriptor shall contain entries for metric information only; it shall not include FontFileFontFile2FontFile3, or any of the entries listed in “Table 120 — Entries common to all font descriptors”.

All the metrics that should go in the FD sub-dictionaries are thus supposedly listed in Table 120. Looking back through old specs, ISO 32000-1:2008 references Table 122, which is also "Entries common to all font descriptors”, but section 5.7.2 of the PDF 1.6 spec (page 433) references Table 5.21, which is "Additional font descriptor entries for CIDFonts”, which makes total sense. Looks like there was a typo in the table number when transitioning the PDF spec to ISO.

@petervwyatt petervwyatt added the bug Something isn't working label Dec 21, 2020
@petervwyatt
Copy link
Member Author

petervwyatt commented Dec 21, 2020

Technical questions:

  • Is Table 120 CharSet key permitted or not? (it’s not “metric information only”)
  • Are the required keys Type and FontName from Table 120 also required in this case? (Type and FontName are both not “metric information only” but they are required – or are they?)
  • Is Table 120 FontFamily key permitted? (it’s also not “metric information only” but descriptive)

@petervwyatt
Copy link
Member Author

Here is one proposed new wording:

The key for each entry in an FD dictionary shall be the name of a class of glyphs as defined in “Table 123 - Glyph classes in CJK fonts” — that is, a particular subset of the CIDFont’s character collection. The entry’s value shall be a font descriptor whose contents shall be a subset of the keys defined in “Table 120 — Entries common to all font descriptors” that override the font-wide attributes for that class only. This font descriptor shall contain entries for metric information only; it shall not include FontFile, FontFile2, FontFile3, xxxx see above - anything else?? xxxx or any of the entries listed in “Table 122 Additional font descriptor entries for CIDFonts”.

What is the "anything else"?

@petervwyatt petervwyatt changed the title 9.8.3.3 FD has wrong reference 9.8.3.3 FD has wrong reference and is unclear which keys are "metric information only" Dec 21, 2020
@lrosenthol
Copy link
Collaborator

Looking at well known implementation, the following keys in a font descriptor are processed:

Required

  • Flags
  • FontBBox
  • StemV
  • CapHeight
  • Ascent
  • Descent
  • ItalicAngle

Optional (aka read if present)

  • MissingWidth
  • StemH
  • XHeight
  • Leading
  • MaxWidth
  • AvgWidth
  • Style/Panose

@petervwyatt
Copy link
Member Author

Just confirming - are you saying that your logic does NOT require the FontDescriptor required keys (Type and FontName from Table 120) as well?
If not, then they shouldn't be specified as required back in Table 120!

@lrosenthol
Copy link
Collaborator

That is correct concerning that implementation not looking at those keys.

However, they are required for other reasons. (remember, said implementation is not a validation tool...just a processor)

@petervwyatt
Copy link
Member Author

Understood. So the solution will state that all required keys from Table 120 are required, as well as then explicitly listing various other keys from Table 120. The starting point for said "other keys list" is both your lists from above - subject to further suggestions or modifications by others.

@MPBailey
Copy link
Collaborator

I'm assuming Leonard missed anything obviously not a metric off his list (FontFile etc and everything that's better described as designers' metadata such as FontStretch). If so then I can confirm the same set here.

@petervwyatt petervwyatt added the proposed solution Proposed solution is ready for review label Jan 14, 2021
@petervwyatt petervwyatt removed their assignment Dec 6, 2021
@petervwyatt petervwyatt added ISO submitted Resolved issue submitted to ISO for approval and removed bug Something isn't working proposed solution Proposed solution is ready for review labels Dec 6, 2021
@petervwyatt petervwyatt added this to the ISO Submission Feb 2022 milestone Dec 6, 2021
@petervwyatt petervwyatt added ISO approved Resolved issue approved by ISO and removed ISO submitted Resolved issue submitted to ISO for approval labels Apr 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ISO approved Resolved issue approved by ISO
Projects
None yet
Development

No branches or pull requests

4 participants