M.C.P.C.

―むり・くり―プラスコミュニケーション


« 2006年5月 | トップページ | 2006年7月 »

2006.06.30

やっぱりAJAXていう名前だめだわー

いま AJAX つかって、サーバ側で用意した情報をブラウザに表示するようなことやっているんですけれども、これをやっていると、頭の中にオケヒットが鳴りまくるゲームミュージックがかかりまくって困る。

コ○ミが名前使うなって訴えてくれないかなー

[ネタ] | 固定リンク | コメント (1) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

2006.06.29

DynaFont TrueTypeからPS-Nameを抜き出すPerlスクリプト

DynaFont TypeMuseum TrueType 100(ディスコン)から、PostScript フォント名(PS-Name)を抜き出し改行区切りで標準出力に書き出します。Windows 用 TrueType であれば、1書体当たり3つの PS-Name が書き出されます。

#!/usr/bin/perl
 
# Filename: dfttpsname.pl
#
# DynaFont Type Museum TrueType100 から
# フォント名(PS-Name)を抜き出します。
# DynaFont Type Museum TrueType100 Mac 
# の場合、リソースフォークをデータフォー
# クに出してから実行する。
# Win32 ActivePerl 5.8.8 で動作確認済み。
 
use strict;
use warnings;
use File::Find;
 
my $font_path = 'D:/9598NT';
my @DIRLIST;
push @DIRLIST,$font_path;
find (\&process_file, @DIRLIST);
exit 1;
 
sub process_file {
  my $path = $File::Find::name;
#  print "$path\n";
  if (!(-d) && !($path =~m|Icon|)) {
    open(FH, $path) or die;
    read(FH,my $data, -s FH);
    close FH;
 
    while ($data =~m|(D[CF][\w\-]+?-RKSJ-[HV])|sgo){
      print "$1\n";
    }
  }
}

~~~

用途は、PDF/X-1a 運用の天敵、ダイナフォントTrueTypeを発見するための材料として(PitStop にセットする)使います。でも、PitStop のプリフライトプロファイルって 300個もフォント名セットできるのかな。

[Perl] | 固定リンク | コメント (0) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

2006.06.28

livedoor ClipにクリップするPerlスクリプト

livedoor Clip [clip.livedoor.com] にクリップします。ニフティクリップβの時とは違って、誰か絶対作ると思っていたらもうにぽたんでやってましたので、WWW::Mechanizeの習作としてみてくれればと思います。

#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;
use utf8;
use Encode;
 
# ID/Password
 
my $username = 'abc01234',
my $password = 'xxxxxxxx',
 
 
# WWW:Mechanize スタート
#
 
my $mech = WWW::Mechanize->new();
my $mechurl = "http://clip.livedoor.com/clip/add";
$mech->get($mechurl);
 
 
# $mechurl から http://member.livedoor.com/login/ に遷移
# ログインフォーム入力
 
$mech -> submit_form (
  form_name=>'loginForm',
  fields => {
    livedoor_id => $username,
    password    => $password,
  },
);
 
# ログイン後 http://member.livedoor.com/login/ から $mechurl に遷移
 
# Clip Entry
 
my $title   = 'M.C.P.C.: livedoor ClipにクリップするPerlスクリプト',
my $url     = 'http://blog.dtpwiki.jp/dtp/2006/06/mcpc_livedoor_c_0bfa.html',
my $comment = 'livedoor ClipへPerlスクリプトでブックマークします。要WWW::Mechanize。http://blog.livedoor.jp/nipotan/archives/50533803.html の方がエレガント',
my @taglist = ('Perl', 'livedoorclip', 'ライブドアクリップ');
my $r18_flag    = 0; # 1->R18
 
# 一応明示的に移動。ループで使うために
 
$mechurl = "http://clip.livedoor.com/clip/add?link=$url&form=1";
 
$title   = Encode::encode('utf8', $title);
$comment = Encode::encode('utf8', $comment);
my $tags = join(' ', @taglist);
$tags    = Encode::encode('utf8', $tags),
 
$mech->get($mechurl); #
 
# Form にクリップ項目入力
 
if ($mech->uri() =~m|^http://clip.livedoor.com/clip/add|) {
  $mech -> form_name('clip');
  $mech -> set_fields (
    title   => $title,
    notes   => $comment,
    tags    => $tags,
  );
  $mech -> tick('r18','1') if $r18_flag;
}
if ($mech->uri() =~m|^http://clip.livedoor.com/clip/edit|) {
  $mech -> form_name('edit_form');
  $mech -> set_fields (
    notes   => $comment,
    tags    => $tags,
  );
}
 
 
$mech -> submit(); 


(2006-06-28 23.01訂正)

r18フラグの動きがおかしかったので修正しました。

[Perl] | 固定リンク | コメント (0) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

2006.06.27

2006.06.26

ジーンダイバーDVD-BOX買ったよ!

ジーンダイバー買ったよ!

天才てれびくんの「恐竜惑星」はとびとびに見ていましたけれども、その後の「ジーンダイバー」は、引っ越しと、その後のテレビのない環境になったことによって、見られませんでした。

つうわけで見ていますが、アッケラカンMarkII の、Amiga で作ったポリゴン CG アニメキャラの虎哲がウザス。プリサミ旧作の魎皇鬼なみにウザス。

ていうか、子供にこんな理屈っぽいアニメ見せていたのかっていういみですごいアニメでした! めいさくです! 岩男潤子の声ナツカシス!

[アニメ] | 固定リンク | コメント (0) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

2006.06.25

ニフティクリップβはホームページ(トップ)がUser数閾値なしの新着なので悪意ある用途に利用されかねない

