<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.hoenzb
{mso-style-name:hoenzb;}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">If we do add schema, since the allowed values (already in the standard) are 0-180 and we’re only adding mention of 255, should the schema instead add something
like this?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D"><xsd:simpleType name="ST_TextRotation"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D"> <xsd:union>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D"> <xsd:simpleType><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D"> <xsd:restriction base="xsd:nonNegativeInteger"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D"> <xsd:maxInclusive value="180"/><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D"> </xsd:restriction><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D"> </xsd:simpleType><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D"> <xsd:simpleType><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D"> <xsd:restriction base="xsd:Integer"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D"> <xsd:minInclusive value="255"/><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D"> <xsd:maxInclusive value="255"/><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D"> </xsd:restriction><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D"> </xsd:simpleType><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D"> </xsd:union>
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D"><simpleType><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">There’s likely a better way to write this… If we add 0-360 as valid values, the prose needs to change and it adds new behavior for implementations. Not necessarily
bad, but it’s new. How do other implementations handle 181-360?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">John<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> eb2mmrt@gmail.com [mailto:eb2mmrt@gmail.com]
<b>On Behalf Of </b>MURATA Makoto<br>
<b>Sent:</b> Saturday, February 7, 2015 2:56 AM<br>
<b>To:</b> e-SC34-WG4@ecma-international.org<br>
<b>Subject:</b> Re: DR 14-0010 — SML: Attribute textRotation<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Re: Issue 1/2 Ideally, every condition in prose should be captured by schemas.<o:p></o:p></p>
<div>
<p class="MsoNormal">Here is my prposal.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">Replace <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> <xsd:attribute name="textRotation" type="xsd:unsignedInt" use="optional"/><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">in sml.xsd by<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> <xsd:attribute name="textRotation" type="ST_TextRotation" use="optional"/><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">and add<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> <xsd:simpleType name="ST_TextRotation"><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <xsd:restriction base="xsd:unsignedInt"><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <xsd:minInclusive value="0"/><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <xsd:maxExclusive value="360"/><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> </xsd:restriction><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <simpleType><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Replace <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> attribute textRotation { xsd:unsignedInt }?,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">in sml.rnc by <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> attribute textRotation { sml_ST_TextRotation }?,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">and add<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">sml_ST_TextRotation = <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> xsd:unsignedInt { minInclusive = "0" maxExclusive = "360" }<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Regards,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Makoto<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">2015-01-14 9:26 GMT+09:00 Chris Rae <<a href="mailto:Chris.Rae@microsoft.com" target="_blank">Chris.Rae@microsoft.com</a>>:<o:p></o:p></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">DR is here: <a href="https://onedrive.live.com/view.aspx/Public%20Documents/2014/DR-14-0010.docx?cid=C8BA0861DC5E4ADC" target="_blank">
https://onedrive.live.com/view.aspx/Public%20Documents/2014/DR-14-0010.docx?cid=C8BA0861DC5E4ADC</a><br>
<br>
I've done a bit of investigation into this DR and it seems to definitely represent an omission either from the standard or from Microsoft's implementer notes. The DR mentions several things:<br>
<br>
1. the actual schema has unsignedInt while the description clearly imposes limits;<br>
2. an unsignedInt is clearly not restrictive enough in this respect (0 < x 359 should be sufficient);<br>
3. the value of 255 seems to be specifying different, undefined behaviour (ideally this should probably be controlled by a separate attribute). Excel at least seems to treat values > 180 as negative.<br>
<br>
Issue 1/2: I don't feel strongly on this, although we do have many others cases where ranges are specified in prose rather than schema. Rather than open that can of worms, I propose not adding this limit to schema.<br>
<br>
Issue 3: I've tested this in Microsoft Office, LibreOffice, Open Office and Google Docs. Google Docs appears not to support text rotation at all, but the other three applications do indeed all treat the value 255 as special, and meaning text written downwards.
I therefore propose the attached changes to the standard to address this.<br>
<br>
On Excel's treatment of values >180, it does appear to be slightly odd but I don't think this is deliberate and there's no way to recreate it in the user interface. As the standard doesn't dictate what to do with invalid files, I don't think we need to document
this case (and, if we do, I think it should be in Excel's implementer notes).<br>
<span style="color:#888888"><br>
<span class="hoenzb">Chris</span></span><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">-- <o:p></o:p></p>
<div>
<p class="MsoNormal"><br>
Praying for the victims of the Japan Tohoku earthquake<br>
<br>
Makoto<o:p></o:p></p>
</div>
</div>
</div>
</body>
</html>