パーソナルツール
現在位置: ホーム 日々のメモ書き archive 2007 9月

9月

Sub-archives

2007年09月30日

rml.dtdを探して

by TANIGUCHI Takaki — last modified 2007年09月30日 00時31分
Filed Under:

RMLのDTDを探す。

前に使っていたのに行方不明になって探すことに。reportlabのパッケージにもないなと思ったが…
http://www.reportlab.com/docs/ にありました。

evinceで日本語PDF

by TANIGUCHI Takaki — last modified 2007年09月30日 00時31分
Filed Under:

evinceで日本語が出ない。

xpdf-japaneseを入れる。えー。

Wanderlustのどうでもいいヘッダを表示させない方法

by TANIGUCHI Takaki — last modified 2007年09月30日 16時25分
Filed Under:

Wanderlustでメールを見ているときにヘッダが長すぎて本文が見えなくなってきたので整理。

(setq wl-message-ignored-field-list (append mime-view-ignored-field-list
'("^Authentication-Results:"
"^DKIM-Signature:"
"^DomainKey-Signature:")))

こんな感じに.wlに書く。

 

Plone SVN report

by TANIGUCHI Takaki — last modified 2007年09月30日 22時55分
Filed Under:

2007-09-30

  • r17258 CMFPlone - mj-jquery branch
  • r17256 kss jquery branch

Collective SVN report

by TANIGUCHI Takaki — last modified 2007年09月30日 23時18分
Filed Under:

2007-09-30

  • Quills 1.6beta1
  • r50169 z3schmebackport
  • r50245 Portletification - any AT object as a portlet
  • r50245 Vaporisation - tag cloud
  • r50275 ColorField - widget
  • r50321 RichDocument 2.0

2007年09月25日

XOrg-7.3で固まる

by TANIGUCHI Takaki — last modified 2007年09月25日 22時56分
Filed Under:

DebianのXOrg 7.3-2 にしたらXが固まる。

うんともすんとも言わなくなるしCPUを100%使うし。7.2に戻す。BTSはいろいろ出ているようなのでまあいいか。

2007年09月23日

generic viewのextra_context (2)

by TANIGUCHI Takaki — last modified 2007年09月23日 00時03分
Filed Under:

間違っていた話。

extra_context に QuerySet渡すと静的に解決されて困ったな、という話ですがwww.lingr.com/room/django-ja/archives/2007/09/19 で指摘されているようにlambdaで囲うのが正解でした。折角なのでソースを読む。

  1. あたり前の話として dictionary は静的に値が決まる。つまり値で関数を呼べばその結果が入る。
  2. じゃあなんでlambdaならいいんだよという話は django/views/generic/list_datail.py で extra_context の値を RequestContextに渡すときに callable な物はその場で呼び出した値を渡すから。
  3. 以上が結論。あ、でも関数を渡せたとしても関数自体は静的に決まるから…、これはまた考えよう。

ドキュメントを斜め読みしないでもうちょっとソースを読もう…。

2007年09月22日

最近のSun

by TANIGUCHI Takaki — last modified 2007年09月22日 12時53分
Filed Under:

SunというかSolarisというか。

ハードウェアはIntelでもいいみたいだし、Windows Server機を売るらしいし。Sun MicrosystemsのIAサーバーってハードとしてそんなに魅力的だったっけ?DELLやHPのほうがサーバ単体で見るならいいと思うけどな。SolarisはそのうちNetscapeみたいになりそうなのが恐い。

acroread 8

by TANIGUCHI Takaki — last modified 2007年09月22日 23時19分
Filed Under:

debian-multimediaのacroreadが8になった。

日本語が出なくなったが慌てず騒がずダイアログに表示されているAdobeのサイトにアクセスしてフォントをインストールする。ディレクトリを/usr/libにするのがポイント。

トラックバックがおかしかった件

by TANIGUCHI Takaki — last modified 2007年09月22日 23時52分
Filed Under:

某所でトラックバックの挙動がおかしいと指摘されていたのでいい加減調べる。

PloneのSecurityを見ると "plonetrackback: View Trackbacks" にAnonymousからPermissonがなかった。なんだこのデフォルトの設定。

