Hatena::ブログ(Diary)

名もないテクノ手 このページをアンテナに追加 RSSフィード Twitter

EPUB版『InDesign者のための正規表現入門』

InDesignのTips一覧

2011-12-31

[]ブログ移転のお知らせ

長らくこのはてなダイアリーでお世話になってまいりましたが、はてなブログ方面へ移転の運びとなりましたのでお知らせします。新ブログは...

名前、変わってないじゃんよ! いや、にです、「に」。名もないテクノ手。頓絶法ってやつだ。*1

この場所そのものは、はてなダイアリーが続く限りここに保存します。コンテンツの移動は考えていません(移動するとリンクとかわかんなくなるし^^)。そしてここではもう更新しません。要するに放置します。見たい人は勝手に見たらいいじゃないの!


じゃあ、新しいブログでまたお会いしましょう。またあうひまで。

*1:きっと次は「名もないテクノ手さん」になるだろう。擬人法だ。吾輩は名もないテクノ手さんだ。はやく人間になりたーい!

2011-12-26

[][][]インタラクティブPDFの作り方

電子書籍といえば、EPUBやリッチなアプリなどが注目されていますが、PDFも立派な電子書籍です。PDFの表現能力はフォントやレイアウトの再現性だけじゃありません。動画も貼れるしボタンもつけられます。インタラクティブなフォームやリンク、電子透かしや認証方式も選べたり、印刷やコピーの許可などのセキュリティも備わっています。リーダーさえ対応していれば、JavaScriptだって動作します。


インタラクティブPDFの詳しい解説書が、インタラクティブPDFによって出版されています。

個々のインタラクティブ機能について、たいへんわかりやすい教材になっています。実際の動きを見ながらインタラクティブPDFを作ることができるでしょう。


出版・印刷業界以外の方々はご存知ないかもしれませんが、現在では出版物のデジタル化はほぼ完了していて、新規出版物は「今すぐ」PDFで電子書籍化できるようになっています(オライリーみたいに)。ADPSのような大掛かりで高コストなソリューションを導入しなくても、たいていのインタラクティブ機能は既にここにあります。PDFをスルーしなければならない理由はありません。

2011-11-19

[][]OTEditでちょっとしたOTF外字を作成する

SING亡き現在、ちょっとした外字を作成するのに使われるのが武蔵システムさんの「OTEdit」です。

OTEdit for Mac

たまにしか使わないので、備忘録のためのメモ^^ というか、マニュアル読み直したくない人のためのアンチョコ。


【準備】Illustratorで字母をつくる

OTEdit自体にも、パス編集機能が備わっていますが、手に馴染んだIllustratorを使った方が効率がよいでしょう。

1)1000px正方のドキュメントを新規作成します。

f:id:seuzo:20111119160952p:image

f:id:seuzo:20111119160953p:image

※もし、英数字などのプロポーショナルなものを作成したい場合は、横幅を調整してください。


2)ドキュメント上に字母を描きます

1000px分のアートワークは最大ボディなので、少し小さめに描いてください。

f:id:seuzo:20111119160954p:image


3)フォントや文字をアウトライン化します

位置などを微調整して、フォントをアウトライン化しておきます。太さをもった線があれば、オブジェクトメニューから「パスのアウトライン」を実行しておいてください。また、描画同士で重なっているパスは、パスファインダなどで修正しておくこと。

f:id:seuzo:20111119163026p:image


4)SVGで保存します

SVGバージョンは1.1で保存します。あとは大抵デフォルトのままで。

f:id:seuzo:20111119163027p:image

f:id:seuzo:20111119163028p:image


【作成】OTEditで新規フォントを作成する

1)フォント情報を入力する

OTEditを起動し、「ファイル」メニューから「新規作成...」を選ぶと、「フォント種類の選択」ダイアログが開きます。「Stdフォント」はAdobe-Japan1-3(9,354字)に対応しています。

f:id:seuzo:20111119165148p:image

「次へ」ボタンをクリックすると、「フォントメトリクスの設定」ダイアログが開きます。アセントとディセントを設定してください。

f:id:seuzo:20111119165149p:image

「次へ」ボタンをクリックすると、「書体名の設定」ダイアログが開きます。フォント名や著作者情報を記入しましょう。

f:id:seuzo:20111119165728p:image

最後に「完了」ボタンをクリックします。OTEditの新規ドキュメントが開かれます。

f:id:seuzo:20111119165729p:image


2)フォントメニューの表示用字形を取り込む

MS Office製品やIllustratorなどでは、フォントメニューのフォント名にリアルフォントが使われます。もしこの字形を持っていないと、メニューが空白になってしまうので、表示用に字形を取り込んでおきます。

「ツール」メニューから「書体名文字へのグリフ取り込み」を選択します。

f:id:seuzo:20111119172358p:image

なんらかの日本語書体を選択して、OKボタンをクリックしてください。


【編集】文字の取り込み(インポート)

1)取り込みたい文字のコードポイントを合わせます

新規ドキュメントが開かれた状態では、コードポイントはUnicode 3042の「あ」を示しています。取り込む文字のコードポイントを指定するには、「表示」メニューから「他の文字...」を選択します。文字指定のためのダイアログが現れました。

f:id:seuzo:20111119173311p:image

直接文字を入力してもかまいませんし、UnicodeまたはCIDのコードポイントをタイプしてもかまいません。コードが特定されると、ウィンドウ上部のコードが変わったのが確認できます。

f:id:seuzo:20111119173312p:image


2)SVGのインポート

ここで最初に用意したIllustratorSVGを取り込みます。

「ファイル」メニューの「インポート」-「SVGファイル...」を選択し、Illustratorで作成したSVGを選択します。

f:id:seuzo:20111119174209p:image

f:id:seuzo:20111119174210p:image

このように字形のパスが取り込まれました。

f:id:seuzo:20111119174356p:image

ツールバーにある「塗りつぶしで表示/非表示」ボタンをクリックすると、塗りつぶしが正常であるかどうかが確認できます。

f:id:seuzo:20111119174357p:image

この時、塗りつぶしが正確でないなら、パスの方向を修正してください。「編集」メニューから「巻き方向の修正」を選びます。


【保存・使用】保存と使用

OTEditはOTFを直接編集しますので、Fontographerのような中間ファイルはありません。「ファイル」メニューから「保存」を実行すると、直接OTFを書き出します。

f:id:seuzo:20111119180221p:image

書き出したフォントは、所定のディレクトリに移動させ(Mac環境ならFont Bookから取り込んでも可)、システムに認識させてください。

f:id:seuzo:20111119180222p:image

InDesignの中でもこのように使えます。

f:id:seuzo:20111119181006p:image


注意事項

作成したフォントは必ず出力テストしてください。自宅にPSプリンタがなければ、出力先に必ず確認をすること。これはFontographerなどで作った場合も同じです。パス方向など、画面上では正常に見えていても実際の出力と異なる場合があります。ご注意あれ!

2011-11-15

[][][]選択したページアイテムを新規ドキュメントに複製して、アートボードをフィットさせる

D

/*
    duplicate_and_fit_for_selection
    選択したページアイテムを新規ドキュメントに複製して、アートボードをフィットさせる
    for Illustrator CS5
    (c)2011 seuzo
    
   2011-11-15   ver.0.1 とりあえず
*/

#target "Illustrator"

//複数のオブジェクト全体のvisibleBoundsを得る
function get_bounds(my_objs) {
    var my_bounds = my_objs[0].visibleBounds;
    var my_Left = 0;
    var my_Right = 1;
    var my_Top = 2;
    var my_Bottom = 3; 
    for ( var i = 1; i < my_objs.length ; i ++ ) { 
        my_bounds[my_Left] = Math.min( my_bounds[my_Left], my_objs[i].visibleBounds[my_Left]);
        my_bounds[my_Right] = Math.max( my_bounds[my_Right], my_objs[i].visibleBounds[my_Right]);
        my_bounds[my_Top] = Math.max( my_bounds[my_Top], my_objs[i].visibleBounds[my_Top]);
        my_bounds[my_Bottom] = Math.min( my_bounds[my_Bottom], my_objs[i].visibleBounds[my_Bottom]);
    }
    return my_bounds;
}

//メイン
function main(){
    var my_dup = true;//新規ドキュメントを作って複製するモード
    var my_doc = app.documents[0];//ドキュメント
    var my_abi = my_doc.artboards.getActiveArtboardIndex();//インデックス
    var my_ab = my_doc.artboards[my_abi];//アートボードオブジェクト
    var my_objs = my_doc.selection;//選択したオブジェクト。とりあえず、アートボードをまたぐ選択は考慮していない。

    if (my_objs.length > 0) {
        var my_bounds = get_bounds(my_objs);
        
        //複製モードかどうか
        if (my_dup) {
            var new_doc = app.documents.add();//新規ドキュメント
            var new_ab = new_doc.artboards[0];

            //オブジェクトの複製
            for (var i = 0; i < my_objs.length; i++) {
                var tmp_position = my_objs[i].position;
                var tmp_obj = my_objs[i].duplicate(new_doc, ElementPlacement.PLACEATEND);
                tmp_obj.position = tmp_position;
            }
            new_ab.artboardRect = my_bounds;//アートボードの大きさを合わせる
        } else {
            my_ab.artboardRect = my_bounds;
        }
    }
}
main();

2011-11-07

[][][]ネットからダウンロードしたファイルをドラッグ&ドロップして、アラートを出ないようにする。

Snow Leopardの頃はあまり気にならなかったんですが、Mac OS X Lion(10.7.2)にしてから、ネットからダウンロードしたファイルを開く時のチェックがかなり厳しくなったようです。これね:

f:id:seuzo:20111107002626p:image

ひとつかふたつならなんてことないんですが、FTPなどからダウンロードしたファイルが100も200もあると正直うんざりしますな...

ってことでAppleScriptのドロップレットを書いてみました。フォルダ内のファイルも再帰的に処理します。

(追記:2011-11-11T15:52:29+0900)内部的にxattr -r オプションを使って、entire contentsをやめるようにしました。

(*
remove_download_EA
ネットからダウンロードしたファイルを開く時の警告表示を出ないようにするドロップレット

for Mac OS X 10.7.2

2011-11-07	ver0.1	とりあえず
2011-11-11	ver0.2	xattr -r オプションを使って、entire contentsをやめた

(c)2011 seuzo
*)

--ファイル名の警告
to violation_name(file_path)
	set file_path to quoted form of ((POSIX path of file_path) as Unicode text) --まずPOSIX pathにする
	set file_path_test to do shell script "echo " & file_path & " | perl -pe 's/[\\/\\.0-9A-Za-z _-]+//;'"
	if (file_path_test is not "") then
		display dialog file_path & " のファイル名には英数字以外の文字が使われています。" & return & "実行時にトラブルになるかもしれません。続行しますか?" buttons {"Cancel", "続行"} default button 1 with icon 1 --キャンセルで終了
	end if
end violation_name

--リストの結合
to as_join(thedelimit, theList)
	set oldDelim to AppleScript's text item delimiters
	set AppleScript's text item delimiters to thedelimit
	set tmpstr to theList as text
	set AppleScript's text item delimiters to oldDelim
	return tmpstr
end as_join


--ドラッグ&ドロップで実行
on open of my_files
	set target_path to {}
	
	tell application "Finder"
		repeat with i in my_files
			set aFile to i as alias
			my violation_name(aFile) --ファイル名の警告
			set end of target_path to quoted form of (POSIX path of aFile)
		end repeat
		set target_path to my as_join(" ", target_path)
		
		
		try
			set my_script to "xattr -rd com.apple.quarantine " & target_path
			--display dialog my_script
			set ans to do shell script my_script
			--display dialog ans
		on error errMsg number errNo
			--エラーがあっても無視する
			--display dialog "実行エラーです" & return & errMsg & return & errNo buttons {"Cancel"} default button 1 with icon 1 --キャンセルで終了
		end try
	end tell
end open

アプリケーション形式でダウンロードしたい人はこちら:remove_download_EA.app.zip 直

問題:ファイルをドラッグ&ドロップした時、1回だけ警告が出ます。フォルダごとドラッグ&ドロップすれば警告は出ません。

問題:すでにcom.apple.quarantine属性が外れているファイルを、未処理のファイルと一緒に選択してドラッグ&ドロップしても、未処理ファイル分を処理しません。ASのバグっぽいので、修正できないかも。フォルダごとドラッグ&ドロップすれば、すべてのファイルを処理します。


参照

ネットからダウンロードしたファイルを開く時の警告表示を消す方法 - 強火で進め

【コラム】OS X ハッキング! (253) Leopard解体新書(4) 〜拡張された拡張属性〜 | パソコン | マイコミジャーナル

Macでlsした時のパーミッションにあるアットマークを消す。xattrコマンド。 - kanonjiの日記

ダウンロードしてきたファイルを初めて開く時の警告ダイアログを表示させないようにする | Macの手書き説明書