SVGを埋め込む場合の注意

Seasideはデフォルトで

Content-Type: text/html; charset=utf-8

となるようだ。SeasideJではKomSeasideJ>>convertResponse: を変更して、

Content-Type: application/xhtml+xml; charset=utf-8

とか

Content-Type: text/xml; charset=utf-8

にする必要があるようだ。もっとスマートな方法があるかも?
[追記]

updateRoot: anHtmlRoot 
	| attributes |
	attributes := WAHtmlAttributes new.
	attributes at: 'http-equiv' put: 'Content-Type'.
	attributes at: 'content' put: 'text/xml; charset=utf-8'.
	super updateRoot: anHtmlRoot.
	anHtmlRoot addHeadElement: (WAHtmlElement named: 'meta' attributes: attributes) notClosed.

を実装して、

<meta http-equiv=""Content-Type"" content=""text/xml; charset=utf-8"" />

とするもダメ。

SeaSqModoki

id:propellaさんが、Javascript Workspaceを作っている。これを見て、以前Seaside2.5JでWebブラウザ上にSqueakのWorkspaceを実現したことを思い出した。で、Seaside2.6Jで動くか動作確認したら、動きました。http://squeaksource.blueplane.jp/SeaSqModoki.html経由でMonticelloでダウンロードできます。ちなみにこのパッケージにはフラップもどきのWAFlapも同梱されています。http://localhost:9090/seaside/config/のWAFlapTest,WAWorkspaceTestからアクセスしてください。

WAWorkspace

WAWorkspaceはWebブラウザからよりデバッグしやすくするために作りました。起動するとコードペーンが開き、入力したコードを'print it','profile it', 'insepect it'できます。このときカーソルのある行もしくはマウスで選択した文字部分がその対象になります。
Toggle HalosからWorkspaceを起動したい場合は次の修正を行ってください。Toggle HalosからWorkspaceを起動した場合はそのコンテキストでWorkspaceが起動します。
WAHalo>>renderContentOn:のself renderHalo: 'alo-Paint'の後に次のコードを追加

	self renderHalo: 'Halo-Pooh'
		withWindow: [WAWorkspace on: self target]
		titled: 'Workspace'
		on: haloHtml.

WAFlap

SqueakのフラップをWebブラウザ上に実現すると便利だろうということで、Seasideのコンポーネントをフラップのサブコンポーネントとして格納することが出来ます。
http://squeak.qp.land.to/img/flap-init.png
初期状態です。ここでフラップ部分をクリックすると...
http://squeak.qp.land.to/img/flap-open.png
フラップが開いて、サブコンポーネントが表示されます。

StrokeFontをつくる(4)

StrokeFontのプロトタイプが出来た。ストロークの幅を大きくするとゴシック体に見えます。
http://squeak.qp.land.to/img/StrokeFont.png
ちなみに'あ'の文字はわたしが書いたので、きれいでないです。
Cairoのレンダリングのせいかアンチエイリアス部で黒の部分が出ているような気が...

StrokeFontをつくる(3)

いちおう、Inkscapeで書いた文字をSVGで書き出して読み込み、Cairo経由でFormを得るコードを書いた。明日以降にチェックとStrokeFontの実装をする予定。
ところで、タブレットで文字を書いていて気づいたこと。

  • 自分の書いた字が必ずしも読みやすくない(くせ字、悪筆なんで〜)
  • 日本語変換辞書に無い文字(Character setにないグリフ)の入力の問題
  • Unicodeマッピングされていないグリフ(Squeakの文字の内部表現はUnicode

メタ情報に異体字を含めようとしていたが、上記の理由から入力・選択する方法をどうするか...