This is the Disposition of Comments document collecting Last Call comments received during :
During the First Last Call for the WebCGM 2.1 LC Working Draft 17 September 2008, we have collected comments which were sent to the WebCGM mailing list <[email protected]> (Archives) and responses to those comments.
The LC WD Transition announcement was sent to <[email protected]> and <[email protected]> on 18 September 2008. The 6 weeks Last Call period ended on 01 November 2008.
During this First Last Call phase, 13 comments were received and processed:
During the Second Last Call for the WebCGM 2.1 LC Working Draft 04 Juin 2009, we have collected comments which were sent to the WebCGM mailing list <[email protected]> (Archives) and responses to those comments.
The Second LC WD Transition announcement was sent to <[email protected]> and <[email protected]> on 04 June 2009. The 4 weeks Last Call period ended on 02 July 2009.
The WebCGM 2.1 Second LC Working Draft 04 Juin 2009, includes resolution for all the above comments sent during the First Last Call. All these resolutions were approuved by the commenters.
During this Second Last Call phase, 1 response with 2 comments was received and processed:
For information these are the possible status:
Notification of these comments was sent to all of the commentors and the WebCGM public list: (Archives).
Comment:
T.14.4 and T.14.5 of the WebCGM 2.1 profile specify the maximum lengths of graphical and non-graphical text strings respectively. Unfortunately, the limits are given in bytes. This unfairly penalizes users who choose UTF-16 character encoding for their text strings. Their limit is half the number of characters that a user choosing ISO Latin1 gets.
An example of the impact this has is in the Metafile Description. Our software does not output a Date substring if the user chooses UTF-16 character encoding for non-graphical text strings because doing so would violate the (byte) limit specified in T.14.5.
Regards,
Rob Orosz
-------------------------------------
Second comment:
http://lists.w3.org/Archives/Public/public-webcgm/2008Oct/0000.html
As the simplest and most expedient solution to the problem identified in my previous message, I propose simply doubling the byte limit for both graphical and non-graphical text strings. Note that the latter has two subclasses, one dealing with standalone strings and one for strings within a data record (type D). Also note that ISO/IEC 8632-1:1999/Cor.2:2007(E) specifies that the latter subclass also includes the structured data record (type SDR). Both table cells in T.14.5 should be changed to reflect that corrigendum.
Summary:
Maximum string length (bytes) for type S: 508 (T.14.4)
Maximum string length (bytes) for type SF: 508 (T.14.5)
Maximum string length (bytes) for type SF within type D and within type SDR:
2048
This solution addresses the specific use case that I mentioned (Metafile Description).
Resolution archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2008Nov/0060.html
Response sent to commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2008Dec/0001.html
Response from commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2008Dec/0008.html
Comment:
union() is not a good method name. Given that 'union' is a C/C++ keyword, it cannot get compiled by the MIDL compiler (on Windows).
We need a new name. Either:
i) Union(): but we have so far, started method names using lower cap
characters.
ii) calcUnion() or getUnion(): or something similar.
Benoit.
Follow-on comment:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2008Nov/0060.html
"Don proposed 'unionRect()'. I'm fine with that. [...] Benoit"
----------------------------------------
Resolution archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2008Nov/0060.html
Response sent to commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2008Dec/0002.html
Response from commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2009Jan/0021.html
Comment:
The getObjectExtent() wording says:
"... Other than text attributes and Style Properties, the calculation is not affected by CGM Primitive Attribute (such as line width) or Control elements, nor by APS Attributes or Style Properties ..."
Isn't that a contradiction regarding Style Properties? Do Style Properties affect the calculations, yes or no?
Benoit.
----------------------------------------
Resolution archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2008Nov/0060.html
Response sent to commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2008Dec/0003.html
Response from commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2009Jan/0021.html
Comment:
I find the draft underspecified about compressed CGM files. More specifically, we would like to know what kind of CGM files may be compressed?
Version 1 to 4? Can I compress a WebCGM 1.0 CGM file for example?
Is this a WebCGM 2.1 conformance feature for viewer and authoring tools? Or is this a new WebCGM 2.1 (and only 2.1) 'encoding scheme' ... for lack of a better word?
Thanks.
Benoit.
----------------------------------------
Resolution archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2008Dec/0038.html
Response sent to commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2008Dec/0005.html
Response from commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2009Jan/0021.html
Comment:
Comment from the i18n review of:
http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-Config.html#ACI-fontmap
Comment 1
At http://www.w3.org/International/reviews/0811-webcgm/
Editorial/substantive: E
Tracked by: RI
Location in reviewed document: 9.3.2.2 [http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-Config.html#ACI-maplist]
Comment:
substitutionList="CDATA" should be bolded
----------------------------------------
Thank you for pointing that out. The formatting will be corrected.
Resolution archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2008Nov/0060.html
Response sent to commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2008Dec/0009.html
Response from commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2009Jan/0001.html
Comment:
Comment from the i18n review of:
http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-Config.html#ACI-fontmap
Comment 2
At http://www.w3.org/International/reviews/0811-webcgm/
Editorial/substantive: E
Tracked by: RI
Location in reviewed document:
9.3.2.2 [http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-Config.html#ACI-maplist]
Comment:
"The list syntax and normalization are derived from the specifications of CSS
2.0 [CSS20]. In particular, the values and syntax of the substitutionList
attribute are derived from CSS's definition of the font-family property "
It is unclear where these rules are in CSS2, ie. whether there are more than in the font-family section, given the use of the phrase 'in particular'. If so, we couldn't find where.
----------------------------------------
Clarify text by changing:
"The list syntax and normalization are derived from the specifications of CSS
2.0 [@@CSS20@@]. In particular, the values and syntax of the substitutionList
attribute are derived from CSS's definition of the @@font-family@@
property:"
to:
"The values and syntax of the substitutionList attribute, as well as the
normalization of that attribute, are derived from the definition of the
@@font-family@@ property in CSS2 2.0 [@@CSS20@@]:"
[Ed-note: @@font-family@@ denotes text "font-family" that links to:
http://www.w3.org/TR/CSS2/fonts.html#font-family-prop
;
@@CSS20@@ denotes text "CSS20" that links to the WebCGM 2.1 references list,
which in this version is:
http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-Intro.html#CSS20
]
Resolution archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2008Nov/0060.html
Response sent to commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2008Dec/0010.html
Response from commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2009Jan/0002.html
Comment:
Comment from the i18n review of:
http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-Config.html#ACI-fontmap
Comment 3
At http://www.w3.org/International/reviews/0811-webcgm/
Editorial/substantive: S
Tracked by: RI
Location in reviewed document:
9.3.2.2 [http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-Config.html#ACI-maplist]
Comment:
Why is the normalization for cgmFont different from that for substitutionList?
----------------------------------------
This was a deliberate choice. The 'cgmFont' normalization defines, before the string-match comparison is performed, how to prepare both the font name extracted from WebCGM instance and the parameter value of the 'cgmFont' attribute. The rule is based on extensive real-world usage of CGM and WebCGM, both current usage and legacy usage. The WebCGM specification itself (T.16.13 of section 6.5 [1]) has since 1999 required a core set of fonts, or their metric equivalents, with names such as "Helvetica-BoldOblique". But the specifications allowed no trivial variations (e.g., blanks, underscore-for-hyphen, etc), other than "case insensitive". In reality, there is now a large legacy of files that conform to profiles closely related to WebCGM (e.g., ATA) but that have trivial difference in these names, or that are WebCGM instances with trivially erroneous variations on the names. The purpose of the 'cgmFont' normalization is to enable the application of the font substitution mechanism to this substantial legacy of CGM instances.
On the other hand, the 'substitutionList' attribute of the WebCGM specification defines the set of fonts from which a substitute is to be selected. This font substitution mechanism is a new feature of WebCGM, and so there is no legacy to consider for 'substitutionList'. The best design of syntax and mechanism, and one that is already used by some WebCGM constituents in other contexts, comes from the CSS 2.0 specification. This was therefore closely adapted to the needs of WebCGM 2.1's font substitution mechanism.
[1] http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-Profile.html#webcgm_4_5
Resolution archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2008Nov/0060.html
Response sent to commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2008Dec/0011.html
Response from commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2009Jan/0003.html
Comment:
Comment from the i18n review of:
http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-Config.html#ACI-fontmap
Comment 4
At http://www.w3.org/International/reviews/0811-webcgm/
Editorial/substantive: S
Tracked by: RI
Location in reviewed document:
9.3.2.2 [http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-Config.html#ACI-maplist]
Comment:
For cgmFont normalization, do you mean "stripping out all whitespace" or normalizing white-space to a single space, as per substitutionList?
----------------------------------------
The intent is indeed "stripping out all whitespace". This enables identical normalization results, for example, for a font name that used whitespace instead of camel case on the one hand, and on the other hand a font name that used only camel case (with no whitespace), or one that used hyphen or underscore in place of whitespace. These are legacy situations that arise in WebCGM practice. Please see the response to I18N WebCGM Comment #3 for more detail.
Resolution archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2008Nov/0060.html
Response sent to commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2008Dec/0012.html
Response from commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2009Jan/0004.html
Comment:
Comment from the i18n review of:
http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-Config.html#ACI-fontmap
Comment 5
At http://www.w3.org/International/reviews/0811-webcgm/
Editorial/substantive: E/S
Tracked by: RI
Location in reviewed document:
9.3.2.2 [http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-Config.html#ACI-maplist]
Comment:
"These normalization rules are applicable for font names specified using the characters of ISOLatin1. They will likely be inapplicable for font names specified using other non-Latin characters."
What happens in the case of Latin-2 (Eastern Europe), which is similar to Latin1 but contains a few additional characters. Does a single non-Latin1 character cause normalization to be abandoned for the whole string?
It seems like the only thing that wouldn't apply to all non-Latin1 font names is converting to lower-case, though that is still a relevant consideration for many other Latin characters outside Latin1, and for Armenian, Greek and Cyrillic. Why restrict to Latin1?
----------------------------------------
The apparent restriction to Latin 1 was unintended. As you point out, the normalization would work the same if the same names were expressed in Latin 2. Latin 1 got the special mention because: 1.) the default character encoding of WebCGM is ISO 8859-1; and, 2.) the vast majority of current and legacy WebCGM instances use this character encoding and a restricted core set of thirteen specific font names. As pointed out in WebCGM's reply to I18N's issue #3, these WebCGM-specific normalization rules were targeted at the substantial volume of legacy and current metafiles that intend to invoke this restricted core set of fonts, but that contain well-known, trivial deviations in the construction of the names. In other words, the real target is trivially deviant usage of the 13 specific core-font names, regardless of the character encoding. (More background: the valid character encoding for any particular WebCGM instance is one of the three ISO 8859-1, unicode UTF-8, or unicode UTF-16.)
WebCGM will reword to clarify the useful scope of these normalization rules, to remove the implication of a normative restriction of applicability, and instead to be advisory about the usefulness of that normalization outside of its primary intended scope. Replace the two quoted sentences in question (in the 9.3.2.2 description of 'cgmFont') with:
"Note: These normalization rules are derived from and intended for the substantial volume of existing metafiles that aim to invoke fonts from WebCGM's restricted core set of thirteen specific fonts (see T.16.13 of @@section 6.5@@) and that contain well-known and trivial deviations in the construction of those font names. The rules may be less useful outside of that intended scope. The target metafiles of these normalizations are most often, but not always, encoded in WebCGM's default character encoding of ISO 8859-1."
[Ed-note: @@section 6.5@@ denotes text "section 6.5" that links to
"WebCGM21-Profile.html#webcgm_4_5", which in the LCWD version is:
http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-Profile.html#webcgm_4_5
]
Resolution archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2008Dec/0064.html
Response sent to commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2008Dec/0013.html
Response from commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2009Jan/0005.html
Comment:
Comment from the i18n review of:
http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-Config.html#ACI-fontmap
Comment 6
At http://www.w3.org/International/reviews/0811-webcgm/
Editorial/substantive: S
Tracked by: RI
Location in reviewed document:
9.3.2.2 [http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-Config.html#ACI-maplist]
Comment:
Normalization for string comparison should include conversion to a Unicode
normalization form, to eliminate issues related to precomposed vs. decomposed
characters and issues related to ordering of multiple combining characters.
----------------------------------------
WebCGM WG Response:
Proposed resolution:
WebCGM agrees that this is the consistent and reliable way to perform such comparisons. Text to this effect will be added to the description of the 'cgmFont' value -- conversion to unicode normalization form should precede the comparison and follow the other WebCGM-specific normalization.
In 9.3.2, add a new sentence to the end of the description of 'cgmFont': "After this WebCGM-specific normalization, correct and consistent results when comparing metafile font names with the 'cgmFont' value — for font names outside of WebCGM's restricted core set of thirteen specific fonts (see T.16.13 of @@section 6.5@@) — may require that WebCGM processors convert to a @@unicode normalization form@@ before performing the string comparison." Also add to WebCGM Chapter 1 the references for both the Unicode Standard Annex #15 [1] and the W3C Character Model, Part 2 (Normalization) [2].
[1] http://www.unicode.org/reports/tr15/
[2] http://www.w3.org/TR/charmod-norm/
Incorporating all proposed changes, the paragraph of 'cgmFont' description becomes:
"The name of the font in the metafile for which font substitution is requested. Before attempting to match a font used in the metafile to the value (string) of cgmFont, both font names are normalized by a WebCGM-specific normalization: convert to lower-case; and strip out all whitespace, UNDERSCORE, and HYPHEN characters. Note: These normalization rules are derived from and intended for the substantial volume of existing metafiles that aim to invoke fonts from WebCGM's restricted core set of thirteen specific fonts (see T.16.13 of @@section 6.5@@) and that contain well-known and trivial deviations in the construction of those font names. The rules may be less useful outside of that intended scope. The target metafiles of these normalizations are most often, but not always, encoded in WebCGM's default character encoding of ISO 8859-1. After this WebCGM-specific normalization, correct and consistent results when comparing metafile font names to the 'cgmFont' value — for font names outside of WebCGM's restricted core set of thirteen specific fonts — may require that WebCGM processors convert to a @@unicode normalization form@@ before performing the comparison."
[Ed note: @@section 6.5@@ denotes text "section 6.5" that links to
"WebCGM21-Profile.html#webcgm_4_5", which in the LCWD version is:
http://www.w3.org/TR/2008/WD-webcgm21-20080917/WebCGM21-Profile.html#webcgm_4_5;
@@unicode normalization form@@ denotes text "unicode normalization form" that
links to:
http://www.w3.org/TR/charmod-norm/#sec-ChoiceNFC
]
Resolution:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2008Dec/0064.html
Response sent to commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2008Dec/0015.html
Response from commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2009Jan/0006.html
Comment:
The wording says "[...] The bounding box calculation is based on the abstract locus of the primitives within the APS." What does 'abstract locus' mean?
I'd like to know if getObjectExtent() returns a tight bounding box on a given APS. i.e., given a polybezier, are control points part of the bounding box calculations or not?
Benoit.
----------------------------------------
A general definition from the Oxford dictionary defines 'locus' as: "Curve formed by all points satisfying particular equation of relation between coordinates, or by point, line, or surface, moving according to mathematically defined conditions." In the WebCGM specification, locus refers to the set of points that comprise the path or shape of a Graphical Primitive element, or in the appropriate context, the combined shapes or paths collectively of all of the Graphical Primitive elements in an Application Structure (APS). I.e., the locus of an APS comprises the combined loci of all of the graphical primitives in the APS. Locus does not include defining data that are not part of the shape or path of the graphical primitive, such as control points of Bezier primitives, or the center point of a Circular Arc Center primitive.
(Ed note. The WG closes the present issue with this resolution, anticipating that further detailed questions of clarification will arise as implementations progress.)
Resolution archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2008Dec/0038.html
Response sent to commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2008Dec/0004.html
Response from commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2009Jan/0021.html
Comment:
[...] there is nothing in the [setView] wording explaining how to handle view rectangles which have a different aspect ratio than the viewer's viewport. Which will happen in 99% of the cases.
[Reference: setView wording of WebCGM 2.1 Last Call Working Draft (200800917)]
----------------------------------------
Add wording to setView() description: "The viewer shall fit the NVDC rectangle specified by the 'viewRect' parameter into the viewer’s display rectangle and center it, while maintaining the aspect ratio of the 'viewRect' rectangle."
Resolution archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2008Dec/0038.html
Response sent to commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2008Dec/0006.html
Response from commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2009Jan/0021.html
Comment:
I'm wondering if the wording of setView() is not a bit short? The draft doesn't say anything about invalid rectangles being passed in for example.
Should more feedback be sent to the user? Currently, the function prototype has a void return type. Should we change that to a boolean or something else? or throw an exception perhaps.
I also question the possibility of a major scale change, ex: scaling in by a factor of 100 (and loosing sight of the overall picture). Should the user be told that such a change occurred?
[Reference: setView wording (and IDL) of WebCGM 2.1 Last Call Working Draft (200800917)]
----------------------------------------
In the IDL, change the setView return type from 'void' to 'boolean'; in the setView() description, change the return value from "No return value." to " boolean: TRUE if new view was set; FALSE if rectangle was invalid and the view could not be set." In the ECMAScript in Chapter 8: change "setView(view)" to "setView(viewRect); change the associated "This method has no return value" to "This method returns a Boolean".
Resolution archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2008Dec/0038.html
Response sent to commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2008Dec/0007.html
Response from commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2009Jan/0021.html
Comment:
Dear,
First congratulations for your 2.1 version
I want to spot some improvement that I wanted to be incorporated in this version
1 == moving forward with XML Schema or Relax NG ==
Sticking to DTD to define a XML dialect is neither sufficient neither a way to widespread the use of this XML dialect. For that, I ask the WG to consider providing normative XML Schema and/or Relax NG schema of the XCF model. It will help adoption especially because XCF uses Namespaces.
2 == interaction between WebCGM and CSS ==
Is it possible to consider the role that could play CSS vis à vis WebCGM ?
Regards,
Mohamed ZERGAOUI
----------------------------------------
Thank you for your comments during the WebCGM 2nd Last Call Working Draft (LCWD) review.
1- First comment : == moving forward with XML Schema or Relax NG ==
The WebCGM Working Group (WG) agrees that WebCGM could potentially benefit by addition of a normative schema -- XML Schema or Relax NG. Unfortunately, this proposal is beyond the scope of this 2nd LCWD review, and it is deemed to be too late in the WebCGM 2.1 development cycle. Ideally, such a proposal would have been included in the WebCGM 2.1 Requirements, or before 1st LCWD review at latest. The implementation of such a proposal would involve major disruption of the WebCGM 2.1 text -- removal of the DTD and complete rewriting of Chapter 4 (at least). Since it does not address an error in the specification, or a serious defect, or violation of any W3C requirement, the WG believes that the proposal should be postponed until a future WebCGM development cycle.
As an interim step, the WG thinks that a non-normative Technical Note, separate from the progression of 2.1 WebCGM, might be an interesting approach. The WG would also welcome an initial contribution, if you have interest in making such.
2- Second comment : == interaction between WebCGM and CSS ==
Potential relationships between WebCGM and CSS were studied in some detail
[1] prior to the WebCGM 2.0 standardization. This study [1] developed a
detailed model and showed the technical feasibility for a rich application of
CSS-like styling to WebCGM.
[1] http://www.cgmopen.org/technical/stylable_cgm_submitted_0324.pdf
Despite the technical feasibility, the WebCGM 2.0 authors and constituents agreed that the the principal WebCGM use cases did not justify the cost and implementation effort of such a full-featured normative CSS capability in WebCGM. Therefore normative CSS-like style sheets were not further pursued.
Nevertheless, whenever possible, applicable features and characteristics of CSS were followed in the design of WebCGM 2.0, especially the new DOM-based Style Properties feature. For example the inheritance model of CSS was adapted directly into the Style Properties inheritance model (section 5.4), and there are a number of other examples of functionality borrowed more-or-less directly from CSS.
Resolutions archived at:
http://lists.w3.org/Archives/Public/public-webcgm-wg/2009Jul/0019.html
and
http://lists.w3.org/Archives/Public/public-webcgm-wg/2009Jul/0005.html
Response sent to commenter is archived at:
http://lists.w3.org/Archives/Public/public-webcgm/2009Jul/0000.html
Response from commenter is archived at:
1- First comment about Schema is agreed by commenter
http://lists.w3.org/Archives/Public/public-webcgm/2009Aug/0001.html
2- Second comment about interaction between WebCGM and CSS. The WG agrees to add an informative note it in the spec. Agreed by commenter
http://lists.w3.org/Archives/Public/public-webcgm/2009Aug/0001.html
http://lists.w3.org/Archives/Public/public-webcgm/2009Aug/0003.html