コメントができないのは…。なんでだろう。トップにはコメントをつける事もできるように設定できるが、記事にはできないな。またそのうち考えます。

追記: 記事毎にコメントを許可するか全部のコメントを許可するかか…。面倒だな。フォルダ単位とかないのか。

2007年09月19日

generic viewのextra_context

by TANIGUCHI Takaki — last modified 2007年09月19日 09時42分
Filed Under:

generic viewのobject_detailでextra_contextでパラメータを渡せることがわかった、が。

パラメータにQuerySetを渡すとキャッシュされるようだ。データが更新されても一緒なのでこまった。generic viewは使っちゃ駄目かな。

09/22追記: lambdaで囲めばよいとトラックバックで指摘を受ける。ありがとうございます。さらにトラックバックの挙動のおかしさも指摘されたので修正する。

2007年09月17日

MTB整備

by TANIGUCHI Takaki — last modified 2007年09月17日 23時21分
Filed Under:

いろいろ整備。

  • ブレーキ調整
  • サイクルコンピュータのセンサー交換
  • リアハブから異音。ラチェットのような気が…。やばいなあ。

2007年09月16日

Plone SVN report

by TANIGUCHI Takaki — last modified 2007年09月16日 00時00分
Filed Under:

2007-09-15

  • r17009 plone.portlet.collection - A portlet that fetches results from a collection
  • Plone 3.0.1
  • r17135 plone.session - Update userid vs login handling a bit. refs #6992

trml2pdfの日本語の調査

by TANIGUCHI Takaki — last modified 2007年09月16日 00時01分
Filed Under:

trml2pdfに日本語を通す方法をさらに調べる。

ReportLab自体はCIDフォントを適切に設定すれば日本語は通る。オリジナルのRML2PDFは日本語のサポートもされている。だけどtrml2pdfはCIDフォントの登録する命令が実装されてないようだ。そこをなんとかすればいいのかな?

Collective SVN report

by TANIGUCHI Takaki — last modified 2007年09月16日 01時52分
Filed Under:

2007-09-16

  • r48988 PloneZCtimedatewidget
  • r49001 PloneHelpCenter 1.0rc2
  • r49002 eXtremeManagement - rockly-weekly-report branch
  • r49052 Collage 1.0rc2
  • r49061 PloneLetter - a frontend for the LaTex scrlttr2 class
  • r49237 KNewsletter -

ReportLabで日本語を使う

by TANIGUCHI Takaki — last modified 2007年09月16日 13時58分
Filed Under:

まずはReportLabで日本語を使う方法。

# -*- encoding: utf-8 -*-
from reportlab.pdfgen import canvas
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.cidfonts import UnicodeCIDFont

c = canvas.Canvas("hello.pdf")

pdfmetrics.registerFont(UnicodeCIDFont('HeiseiMin-W3'))
c.setFont('HeiseiMin-W3', 16)
c.drawString(100,620,u"こんにちは世界 明朝体")

pdfmetrics.registerFont(UnicodeCIDFont('HeiseiKakuGo-W5'))
c.setFont('HeiseiKakuGo-W5', 16)
c.drawString(100,640,u"こんにちは世界 ゴチック体")
c.showPage()
c.save()

こんな感じです。ちょっと古い資料だとUnicodeCIDFontを使わないでCIDFontを使っていたりするがドキュメントによると2.0からはUnicodeCIDFontを使うべきらしい。

H2A F13

by TANIGUCHI Takaki — last modified 2007年09月16日 13時59分
Filed Under:

SELENEを載せたH2A 13号機は打ち上げに成功。

今回は晴天だったためロケットがよく見えた。今のところ衛星も順調。月に辿りついて下さい。

trml2pdfで日本語を使う

by TANIGUCHI Takaki — last modified 2007年09月16日 14時24分
Filed Under:

ReportLabの挙動を学んだところでtrml2pdfで日本語を通るようにする。

UnicodeCIDFontを登録するようにすればいいということがわかった。オリジナルのRMlではdocinit内でregisterCIDFontを使って指定してる。じゃあ、それを解釈するように変更すればいいんだなというのが以下のパッチ。