この前はてなブックマークのブックマークから、ニフティクリップβ [clip.nifty.com] のクリップへ移行作業をしていて気づいたのですが、公開設定で移行していると、ニフティクリップβに投稿する度に、ニフティクリップβホームページ(トップページ)が僕の投稿したクリップが掲載され、それが移行作業中続くという、迷惑な事態になってしまっていたわけですけれども、ホームページに掲載する情報に閾値付けないと、常に不特定多数の来訪者に、特定のクリップ項目を見せるような用途が1つのアカウントでできるわけだし、どうかと思いました。

じっさい、アダルトページの投稿がドカドカあったの見ていますし。

ホームページに載せる判断基準があまりに緩すぎやしないか。とは思いました。

[Web] | 固定リンク | コメント (0) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

2006.06.24

多い日も安心©パロディウス

メタな連想を利用したバナー広告。

Mixisymantecad
▲青い水でさえあれば絶対漏らしません

イメージの連想もとの商品の使用経験により印象がガラッと変わりそうな気がします。

[ネタ] | 固定リンク | コメント (0) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

2006.06.23

ニフティクリップβにクリップするPerlスクリプト(2):複数Tag対応

前回のは、Tag が1つしか入らない(なぜなら、ニフティクリップβのクリップ登録画面の Tag 欄は、デフォルトで1個しかなくて、JavaScript で DOM 書き換えやら何やらで Tag 欄を増やしているからです)ので、なんだかがっくしでしたが、WWW::Mechanize では、取得した HTML を書き換えることによって、(フォーム改変して)を入力欄を増やすことが出来るので、それを使ってみて、複数 Tag に対応できるようにしてみました。

WWW::Mechanize - Perlオブジェクト中のハンディWebブラウザ [perldoc.jp] の、$mech->update_html( $html )メソッド を参考にしました。

あと、use utf8; にて積極的な UTF-8 ハンドリングと、Tag 芸が出来るように、Tag の入力順番を工夫しました(正順にいれると、実際には逆の順番で登録される仕様があるみたい)。

UTF-8 で保存してください! $username と $password は適宜設定してください!

#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;
use utf8;
use Encode;
 
# ID/Password
 
my $username = 'ABC01234',
my $password = 'xxxxxxxx',
 
# Clip Entry
 
my $title   = 'ニフティクリップβにクリップするPerlスクリプト(2):複数Tag対応';
my $url     = 'http://blog.dtpwiki.jp/dtp/2006/06/perl2tag_8383.html';
my $comment = 'ニフティクリップβへPerlスクリプトでブックマークします。複数Tag対応。要WWW::Mechanize';
my @taglist = ('Perl', 'niftyclipbeta', 'ニフティクリップβ');
my $public_flag = 1; # 0->Private 1->Public
 
 
# WWW:Mechanize スタート
#
 
my $mech = WWW::Mechanize->new();
my $mechurl = 'http://clip.nifty.com/create';
$mech->get($mechurl);
 
 
# $mechurl から https://clip.nifty.com/login に遷移
# ログインフォーム入力
 
$mech -> submit_form (
  form_name=>'login-form',
  fields => {
    username => $username,
    password => $password,
  },
);
 
 
# ログイン後 https://clip.nifty.com/loginから $mechurl に遷移
# input:tagname を増やす
 
my $rep = '';
my $taginputhtml = '
  <input class="tagname" name="tagname" type="text" />';
my $tag_n = scalar(@taglist);
for (my $i = 0; $i < $tag_n; $i++) {
  $rep .= $taginputhtml;
}
my $html = $mech->content;
$html =~ s|<div class="tag-form">.+?</div>|$rep|isg;
$mech -> update_html( $html );
 
# Form にクリップ項目入力
 
$mech -> form_name('savingForm');
$title   = Encode::encode('utf8',$title);
$comment = Encode::encode('utf8',$comment);
$mech -> set_fields (
  title   => $title,
  url     => $url,
  comment => $comment,
);
for (my $i = 0; $i < $tag_n; $i++) {
  $mech -> set_fields( 
    tagname =>
      [ Encode::encode('utf8',pop(@taglist)), $i+1 ] 
  ) ;
}
$mech -> untick('public_flag','on') unless $public_flag;
$mech -> submit(); 

[Perl] | 固定リンク | コメント (0) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

2006.06.22

和文欧文の間にスペースを「原稿(プレーンテキスト)」で入れておくことについて

はてなブックマーク - void GraphicWizardsLair( void ); // 日本語文の中に混在する英単語の前後に「いわゆる半角スペース」を入れるのはバッドノウハウなので、それを自覚して使う方が良い [b.hatena.ne.jp]

↑ここで「今度入稿するときに気をつけようと思います」いっている人たちはスクリプトで置換できますよねー

ところで、

DTP駆け込み寺の掲示板(書き込みはメールマガジン「DTP駆け込み寺」に掲載させていただく事があります。検索機能は通常表示モードで使えます。引用はコピぺして下さい。掲示板ではDTPの技術的な情報交換が多いので、投稿者のマシン環境としてOSなどの情報を自動表示する仕様に変更しております。:2分アキ、4分アキ [gande.co.jp]

> emとenの違いがあるのはなんだったかな?
和文/欧文間のスペースだったと思います。
3.3はenスペース、4.xはemスペースに対する比率だったかと。

Quark: Products:http://japan.quark.com/techdb/db_075.html [japan.quark.com]

オペレーション側の意識が低いと、とんでもないことになりますよね。

うちは、QuarkXPress はチラシレイアウトソフトとして使っているので、和文欧文間スペースは 0 なんですけど。(←つまり意識低い)

[DTP] | 固定リンク | コメント (0) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

< 最後 « これより前10ä»¶ | 全件