Sort as a numeric type String for a Spark DataGrid in Flex 4

correct: 1,2,3,4,11,12,21
incorrect: 1,11,12,2,21,3,4

private function sortCompareFunction(obj1:Object, obj2:Object, column:GridColumn): int {
	var p1:Number = obj1[column.dataField];
	var p2:Number = obj2[column.dataField];

	if (p1 < p2){
		return -1;
	} else if (p1 > p2){
		return 1;
	} else {
		return 0;
	}
}
<s:DataGrid>
	<s:columns>
		<s:ArrayList>
			<s:GridColumn dataField="d1" headerText="h1" sortCompareFunction="sortCompareFunction"/>
			<s:GridColumn dataField="d2" headerText="h2" sortCompareFunction="sortCompareFunction"/>
			<s:GridColumn dataField="d3" headerText="h3" sortCompareFunction="sortCompareFunction"/>
		</s:ArrayList>
	</s:columns>
</s:DataGrid>

ノーブレークスペース

普通日本人が文書を書くとき大抵文字コードはシフトJISですが、ローカライズ業務やWEB業務では大抵ユニコード(utf-8またはutf-16)ですよね。中国語だろうが韓国語だろうが大抵の文字は埋め込めるので楽ちんなわけですが、それらのユニコードテキストファイルを読み込んで操作するプログラムを書くとき、いろいろはまることがあります。
今日は「半角スペース(U+0020)」と「ノーブレークスペース(U+00A0)」が混在したテキストではまりました。実体参照で書いてあればいいんですが文字そのものが入っていると普通のエディタで開いても一見同じ半角スペースなので違いが分からないんですよね。

Framemakerの奇妙なバグ

FramemakerからのPDF出力で、思わず「うーむ」と唸ってしまうバグに遭遇したのでご紹介します。

現象
PDFを出力すると、全ページ空白、あるいは210mm x 1mmという奇妙なサイズとなる。

環境
Windows XP SP3
プリンタドライバ Adobe PDF(Ver8/9)
Framemaker 7.2(p158)/9.0(p255)

原因
プリンタドライバ「Adobe PDF」の設定項目のうち、グラフィックス→印刷品質において
値が「3600dpi」あるいは「4000dpi」に設定されている
※ デフォルトは「1200dpi」


先日、wordの印刷で問題が発生しトラブルシューティングとして解像度を変更しました。それを忘れて元に戻さなかったのがいけなかったようです。

それにしても、FMからの出力はひと筋縄で行かないことが多いように感じます。そのたびに検証をするのですが、今回のパターンはドキュメント自体には問題がなく、ドライバの設定に辿り着くまでには時間がかかってしまいました。