diff -rN -u old-trml2pdf/trml2pdf/trml2pdf.py new-trml2pdf/trml2pdf/trml2pdf.py
--- old-trml2pdf/trml2pdf/trml2pdf.py 2007-09-16 14:19:49.475214466 +0900
+++ new-trml2pdf/trml2pdf/trml2pdf.py 2007-09-16 14:19:49.975179240 +0900
@@ -35,7 +35,8 @@
#
# Change this to UTF-8 if you plan tu use Reportlab's UTF-8 support
#
-encoding = 'latin1'
+# encoding = 'latin1'
+encoding = 'utf-8'

def _child_get(node, childs):
clds = []
@@ -142,6 +143,7 @@
from reportlab.lib.fonts import addMapping
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
+ from reportlab.pdfbase.cidfonts import UnicodeCIDFont

for node in els:
for font in node.getElementsByTagName('registerFont'):
@@ -152,7 +154,11 @@
addMapping(name, 0, 1, name) #italic
addMapping(name, 1, 0, name) #bold
addMapping(name, 1, 1, name) #italic and bold
+ for font in node.getElementsByTagName('registerCidFont'):
+ name = font.getAttribute('faceName').encode('ascii')
+ pdfmetrics.registerFont(UnicodeCIDFont(name))
+
def render(self, out):
el = self.dom.documentElement.getElementsByTagName('docinit')
if el:

これで日本語が通ることを確認した。なおRMLファイルはutf-8にすること。

<!DOCTYPE document SYSTEM "rml.dtd">
<document filename="example_1.pdf">
<docinit>
<registerCidFont faceName="HeiseiKakuGo-W5"/>
</docinit>
<pageDrawing>
<setFont name="HeiseiKakuGo-W5" size="8"/>
<drawCentredString x="2in" y="10in">
こんにちは世界 ゴシック
</drawCentredString>
</pageDrawing>
</document>

元のコードを見ればわかるがTTFontの登録は実装してある。Tinyだけあって最小の努力なのかね。もうちょっと気を使ってもらえるとありがたい。

これでJasperReportsをPythonから無理矢理使おうなんていう頭の痛いことは頑張らなくてもいいようになったかな。

newformsあれこれ

by TANIGUCHI Takaki — last modified 2007年09月16日 23時55分
Filed Under:

djangoのnewformsをがんばった話。

駄目だった話

form = NewFromsForm()
form.fields['foo'].choices = SomeModel.objects.all() # エラーになる
form.fields['foo'].choices.queryset = SomeModel.objects.order_by('bar') # 無視される

という感じのコードは駄目らしい。

form.fileds['foo'].choices = [(1,'a')]

は動く。

Modelに対応したFormを作るとき

ForeignKeyになっているとき、 foo = ForeignKey(Somethng) となっていたら foo_id = forms.ModelChoiceField(...)としておくと __dict__.copy()で対応しているので楽。clean_dataをmodelに保存するときは foo_idに代入しないこと。fooに代入すること。

2007年09月15日

torus-trooper

by TANIGUCHI Takaki — last modified 2007年09月15日 21時13分
Filed Under:

torus-trooper - speeding ship sailing through barrage

torustrooper.png

スピード感のある3Dシューティングゲーム。なかなか面白い。

追記: 大部がんばっている。チャージなんか使わないで通常弾だけでぶっとばすほうが効率よくボスまで行ける。

さらに追記: 敵を追い越すだけでいいので弾を発射しなくて、ひたすら加速で弾幕避けだけやっていてもいい。シューティングじゃねーだろ。

takaki's twitter
焼酎風味の水に500円も取ろうとはどういう店だ。 2010年03月09日 22時53分
ジョブカードなる糞エクセル方眼紙を埋め中。心が折れそうだ。 2010年03月08日 22時16分
Excel方眼紙がOOoで崩れるわけだが。 2010年03月04日 22時49分
嫌味言ってりゃ世の中良くなるわけでもなし 2010年03月04日 22時06分
どう考えても風邪だがタイミングが悪すぎる 2010年03月02日 23時51分
Affiliate