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

help/documentation for 21 of the 25 glyf Table errors were not released. #15

Closed
HinTak opened this issue Apr 9, 2016 · 7 comments
Closed

Comments

@HinTak
Copy link

HinTak commented Apr 9, 2016

I am preparing my talk next week on the Font Validator and includes a section about rendering, the glyf table test and rasterization test in particular, and try to make sure that I understand everything.

$ grep -E '(A|E|P|W|I)11' GenerateFValData/OurData.xml
helpID="E1100"
helpID="E1101"
helpID="E1102"
helpID="W1100"

$ grep -A 1 GERR_ Glyph/NS_Glyph.GErrStrings.resx | grep value
E1110: Misoriented contour
E1111: Intersecting contours
E1112: Bounding box is incorrect
E1113: Invalid glyph index of component
E1114: Invalid index of knot in composite glyph
E1115: Failure to load the component
E1116: Component transform matrix is degenerated
E1117: Shift of component either undefined or ambigously defined
E1118: Circular dependency of composite glyph's components
E1119: Wrapped contour(s)
E1120: Duplicated contours
E1121: Duplicated components of composite glyph
W1110: Intersecting components of composite glyph
W1111: Duplicated knots
W1113: Degenerated contour(s)
A1110: Application error
A1111: Unable to perform test due to previously detected errors
A1112: Test aborted
A1113: Test failed because of unhandeled exception
E1123: An empty component of the composite glyph
W1112: Not all extremes are marked with the on-curve control points

The glyf table test currently checks for 25 kind of errors, but only 4 of them are in the released documentation.

I consulted the 2003 binary's bundled chm and the private 2009's chm, and the 21 errors are documented there.

There are also a lot of figures for those 21 errors describing them.

I can recover the figures and the texts for the description of those 21 errrors from the chm's, but I'd prefer to have the source of them.

@HinTak
Copy link
Author

HinTak commented Apr 9, 2016

A better listing of the 4 documented errors:

$ grep -A 4 -E '(A|E|P|W|I)11' GenerateFValData/OurData.xml | grep -E '(11|shortDesc)'
helpID="E1100"
shortDesc="Component's transform is ambigously defined"
helpID="E1101"
shortDesc="An exception occurred during glyph validation or loading of one of its components"
helpID="E1102"
shortDesc="Unable to start validation of 'glyf' table"
helpID="W1100"
shortDesc="Reserved bit is set to 1"

@HinTak
Copy link
Author

HinTak commented Apr 10, 2016

The missing graphics and texts from the 21 glyf errors probably contribute a great deal to why the current chm is less than 1/2 the size of both the 2003 and 2009.

404716 fontvalidatorhelp.chm from 2003
408552 FontValidatorHelp.chm from 2009
192142 current FontValidatorHelp.chm

@HinTak
Copy link
Author

HinTak commented Apr 10, 2016

Okay, recovered those files from the 2009 chm. That covers 18 of the 21 . The 2009 chm has a I1111 entry, which seems to correspond to A1111; A1113 does not seem to be used by the current code.

So the undocumented error codes are down to just A1110 and A1112.

The new merged/rebuilt chm is now 419288 bytes in size, which is quite a lot more reasonable.

@HinTak
Copy link
Author

HinTak commented Apr 10, 2016

Also, there is no difference between the 2003 and 2009 versions of those 18 pages.

@HinTak
Copy link
Author

HinTak commented Apr 12, 2016

Also, diff'ing the common part of 2009 and current (minus the part I know I added), there is no notable difference other than many "'" changed to "'" - except E2315. E2315 in 2009 was incomplete and current is.

So this just suggest that the private 2009 binary bundle I got is very close to what was eventually open-sourced. I am okay with accepting that that was no newer binary build than 2009 (i.e. the small E2315 diff never got made into a newer binary bundle).

@HinTak
Copy link
Author

HinTak commented Apr 24, 2016

The additional glyf test related documentation is at:
HinTak@812a561
and the re-built chm file at:
HinTak@689a49d

Not sure about the graphics, but those html files in HinTak@812a561 should be eventually auto-generated from GenerateFValData/OurData.xml .

HinTak added a commit to HinTak/Font-Validator that referenced this issue Aug 5, 2016
…ected errors" itself should be just informative

See also
microsoft#15
about I1111 vs A1111.

This change seems to be just the completion of an already planned change.
@HinTak
Copy link
Author

HinTak commented Jul 16, 2017

Dont' think there is any more to be done; closing issues for the upcoming v2.1

@HinTak HinTak closed this as completed Jul 16, 2017
HinTak added a commit to HinTak/Font-Validator that referenced this issue Jul 20, 2017
Rebuilt after I2131

Rebuild after recovering stuff from old chm, and renaming W6013 to W6019.

rebuild after adding E6071

rebuild chm

added W6029.htm/W6030.htm

See also
microsoft#15
HinTak added a commit to HinTak/Font-Validator that referenced this issue Jul 19, 2022
…ected errors" itself should be just informative

See also
microsoft#15
about I1111 vs A1111.

This change seems to be just the completion of an already planned change.
HinTak added a commit to HinTak/Font-Validator that referenced this issue Jul 19, 2022
Rebuilt after I2131

Rebuild after recovering stuff from old chm, and renaming W6013 to W6019.

rebuild after adding E6071

rebuild chm

added W6029.htm/W6030.htm

See also
microsoft#15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant