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
AnnotWidget.tsv currently specifies that the AS entry is required if fn:IsRequired(fn:IsPresent(AP::N::*) || fn:IsPresent(AP::R::*) || fn:IsPresent(AP::D::*)).
This corresponds to the following phrase from PDF spec: AS is "Required if the appearance dictionary AP contains one or more subdictionaries". However, for example, the condition fn:IsPresent(AP::N::*) evaluates to true for AP entry having value of type dictionary or stream. So, as a result, AS entry is always required, which is not correct.
And I don't immediately see how to fix this within the current grammar.
The text was updated successfully, but these errors were encountered:
Maybe I misunderstand: where is AP defined to be a stream?
Table 166 defines AP only as a dictionary, which is a dictionary defined by Table 170 (N, R, D entries with only N required)
Sorry, I meant that the condition fn:IsPresent(AP::N::*) evaluates to true for AP::N entry having value of type dictionary or stream. While according to the specification AS entry is required only if AP::N (or one of AP::R, AP::D) is a dictionary.
AnnotWidget.tsv
currently specifies that the AS entry is required iffn:IsRequired(fn:IsPresent(AP::N::*) || fn:IsPresent(AP::R::*) || fn:IsPresent(AP::D::*))
.This corresponds to the following phrase from PDF spec: AS is "Required if the appearance dictionary AP contains one or more subdictionaries". However, for example, the condition
fn:IsPresent(AP::N::*)
evaluates totrue
for AP entry having value of type dictionary or stream. So, as a result, AS entry is always required, which is not correct.And I don't immediately see how to fix this within the current grammar.
The text was updated successfully, but these errors were encountered: