#?SuikaWiki/0.9 default-name="匿名ブロックさん"

[1] [[M$Office]] の文書を [[HTML]] で保存した時に出力される、
[[CSS]] の独自拡張属性群。
独自拡張であることをきちんと示してある辺り、 [[M$]]
らしからぬ素晴らしい配慮と言えよう。

- [2] [CODE(CSS)[*-language]] 属性とか [CODE(CSS)[*-bookmark]] 属性の辺り、 CSS を何か勘違いしてるんじゃないかと問詰めてみたくなるなあ
- [3] 今のところ実装しているのは [[Micro$oft]] [[Office]] 2000 以降のみのようです。 ([[M$IE]] でも流石に対応は市内と思われ。)
- [8] >>2 言語の方はあながち間違ってもいない気がする。難しいところだ。

[9] >>1 WinIE も対応している属性を中心に、
[CODE(CSS)[mso-]] で始まらないのも多いです。独自属性値とかも。

- [12] [CODE(CSS)[mso-[VAR[*]]]] 属性やその他の独自拡張属性・属性値についての公式な情報はほとんどありません。あったとしても、何かの説明のついでにちょこっと属性名が出てくる程度です。 [[VML]] 拡張属性や [[CSS3]] に M$ が提案した属性については、それらの仕様書から推定できますが、そうでないほとんどの属性については、実際のデータから推測するしかありません。

[13]
公式な reference が見つかりました。

''Microsoft&#174; Office HTML and XML Reference'' <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnoffxml/html/ofxml2k.asp>

Office 9 (2000) の出力する HTML, XML, CSS についての説明書です。

しかし、残念なことに license の縛りがきついので、読むのはやめることにします。
([[名無しさん]] [WEAK[2004-06-05 04:19:38 +00:00]])

[[#comment]]


* mso-* 属性達

,[[mso-border-alt]]	,[[border]] と同じ	,
,[[mso-padding-alt]]	,[[padding]] と同じ	,
,[[mso-shading]]	,[[<color>]]	,
,[[mso-pattern]]	,"[SAMP(CSS)[solid navy]], [SAMP(CSS)[gray-20 auto]]	"	,
,[[mso-bidi-font-size]]	,[[<length>]]	,
,[[mso-ansi-language]]	,[[言語札]]	,
,[[mso-bookmark]]	,[SAMP(CSS)[_Toc300401259]]	,
,[[mso-border-top-alt]]	,[[border-top]] と同じ	,
,[[mso-bidi-font-family]]	,[[font-family]] と同じ	,
,[[mso-bidi-font-weight]]	,[[font-weight]] と同じ	,
,[[mso-list]]	,[SAMP(CSS)[l2 level1 lfo3]]	,
,[[tab-stops]]	,[SAMP(CSS)[list .25in]]	,
,[[mso-bidi-font-style]]	,[[font-style]] に同じ	,
,[[mso-fareast-font-family]]	,[[font-family]] に同じ	,
,[[mso-fareast-language]]	,[[言語札]]	,
,[[mso-special-character]]	,[SAMP(CSS)[line-break]]	,
,[[mso-bidi-language]]	,[[言語札]]	,
,[[mso-pagination]]	,[SAMP(CSS)[widow-orphan]]	,
,[[mso-style-parent]]	,"[SAMP(CSS)[\"\"]] とか"	,
,[[text-underline]]	,	,[[WinIE]] 拡張
,[[mso-style-type]]	,[CODE(CSS)[personal-compose]] など	,
,[[mso-style-noshadow]]	,[CODE(CSS)[yes]] など	,
,[[mso-ansi-font-size]]	,[[<length>]]	,
,[[mso-bidi-font-size]]	,[[<length>]]	,
,[[mso-ansi-font-family]]	,[[font-family]] と同じ	,
,[[mso-hansi-font-family]]	,[CODE(CSS)[font-family]] と同じ	,
,[[mso-spl-e]]	,[CODE(CSS)[yes]] など	,
,[[mso-gram-e]]	,[CODE(CSS)[yes]] など	,
,[[mso-footer-margin]]	,[CODE(CSS)[<length>]]	,[CODE(CSS)[@page]]
,[[mso-paper-source]]	,[CODE(CSS)[0]] とか	,[CODE(CSS)[@page]]
,[[mso-tstyle-rowband-size]]	,[[<length>]] か?	,	,Word10
,[[mso-tstyle-colband-size]]	,[CODE(CSS)[<length>]] か?	,Word10
,[[mso-style-name]]	,文字列	,M$O 10+ か?
,[[mso-padding-alt]]	,[[padding]] と同じ	,Word10
,[[mso-para-margin]]	,[[margin]] と同じか?	,Word10
,[[mso-para-margin-bottom]]	,[CODE(CSS)[<length>]]	,Word10
,[[mso-spacerun]]	,[CODE(CSS)[yes]] など	,
,[[mso-tab-count]]	,[CODE(CSS)[1]] とか	,
,[[mso-margin-top-alt]]	,	,
,[[mso-cellspacing]]	,[[<length>]]	,[CODE(XPath)[html:table/@cellspacing]] と同じか?
,[[mso-hide]]	,[CODE(CSS)[all]] など	,
,[[tab-interval]]	,[[<length>]]	,
,[[language]]	,[[言語札]] ?	,
,[[text-effect]]	,	,
,[[text-line-through]]	,	,
,[[font-color]]	,	,
,[[horiz-align]]	,	,
,[[list-image-1]]	,	,
,[[list-image-2]]	,	,
,[[list-image-3]]	,	,
,[[separator-image]]	,	,
,[[table-border-color-dark]]	,	,
,[[table-border-color-light]]	,	,
,[[vert-align]]	,	,
,[[vnd.ms-excel.numberformat]]	,	,
,[[mso-displayed-decimal-separator]]	,	,
,[[mso-color-alt]]	,[[<color>]]	,
,[[mso-width-set]]	,[CODE(CSS)[userset]] とか	,
,[[mso-width-alt]]	,	,
,[[mso-highlight]]	,[CODE(CSS)[<color>]]	,
,[[text-justify]]	,	,[[WinIE]] と同じ
,[[mso-font-kerning]]	,[CODE(CSS)[<length>]]	,
,[[layout-grid]]	,	,WinIE と同じ
,[[text-justify-trim]]	,	,WinIE と同じ
,[[text-underline-color]]	,[[<color>]]	,
,[[text-underline-style]]	,[SAMP(CSS)[dotted]]	,
,[[text-underline-position]]	,	,
,[[mso-char-indent-size]]	,[CODE(CSS)[<length>]]	,
,[[layout-grid-mode]]	,[SAMP(CSS)[char]]	,
,[[mso-char-indent-count]]	,[SAMP(CSS)[1.0]]	,
,[[tab-stops]]	,[SAMP(CSS)[list 22.5pt]]	,	,W9
,[[mso-style-next]]	,[SAMP(CSS)[標準]]	,	,W9
,[[mso-outline-level]]	,[SAMP(CSS)[1]]	,	,
,[[mso-style-update]]	,[CODE(CSS)[auto]]	,	,
,[[mso-special-character]]	,[CODE(CSS)[line-break]]	,[[br]] 要素についていたが。	,W9
,[[mso-displayed-decimal-separator]]	,"[SAMP(CSS)[\"\\.\"]]"	,	,Excel9
,[[mso-displayed-thousand-separator]]	,"[SAMP(CSS)[\"\\]]"	,"]]	,"
,[[mso-font-charset]]	,[SAMP(CSS)[128]]	,級に対して指定	,E9
,[[mso-ignore]]	,[SAMP(CSS)[padding]]	,	,E9
,[[mso-number-format]]	,"[SAMP(CSS)[\"\\@\"]]"	,	,E9
,[[mso-background-source]]	,[SAMP(CSS)[auto]]	,	,X9
,[[mso-pattern]]	,[CODE(CSS)[auto]]	,	,X9
,[[ruby-align]]	,[SAMP(CSS)[left]]	,	,X9
,[[mso-char-type]]	,[SAMP(CSS)[katakana]]	,	,X9
,[[mso-width-source]]	,[SAMP(CSS)[userset]]	,	,X9
,[[mso-width-alt]]	,1*DIGIT	,	,X9
,[[mso-tny-compress]]	,[CODE(CSS)[yes]]	,	,W9
,[[mso-text-combine-i]]	,1*DIGIT	,	,W9
,[[mso-height-source]]	,[SAMP(CSS)[auto]]	,	,X10
,[[mso-ruby-visibility]]	,[SAMP(CSS)[none]]	,"[CODE(HTML)[[[[col]]]], [CODE(HTML)[[[tr]]]]	"	,X10
,[[mso-data-placement]]	,[SAMP(CSS)[mso-data-placement]]	,[CODE(HTML)[[[br]]]]	,X10
,[[text-align]]	,[SAMP(CSS)[general]]	,	,X10
,[[mso-rotate]]	,[SAMP(CSS)[0]]	,	,X10
,[[mso-background-source]]	,[SAMP(CSS)[auto]]	,	,X10
,[[mso-pattern]]	,[SAMP(CSS)[auto]]	,	,X10
,[[mso-protection]]	,[SAMP(CSS)[locked visible]]	,	,X10
,[[mso-style-name]]	,[SAMP(CSS)[標準]]	,	,X10
,[[mso-style-id]]	,[SAMP(CSS)[0]]	,	,X10
,[[mso-field-code]]	,[SAMP(CSS)[meta0]]	,[SAMP(CSS)[meta15]]	,	,PP9
,[[mso-ascii-font-family]]	,	,	,PP9
,[[mso-special-format]]	,[SAMP(CSS)[lastCR]]	,	,PP9
,[[layout-flow]]	,[SAMP(CSS)[vertical]]	,	,PP9
,[[mso-color-index]]	,[SAMP(CSS)[3]]	,	,
,[[mso-line-spacing]]	,"[SAMP(CSS)[\"70 0 0\"]]"	,	,PP9
,[[mso-char-wrap]]	,[SAMP(CSS)[1]]	,	,PP9
,[[mso-kinsoku-overflow]]	,[SAMP(CSS)[1]]	,	,PP9
,[[text-effect]]	,[SAMP(CSS)[none]]	,	,PP9
,[[mso-text-raise]]	,[SAMP(CSS)[0%]]	,	,PP9
,[[mso-margin-left-alt]]	,[SAMP(CSS)[0]]	,	,PP9
,[[mso-text-indent-alt]]	,[SAMP(CSS)[0]]	,	,PP9
,[[mso-vertical-align-special]]	,[SAMP(CSS)[baseline]]	,	,PP9
,[[behavior]]	,[SAMP(CSS)[url(#default#VML)]]	,	,
,[[clip]]	,[SAMP(CSS)[rect(0%]]	,101%	,101%	,0%)]]	,	,PP9
,[[filter]]	,[SAMP(CSS)[revealtrans(Duration=4]]	,Transition=1)]]	,	,PP9
,[[mso-build]]	,[SAMP(CSS)[0]]	,	,PP9
,[[mso-build-order]]	,[SAMP(CSS)[1]]	,	,PP9
,[[mso-text-animation]]	,	,<http://is.vis.ne.jp/lab/nonbrowser/mso_word2003_ex>	,
,[[mso-text-raise]]	,	,<http://is.vis.ne.jp/lab/nonbrowser/mso_word2003_ex>	,[W2003]
,[[font-emphasize]]	,	,<http://is.vis.ne.jp/lab/nonbrowser/mso_word2003_ex>	,[W2003]
,[[text-effect]]	,	,<http://is.vis.ne.jp/lab/nonbrowser/mso_word2003_ex>	,[W2003]
,[[text-underline]]	,	,<http://is.vis.ne.jp/lab/nonbrowser/mso_word2003_ex>	,[W2003]
,[[behavior]]	,[SAMP(CSS)[[[url]](#default#VML);]]	,	,[PP9]
,[[clip]]	,[SAMP(CSS)[[[rect]](0%]]	,101%	,101%	,0%)]]	,[CSS2]	,[PP9]
,[[mso-field-code]]	,[SAMP(CSS)[meta0]]	,[CODE(HTMLe)[[[span]]]]	,[PP9]

[[#form:'%text(label=>名前,default=>"mso-",id=>name,size=>15);: %text(label=>"値(例又は形式)",id=>value,size=>20,default=>"[SAMP(CSS)[]]"); %text(id=>comment,size=>20,label=>"メモ"); %text(id=>implemention,size=>20,label=>"確認されている実装");':'':'%require(name);']]

[[#form:'%textarea(id=>msg,size=>20,lines=>3);%n;(%text(description=>"名前",id=>name,size=>6); [%text(description=>"メイル",id=>mail,size=>5);] %check(default,id=>record-date,label=>日時,description=>日時を記録するか否か);) %submit(label=>書込む);':'[%index;]  %text(source=>msg);%n;(%name;%text(source=>mail,prefix=>" [",suffix=>"]");%iif(source=>record-date,true=>" [WEAK[%date;]]");)%n;':'%require(msg);']]


* VML 専用と思われるもの

- [4] 幾つかは [[M$DN]] に説明があります。このあたり: ''Index'' <http://msdn.microsoft.com/workshop/index/index1-13.asp>
- [5] >>4 というか M$DN にあるのは [[VML]] 用だけだな。
- [6] ということで VML 用:
,[[mso-direction-alt]]	,	,
,[[mso-fit-shape-to-text]]	,tf (既定値 [CODE(CSS)[false]])	,図形引伸し
,[[mso-fit-text-to-shape]]	,tf (既定値 [CODE(CSS)[false]])	,文字列引伸ばし
,[[mso-layout-flow-alt]]	,[CODE(CSS)[bottom-to-top]]	,
,[[mso-next-textbox]]	,	,溢れた文字を注ぐ次のテキスト箱
,[[mso-rotate]]	,整数	,
,[[mso-text-scale]]	,数値	,
,[[mso-text-shadow]]	,tf (既定値 [CODE(CSS)[false]])	,
,[[mso-wrap-distance-bottom]]	,[[<length>]]	,
,[[mso-wrap-distance-left]]	,	,
,[[mso-wrap-distance-right]]	,	,
,[[mso-wrap-distance-top]]	,	,
,[[mso-wrap-edited]]	,tf	,
,[[mso-wrap-mode]]	,[CODE(CSS)[none]] など	,

[[#form:'%text(label=>名前,default=>"mso-",id=>name,size=>15);: %text(label=>"値(例又は形式)",id=>value,size=>20); %text(id=>comment,size=>20,label=>"メモ"); %text(id=>implemention,size=>20,label=>"確認されている実装");':',[[%text(source=>name);]]	,%text(source=>value);	,"%text(source=>comment);	","%text(source=>implemention);"':'%require(name);']]

[[#comment]]


* 書体記述子 (@font 専用と思われるもの)

,[[mso-font-alt]]	,文字列	,
,[[mso-font-charset]]	,整数	,
,[[mso-generic-font-family]]	,一般書体家族名	,
,[[mso-font-pitch]]	,[CODE(CSS)[variable]] とか	,
,[[mso-font-signature]]	,整数値列	,

[[#form:'%text(label=>名前,default=>"mso-",id=>name,size=>15);: %text(label=>"値(例又は形式)",id=>value,size=>20); %text(id=>comment,size=>20,label=>"メモ"); %text(id=>implemention,size=>20,label=>"確認されている実装");':',[[%text(source=>name);]]	,%text(source=>value);	,"%text(source=>comment);	","%text(source=>implemention);"':'%require(name);']]

[[#comment]]


* 頁属性 (@page 専用と思われるもの)

,[[mso-header-margin]]	,[[<length>]]	,
,[[mso-page-border-surround-header]]	,[CODE(CSS)[no]] とか	,
,[[mso-page-border-surround-footer]]	,[CODE(CSS)[no]] とか	,
,[[mso-header-data]]	,[SAMP(CSS)[&A]] (引用符なしママ)	,	,X10
,[[mso-footer-data]]	,"[SAMP(CSS)[\"- &P -\"]] (ママ)"	,	,X10
,[[mso-horizontal-page-align]]	,[SAMP(CSS)[center]]	,	,X10
,[[mso-footer-margin]]	,[CODE(CSS)[<length>]]	,	,X10
,[[mso-vertical-page-align]]	,[SAMP(CSS)[center]]	,	,X10
,[[mso-page-orientation]]	,[SAMP(CSS)[landscape]]	,	,X10
,[[mso-page-border-surround-header:no;]]	,	,"	",""

[[#form:'%text(label=>名前,default=>"mso-",id=>name,size=>15);: %text(label=>"値(例又は形式)",id=>value,size=>20); %text(id=>comment,size=>20,label=>"メモ"); %text(id=>implemention,size=>20,label=>"確認されている実装");':',[[%text(source=>name);]]	,%text(source=>value);	,"%text(source=>comment);	","%text(source=>implemention);"':'%require(name);']]

[[#comment]]


* 列挙属性 (@list 専用と思われるもの)

- [7] [[@list]] という [[@規則]]は、箇条書きや段落番号の情報を保管するものらしいです。

[10] 次のように使用します。
[PRE[
 @list l0
 	{mso-list-id:415397962;
 	mso-list-type:hybrid;
 	mso-list-template-ids:1969016058 1994918050 [INS[略]];}
 @list l0:level1
 	{mso-level-start-at:0;
 	[INS[(略)]];}
]PRE]

[[擬似級]] [SAMP(CSS)[:level1]] って、
深くなるに従って数値が大きくなるんでしょうか? う〜ん。。。

任意の?標準 CSS 属性も [CODE(CSS)[@list]] 内で使用できるようです。

[SAMP(CSS)[10]] という値は何を指しているのでしょうか?

,[[mso-list-id]]	,整数	,	,Word9
,[[mso-list-type]]	,[SAMP(CSS)[hybrid]]	,	,Word9
,[[mso-list-template-ids]]	,[CODE(ABNF)[1*DIGIT *(WSP 1*DIGIT)]]	,	,Word9
,[[mso-level-start-at]]	,[SAMP(CSS)[0]]	,[SAMP(CSS)[:level1]] 擬似級に対してのみ?	,Word9
,[[mso-level-number-format]]	,[SAMP(CSS)[bullet]]	,	,W9
,[[mso-level-text]]	,[SAMP(CSS)[○]]	,	,W9
,[[mso-level-tab-stop]]	,[CODE(CSS)[<length>]]	,	,W9
,[[mso-level-number-position]]	,[SAMP(CSS)[left]]	,	,W9]

[[#form:'%text(label=>名前,default=>"mso-",id=>name,size=>15);: %text(label=>"値(例又は形式)",id=>value,size=>20); %text(id=>comment,size=>20,label=>"メモ"); %text(id=>implemention,size=>20,label=>"確認されている実装");':',[[%text(source=>name);]]	,%text(source=>value);	,"%text(source=>comment);	","%text(source=>implemention);"':'%require(name);']]

- [11] [SAMP(CSS)[mso-list:l0 level1 lfo2;]] と指定された [[p]] 要素に対応してたらしい。この [CODE'HTML)[p]] 要素には [CODE[<![if !supportLists]>]] の部分があって、その内側は list marker らしい。
[[#comment]]


* メモ